Tuesday, May 11, 2021
25 changes · master
Enhancements to existing features
Project screens now show clearer help text and tooltips so users better understand task reporting, stages, and profitability views. The Field Service app is also made visible in Community editions with the standard upgrade option, helping users discover available business functionality.
Original PR description
Currently, empty help content are not properly added so purpose of the task is to add the proper help content on several menu. So in this commit done the below changes: - Task form view: change the tooltip of the sale_line_id field - Change the empty help content in below menu: - reporting > tasks analysis - Configuration > Stages - Project > Reporting > Project Costs and Revenues - base: The industry_fsm module should show up under Apps in community, with the usual 'upgrade' button TaskID: 2465012
Renaming a website slide will no longer automatically create a link tracker. This reduces unnecessary tracking records while still allowing users to create trackers manually when they need them, since slide statistics remain available.
Original PR description
# Purpose Before, each time the name of a slide was modified then a new link tracker was created. # Specifications After discussion, we agreed to remove the automatic creation of link tracker and let the user creates it manually if he really wants one. The slides already have a lot of statistics that can be used without the need of a link tracker. # Links task-2511961
This update makes it easier to tailor the values used when creating stock return pickings. It gives implementations more flexibility to adapt warehouse return flows to specific business needs without changing the core process.
Original PR description
Before this commit, It was not possible to customize Picking values. With this commit, we add a new method which Prepares to Picking values. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update makes Odoo's internal registry load about 25% faster in large installations, helping systems start or refresh more quickly. It also adjusts related user and validation logic so existing customizations continue to work with the faster loading process.
Users can now retry sending multiple failed emails at the same time instead of resending each one individually. This makes it faster to recover from temporary email delivery issues and reduces manual work for staff.
Original PR description
Add a retry button to enable the user to try and resend multiple emails at once, purpose is to allow users to easily send back multiple emails which crashed for a "one-shot" reason instead of asking them to resubmit them one by one. Task-2492990 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update reduces the memory needed to run Odoo's internal registry, especially in databases with many installed modules. For a large registry, the change cuts registry memory usage by about 22%, helping improve server efficiency and capacity without changing user-facing behavior.
Original PR description
This is a bunch of commits that reduce the memory taken by a registry. On a registry with 296 modules, this saves 3 megabytes (out of 13.5) of memory, which is about 22% of the registry's memory footprint.
This update improves how mass mailing tracking records connect to related business records. It uses a more appropriate internal link type, which should make tracking data easier to manage and maintain without changing the user workflow.
Original PR description
Description of the issue/feature this PR addresses: Let's make use of Many2oneReference as a better tool to link the model and the id. 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 update improves how several business apps load user access settings during system startup. It helps reduce loading time and supports smoother performance without changing day-to-day user workflows.
Original PR description
Companion of https://github.com/odoo/odoo/pull/70400
Field service teams get a smoother task workflow with clearer default views, better filters, visible sales links, and easier configuration. Reporting is more accessible through a renamed task report, while product quantity handling is tightened to protect delivered inventory records.
Original PR description
Specification: -------------- * project form view: move the is_fsm field out of the debug mode * all tasks > all tasks menu: - display the kanban view by default - allow the creation of stages - when…
Specification: -------------- * project form view: move the is_fsm field out of the debug mode * all tasks > all tasks menu: - display the kanban view by default - allow the creation of stages - when a stage is created, share it by default with all existing projects with is_fsm = true * change in worksheet report: - rename 'worksheet report' into 'task report' - make it available without needing to enable the 'worksheets' feature - if the 'worksheets' feature is not enabled, only display the 'timesheets' and the 'time & material' sections of the report * add an 'added products' filter that should return all the products with quantity > 0. * kanban view: display the number of remaining hours on fsm tasks as well * filters: add a separator between the 'archived' and the 'planned for today' + 'future' filters also move the 'archived' filter below the 'planned for today' + 'future' filters * add a kanban view to the configuration > worksheet templates menu * allow decreasing the quantity of the added products once the task is marked as done if stock is installed, raise the following error when the user tries to decrease the quantity: "You cannot decrease the delivered quantity once the task is marked as done. Please, create a return in your Inventory first." * display the 'sales order' stat button on fsm tasks as well * configuration > settings: the 'extra quotations' feature should always be visible, even if sales is not installed. also enabling 'extra quotations' should automatically enable 'time & material' (but not the other way around) Related PR: odoo/odoo#68940 TaskID: 2465012
Resolved issues and error corrections
Purchase orders now use the correct statuses for visual highlighting in list views. This fixes misleading or missing color cues, helping users more easily identify draft and sent purchase orders.
Original PR description
Trivial patch.
Set correct ``decoration-info`` attribute on ``purchase.order`` tree view, replacing unexisting states ``('wait','confirmed')`` by existing ones ``('draft','sent')``
See list of valid states : https://github.com/odoo/odoo/blob/master/addons/purchase/models/purchase.py#L97
Note : this bug is present since at least V12.0
CC : @Yenthe666, @quentindupont
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prMiscellaneous changes
Bug === 1. Create an event which allows track proposal 2. Follow it and subscribe to "New Track" 3. Log in in incognito and submit a proposal The email is not sent, because it's sent as the public user, which has no email address set. And so it the 2 system parameters <mail.catchall.domain> and <mail.default.from> are not set, we can not know which email address used to send the email. Note that this bug also occurs if you create a track with a user without an email address set.
Original PR description
Bug === 1. Create an event which allows track proposal 2. Follow it and subscribe to "New Track" 3. Log in in incognito and submit a proposal The email is not sent, because it's sent as the public user, which has no email address set. And so it the 2 system parameters <mail.catchall.domain> and <mail.default.from> are not set, we can not know which email address used to send the email. Note that this bug also occurs if you create a track with a user without an email address set. Task 2510181 Forward-Port-Of: odoo/odoo#69890
Original PR description
The base classes of models in the registry are modified when models are extended by inheritance. But modifying cls.__bases__ is a costly operation, so we manage to do it once per model when loading a registry. Our benchmark consists in loading a registry with 296 modules. The net time to load the registry is 25% smaller. In other words, **the registry loads 25% faster**. Note that the time does not include the time to load modules themselves, which does not change. The other commits fix tricks with `BaseModel` method `__init__` that no longer work.
This change supports a broader effort to reduce the memory used by Odoo's internal registry, helping the system run more efficiently. It fixes how document field links are stored so the documents app remains compatible with that optimization without changing user-facing workflows.
Original PR description
Companion of https://github.com/odoo/odoo/pull/70402
When we get the values to embed to pdf, these values can be False if there is no edi attachment on the account_move so try to assign something to 'values' will fail. Now there is a check before assignment. opw-2526280 Forward-Port-Of: odoo/odoo#70613
Original PR description
When we get the values to embed to pdf, these values can be False if there is no edi attachment on the account_move so try to assign something to 'values' will fail. Now there is a check before assignment. opw-2526280 Forward-Port-Of: odoo/odoo#70613
Steps to reproduce the bug: - Let's consider a company in € - Let's consider two sales taxes T1 (10% included) and T2 (0%) - Define a fiscal position FP that maps T1 to T2 - Define a product P with T1, price = 11€ and available in the shop - Define a pricelist PL in $ such as 1€ = 1$, show discount to customer and discount P with 50% - Define a portal user PU with FP and PL - Log with PU - Add P in the cart Bug: The unit price of P was 2,75$ instead of 2,5$ PS: Before adding P
Original PR description
Steps to reproduce the bug: - Let's consider a company in € - Let's consider two sales taxes T1 (10% included) and T2 (0%) - Define a fiscal position FP that maps T1 to T2 - Define a product P with T1, price = 11€ and available in the shop - Define a pricelist PL in $ such as 1€ = 1$, show discount to customer and discount P with 50% - Define a portal user PU with FP and PL - Log with PU - Add P in the cart Bug: The unit price of P was 2,75$ instead of 2,5$ PS: Before adding P in the cart, the correct unit price was displayed. opw:2472528 Forward-Port-Of: odoo/odoo#69715 Forward-Port-Of: odoo/odoo#69502
The num2words Debian package exists in Debian Buster [0] and Ubuntu Focal [1]. [0]: https://packages.debian.org/buster/python3-num2words [1]: https://packages.ubuntu.com/focal/python3-num2words Forward-Port-Of: odoo/odoo#70637
Original PR description
The num2words Debian package exists in Debian Buster [0] and Ubuntu Focal [1]. [0]: https://packages.debian.org/buster/python3-num2words [1]: https://packages.ubuntu.com/focal/python3-num2words Forward-Port-Of: odoo/odoo#70637
What are the steps to reproduce your issue ? 1. From the product form, go to the website version, edit it to add tabs 2. Using studio, add the field "Description for website" to a tab of the notebook 3. Save, click Edit, go to the tab that has the field What is currently happening ? Traceback: form_renderer.js:258 Uncaught (in promise) TypeError: Cannot read property 'querySelector' of undefined at Class.setLocalState (form_renderer.js:258) at Cl
Original PR description
What are the steps to reproduce your issue ?
1. From the product form, go to the website version, edit it to add tabs
2. Using studio, add the field "Description for website" to a tab of the notebook
3. Save, click Edit, go to the tab that has the field
What is currently happening ?
Traceback:
form_renderer.js:258 Uncaught (in promise) TypeError: Cannot read property 'querySelector' of undefined
at Class.setLocalState (form_renderer.js:258)
at Class.setLocalState (form_editor.js:131)
at Class.prototype.<computed> [as setLocalState] (class.js:90)
at view_editor_manager.js:184
What are you expecting to happen ?
Correctly add product description without tracebacks
Why is this happening ?
Because the number of tab is not equal to the number of pages
How to fix the bug ?
Before accessing the element, check if it exists
opw-2378743
Forward-Port-Of: odoo/odoo#70513Acronyms: SRL : receivable lines in the session's account move that balances the receivable lines in the session's invoices IRL : receivable lines of the invoices in the pos session When closing a pos session, a single account move is create to capture all the transactions, but, invoices are kept (each is an account move). During the construction of this single account move, SRLs are reconciled with IRLs. Prior to this commit, when closing a pos session, SRLs are grouped by `prope
Original PR description
Acronyms: SRL : receivable lines in the session's account move that balances the receivable lines in the session's invoices IRL : receivable lines of the invoices in the pos session When closing a pos session, a single account move is create to capture all the transactions, but, invoices are kept (each is an account move). During the construction of this single account move, SRLs are reconciled with IRLs. Prior to this commit, when closing a pos session, SRLs are grouped by `property_account_receivable_id` of the partners in the invoices. Because of this, SRLs are blind of the partners that they are linked to. This causes issues on tracking the 'due' in the partners that are invoiced using the pos application. To fix the issue, we now group the SRLs by partner before reconciling them the the IRLs. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#70617 Forward-Port-Of: odoo/odoo#70033
Forward-Port-Of: odoo/odoo#70647
Original PR description
Forward-Port-Of: odoo/odoo#70647
PURPOSE currently in the event tour, "go to the website" step should already triggers the the save, so this step seems unnecessary, there are one wrong spelling "registrating" in Edit button trigger and user must have to go on specific stage it's not necessary and if user go to any other stage than it should not trigger the next activity. SPECIFICATION after this commit user can directly go to "go to website" step without save trigger and now spelling will be "registering" i
Original PR description
PURPOSE currently in the event tour, "go to the website" step should already triggers the the save, so this step seems unnecessary, there are one wrong spelling "registrating" in Edit button trigger and user must have to go on specific stage it's not necessary and if user go to any other stage than it should not trigger the next activity. SPECIFICATION after this commit user can directly go to "go to website" step without save trigger and now spelling will be "registering" instead of "registrating" and user move on any specific stage and also it trigger the next activity because in normal flow user can go to any stage. TaskId:2461308 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#68235
- outerText is a non-standard feature. It is not supported by firefox and should not be used. This commit replaced it by innerText. - The design of the industry selection screen had a misalignment flaw on firefox. This commit fixed it. Co-authored-by: Stefano Rigano <sri@odoo.com> 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
Original PR description
- outerText is a non-standard feature. It is not supported by firefox and should not be used. This commit replaced it by innerText. - The design of the industry selection screen had a misalignment flaw on firefox. This commit fixed it. Co-authored-by: Stefano Rigano <sri@odoo.com> 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#69897
A product with single novariant attribute is normally not shown. But in the configurator modal it was shown and then added in the product description when doing exactly the same scenario (add the product) than without the configurator. opw-2494331 Forward-Port-Of: odoo/odoo#69411
Original PR description
A product with single novariant attribute is normally not shown. But in the configurator modal it was shown and then added in the product description when doing exactly the same scenario (add the product) than without the configurator. opw-2494331 Forward-Port-Of: odoo/odoo#69411
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#70672
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 Forward-Port-Of: odoo/odoo#70672
Forward-Port-Of: odoo/enterprise#18264
Original PR description
Forward-Port-Of: odoo/enterprise#18264
Bug === If we try to post without account, an UserError is raised. But, instead a traceback is displayed because we try to "string join" an integer array. Task 2415987 Forward-Port-Of: odoo/enterprise#17903
Original PR description
Bug === If we try to post without account, an UserError is raised. But, instead a traceback is displayed because we try to "string join" an integer array. Task 2415987 Forward-Port-Of: odoo/enterprise#17903
What are the steps to reproduce your issue ? 1. Go to any list view 2. Add a many2many field (existing or new) 3. Select the column of this newly added field 4. Select for Widget = many2many_checkboxes What is currently happening ? Qweb2 error and whole view is not accessible anymore. Why is this happening ? The m2m_checkboxes is not supported by the list view opw-2497876 Forward-Port-Of: odoo/enterprise#18230 Forward-Port-Of: odoo/enterprise#18159
Original PR description
What are the steps to reproduce your issue ?
1. Go to any list view
2. Add a many2many field (existing or new)
3. Select the column of this newly added field
4. Select for Widget = many2many_checkboxes
What is currently happening ?
Qweb2 error and whole view is not accessible anymore.
Why is this happening ?
The m2m_checkboxes is not supported by the list view
opw-2497876
Forward-Port-Of: odoo/enterprise#18230
Forward-Port-Of: odoo/enterprise#18159