Tuesday, June 29, 2021
26 changes · master
Enhancements to existing features
Inventory operations involving many serial-numbered items now validate faster by avoiding repeated location strategy checks for every unit. This can reduce processing time for large purchase receipts, especially when putaway rules are not configured.
Original PR description
This commit eliminates repeating calling of ``_get_putaway_strategy`` for each
product unit. This saves about 35% of validation time when
``stock.putaway.rule`` is not used.
STEPS:
* create a PO for product tracked by serial, set qty=10000
* confirm the PO
Performance results:
BEFORE: 20225 7.115 11.208
AFTER: 10228 4.710 7.092This update makes JavaScript test warnings easier to detect and investigate, helping developers catch problems that were previously hidden in noisy logs. It also cleans up many existing warnings across web-related tests, improving test reliability without changing end-user functionality.
Original PR description
Currently the JS logs are full of warnings and it doesn't really matter because they don't block CI. This PR: * flips JS warnings to trigger Python warnings * improves qunit's logging (hopefully) so test failures are more readable and actionable * fixes / removes / downgrades JS warnings occurring during runbot runs * also other updates probably
The Project app screens have been refined to make daily work easier to read and navigate. Updates include clearer labels, refreshed icon styling, and better ordering of information across project boards, forms, lists, and portal pages.
Original PR description
The UX of the 4 main views (kanban, form, list, portal) of the project app has been globally improved. In particular, different icons color/style were changed along with several strings, and the order of a few elements was revised to improve readability. task-2508723
Inventory replenishment now shows richer supplier information, including lead times, prices, quantities, last purchase dates, and recent delivery history. This helps purchasing and stock teams choose the best supplier directly from the replenishment process and keep orderpoints aligned with that choice.
Original PR description
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
Event meeting rooms now receive a default Max Capacity when none is selected, preventing confusing validation errors during room creation. Chat room creation also preserves the user-selected room settings so new rooms better match organizer choices.
Original PR description
PURPOSE When one tries to create a room without selecting a max capacity it was throwing a 'Validation Error' which is not proper warning message. The purpose of this commit is to provide a default value for that field which was not getting in the respective situation, and in a way, we can eliminate this error. SPECIFICATIONS Currently, there are two solutions proposed for this task either to simply raise a proper warning message if the field is empty or override the room_max_capacity field in 'event.meeting.room' and set some default value. In this commit, we chose the second one as the solution because still we could give that default value. LINKS PR #72756 Task 2448435
Event badge printing has been redesigned to be easier to customize and more polished for attendees. A new A4 attendee ticket report adds richer event details and instructions, while a related mail scheduling issue was fixed to avoid interruptions during report generation.
Original PR description
PURPOSE Rework the existing badge report to ease its override and make it look better and introduce a new ticket report that contains more detailed information. SPECS 1. Improve the existing badge…
PURPOSE
Rework the existing badge report to ease its override and make it look better
and introduce a new ticket report that contains more detailed information.
SPECS
1. Improve the existing badge report
- Change the event badge report to create a proper action report so that it
shows accordingly on form (and other) views.
- Remove the duplicate template for event badges and unify into one template
The "event badges" report can be printed from 2 different sources, from the
event.event itself as a preview and from the event.registration as an actual
badge for a specific attendee.
- Improve the general layout of the report and remove unnecessary fields.
2. Introduce a new badge report with the A4 format.
This report is meant to be printed for the attendee and contains more
detailed information that the existing "badge report", which is only meant to
be folded and used as a badge.
We also introduce a new field that allows easily customizing these reports by
adding "extra instructions".
See underlying commits for more details.
LINKS
ENT PR odoo/enterprise#15558
UPG PR odoo/upgrade#2084
Task-2120259SEPA payment file versions are now configured on each bank account journal instead of only in general settings. This gives businesses more flexibility when different bank accounts require different SEPA formats, with an initial value chosen from the IBAN or company country information.
Original PR description
The goal is to move the SEPA pain version from the settings to each bank account journal, and to make it editable by the user. It will first look at IBAN, then at the fiscal country and lastly at the company's country code to compute the initial value. Task: 2567701
Event badge reports were streamlined into a single refreshed layout, reducing confusion and improving consistency. A new A4 event ticket format now supports printing the event barcode in the report placeholder, helping attendees and staff handle check-in materials more easily.
Original PR description
Follow-up of community commits that improve the existing badge report and introduce a new A4 ticket format report. This merge commit simply modifies xpath accordingly. See underlying commits for details. LINKS COM PR odoo/odoo#64066 UPG PR odoo/upgrade#2084 Task-2120259
The data merge screens now use clearer wording and provide helpful guidance when manual merge selections are complete. The module also removes leftover merge menu actions during uninstall, keeping menus cleaner for users after the feature is removed.
Original PR description
This commit improves merge action related naming in views. It adds action helper in depuplication view where all manual merge selection has been merged or discarded. Also, at uninstall of the data_merge module, it cleans the reminent 'Merge' server actions in contextual menu of all merge enabled models. Task ID: 2559013
The project app screens were refined to make daily work easier to scan and navigate. Updates include clearer wording, refreshed icon styling, and better ordering of information across project views and related timesheet, field service, forecast, and sales flows.
Original PR description
The UX of the 4 main views (kanban, form, list, portal) of the project app has been globally improved. In particular, different icons color/style were changed along with several strings, and the order of a few elements was revised to improve readability. task-2508723
Resolved issues and error corrections
When a message delivery failure is resent or ignored by someone other than the original author, the notification status now updates immediately on screen. This prevents confusion by clearly showing that the issue has been handled without requiring a manual page refresh.
Original PR description
**Current behavior before PR:** Currently, failure notifications are sent to the author of the message that the failure is concerning. However, if another user than the author is resolving the failure, he is not receiving any notification without refresh the page, so it appears as if nothing happened even though the failure was indeed resolved (either message resent, or failure ignored). **Desired behavior after PR is merged:** When another user than the author update the status of the failure notification (message resent or failure ignored). the statues of the failure notification update instantly, no refresh needed to show the updated status. **LINKS:** Task-2178257 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
--- opw-2520403 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 Forward-Port-Of: odoo/odoo#72814 Forward-Port-Of: odoo/odoo#71744
Original PR description
--- opw-2520403 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 Forward-Port-Of: odoo/odoo#72814 Forward-Port-Of: odoo/odoo#71744
Survey certificates now apply special formatting when a participant's name is long and written in uppercase. This helps prevent certificate layouts from breaking, keeping generated certificates more readable and professional.
Original PR description
A client's name was too long (over 30char) and in uppercase, making the certificate's layout break. A condition has been put in place for names over 20char and uppercase names -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Fixed an issue where clicking a phone number in a form could crash when VoIP was installed. Users can now start calls normally and see the expected notification, reducing disruption for teams using phone integrations.
Original PR description
Before this commit, it crashed when you clicked on a phone number in a form view, with voip installed. A call to the notification service was still using the former api.
Failure notifications now refresh immediately when another user resends a message or ignores the failure. This prevents users from seeing outdated failure information and avoids needing to manually refresh the page to confirm the issue was handled.
Original PR description
Current behavior before PR:
Currently, failure notifications are sent to the author of the message that the
failure is concerning.
However, if another user than the author is resolving the failure, he is not
receiving any notification without refresh the page, so it appears as if nothing
happened even though the failure was indeed resolved
(either message resent, or failure ignored).
Desired behavior after PR is merged:
When another user than the author updates the status of the failure notification
(message resent or failure ignored). the status of the failure notification update
instantly, no refresh needed to show the updated status.
Task-2178257This update cleans up several JavaScript warnings in accounting, documents, VoIP, Gantt, and Studio tests. It improves internal test reliability and developer confidence without changing day-to-day user functionality.
Original PR description
Enterprise part of odoo/odoo#71845
The 'class' attribute was not safely accessed using get. Since this attribute is not always present the condition evaluation failed in some cases. task-2276724 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 Forward-Port-Of: odoo/odoo#72728
Original PR description
The 'class' attribute was not safely accessed using get. Since this attribute is not always present the condition evaluation failed in some cases. task-2276724 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 Forward-Port-Of: odoo/odoo#72728
In 14.0 when changing the time amount on a timesheet line on a task, if the current layout is mobile, an error will pop up when trying to save the change. This is because we are trying to check a property of an item that does not exist. With this commit, we first check that the item exists before trying to check its properties. Because of the order of evaluation of the "if" statement, this means we will never try to get the property of the undefined item. opw-2534800 Forward-Port-Of: odoo
Original PR description
In 14.0 when changing the time amount on a timesheet line on a task, if the current layout is mobile, an error will pop up when trying to save the change. This is because we are trying to check a property of an item that does not exist. With this commit, we first check that the item exists before trying to check its properties. Because of the order of evaluation of the "if" statement, this means we will never try to get the property of the undefined item. opw-2534800 Forward-Port-Of: odoo/odoo#72821 Forward-Port-Of: odoo/odoo#72786
Before this commit ------------------ Since https://github.com/odoo/odoo/commit/4b28f1162a85d03f9dbe0338b06758ad151ea6a8 It's not possible to override _process_job on ir.cron and have the new method called by _process_jobs because _process_jobs calls _proccess_job directly from the class and do not user the registry anymore After this commit ----------------- Use the registry and get ir.cron model to call _process_job -- I confirm I have signed the CLA and read the PR
Original PR description
Before this commit ------------------ Since https://github.com/odoo/odoo/commit/4b28f1162a85d03f9dbe0338b06758ad151ea6a8 It's not possible to override _process_job on ir.cron and have the new method called by _process_jobs because _process_jobs calls _proccess_job directly from the class and do not user the registry anymore After this commit ----------------- Use the registry and get ir.cron model to call _process_job -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72853
When converting a price (average price in this case) the price should be multiplied by the source uom factor (uom_line.factor) https://github.com/odoo/odoo/blob/72fea2fe11244a55e9a630049fc75f147e26e473/addons/uom/models/uom_uom.py#L172 follow-up fix to 978012b38abb941c88fe85f1befa2ac659545915 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72488
Original PR description
When converting a price (average price in this case) the price should be multiplied by the source uom factor (uom_line.factor) https://github.com/odoo/odoo/blob/72fea2fe11244a55e9a630049fc75f147e26e473/addons/uom/models/uom_uom.py#L172 follow-up fix to 978012b38abb941c88fe85f1befa2ac659545915 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72488
Forward-Port-Of: odoo/odoo#72907
Original PR description
Forward-Port-Of: odoo/odoo#72907
Description of the issue/feature this PR addresses: 1: When applying only VAT Excento taxes on products, the bottom Traslados element was included but empty, which is legally allowed, but does not pass the verification for the third party vendor Sapien. Desired behavior after PR is merged: The Traslados element is completely omitted when only Excento IVA is used for the products included in the CFDI. The CFDI passes Sapien's quality check. OPW: 2562777 -- I confirm I have signed the
Original PR description
Description of the issue/feature this PR addresses: 1: When applying only VAT Excento taxes on products, the bottom Traslados element was included but empty, which is legally allowed, but does not pass the verification for the third party vendor Sapien. Desired behavior after PR is merged: The Traslados element is completely omitted when only Excento IVA is used for the products included in the CFDI. The CFDI passes Sapien's quality check. OPW: 2562777 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/enterprise#19291 Forward-Port-Of: odoo/enterprise#19261
Steps to reproduce the bug: With no chart of accounts, the sql query in _build_query AND inv.journal_id IN %(journal_ids)s raised a traceback when displaying the intrastat report opw:2574591 Forward-Port-Of: odoo/enterprise#19142
Original PR description
Steps to reproduce the bug: With no chart of accounts, the sql query in _build_query AND inv.journal_id IN %(journal_ids)s raised a traceback when displaying the intrastat report opw:2574591 Forward-Port-Of: odoo/enterprise#19142
With this PR I have updated the following modules translation: - l10n_mx_edi - l10n_mx_edi_extended - l10n_mx_edi_landing - l10n_mx_reports - l10n_mx_reports_closing I have regenerated all es.po files to update the missing terms and also updated or create pot files. This following PR will be closed as they are in this PR https://github.com/odoo/enterprise/pull/19054 https://github.com/odoo/enterprise/pull/19055 https://github.com/odoo/enterprise/pull/19056 @mart-e Could you
Original PR description
With this PR I have updated the following modules translation: - l10n_mx_edi - l10n_mx_edi_extended - l10n_mx_edi_landing - l10n_mx_reports - l10n_mx_reports_closing I have regenerated all es.po files to update the missing terms and also updated or create pot files. This following PR will be closed as they are in this PR https://github.com/odoo/enterprise/pull/19054 https://github.com/odoo/enterprise/pull/19055 https://github.com/odoo/enterprise/pull/19056 @mart-e Could you help me to review this PR 🙏 Forward-Port-Of: odoo/enterprise#19059
When adding a chatter in studio on a base model, if the model does not extends mail.activity.mixin this fails because it try to add activity_ids in the view. With this changeset, we only try to add activity_ids if it is available. opw-2508112 Forward-Port-Of: odoo/enterprise#19061 Forward-Port-Of: odoo/enterprise#17765
Original PR description
When adding a chatter in studio on a base model, if the model does not extends mail.activity.mixin this fails because it try to add activity_ids in the view. With this changeset, we only try to add activity_ids if it is available. opw-2508112 Forward-Port-Of: odoo/enterprise#19061 Forward-Port-Of: odoo/enterprise#17765
- Avoid to create duplicate invoices on subscription renewal. Forward-Port-Of: odoo/enterprise#19277
Original PR description
- Avoid to create duplicate invoices on subscription renewal. Forward-Port-Of: odoo/enterprise#19277