Monday, March 24, 2025
13 changes · 17.0
Resolved issues and error corrections
This fix ensures text copied from the web editor uses normal spaces instead of invisible non-breaking spaces. It prevents pasted content from causing errors in code editors or other tools that cannot handle those hidden characters correctly.
Original PR description
**Problem**: When copying text from the editor that contains `nbsp`, pasting it into a code editor results in invalid characters, causing issues like compilation errors. **Solution**: Replace `nbsp` with normal spaces when copying text. **Steps to Reproduce**: 1. Add text: `"a b"` (with double spaces). 2. Copy the text. 3. Paste it into a **code editor**. - **Issue**: The invisible `nbsp` causes compilation errors. **opw-4645678** --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix keeps the breadcrumb navigation hidden across all views in an action when that action is configured to hide breadcrumbs. Users now get a consistent experience when switching between views such as form, kanban, and list.
Original PR description
Have an action with multiple views (eg form,kanban,list) When the action spawns on its first view, the feature worked well: there were no breadcrumbs. Click on the view switcher to another view type. Before this commit, the breadcrumbs appeared for that step on. After this commit, the breadcrumbs do not appear for the whole action. task-4583126 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Website visitors and regular users will no longer see technical module loading errors on the interface. These details remain visible in debug mode so administrators and developers can still diagnose issues without exposing confusing messages to the public.
Original PR description
Before this commit, when there is a module_loader error, the error was shown on the ui for everyone, even the public users. Now, the error will be shown on the ui only if we are in debug mode TASK-ID: 4600145 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Expenses app now handles cases where a user has deleted the default expense email alias without showing an error. This prevents unnecessary interruptions and keeps expense-related actions working more smoothly.
Original PR description
the xmlid `hr_expense.mail_alias_expense` can be deleted by the user, don't raise error if xmlid is not found. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents a test crash when the Payment app is installed without the full Accounting add-on. It keeps community edition test runs stable by accounting for differences in payment status handling between editions.
Original PR description
Steps to reproduce: - install account_payment - run tests, e.g., `test_eligible_invoice_foreign_currency` Issue: It crashes Cause: If you don't have account_accountant the state of your payment will not be the same (see comments in the definition methods below) https://github.com/odoo/odoo/blob/18eb9cab4577fc9443a80eb78f485bcb81187d82/addons/account/models/account_move.py#L5023-L5027 https://github.com/odoo/enterprise/blob/a71c38fa6325cd18c686352d8f68d350461d37d0/account_accountant/models/account_move.py#L61-L63 runbot- 145227
Miscellaneous changes
Before this commit: When sample data was visible in the view, the pager was also displayed, showing a record count, which could be misleading. After this commit: Now, when sample data is visible, the pager is hidden. Task-4489033 Forward-Port-Of: odoo/odoo#200624
Original PR description
Before this commit: When sample data was visible in the view, the pager was also displayed, showing a record count, which could be misleading. After this commit: Now, when sample data is visible, the pager is hidden. Task-4489033 Forward-Port-Of: odoo/odoo#200624
**Steps to reproduce:** - Use version 2.12.1 of PyPDF2 as required if python version > 3.10 - Install Accounting - Upload an encrypted PDF as a bill - Go to the bills list view - Select the uploaded bill - Print "Original Bills" **Issue:** A traceback is raised: "PyPDF2.errors.DependencyError: PyCryptodome is required for AES algorithm" **Cause:** When printing the original bill, we try to add a banner on the PDF. If the PDF is encrypted, PyPDF2 (2.12.1) will only try to decrypt
Original PR description
**Steps to reproduce:** - Use version 2.12.1 of PyPDF2 as required if python version > 3.10 - Install Accounting - Upload an encrypted PDF as a bill - Go to the bills list view - Select the uploaded…
**Steps to reproduce:** - Use version 2.12.1 of PyPDF2 as required if python version > 3.10 - Install Accounting - Upload an encrypted PDF as a bill - Go to the bills list view - Select the uploaded bill - Print "Original Bills" **Issue:** A traceback is raised: "PyPDF2.errors.DependencyError: PyCryptodome is required for AES algorithm" **Cause:** When printing the original bill, we try to add a banner on the PDF. If the PDF is encrypted, PyPDF2 (2.12.1) will only try to decrypt it if "PyCryptodome" library is installed. Otherwise, it will raise a "DependencyError", which is not handled in the "except" clause. As "PyCryptodome" library is not part of Odoo requirements, we should handle the raised "DependencyError". **Solution:** Try to import "DependencyError" from "PyPDF2.errors" and catch that exception when adding the banner to the PDF. Our own "DependencyError" exception should be created because version 1.26.0 of PyPDF2 doesn't declare "DependencyError" and therefore the import will fail. "NotImplementedError" is used instead in version 1.26.0 and is already handled. opw-4634417 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#202129
Estonia updated their tax report scheme to KMD5, mandatory from 01/01/2025 More info: https://www.emta.ee/en/business-client/taxes-and-payment/value-added-tax#from-01012025 https://www.emta.ee/en/business-client/e-services-training-courses/how-use-e-services/technical-information-services#tsd https://www.emta.ee/sites/default/files/documents/2025-02/vorm_kmd_2025_eng.pdf Backport of e2d795e9b15b1c522fe60e1cf38041e16ac73743 opw-4587040 opw-4610009 Forward-Port-Of: odoo/odoo#202753
Original PR description
Estonia updated their tax report scheme to KMD5, mandatory from 01/01/2025 More info: https://www.emta.ee/en/business-client/taxes-and-payment/value-added-tax#from-01012025 https://www.emta.ee/en/business-client/e-services-training-courses/how-use-e-services/technical-information-services#tsd https://www.emta.ee/sites/default/files/documents/2025-02/vorm_kmd_2025_eng.pdf Backport of e2d795e9b15b1c522fe60e1cf38041e16ac73743 opw-4587040 opw-4610009 Forward-Port-Of: odoo/odoo#202753
When we have an Analytic Plan being Mandatory, confirming an invoice from the form view, if it has a line without an Analytic distribution, correctly raises a ValidationError. Confirming invoices from the list view does not raise the same error, yet it should. To replicate: 1. [Activate](https://www.odoo.com/documentation/18.0/applications/finance/accounting/reporting/analytic_accounting.html) Analytic accounting: a. Install `accountant` b. In Settings, activate Analytic Accounting
Original PR description
When we have an Analytic Plan being Mandatory, confirming an invoice from the form view, if it has a line without an Analytic distribution, correctly raises a ValidationError. Confirming invoices…
When we have an Analytic Plan being Mandatory, confirming an invoice from the form view, if it has a line without an Analytic distribution, correctly raises a ValidationError. Confirming invoices from the list view does not raise the same error, yet it should. To replicate: 1. [Activate](https://www.odoo.com/documentation/18.0/applications/finance/accounting/reporting/analytic_accounting.html) Analytic accounting: a. Install `accountant` b. In Settings, activate Analytic Accounting c. Create an Analytic plan (with an Analytic account associated) 2. Set its default applicability to mandatory 3. Create two invoices, remove the analytic distribution from one of the lines in one invoice. 4. In the invoices list view, select both newly created invoices, click on Actions > Confirm Entries 5. Click Confirm 6. The invoices were posted, even though they have no analytic distributions. Ticket [link](https://www.odoo.com/odoo/project/967/tasks/4603919) opw-4603919 Forward-Port-Of: odoo/odoo#201560
Currently, a traceback is occurs when the user tries to remove the date value, while creating a Bill. To reproduce this issue: 1) Install account 2) Create a Bills record from vendors 3) Change the `Auto-Post` value to `at date` from `other info` 4) Now remove the `Accounting Date` Error:- ``` TypeError: '>' not supported between instances of 'bool' and 'datetime.date' ``` When the user removed the date value, a compute method will be triggered in which a comparison is done
Original PR description
Currently, a traceback is occurs when the user tries to remove the date value, while creating a Bill. To reproduce this issue: 1) Install account 2) Create a Bills record from vendors 3) Change the `Auto-Post` value to `at date` from `other info` 4) Now remove the `Accounting Date` Error:- ``` TypeError: '>' not supported between instances of 'bool' and 'datetime.date' ``` When the user removed the date value, a compute method will be triggered in which a comparison is done between the record date and the today value. However, the user removed the record's date value, which leads to the above traceback from the below line https://github.com/odoo/odoo/blob/2adabe7321f26e67eea9853460948cbd4ac10a4a/addons/account/models/account_move.py#L626-L627 sentry-6402545255 Forward-Port-Of: odoo/odoo#202057
Estonia updated their tax report scheme to KMD5, mandatory from 01/01/2025 More info: https://www.emta.ee/en/business-client/taxes-and-payment/value-added-tax#from-01012025 https://www.emta.ee/en/business-client/e-services-training-courses/how-use-e-services/technical-information-services#tsd https://www.emta.ee/sites/default/files/documents/2025-02/vorm_kmd_2025_eng.pdf Backport of dde492541aa253771f905d0a77650aa35fea0e8c opw-4587040 opw-4610009 Forward-Port-Of: odoo/enterprise#8186
Original PR description
Estonia updated their tax report scheme to KMD5, mandatory from 01/01/2025 More info: https://www.emta.ee/en/business-client/taxes-and-payment/value-added-tax#from-01012025 https://www.emta.ee/en/business-client/e-services-training-courses/how-use-e-services/technical-information-services#tsd https://www.emta.ee/sites/default/files/documents/2025-02/vorm_kmd_2025_eng.pdf Backport of dde492541aa253771f905d0a77650aa35fea0e8c opw-4587040 opw-4610009 Forward-Port-Of: odoo/enterprise#81863
Steps to reproduce the bug: - Install l10n_es_real_estate module - Create a customer invoice on the accounting app - Invoice's AEAT data should be real estate type for mod347 doc - Generate the BOE of tax report document of mod 347 Traceback is thrown while generating the boe of the mod347 document, the traceback is for an issue related to the param of the operation key and that was because the function _call_on_partner_sublines is run for each real estate invoice and it has a callback
Original PR description
Steps to reproduce the bug: - Install l10n_es_real_estate module - Create a customer invoice on the accounting app - Invoice's AEAT data should be real estate type for mod347 doc - Generate the BOE of tax report document of mod 347 Traceback is thrown while generating the boe of the mod347 document, the traceback is for an issue related to the param of the operation key and that was because the function _call_on_partner_sublines is run for each real estate invoice and it has a callback to be executed on each of them. The callback function is _write_type2_partner_record which should have the report option as param, but it wasn't sent that made a traceback for the params. After fixing that, another traceback was thrown because the xmlid of the real estate invoices of both sold and bought are not in the invoice types map of _write_type2_partner_record function. opw-4589314 Forward-Port-Of: odoo/enterprise#81033
When drag-and-dropping a CSV in the bank journal, the statements lines don't get reconciled directly while they should (if a reco model allows it). Users have to wait for the auto-reconcile cron to run. After the statement and its lines have been created through import, we now trigger the cron computation. Ticket [link](https://www.odoo.com/odoo/project/967/tasks/4545446) opw-4545446 Forward-Port-Of: odoo/enterprise#81587
Original PR description
When drag-and-dropping a CSV in the bank journal, the statements lines don't get reconciled directly while they should (if a reco model allows it). Users have to wait for the auto-reconcile cron to run. After the statement and its lines have been created through import, we now trigger the cron computation. Ticket [link](https://www.odoo.com/odoo/project/967/tasks/4545446) opw-4545446 Forward-Port-Of: odoo/enterprise#81587