Tuesday, November 19, 2024
31 changes · saas-17.4
Resolved issues and error corrections
This fix prevents an error when printing a bill before the related accounting document has been created. It helps Chilean point-of-sale users print receipts earlier in the sales flow without disruption.
Original PR description
Before this commit, attempting to print a bill early would result in an error because the account_move did not exist. opw-4336405
Users who can approve expenses can once again reset refused or approved expense reports back to draft, even if they do not have accounting permissions. This fixes a workflow blockage for HR or approval teams and helps expenses be corrected without needing accounting intervention.
Original PR description
This re-adds the possibility for a user with approval rights, but no accounting rights to reset an expense to draft after it has been refused/approved. opw-4328933
Cancelled signature requests now redirect to the expected not found page without triggering a background error. This avoids confusing technical tracebacks when recipients open an expired or cancelled signing link.
Original PR description
Steps to reproduce: - Sign app > Upload PDF > Add a 'Signature' field > Send > Cancel - In mailhog open the email > Click 'Sign Document' - Redirected to 404 as expected - Traceback '$(...).zoomOdoo is not a function' Original PR: https://github.com/odoo/odoo/pull/186241 JQuery is loaded twice, from `web.assets_frontend asset` (With zoomOdoo) and from `web.assets_frontend_lazy` (Without zoomOdoo). When redirecting to website 404 through a cancelled sign request we attempt to use zoomOdoo with the latter causing this error. The option to cancel sign requests is available in saas-17.4 and above only. opw-4261794
Miscellaneous changes
This commit enhances the tax group template in `account.tax.group.pe.csv` and he tax template in `account.tax.pe.csv` to support the free billin functionality by adding a dummy tax group. The related logic is implemented in the enterprise module. Related Enterprise PR: https://github.com/odoo/enterprise/pull/56767 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#186841 Forward-Port-Of: odoo/odoo#174131
Original PR description
This commit enhances the tax group template in `account.tax.group.pe.csv` and he tax template in `account.tax.pe.csv` to support the free billin functionality by adding a dummy tax group. The related logic is implemented in the enterprise module. Related Enterprise PR: https://github.com/odoo/enterprise/pull/56767 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#186841 Forward-Port-Of: odoo/odoo#174131
fiscalyear_last_day and fiscalyear_last_month can be defined in order to use fiscal years not aligned on the civil calendar. In enterprise, it works fine (it's overridden there to add functionalities), however, community forgot to make use of these fields, even though they are declared in it. Forward-Port-Of: odoo/odoo#187645 Forward-Port-Of: odoo/odoo#187250
Original PR description
fiscalyear_last_day and fiscalyear_last_month can be defined in order to use fiscal years not aligned on the civil calendar. In enterprise, it works fine (it's overridden there to add functionalities), however, community forgot to make use of these fields, even though they are declared in it. Forward-Port-Of: odoo/odoo#187645 Forward-Port-Of: odoo/odoo#187250
`BLOCK` button in the workcenter blocking wizard should be in lowercase --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#187384
Original PR description
`BLOCK` button in the workcenter blocking wizard should be in lowercase --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#187384
Current behaviour: --- On Knowledge, when multiple people are looking at the same page, if one of them deletes the end of a sentence, the others have a traceback. Steps to reproduce: --- 1. Install knowledge 2. On one browser tab, connect admin 3. On another, connect demo 4. With admin, go to knowledge 5. Create a page in workspace 6. In Share, change visibility to everyone 7. With demo, join the page 8. With admin, write a long word 9. Place both cursors at the end of the word
Original PR description
Current behaviour: --- On Knowledge, when multiple people are looking at the same page, if one of them deletes the end of a sentence, the others have a traceback. Steps to reproduce: --- 1. Install knowledge 2. On one browser tab, connect admin 3. On another, connect demo 4. With admin, go to knowledge 5. Create a page in workspace 6. In Share, change visibility to everyone 7. With demo, join the page 8. With admin, write a long word 9. Place both cursors at the end of the word 10. With admin, select a few letters at the end of the word 11. Delete those letters 12. Demo should have a traceback Cause of the issue: --- In `getDeepestPosition` > `closestBlock` > `findNode` `findNode` can return `null` opw-4072333 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#177964
## Problem: When generating sorting URLs, the `post` dictionary only contains a single selected attribute. This is due to `request.params` only passing the first `attrib` parameter during dispatch, even though there can be multiple. ## Solution: Modify the `post` dictionary to store attributes as a list before passing it to the `_shop_get_query_url_kwargs` method. This ensures that all selected attributes are preserved and properly passed to the `keep` query parameters. ## Steps to repro
Original PR description
## Problem: When generating sorting URLs, the `post` dictionary only contains a single selected attribute. This is due to `request.params` only passing the first `attrib` parameter during dispatch, even though there can be multiple. ## Solution: Modify the `post` dictionary to store attributes as a list before passing it to the `_shop_get_query_url_kwargs` method. This ensures that all selected attributes are preserved and properly passed to the `keep` query parameters. ## Steps to reproduce: - Go to `/shop`. - Apply multiple attribute filters (ensure more than one attribute is selected). - Change the sorting option. - Only the first selected attribute is applied in the filter. opw-4244895 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#186982 Forward-Port-Of: odoo/odoo#183927
opw-4325300 Forward-Port-Of: odoo/odoo#187460 Forward-Port-Of: odoo/odoo#187285
Original PR description
opw-4325300 Forward-Port-Of: odoo/odoo#187460 Forward-Port-Of: odoo/odoo#187285
Previously, the l10n_id_kode_transaksi field was invisible on the invoice form view. This is because the xpath was incorrectly done. This solution is inspired to what is already done in 18.0. Steps to reproduce: - Install l10n_id_efaktur - Select ID company - Create an Indonesian customer with a VAT number, and select boolean field PKP - Create an invoice, select this customer, and add a line with a tax -> the field below Customer has no display name, but the value is visible
Original PR description
Previously, the l10n_id_kode_transaksi field was invisible on the invoice form view. This is because the xpath was incorrectly done. This solution is inspired to what is already done in 18.0. Steps to reproduce: - Install l10n_id_efaktur - Select ID company - Create an Indonesian customer with a VAT number, and select boolean field PKP - Create an invoice, select this customer, and add a line with a tax -> the field below Customer has no display name, but the value is visible opw-4315901 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#187294
**Issue:** An employee can't modify a `Payment Method` (other than "Manual" on a new payment entry). **Expected:** An employee should be able to change the payment provider to register a customer payment. **Steps to reproduce:** - Activate Accounting app and go to Configuration > Online Payments > Payment Providers; - Install any of these providers, configure it, activate the test mode and publish it; - Go to Customers Payments > Payments; - Open or create a payement record; - Try t
Original PR description
**Issue:** An employee can't modify a `Payment Method` (other than "Manual" on a new payment entry). **Expected:** An employee should be able to change the payment provider to register a customer payment. **Steps to reproduce:** - Activate Accounting app and go to Configuration > Online Payments > Payment Providers; - Install any of these providers, configure it, activate the test mode and publish it; - Go to Customers Payments > Payments; - Open or create a payement record; - Try to change the Payment Method field for . **Cause:** No rights have been given to users on the payment provider data lookup. https://github.com/odoo/odoo/blob/18.0/addons/payment/security/ir.model.access.csv **Fix:** Give temporary rights on payment provider token lookup. opw-4270781 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#186890
The function _validate_accounting_entries is notorious for not using proper batching which results in a lot of SQL queries. Originally, it had to iterate individual svls and invoke functions in an unbatched way, even when all svls belonged to the same product. The changes here are to use as much batching as possible and enforcing the use of prefetch_ids to lower the total number of queries. Benchmarks: |no. queries before| no. queries after | total time before | total time after| |-----|-
Original PR description
The function _validate_accounting_entries is notorious for not using proper batching which results in a lot of SQL queries. Originally, it had to iterate individual svls and invoke functions in an unbatched way, even when all svls belonged to the same product. The changes here are to use as much batching as possible and enforcing the use of prefetch_ids to lower the total number of queries. Benchmarks: |no. queries before| no. queries after | total time before | total time after| |-----|-----|------|-----| |95991|83352|1.59 min|1.48 min| opw-4283347 opw-4096108 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#186434
We have to await for `_initiatePaymentFlow()` completion to ensure we correctly got the result of the transaction route. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#187618 Forward-Port-Of: odoo/odoo#187527
Original PR description
We have to await for `_initiatePaymentFlow()` completion to ensure we correctly got the result of the transaction route. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#187618 Forward-Port-Of: odoo/odoo#187527
The dropdown selection for tracking/lot number is misaligned when the users has a rtl language. Steps to reproduce: ------------------- * Switch the current user to a rtl language (arabic for ex) * Open shop session * Select the drawer product > Observation: dropdown selection is misaligned Before vs after fix: ------------------------- RTL computer: * Before:  * After:  * After:  RTL mobile: * Before:  * After:  LTR computer: * Before:  * After:  LTR mobile * Before:  * After:  Also works if we move the popup around. opw-4187095 Forward-Port-Of: odoo/odoo#185878
The Turkish National Identification Number (NIN) consists of 11 digits in the format NNNNNNNNNNN where the last two digits are check digits. The Vergi Kimlik Numarasi (VKN) is a 10-digit number in the format NNNNNNNNNN. The Vergi Kimlik Numaras is the Turkish tax identification number used for businesses and certain foreign individuals. task: 4282883 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#187396 Forward
Original PR description
The Turkish National Identification Number (NIN) consists of 11 digits in the format NNNNNNNNNNN where the last two digits are check digits. The Vergi Kimlik Numarasi (VKN) is a 10-digit number in the format NNNNNNNNNN. The Vergi Kimlik Numaras is the Turkish tax identification number used for businesses and certain foreign individuals. task: 4282883 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#187396 Forward-Port-Of: odoo/odoo#185884
Currently, if an order has a downpayment made from the POS, when we invoice it, the unit price of the downpayment becomes 0 on the sale order. The same flow using only sale will correctly show the downpayment price. Steps to reproduce: ------------------- * Create a quotation in the **Sale** app * In the **Point of Sale** app, open shop session * Create a downpayment for the order * Go back in the **Sale** app * Open sale order > Observation: The downpayment line has a price unit set
Original PR description
Currently, if an order has a downpayment made from the POS, when we invoice it, the unit price of the downpayment becomes 0 on the sale order. The same flow using only sale will correctly show the…
Currently, if an order has a downpayment made from the POS, when we invoice it, the unit price of the downpayment becomes 0 on the sale order. The same flow using only sale will correctly show the downpayment price. Steps to reproduce: ------------------- * Create a quotation in the **Sale** app * In the **Point of Sale** app, open shop session * Create a downpayment for the order * Go back in the **Sale** app * Open sale order > Observation: The downpayment line has a price unit set * If needed, deliver the items * Create an invoice (regular invoice) * Confirm the invoice * Go back to the sale order > Observation: The downpayment line has a price unit of 0.0 Why the fix: ------------ The difference between the two flows (pos/sale) mainly resides in those few lines: https://github.com/odoo/odoo/blob/b3b1fe6a78f9e5b6f1d993b5aa2fed11e33c793e/addons/sale/models/account_move.py#L75-L85 `dpl.invoice_lines` will include 2 items when using the sale flow whereas only one when making the downpayment in pos. Downpayments from pos are not automatically invoiced and even if they are, the model `pos.order.line` does not have the field `invoice_lines`. However each downpayment **sale order line** that comes from the POS is linked to its downpayment **pos order line** with the field `pos_order_line_ids`. The only element left in `dpl.invoice_lines` will not be counted as it is included in `real_invoice` (the current invoice). The idea of the fix is to include the price unit of the downpayment made in pos in this sum. opw-4160111 Forward-Port-Of: odoo/odoo#186965 Forward-Port-Of: odoo/odoo#185788
Before this PR, query strings were added to the attachment of URL types. This is incorrect since those URLs can already have query strings, and the added query strings don't make sense for non-binary attachments. Forward-Port-Of: odoo/odoo#187580 Forward-Port-Of: odoo/odoo#187522
Original PR description
Before this PR, query strings were added to the attachment of URL types. This is incorrect since those URLs can already have query strings, and the added query strings don't make sense for non-binary attachments. Forward-Port-Of: odoo/odoo#187580 Forward-Port-Of: odoo/odoo#187522
Issue: when we import a data only module with unknown dependencies we allow it to be installed, and in the process we add wrong data to the dependencies table. Example manifest: ``` {'data': ['foo.xml'], 'depends': ['base', 'bar', 'baz']} ``` Will end up with: ``` test_17=> select id,name,latest_version,state from ir_module_module where name in ('base','foo', 'bar', 'baz') +------+------+----------------+-----------+ | id | name | latest_version | state | |------+------+-----
Original PR description
Issue: when we import a data only module with unknown dependencies we allow it to be installed, and in the process we add wrong data to the dependencies table. Example manifest: ``` {'data':…
Issue: when we import a data only module with unknown dependencies we
allow it to be installed, and in the process we add wrong data to the
dependencies table.
Example manifest:
```
{'data': ['foo.xml'], 'depends': ['base', 'bar', 'baz']}
```
Will end up with:
```
test_17=> select id,name,latest_version,state from ir_module_module where name in ('base','foo', 'bar', 'baz')
+------+------+----------------+-----------+
| id | name | latest_version | state |
|------+------+----------------+-----------|
| 84 | base | 17.0.1.3 | installed |
| 1148 | foo | <null> | installed |
+------+------+----------------+-----------+
test_17=> select * from ir_module_module_dependency where module_id=1148
+------+------+-----------+-----------------------+
| id | name | module_id | auto_install_required |
|------+------+-----------+-----------------------|
| 2468 | bar | 1148 | False |
| 2469 | baz | 1148 | False |
| 2470 | base | 1148 | False |
+------+------+-----------+-----------------------+
```
This later causes issues during the upgrade of the DB.
In this patch we reinstate the check for missing dependencies taking
into account only those that cannot be installed --i.e those that are
truly unknown to the ORM. The installation of such data modules with
wrong dependencies will now be blocked with a UserError.
See: odoo/odoo@234590f3
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#187581
Forward-Port-Of: odoo/odoo#187531Steps to reproduce: 1. Go to website --> forum 2. Click on "New Post," add a title/description, and post the question. 3. A pop-up appears --> close the pop-up. 4. Enter edit mode, resulting in a traceback. Before this fix, the `publicWidget` responsible for attaching the modal in DOM was bound to the `body` element, which led to the removal of the `body` on `widget_stop_request` when trying to open the editor. This commit addresses the issue by creating a dummy element to bind the `Fo
Original PR description
Steps to reproduce: 1. Go to website --> forum 2. Click on "New Post," add a title/description, and post the question. 3. A pop-up appears --> close the pop-up. 4. Enter edit mode, resulting in a traceback. Before this fix, the `publicWidget` responsible for attaching the modal in DOM was bound to the `body` element, which led to the removal of the `body` on `widget_stop_request` when trying to open the editor. This commit addresses the issue by creating a dummy element to bind the `ForumShare` publicWidget instead of the `body`, preventing its removal. Additionally, an event listener has been added to remove the modal from the DOM after it's closed, ensuring no further issues during the editor opening process. task-3834378 Forward-Port-Of: odoo/odoo#187379 Forward-Port-Of: odoo/odoo#181643
Problem: If the product image size is smaller than `$o-form-picture-size` or is an SVG without intrinsic size, it uses the original image size or displays as 0px in the case of SVGs without intrinsic size. The desired behavior is for the image to always display at `$o-form-picture-size`. Steps to reproduce: - Add a small or SVG image without intrinsic size to a product. - The image will not display correctly. opw-4119433 --- I confirm I have signed the CLA and read the PR guidelin
Original PR description
Problem: If the product image size is smaller than `$o-form-picture-size` or is an SVG without intrinsic size, it uses the original image size or displays as 0px in the case of SVGs without intrinsic size. The desired behavior is for the image to always display at `$o-form-picture-size`. Steps to reproduce: - Add a small or SVG image without intrinsic size to a product. - The image will not display correctly. opw-4119433 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#178526
Partner was not created during import because `bank_details` was an iterator instead of a list/collection. So once it was consummed for the search, nothing was created. Moreover, this function is called in the context of a file import which may have a default journal_id which is not the same as the journal of the partner. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#187464 Forward-Port-Of: odoo/odoo#187415
Original PR description
Partner was not created during import because `bank_details` was an iterator instead of a list/collection. So once it was consummed for the search, nothing was created. Moreover, this function is called in the context of a file import which may have a default journal_id which is not the same as the journal of the partner. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#187464 Forward-Port-Of: odoo/odoo#187415
When a whatsapp conversation is inactive after 1 day, they are automatically unpinned as long as user has seen all the messages. However, if the user never reads them, these whatsapp conversations keep being added to the pinned list of conversations, which adds more and more loads on Discuss fetched data over time. There is a practical limit of around 2000 pinned conversations, after which Discuss is very slow and hardly usable. This is a known limitation with the current implementation.
Original PR description
When a whatsapp conversation is inactive after 1 day, they are automatically unpinned as long as user has seen all the messages. However, if the user never reads them, these whatsapp conversations…
When a whatsapp conversation is inactive after 1 day, they are automatically unpinned as long as user has seen all the messages. However, if the user never reads them, these whatsapp conversations keep being added to the pinned list of conversations, which adds more and more loads on Discuss fetched data over time. There is a practical limit of around 2000 pinned conversations, after which Discuss is very slow and hardly usable. This is a known limitation with the current implementation. Whatsapp conversations usually involved many operators for a given conversation, even though usually a single operator is actively communicating with the whatsapp customer. This means that all the inactive operators are keeping many unread whatsapp conversations, thus lots of whatsapp conversations stay unpinned. This commit fixes the issue by forcing unpinning inactive whatsapp conversations after 2 weeks, regardless of whether current user has read the conversation or not. Most of the time whatsapp conversations are short-lived conversations, therefore after 2 weeks this is almost guarantee that there's no point keeping this conversation pinned. opw-4331007 Forward-Port-Of: odoo/enterprise#74056 Forward-Port-Of: odoo/enterprise#73923
We need to be able to invoice free items. How it works in Peru is that the item is "sold" with the original price. Still, we should be able to mark the transaction as a free transaction (this is done with the field l10n_pe_edi_legend that is in the Peru EDI tab). This tag should change the XML to the correct format for a free transaction. An enhancement is introduced to exclude the 'l10n_pe.tax_group_dummy' tax group from tax details processing. This improvement is aimed at facilitating free
Original PR description
We need to be able to invoice free items. How it works in Peru is that the item is "sold" with the original price. Still, we should be able to mark the transaction as a free transaction (this is done…
We need to be able to invoice free items. How it works in Peru is that the item is "sold" with the original price. Still, we should be able to mark the transaction as a free transaction (this is done with the field l10n_pe_edi_legend that is in the Peru EDI tab). This tag should change the XML to the correct format for a free transaction. An enhancement is introduced to exclude the 'l10n_pe.tax_group_dummy' tax group from tax details processing. This improvement is aimed at facilitating free billing in Peru by ensuring dummy tax groups are not included in tax calculations. task latam: https://latam-localizations.odoo.com/web#id=974&menu_id=88&cids=1&action=188&model=project.task&view_type=form Legal Reference: https://cpe.sunat.gob.pe/sites/default/files/inline-files/guia%2Bxml%2Bfactura%2Bversion%202-1%2B1%2B0%20%282%29_0.pdf (page 97) https://booksdigital.jimdofree.com/2014/10/15/tratamiento-contable-de-la-entrega-de-obsequios-vales-y-celebraciones-a-favor-de-los-trabajadores/ Related: https://github.com/odoo/odoo/pull/174131 Forward-Port-Of: odoo/enterprise#73606 Forward-Port-Of: odoo/enterprise#56767
Manual fw-port of translations since they're not on transifex for saas versions. To do this properly, the following was also done: - re-export pot files - fill in translations for new terms added in this version - remove leftover translation files from localizations they didn't make sense for - fixed typo in `l10n_be_social_balance_sheet` Note that within saas-17.4: `l10n_ch_hr_payroll_elm` was merged into `l10n_ch_hr_payroll`. Therefore the translations needed to be manually ported over
Original PR description
Manual fw-port of translations since they're not on transifex for saas versions. To do this properly, the following was also done: - re-export pot files - fill in translations for new terms added in this version - remove leftover translation files from localizations they didn't make sense for - fixed typo in `l10n_be_social_balance_sheet` Note that within saas-17.4: `l10n_ch_hr_payroll_elm` was merged into `l10n_ch_hr_payroll`. Therefore the translations needed to be manually ported over from the previous version's module into the new merged po file. Because translations for IT and DE don't appear to be completed for 17.0's localzations on transifex, these translations were not ported over as it's a very painful manual job cross checking the po files of the former version.
This commits makes the redirect button label mandatory when there is a specified redirect URL. It also improves the hiding of the redirect label field when there is no redirect URL specified. task-4174120 Forward-Port-Of: odoo/enterprise#69866
Original PR description
This commits makes the redirect button label mandatory when there is a specified redirect URL. It also improves the hiding of the redirect label field when there is no redirect URL specified. task-4174120 Forward-Port-Of: odoo/enterprise#69866
The view `stock_move_line_product_selector_inherit` had no priority set and so had the default one, which means when we want to display the `stock.move.line` form view, it could happen this one is displayed instead, which is not wanted and causes traceback. task-4329041 Forward-Port-Of: odoo/enterprise#73893
Original PR description
The view `stock_move_line_product_selector_inherit` had no priority set and so had the default one, which means when we want to display the `stock.move.line` form view, it could happen this one is displayed instead, which is not wanted and causes traceback. task-4329041 Forward-Port-Of: odoo/enterprise#73893
Steps: add a rental product in cart in ecommerce go to cart and update the rental dates on datepicker Issue: The new dates are not applied to cart lines Cause: rental dates on cart line come from order_line name order_line name is not updated on change of rental dates Fix: Updated _cart_update_renting_period to update order_line name for rental lines opw-4137981 opw-4124061 opw-4191403 Forward-Port-Of: odoo/enterprise#73918 Forward-Port-Of: odoo/enter
Original PR description
Steps:
add a rental product in cart in ecommerce
go to cart and update the rental dates on datepicker
Issue:
The new dates are not applied to cart lines
Cause:
rental dates on cart line come from order_line name
order_line name is not updated on change of rental dates
Fix:
Updated _cart_update_renting_period to update order_line name for rental lines
opw-4137981
opw-4124061
opw-4191403
Forward-Port-Of: odoo/enterprise#73918
Forward-Port-Of: odoo/enterprise#70397We have to await for `_initiatePaymentFlow()` completion to ensure we correctly got the result of the transaction route. Forward-Port-Of: odoo/enterprise#74023 Forward-Port-Of: odoo/enterprise#73974
Original PR description
We have to await for `_initiatePaymentFlow()` completion to ensure we correctly got the result of the transaction route. Forward-Port-Of: odoo/enterprise#74023 Forward-Port-Of: odoo/enterprise#73974
Add `Bonus` input type to `United States Regular Pay Salary Structure`. Use `Expenses` and `Bonus` input types in the computation of payslips. * Expenses: * Allows users to include expenses (added automatically from the Expenses app) into the salary calculation when using the Structure Type "United States: Regular Pay". The rule is placed post taxes in the structure. * Bonus: * Add an Input type in "hr.payslip.input.type" called `Bonus`. * "Bonus" allows users to add an e
Original PR description
Add `Bonus` input type to `United States Regular Pay Salary Structure`.
Use `Expenses` and `Bonus` input types in the computation of payslips.
* Expenses:
* Allows users to include expenses (added automatically from the Expenses app) into the salary calculation when using the Structure Type "United States: Regular Pay". The rule is placed post taxes in the structure.
* Bonus:
* Add an Input type in "hr.payslip.input.type" called `Bonus`.
* "Bonus" allows users to add an extra source of income for employees that have associated the "United States: Regular Pay" Structure type in their payslip. The rule is placed pre-taxes in the structure, it is a taxable amount.
task-4097635
Forward-Port-Of: odoo/enterprise#68530test_sync_pickings depends on street value, which does not exist in no-demo mode, thus breaking tests. This commit fixes the issue. [broken test](https://runbot.odoo.com/web#id=73283&view_type=form&model=runbot.build.error&menu_id=405&cids=1) Forward-Port-Of: odoo/enterprise#73041
Original PR description
test_sync_pickings depends on street value, which does not exist in no-demo mode, thus breaking tests. This commit fixes the issue. [broken test](https://runbot.odoo.com/web#id=73283&view_type=form&model=runbot.build.error&menu_id=405&cids=1) Forward-Port-Of: odoo/enterprise#73041
Forward-Port-Of: odoo/enterprise#73901
Original PR description
Forward-Port-Of: odoo/enterprise#73901