Daily updates from Odoo
Monday, November 18, 2024
20 changes · master
Enhancements to existing features
The default payment reminder email has been refined to make follow-up messages clearer and more polished for customers. The template also uses email-compatible styling so reminders display more reliably across email clients.
Original PR description
This commit slightly improves the default followup email message for payment reminder. task-4245024
Payroll will no longer show a payslip duration warning when the selected salary structure is not configured to use worked day lines. This reduces confusing alerts for payroll teams in setups where that warning is not relevant.
Original PR description
If a structure has the setting 'use_worked_day_lines' set to False, we shouldn't show the warning for the payslip duration. Task: 4300660
The product form layout in Intrastat reporting has been adjusted so fields take up space more consistently. This helps keep the interface cleaner and easier to use when reviewing or editing product-related Intrastat information.
Original PR description
Before this commit some fields were taking extra space and ruining the UI by breaking uniformity After this commit uniformity was restored in UI TaskId - 3794896
Resolved issues and error corrections
Belgian payroll time off requests will no longer create an eDRS activity for the person submitting or processing the request when no notified time off officers are configured. This prevents unnecessary or incorrectly assigned follow-up tasks and keeps notifications aligned with the leave type settings.
Original PR description
The eDRS activity on time off request is sent to the current logged in user if there are no `Notified Time Off Officers` specified on the leave type. However, this shouldn't be the case. The activity shouldn't be created if there are no `Notified Time Off Officers`. These changes address this issue. task-4267132
This change reverses a previous behavior where submitting a website helpdesk form could set or change the related customer on a task based on the email entered in the form. This helps avoid incorrect customer associations and keeps helpdesk/task records aligned with the intended contact data.
Original PR description
COM PR: odoo/odoo#186140 UPG PR: odoo/upgrade#6715 task-4295363
Features or functions removed from Odoo
This change removes unused code from the duplicate transactions tool in online bank synchronization. It has no expected effect on daily use, but helps keep the accounting synchronization feature easier to maintain.
Original PR description
The aim of this is removing a small dead code presents in the duplicate transactions tool. The function on line 66 is not existing anymore and the one on line 65 is never used. no task id
Code cleanup and technical improvements
This update reorganizes how message threads and chatter loading are handled, making the underlying messaging code easier to maintain. For business users, the expected impact is smoother long-term reliability in recruitment-related communication areas without changing day-to-day workflows.
Original PR description
This reduces the complexity of thread_service, and encapsulate self-contained code of chatter-specific code of thread and message list loading. https://github.com/odoo/odoo/pull/121090
This draft updates how messaging-related data is organized behind the scenes so it can be stored and found more consistently. The change supports future cleanup and maintenance work, with little expected direct impact on day-to-day users.
Original PR description
https://github.com/odoo/odoo/pull/130602
This change updates several Enterprise modules to align with a behind-the-scenes restructuring of Odoo's messaging framework. It helps keep accounting, approvals, and documents features compatible with the latest internal architecture without changing the user-facing workflow.
Original PR description
https://github.com/odoo/odoo/pull/132442 Adapt enterprise code with moving `insert()` method in the discuss model class, rather than a service coupled with the model.
Miscellaneous changes
When a company is employing partner for construction work a special report mechanism is needed. A Subcontractor is a partner that will do construction work and invoice the Contractor. Construction Industry Scheme add deductions for labour cost on the invoice. The deducted amount must be paid and reported by the contractor through a monthly return. For more informations about CIS, see: https://www.gov.uk/what-is-the-construction-industry-scheme This commit adds: - 6 new taxes for deductio
Original PR description
When a company is employing partner for construction work a special report mechanism is needed. A Subcontractor is a partner that will do construction work and invoice the Contractor. Construction Industry Scheme add deductions for labour cost on the invoice. The deducted amount must be paid and reported by the contractor through a monthly return. For more informations about CIS, see: https://www.gov.uk/what-is-the-construction-industry-scheme This commit adds: - 6 new taxes for deductions 0, 20, 30% in sales and purchase - A CIS report inherited from the tax report - A way to directly send the report to hmrc. This imply a call to IAP - New fields on res.company and res.partner for the HMRC API related: https://github.com/odoo/iap-apps/pull/842 task:3851467 Forward-Port-Of: odoo/enterprise#66766
Before this commit, the buttons "Add By-Product" and "Validate" are both visible when the user is in a by-product move line form view from the Barcode app. This should not happen. Forward-Port-Of: odoo/enterprise#73737 Forward-Port-Of: odoo/enterprise#73242
Original PR description
Before this commit, the buttons "Add By-Product" and "Validate" are both visible when the user is in a by-product move line form view from the Barcode app. This should not happen. Forward-Port-Of: odoo/enterprise#73737 Forward-Port-Of: odoo/enterprise#73242
Sales order created from purchase orders thanks to the inter-company module were assigned the default team of the company, regardless of the customer configuration. This commit makes sure the team is correctly computed in the dedicated compute, ensuring the expected team is assigned to the Sales Order. opw-4166598 Forward-Port-Of: odoo/enterprise#72767
Original PR description
Sales order created from purchase orders thanks to the inter-company module were assigned the default team of the company, regardless of the customer configuration. This commit makes sure the team is correctly computed in the dedicated compute, ensuring the expected team is assigned to the Sales Order. opw-4166598 Forward-Port-Of: odoo/enterprise#72767
This fixes issues that arose since https://github.com/odoo/enterprise/commit/54965c8d62301ba1fa8409709a1a1fd77150f722 It fixes the fact that some tests ordered records using states and those states would be different in invoicing enterprise or accounting. Thus it would not have the same order of records and fail the test. Forward-Port-Of: odoo/enterprise#71059
Original PR description
This fixes issues that arose since https://github.com/odoo/enterprise/commit/54965c8d62301ba1fa8409709a1a1fd77150f722 It fixes the fact that some tests ordered records using states and those states would be different in invoicing enterprise or accounting. Thus it would not have the same order of records and fail the test. Forward-Port-Of: odoo/enterprise#71059
Before this commit: ==================== Only the tracking number was shown on the kitchen card for floating orders. If the user changed the name of a floating order, it could create confusion if the displayed name was different. After this commit: ================== The floating order name will be displayed for floating orders, otherwise, the tracking number will be shown. task- 4274465 Forward-Port-Of: odoo/enterprise#72750
Original PR description
Before this commit: ==================== Only the tracking number was shown on the kitchen card for floating orders. If the user changed the name of a floating order, it could create confusion if the displayed name was different. After this commit: ================== The floating order name will be displayed for floating orders, otherwise, the tracking number will be shown. task- 4274465 Forward-Port-Of: odoo/enterprise#72750
When uploading a CFDI XML invoice containing the `InformacionGlobal` element, the system fails to parse the document correctly and displays an error message. ### Steps to Reproduce 1. Install the `l10n_mx_edi` module. 2. Create a blank invoice. 3. Add a CFDI XML file containing an `InformacionGlobal` as an attachment to the invoice. (You can use the file `enterprise/l10n_mx_edi/tests/test_files/test_global_invoice_year_month_format.xml` for testing.) The chatter displays the following
Original PR description
When uploading a CFDI XML invoice containing the `InformacionGlobal` element, the system fails to parse the document correctly and displays an error message. ### Steps to Reproduce 1. Install the…
When uploading a CFDI XML invoice containing the `InformacionGlobal` element, the system fails to parse the document correctly and displays an error message. ### Steps to Reproduce 1. Install the `l10n_mx_edi` module. 2. Create a blank invoice. 3. Add a CFDI XML file containing an `InformacionGlobal` as an attachment to the invoice. (You can use the file `enterprise/l10n_mx_edi/tests/test_files/test_global_invoice_year_month_format.xml` for testing.) The chatter displays the following error: Error importing attachment 'xml_file_name.xml' as invoice (decoder=_l10n_mx_edi_import_cfdi_invoice) ### Cause The `InformacionGlobal` element in the XML requires an `Año` attribute (note the special character `ñ`). Correct encoding is crucial here to handle special characters accurately. When the XML file is first uploaded, it is parsed with the correct encoding. However, during processing, the XML is converted back to a string, losing its original encoding in the process. This causes issues with special characters like `ñ`, which can no longer be read correctly by the system, resulting in a parsing error. opw-4226968 Forward-Port-Of: odoo/enterprise#73726
If there is no warehouse set on website calculate free_qty in all warehouses. task-4251740 Forward-Port-Of: odoo/enterprise#71213
Original PR description
If there is no warehouse set on website calculate free_qty in all warehouses. task-4251740 Forward-Port-Of: odoo/enterprise#71213
Commit 1: [FIX] documents: avoid crashes on inaccessible targets Reproduce: 1. Create a shortcut for a document you are shared access to. Say it ends up in My Drive 2. Remove your access to the shortcut's target 3. Go to the folder/section (My Drive) where you have the shortcut 4. Experience an Access Error Usually, access rights of a document and its shortcuts is synchronized, so a user can see/edit both or none. This is not the case with ownership as a user can create a shortcut
Original PR description
Commit 1: [FIX] documents: avoid crashes on inaccessible targets Reproduce: 1. Create a shortcut for a document you are shared access to. Say it ends up in My Drive 2. Remove your access to the…
Commit 1: [FIX] documents: avoid crashes on inaccessible targets Reproduce: 1. Create a shortcut for a document you are shared access to. Say it ends up in My Drive 2. Remove your access to the shortcut's target 3. Go to the folder/section (My Drive) where you have the shortcut 4. Experience an Access Error Usually, access rights of a document and its shortcuts is synchronized, so a user can see/edit both or none. This is not the case with ownership as a user can create a shortcut to a document they don't own. If they are allowed to view a shortcut they own when they don't have access to the target anymore, the webclient crashes on loading target data (e.g. to show previews). We tested changing the domain of ownership-related access in user_permission, but it is very costly performance-wise, so this is our best approach in stable as it affects writes but not all reads. Commit 2: Reproduce: 1. Enable Company 1 and 2 2. Create a document with Company 1 3. Create a shortcut for the document. 4. Change document's company to Company 2 6. Only enable Company 1 4. Experience an Access Error See previous commit. Syncing company_id with shortcuts allows to avoid this. A test is included. Task-4236268 Forward-Port-Of: odoo/enterprise#71235
Bug === The "Shared With Me" folder is really slow on next.odoo.com. We used "user_permission != none" in the domain, but it's already added by the access rules, and so, that part is computed too much time in SQL. The web_search_read query, on my personal account takes (build of 4 November) - 3600ms before the change - 490ms after the change Task-4307300 Forward-Port-Of: odoo/enterprise#73269
Original PR description
Bug === The "Shared With Me" folder is really slow on next.odoo.com. We used "user_permission != none" in the domain, but it's already added by the access rules, and so, that part is computed too much time in SQL. The web_search_read query, on my personal account takes (build of 4 November) - 3600ms before the change - 490ms after the change Task-4307300 Forward-Port-Of: odoo/enterprise#73269
Purpose ======= During the migration, the owner can be reset, if the user does not have a write access on the documents (because being owner gives all access on the record). Because of that, the filter "My Documents" does not show most of our files on next.odoo.com. To mitigate that, that filter now uses the contact in addition to the owner, and during the migration, if we reset the owner, and if the contact is False, we will set the contact to the partner of the owner. Task-4310779 For
Original PR description
Purpose ======= During the migration, the owner can be reset, if the user does not have a write access on the documents (because being owner gives all access on the record). Because of that, the filter "My Documents" does not show most of our files on next.odoo.com. To mitigate that, that filter now uses the contact in addition to the owner, and during the migration, if we reset the owner, and if the contact is False, we will set the contact to the partner of the owner. Task-4310779 Forward-Port-Of: odoo/enterprise#73357
Draft for a mixed bag of MRP bugfixes for post-freeze 18.0. 1. Fixed the responsible assignment button for Quality Points in the kanban view. 2. Added tooltips to the BoM and indirect demand fields of MPS wizard. Task ID: [4154879](https://www.odoo.com/odoo/966/tasks/4154879) Forward-Port-Of: odoo/enterprise#70847
Original PR description
Draft for a mixed bag of MRP bugfixes for post-freeze 18.0. 1. Fixed the responsible assignment button for Quality Points in the kanban view. 2. Added tooltips to the BoM and indirect demand fields of MPS wizard. Task ID: [4154879](https://www.odoo.com/odoo/966/tasks/4154879) Forward-Port-Of: odoo/enterprise#70847