Monday, April 22, 2024
16 changes · master
Enhancements to existing features
The delivery IoT settings screen now presents the Scales feature explanation more clearly. The text is better aligned with its section and separated from the documentation link, making the information easier for users to read.
Original PR description
This PR introduces two minor changes to `stock.picking.type` model: * align the explanation of "Scales" feature with its section. * add a line break between the explanation and the link to the documentation. COM PR: odoo/odoo#159495 Task-3644665
Resolved issues and error corrections
This change makes an internal Web Studio test more stable by avoiding a check that depended on unpredictable background request timing. It helps prevent false failures in automated testing without changing user-facing behavior.
Original PR description
The test edit "one2many form view (2 level) and check chatter allowed" was sometimes failing (https://runbot.odoo.com/runbot/build/61498073) This was due to the ordering of some rpc calls in two different services. Those services do not depend on one another, so it is possible that in some situations, their instanciation and the rpc they pass happen in different order. After this commit this is not a problem because we simply don't assert the rpc "/mail/action".
Miscellaneous changes
We don't want to block deleting a journal because there is a rule targetting it. It prevents changing the CoA easily if a transfer model was created while loading the template. Forward-Port-Of: odoo/enterprise#60993 Forward-Port-Of: odoo/enterprise#59547
Original PR description
We don't want to block deleting a journal because there is a rule targetting it. It prevents changing the CoA easily if a transfer model was created while loading the template. Forward-Port-Of: odoo/enterprise#60993 Forward-Port-Of: odoo/enterprise#59547
Steps to reproduce: - Install account_sepa_direct_debit - Create another company - Go to "Invoicing / Configuration / Accounting / Journals" - Configure a journal (e.g. Bank) by adding an IBAN bank account number - Go to "Invoicing / Customers / Direct Debit Mandates" - Create a Direct Debit Mandate (DD Mandate): * Customer: [any customer with an IBAN bank account] (e.g. Gemini Furniture) * IBAN: [IBAN bank account of customer] * Journal: Bank * Start Date: [any] * Company:
Original PR description
Steps to reproduce: - Install account_sepa_direct_debit - Create another company - Go to "Invoicing / Configuration / Accounting / Journals" - Configure a journal (e.g. Bank) by adding an IBAN bank account number - Go to "Invoicing / Customers / Direct Debit Mandates" - Create a Direct Debit Mandate (DD Mandate): * Customer: [any customer with an IBAN bank account] (e.g. Gemini Furniture) * IBAN: [IBAN bank account of customer] * Journal: Bank * Start Date: [any] * Company: [the current company] - Save and validate the DD mandate - Switch to another company - Open Direct Debit Mandate list view Issue: The DD mandate from the other company is displayed. Any user who has access to DD mandates will view the DD mandates from all companies, even those from the companies he has no access. Cause: There is no multi-company rule for "sdd.mandate" model. opw-3769026 Forward-Port-Of: odoo/enterprise#59233
Before this commit, when the user goes to Timesheets app, he could get a traceback because the JS code does manage the case `get_billable_time_target` method could return an empty when no employee is linked to the current user. This commit fixes the issue by managing that case and hide the leaderboard as we should expect since the billable target is not found for that current user. Steps to reproduce the issue ============================ 1. Create a new employee 2. Link that employee t
Original PR description
Before this commit, when the user goes to Timesheets app, he could get a traceback because the JS code does manage the case `get_billable_time_target` method could return an empty when no employee is…
Before this commit, when the user goes to Timesheets app, he could get a traceback because the JS code does manage the case `get_billable_time_target` method could return an empty when no employee is linked to the current user. This commit fixes the issue by managing that case and hide the leaderboard as we should expect since the billable target is not found for that current user. Steps to reproduce the issue ============================ 1. Create a new employee 2. Link that employee to a new user 3. Remove the user to the employee (unset Linked user field) 4. Log in as that new user 5. Go to timesheets app Current Behavior ================ A traceback is occured because the rpc called returned an empty list instead of a list containing at least one object to get the billable target for the current user. Expected Behavior ================= The grid view of Timesheets app should be loaded as expected and the leaderboard should not be displayed since no data is found to get the billable target for that current user. opw-3862635 opw-3866805 opw-3864353 Forward-Port-Of: odoo/enterprise#61046 Forward-Port-Of: odoo/enterprise#60949
Issue: ------ If we remove the sale order line from a helpdesk ticket, and modify the partner (modify the `is_company` field), the sale order line will be added back to the ticket. Solution: --------- Assuming that this behaviour is due to a limitation in the ORM, it is necessary to modify the dependency of the compute method. This fix performs the same correction on the helpdesk side as the commit: https://github.com/odoo/odoo/commit/5faf5a0dcf4c06716d6a29686d49409b22b05565 opw-387
Original PR description
Issue: ------ If we remove the sale order line from a helpdesk ticket, and modify the partner (modify the `is_company` field), the sale order line will be added back to the ticket. Solution: --------- Assuming that this behaviour is due to a limitation in the ORM, it is necessary to modify the dependency of the compute method. This fix performs the same correction on the helpdesk side as the commit: https://github.com/odoo/odoo/commit/5faf5a0dcf4c06716d6a29686d49409b22b05565 opw-3879079 Forward-Port-Of: odoo/enterprise#61125
Currently, when downloading/loading Worldline lib at the start of Odoo, after doing so we are restarting Odoo at the end of "load_worldline_library.sh" script. This is unnecessary as Odoo is capable of detecting the terminals and communicating with them straight away when it has the library and the linker set up. More annoyingly, this leads to a very tricky bug: Odoo service is being restarted in a subshell. Since Odoo is already running this 2nd service will be blocked, but as soon as t
Original PR description
Currently, when downloading/loading Worldline lib at the start of Odoo, after doing so we are restarting Odoo at the end of "load_worldline_library.sh" script. This is unnecessary as Odoo is capable of detecting the terminals and communicating with them straight away when it has the library and the linker set up. More annoyingly, this leads to a very tricky bug: Odoo service is being restarted in a subshell. Since Odoo is already running this 2nd service will be blocked, but as soon as the primary Odoo service stops, the 2nd one takes the lead. So when restarting Odoo we can get error like "Adress already in use", duplicate code executed and even more dangerousely, duplicate C++/C code running with Worldline and Six, which can lead to race conditions and crashes. task-3873045 Forward-Port-Of: odoo/enterprise#60865
This commit removes the unnecessary "-" (minus) that was mistakenly added before `inputs['ATTACH_SALARY'].name`. This addition was causing a traceback error. task-3794116 Forward-Port-Of: odoo/enterprise#58566
Original PR description
This commit removes the unnecessary "-" (minus) that was mistakenly added before `inputs['ATTACH_SALARY'].name`. This addition was causing a traceback error. task-3794116 Forward-Port-Of: odoo/enterprise#58566
This commit addresses a computed asset failure caused by the inclusion of 'web.editor.frontend.scss' in the 'sign' module manifest since [1] (OWL conversion). A scss variable added in 'fontawesome_overriden.scss' by a related community PR is used in 'web.editor.frontend.scss', leading to a crash during asset computation. This file is now added in the manifest. Related community PR: - https://github.com/odoo/odoo/pull/161770 opw-3747848 [1]:https://github.com/odoo/enterprise/commit/5fa
Original PR description
This commit addresses a computed asset failure caused by the inclusion of 'web.editor.frontend.scss' in the 'sign' module manifest since [1] (OWL conversion). A scss variable added in 'fontawesome_overriden.scss' by a related community PR is used in 'web.editor.frontend.scss', leading to a crash during asset computation. This file is now added in the manifest. Related community PR: - https://github.com/odoo/odoo/pull/161770 opw-3747848 [1]:https://github.com/odoo/enterprise/commit/5fa63a2f284fe93acc0c4d8dc12ee47646703247 Forward-Port-Of: odoo/enterprise#60922 Forward-Port-Of: odoo/enterprise#60894
When using the command palette of Knowledge in dev mode, the system raises the following exception: `Invalid props for component 'Knowledge404Command': unknown key 'name', unknown key 'searchValue', unknown key 'executeCommand', unknown key 'slots'.` To fix the issue, `Knowledge404Command` and `KnowledgeCommand` will extend `DefaultCommandItem` and its props, ensuring that the required props will be maintained in future updates. task-3862285 Forward-Port-Of: odoo/enterprise#60461
Original PR description
When using the command palette of Knowledge in dev mode, the system raises the following exception: `Invalid props for component 'Knowledge404Command': unknown key 'name', unknown key 'searchValue', unknown key 'executeCommand', unknown key 'slots'.` To fix the issue, `Knowledge404Command` and `KnowledgeCommand` will extend `DefaultCommandItem` and its props, ensuring that the required props will be maintained in future updates. task-3862285 Forward-Port-Of: odoo/enterprise#60461
Current behavior: When trying to sell a product with a tax, you get an error saying the tax is not allowed. Also some other things were not working properly after this refactor, https://github.com/odoo/odoo/pull/142566. Like `res_company` should be `this.company` Steps to reproduce: - Setup fiskaly - Create a product with a tax - Try to sell it in PoS opw-3845699 Forward-Port-Of: odoo/enterprise#61051 Forward-Port-Of: odoo/enterprise#60074
Original PR description
Current behavior: When trying to sell a product with a tax, you get an error saying the tax is not allowed. Also some other things were not working properly after this refactor, https://github.com/odoo/odoo/pull/142566. Like `res_company` should be `this.company` Steps to reproduce: - Setup fiskaly - Create a product with a tax - Try to sell it in PoS opw-3845699 Forward-Port-Of: odoo/enterprise#61051 Forward-Port-Of: odoo/enterprise#60074
Commit [1] removed the "Odoo -" prefix in the title of the backend. As a consequence, there was no title left in the home menu, and the url was displayed instead. This commit defines "Home" as title of the HomeMenuAction. [1] odoo/odoo@f3e809a6b7076065e46e466019be4b6b0325371c Forward-Port-Of: odoo/enterprise#61120
Original PR description
Commit [1] removed the "Odoo -" prefix in the title of the backend. As a consequence, there was no title left in the home menu, and the url was displayed instead. This commit defines "Home" as title of the HomeMenuAction. [1] odoo/odoo@f3e809a6b7076065e46e466019be4b6b0325371c Forward-Port-Of: odoo/enterprise#61120
Before this commit, when a confirmed order was canceled, a draft quote subscription_state was set. It would trigger the constraint `sale_subscription_state_coherence` or _constraint_canceled_subscription depnding the version. THis commits ensure to clean the subscription_state of canceled subscription and it set it back to the correct value if the canceled order is set back to quotation. Forward-Port-Of: odoo/enterprise#61053 Forward-Port-Of: odoo/enterprise#60908
Original PR description
Before this commit, when a confirmed order was canceled, a draft quote subscription_state was set. It would trigger the constraint `sale_subscription_state_coherence` or _constraint_canceled_subscription depnding the version. THis commits ensure to clean the subscription_state of canceled subscription and it set it back to the correct value if the canceled order is set back to quotation. Forward-Port-Of: odoo/enterprise#61053 Forward-Port-Of: odoo/enterprise#60908
Before this commit, there was an issue with the line's buttons for the Inventory Adjustment in the Barcode app. The -1/+1 buttons were placed above/below each other instead of being on the same line, causing the edit button and the set button to be misplaced on the left. This commit fixes that, now these buttons will be placed correctly: - On the same height if there is only two buttons; - On two lines if there is four buttons. #### On Desktop - Before:  - After:  #### On mobile - Before:  - After:  Forward-Port-Of: odoo/enterprise#60769
## Description Validating invoices that have a lot of lines that needs to be deferred is taking extremely long time. Most of the bottleneck is from `_generate_deferred_entries`. We've batched some of the ORM calls to avoid repetitive calls to slow methods in `account_move` like `create`, `__set__`, `_post`. ## Benchmark Tested on a saas-16.4 DB: validating an invoice with deferred lines generating on average 12 periods per line | Lines | Before (Timing / Queries) | After (Timing / Qu
Original PR description
## Description Validating invoices that have a lot of lines that needs to be deferred is taking extremely long time. Most of the bottleneck is from `_generate_deferred_entries`. We've batched some of the ORM calls to avoid repetitive calls to slow methods in `account_move` like `create`, `__set__`, `_post`. ## Benchmark Tested on a saas-16.4 DB: validating an invoice with deferred lines generating on average 12 periods per line | Lines | Before (Timing / Queries) | After (Timing / Queries) | % Speed up | |-------|-------------------------------|--------------------------|------------| | 50 | 1 min / 23216 | 33.4 sec / 16713 | 44.3% | | 100 | 3 min / 46736 | 1.3 min / 33557 | 56.7% | | 230 | 17.7 min (timed-out) / 111196 | 3.4 min / 79777 | 80.7% | ## Reference opw-3815242 Forward-Port-Of: odoo/enterprise#59448
Steps to reproduce: ------------------- - create a product with: - recurring - prepaid - create task on order - in the settings, enable "Recurring Tasks" - add "Use Recurring Tasks" to the current user - create a sale order with a recurring plan and the recurring product - confirm the sale order --> the created task is recurring - duplicate the sale order - validate it with a portal user Issue: ------ The task created is not recurring. The two tasks should be recurrent because the
Original PR description
Steps to reproduce: ------------------- - create a product with: - recurring - prepaid - create task on order - in the settings, enable "Recurring Tasks" - add "Use Recurring Tasks" to the current user - create a sale order with a recurring plan and the recurring product - confirm the sale order --> the created task is recurring - duplicate the sale order - validate it with a portal user Issue: ------ The task created is not recurring. The two tasks should be recurrent because the sale order is the same. The user who confirms the sale order must not affect the status of the task. Cause: ------ We check that the user belongs to the `group_project_recurring_tasks` group, which will never be the case for a portal user. Solution: --------- Authorise the creation of the recurring task if the setting is activated. opw-3823250 Forward-Port-Of: odoo/enterprise#60807