Tuesday, November 12, 2024
19 changes · master
Enhancements to existing features
The Sign app's automated tests were updated to use the newer Hoot testing framework instead of older QUnit-based helpers. This improves maintainability and helps ensure future Sign changes can be validated more reliably, with no direct change expected for end users.
Original PR description
Purpose of this PR is to convert remove QUnit tests which rely on `mail/test_utils` to hoot. task-3818666
The Timesheet Grid module was updated to remove an outdated internal setup component. This cleanup helps keep the module easier to maintain without changing the day-to-day user experience.
Original PR description
This commit aims to remove legacy `setupManger`. Part of task-3818666
Spreadsheet users can now set a custom offset for period-based global filters, making it easier to compare or focus on flexible time windows. This improves reporting flexibility by letting teams adjust date periods directly to match their business needs.
Original PR description
This commit introduces the ability to define a custom offset value for period-based global filters. This allows users to adjust the time period dynamically based on their needs, enhancing flexibility when filtering data over custom periods. task-4031954
Boolean checks in database queries are now written in a more explicit and consistent way. This is an internal improvement that helps ensure reporting and payment-related features interpret yes/no values reliably across affected areas.
Original PR description
The comparison of booleans in SQL is now expressed as (expression IS TRUE) or (expression IS NOT TRUE). task-4067946 odoo/odoo#174829
Bank reconciliation now shows a preview of uploaded bank statement documents directly in the list view, making it easier for users to compare transactions with their source statement. The change improves review efficiency and reuses the same preview experience already available for accounting entries.
Original PR description
In the bank reconciliation list view, there is no document preview for the uploaded bank statements. It's not easy to compare transactions with a statement. This commit remedies that by adding the…
In the bank reconciliation list view, there is no document preview for the uploaded bank statements. It's not easy to compare transactions with a statement. This commit remedies that by adding the document preview to the bank reco list view. This commit: - Adds a field bank_statement_attachment_ids and its compute method to the class AccountBankStatementLine, allowing the link between the line in the list view and the bank statement attachments. - Moves the logic from AccountMoveLineListController/Renderer to common components (AttachmentPreviewListController/Renderer) that both AccountMoveLineListController/Renderer and BankRecListController/Renderer inherit from. - Modifies the BankRecListUploadRenderer to extend AttachmentPreviewListRenderer instead of ListRenderer - Modifies the template for the attachment preview in list view by removing conditions on mailPopoutService.externalWindow, as these checks were rendered redundant by updates made to the mail_popout_service (https://github.com/odoo/odoo/pull/174878). - Removes the override of openRecord in AccountMoveLineListController, as it is no longer necessary since https://github.com/odoo/odoo/pull/183718 - Removes unecessary use of useState for the mail.store and mail.popout services task-4196814
The appointment calendar now limits its display to dates within the month currently being viewed. This makes scheduling clearer by removing spillover dates from adjacent months and helping users focus on the relevant appointment period.
Original PR description
Limit calendar view to show only dates within the currently selected month. Task-4294202
Resolved issues and error corrections
Sendcloud delivery documents are now posted as separate messages instead of being grouped together. This helps route labels, slips, and A4 documents to the correct printers and avoids mixed print jobs during transfer validation.
Original PR description
Validating a transfer for a Sendcloud delivery puts all attachments in the same chatter message, which seems to cause problems with all files being sent to the same printer in one go. This is undesirable when stickers, slips and A4 documents need separate printers. This change makes it generate a new message for every attachment. Task ID: [4011224](https://www.odoo.com/odoo/966/tasks/4011224)
Code cleanup and technical improvements
The point of sale test files were reorganized and related references were updated across several POS-related modules. This is an internal cleanup that helps maintain testing reliability without changing day-to-day user workflows.
Original PR description
Miscellaneous changes
[FIX] account_iso20022: Don't report 'SEPA' as Service Level in ISO20022 files 'SEPA' used to be the default for SvcLvl files, which meant even non-SEPA files would have it set to 'SEPA', unless they explicitly overrode the function defining the value of the node. This commit fixes this, by not setting any value to SvcLvl by default, and overriding for SEPA payments. ========================================================= [REF] account_iso20022: compute BIC tag depending on the paymen
Original PR description
[FIX] account_iso20022: Don't report 'SEPA' as Service Level in ISO20022 files 'SEPA' used to be the default for SvcLvl files, which meant even non-SEPA files would have it set to 'SEPA', unless they…
[FIX] account_iso20022: Don't report 'SEPA' as Service Level in ISO20022 files 'SEPA' used to be the default for SvcLvl files, which meant even non-SEPA files would have it set to 'SEPA', unless they explicitly overrode the function defining the value of the node. This commit fixes this, by not setting any value to SvcLvl by default, and overriding for SEPA payments. ========================================================= [REF] account_iso20022: compute BIC tag depending on the payment method consistently The CdtrAgt node did not compute the tag of its BIC node in the same way as the DbtrAgt node, calling the dedicated helper. Because of that, it required a bit more payment method-specific code in SEPA, so that BIC becomes BICFI in the latest version. This commit removes that and calls the appropriate helper everywhere. ========================================================== [IMP] account_iso20022: Don't put 'SCT' in InstrId anymore Before this commit, each payment's InstrId always contained 'SCT' (unless a memo was set on the payment), standing for "SEPA Credit Transfer". For non-SEPA ISO20022, this did not make sense. Since this having this additional info in the field has not additional informative value anyway, we simply remove it. ========================================================== [FIX] account_iso20022: fix batch payments' error check 'posted' state does not exist on payments anymore. Anyway, this check was useless. Though, it prevented any of the error checks to run. Also, a condition had been mistakenly removed in the handling of payments with a too big amount. [IMP] account_iso20022: proper check on maximum amounts SEPA Credit Transfer documentation gives a maximum of 999,999,999.99 € to instructed amounts (https://www.europeanpaymentscouncil.eu/sites/default/files/kb/file/2023-11/EPC132-08%20SCT%20C2PSP%20IG%202023%20V1.1.pdf page 101). Swiss ISO 20022 uses 9,999,999,999.99 instead (https://www.six-group.com/dam/download/banking-services/standardization/sps/ig-credit-transfer-sps2024-2.1.1-en.pdf, page 52). The check we ran before this commit was wrong. It checked 11 characters (coma included), while it's actually not included, for payments in EUR, and added another limit of 15 characters for other amounts. We relax it to put the proper restrictions when we know them, and not enforce another when we don't. Forward-Port-Of: odoo/enterprise#73243
This fix prevents users from accidentally creating new field definitions from quick-create options in selected automation and data cleanup screens. It avoids confusing errors and keeps configuration choices limited to valid existing fields.
Original PR description
\* = base_automation_hr_contract, data_cleaning, marketing_automation Quick create an `ir.model.fields` should not be possible in the UI, This commit prevents it instead of raising an error see https://github.com/odoo/odoo/pull/186295#pullrequestreview-2417762562 community pr: https://github.com/odoo/odoo/pull/186738
This fix prevents financial report export settings from being recalculated unnecessarily when reports are exported as files. It helps ensure comparison data remains consistent during file exports and reduces the risk of incorrect report output.
Original PR description
This commit add a condition for the generation of options. If the report is exported in export_mode = file, we don't re-compute the options for the comparison.
Fixed an issue that could cause an error when exporting from Web Studio due to an unsupported field format. The export configuration now uses a compatible format, helping users complete exports without interruption.
Original PR description
Issue: ====== 'domain' widget used on field `domain` does not support Text type thus giving validation error. After this commit: ================== Changed data type of `domain`field to Char, supported in 'domain' widget. Task-4319471
Following this commit:
- Folder structure is been formatted properly so following this import statements have been updated in the corresponding modules.
- Here we restructure the `pos/static/tests` folder in order to solve this issue.
- New structure:
/pos/static/tests
- /generic_helpers
- /customer_display
- /pos
task- 4240939
https://github.com/odoo/odoo/pull/183745These steps were disabled while waiting for the subroots feature of OWL for embedded components, and can now be enabled again without the risk of indeterministic fail. task-4300215 Forward-Port-Of: odoo/enterprise#73138
Original PR description
These steps were disabled while waiting for the subroots feature of OWL for embedded components, and can now be enabled again without the risk of indeterministic fail. task-4300215 Forward-Port-Of: odoo/enterprise#73138
_post_invoice_hook was called on an empty RecordSet at the end of AccountMove._post when having the context "recurring_automatic". This context is voluntarily put here to prevent _post_invoice_hook to be run after the invoice posting, so that it can be run at the end of the cron, when all subscriptions have been handled. However, if _post_invoice_hook is called on an empty RecordSet, it will search for all subscriptions currently handled by the cron. This often resulted in a situation wher
Original PR description
_post_invoice_hook was called on an empty RecordSet at the end of AccountMove._post when having the context "recurring_automatic". This context is voluntarily put here to prevent _post_invoice_hook…
_post_invoice_hook was called on an empty RecordSet at the end of AccountMove._post when having the context "recurring_automatic". This context is voluntarily put here to prevent _post_invoice_hook to be run after the invoice posting, so that it can be run at the end of the cron, when all subscriptions have been handled.
However, if _post_invoice_hook is called on an empty RecordSet, it will search for all subscriptions currently handled by the cron.
This often resulted in a situation where only the first subscription was ready for the hook, while the others are not, resulting in only the first delivery created.
---
Test result before fix:
```
2024-11-06 15:41:52,210 35880 ERROR oes_17_test_sss odoo.addons.sale_subscription_stock.tests.test_sale_subscription_stock_order: FAIL: TestSubscriptionStockOnOrder.test_cron_product_multiple_delivery_creation
Traceback (most recent call last):
File "/home/odoo/projects/odoo-src/multiverse/src/17.0/enterprise/sale_subscription_stock/tests/test_sale_subscription_stock_order.py", line 501, in test_cron_product_multiple_delivery_creation
self.assertTrue(bool(move_1))
AssertionError: False is not true
```
OPW-4166852
Forward-Port-Of: odoo/enterprise#73518
Forward-Port-Of: odoo/enterprise#73397Before this commit: There is an excessive gap between the group title and the list of records. After this commit: The excessive space between the group title and the list of records has been removed. Task-4295965 Forward-Port-Of: odoo/enterprise#73227
Original PR description
Before this commit: There is an excessive gap between the group title and the list of records. After this commit: The excessive space between the group title and the list of records has been removed. Task-4295965 Forward-Port-Of: odoo/enterprise#73227
**Steps to reproduce:** (production credentials required) - Install l10n_cl_edi - Switch to a Chilean company (e.g. CL Company) - Create an invoice for a Chilean customer - Confirm the invoice and process the electronic invoice - Create a credit note and process the electronic credit note - Create a debit note from the credit note (Do not set "SII Reference Code") - Process the electronic debit note **Issue:** The debit note will be rejected because "SII Reference Code" is not set.
Original PR description
**Steps to reproduce:** (production credentials required) - Install l10n_cl_edi - Switch to a Chilean company (e.g. CL Company) - Create an invoice for a Chilean customer - Confirm the invoice and process the electronic invoice - Create a credit note and process the electronic credit note - Create a debit note from the credit note (Do not set "SII Reference Code") - Process the electronic debit note **Issue:** The debit note will be rejected because "SII Reference Code" is not set. **Solution:** Set "SII Reference Code" field as required. opw-4182451 Forward-Port-Of: odoo/enterprise#73551 Forward-Port-Of: odoo/enterprise#72679
The warning was erroneous as "kanban-card" doesn't exist, we renamed it into "card" [1]. [1] odoo/odoo#180999 Forward-Port-Of: odoo/enterprise#72293
Original PR description
The warning was erroneous as "kanban-card" doesn't exist, we renamed it into "card" [1]. [1] odoo/odoo#180999 Forward-Port-Of: odoo/enterprise#72293
At the end of the tour, when we want to export all modifications, it opens a modal from v18.0. But, as it is not allowed to do action on element that's below a modal, the tour fails. In this commit, we click on export button to test the export feature and then close the modal before continuing the tour. Forward-Port-Of: odoo/enterprise#73489
Original PR description
At the end of the tour, when we want to export all modifications, it opens a modal from v18.0. But, as it is not allowed to do action on element that's below a modal, the tour fails. In this commit, we click on export button to test the export feature and then close the modal before continuing the tour. Forward-Port-Of: odoo/enterprise#73489
The wizard to configure a Six payment terminal currently sends a request to the IoT Box via the server. However, often the IoT Box is not on the same network as the server so this request fails. This PR moves the request logic into a JS widget, so as long as the client can reach their IoT Box the Terminal configuration should succeed. task-4214070 Forward-Port-Of: odoo/enterprise#71060
Original PR description
The wizard to configure a Six payment terminal currently sends a request to the IoT Box via the server. However, often the IoT Box is not on the same network as the server so this request fails. This PR moves the request logic into a JS widget, so as long as the client can reach their IoT Box the Terminal configuration should succeed. task-4214070 Forward-Port-Of: odoo/enterprise#71060