Daily updates from Odoo
Thursday, August 10, 2023
31 changes · master
Enhancements to existing features
A new automated test checks that Belgian payroll correctly handles an employee moving to a new job with a new contract. This helps ensure required salary details are pre-filled and reduces the risk of errors during internal job changes.
Original PR description
The added test is intended to check that an employee signing a new contract for a new job inside the company will be correctly adapted. taskID 2898298
This update standardizes how translated messages insert values across several Odoo Enterprise apps. It reduces duplicated formatting logic behind the scenes, making translations easier to maintain and less error-prone without changing user workflows.
Original PR description
Improve `gettext` to directly handle value injection within translations, removing the need for `sprintf`.
```js
sprintf(_t("Due in %s days"), days);
```
becomes
```js
_t("Due in %s days", days);
```
Community: https://github.com/odoo/odoo/pull/123932The global filter editor now behaves more predictably when users click the “Start typing...” prompt for related models. It clears the placeholder label, closes unnecessary dropdown suggestions, and keeps focus in the input so users can enter their intended value without distraction.
Original PR description
**Description** _Issue is related to :- Related model dropdown in global filters._ This PR ensures that clicking on 'Start typing...' would clear the label and close the dropdown. Also, it would disable display of default values and matching fields, by maintining the focus on input field. Task ID : 3375332
Resolved issues and error corrections
This fixes an automated accounting test flow that had stopped working after recent import changes. It helps ensure tax group import behavior is checked reliably, reducing the risk of accounting issues reaching users.
Original PR description
Following changes on the import (https://github.com/odoo/enterprise/commit/5a800d5e304d02e15def04ef76911543c633af92), the tour does not work. It was attempted in https://github.com/odoo/enterprise/commit/467613ace4e8cb0dac8274e6742984f01aacd1c9, but did not work (and silently, because the test is deactivated) Fixes runbot error 23638
This fixes internal references to a renamed action service so affected screens continue to work correctly. It helps prevent errors in Helpdesk and Quality worksheet views after the underlying service name changed.
Original PR description
the default model 'useAction' service is now named 'action' no longer 'actionService' Changed the reference where needed
This update fixes an unreliable automated test for the Web Studio icon creator. It helps keep quality checks stable so development and releases are not delayed by random test failures.
Original PR description
An apparently nondeterministic error occured on runbot while running js test "with initial web icon data" for the IconCreator. Cause of the error:
This fix prevents existing sign template items from being treated like newly created unsaved items when opening their detail popovers. It helps keep template editing smooth and avoids unnecessary delays or incorrect handling for items that are already saved.
Original PR description
https://github.com/odoo/enterprise/pull/43125 introduced a new relational model and since sign uses it to show x2many records in the sign item popover when editing a template. That PR also introduced a new approach to guarantee that new sign items are already saved in the server before we allow opening the popover. However, the logic for doing that was affecting items that already had an ID set in the server because it was checking for the updated property in the sign item, while it should be checking for a negative id only. This commit fixes this by adding only the negative ids to the negativeIds object, which contains promises for each id that are resolved when the item is saved in the server. task-3438789
This fixes a missed internal reference after a platform change renamed how actions are handled. It helps quality control worksheets continue opening and running actions reliably without disrupting users.
Original PR description
Since [new relational model](https://github.com/odoo/odoo/commit/8723f020c3587a900c811b8cc23f53fe34b98df3), actionService changed to action in the new relational model. This commit fixes one missed actionService.
This fix adjusts Belgian payroll fleet handling so the system uses the responsible user when no fleet manager is set. This prevents incorrect behavior in cases where a fleet manager is missing and keeps ownership or responsibility assignments consistent.
Original PR description
The behavior was not correct, we want nothing if there is no fleet manager task-3395095
Code cleanup and technical improvements
The automated tests for Point of Sale IoT were adjusted to match recent screen changes in the related Point of Sale interface. This helps keep quality checks reliable without changing what users see or how they use the product.
Original PR description
In the related community pr we refactor the `ProductScreen` to use the new `category_selector` component. In this commit we adapt the tests such that they work correctly with the new code. Related PR: https://github.com/odoo/odoo/pull/131038
Miscellaneous changes
The Gantt dependencies display in the Gantt view is not working anymore in Firefox browser since the conversion to owl. This commit fixes that. Steps ===== Using firefox as a browser: - Install module project - Activate task dependencies in the settings of Project - Open the Gantt view of a project with task dependencies enabled (e.g. Research and Development). Issue ===== Dependencies between tasks are not displayed in the Gantt view. Cause ===== The `d` property of the tag `p
Original PR description
The Gantt dependencies display in the Gantt view is not working anymore in Firefox browser since the conversion to owl. This commit fixes that. Steps ===== Using firefox as a browser: - Install module project - Activate task dependencies in the settings of Project - Open the Gantt view of a project with task dependencies enabled (e.g. Research and Development). Issue ===== Dependencies between tasks are not displayed in the Gantt view. Cause ===== The `d` property of the tag `path` should contained data separated by spaces. Currently, commas are added to separate those datas. This is not supported by Firefox and therefore leads to the arrows not to be displayed. Fix === No more commas are added to separate geometrical datas during the generation of dependency arrows. task-3447057 Forward-Port-Of: odoo/enterprise#44870
task-3368644 Forward-Port-Of: odoo/enterprise#45263 Forward-Port-Of: odoo/enterprise#43032
Original PR description
task-3368644 Forward-Port-Of: odoo/enterprise#45263 Forward-Port-Of: odoo/enterprise#43032
Current behaviour: --- When exporting a report as PDF, all the columns are being squeezed at the right of the page. Steps to reproduce: --- 1. Head over to Accounting 2. Click on Reporting > General Ledger 3. Click on the PDF button 4. All column are squeezed at the right Cause of the issue: --- Conversion of account_reports to owl opw-3410862 opw-3436993 Forward-Port-Of: odoo/enterprise#45378 Forward-Port-Of: odoo/enterprise#44767
Original PR description
Current behaviour: --- When exporting a report as PDF, all the columns are being squeezed at the right of the page. Steps to reproduce: --- 1. Head over to Accounting 2. Click on Reporting > General Ledger 3. Click on the PDF button 4. All column are squeezed at the right Cause of the issue: --- Conversion of account_reports to owl opw-3410862 opw-3436993 Forward-Port-Of: odoo/enterprise#45378 Forward-Port-Of: odoo/enterprise#44767
Align the total line with its parent instead of slightly indenting it. Task-id 3438422 Forward-Port-Of: odoo/enterprise#45420
Original PR description
Align the total line with its parent instead of slightly indenting it. Task-id 3438422 Forward-Port-Of: odoo/enterprise#45420
Issue: ------------------- In the barcode operations settings, the scrap button is duplicated Steps to reproduce: ------------------- * Go to barcode -> Operations * In Delivery orders -> To process -> Click on some record * Click on the settings icon in the top right menu * There are two scrap buttons Cause: ------------------- When we have the barcode and MRP apps both installed, the scrap button is loaded twice, one from the javascript function printButtons() and the other from
Original PR description
Issue: ------------------- In the barcode operations settings, the scrap button is duplicated Steps to reproduce: ------------------- * Go to barcode -> Operations * In Delivery orders -> To process -> Click on some record * Click on the settings icon in the top right menu * There are two scrap buttons Cause: ------------------- When we have the barcode and MRP apps both installed, the scrap button is loaded twice, one from the javascript function printButtons() and the other from the file main.xml from stock_barcode_mrp add-on. The commit 61ca0bd fixed the javascript file and now there is no need to keep the second scrap button. OPW-3440927 Forward-Port-Of: odoo/enterprise#45004
Steps to reproduce the bug: - Install `social_push_notifications` module - Ensure you have multiple website - Enable website push notifications in settings - In another browser, go to the website as visitor and allow notifications - Go back to main browser and create a new post: - Set no `domain` (to match all visitors, for test purpose) - Set a title - Select both websites to post on - Post it Issue: Customer receive 2 notifications. Cause: Sending
Original PR description
Steps to reproduce the bug:
- Install `social_push_notifications` module
- Ensure you have multiple website
- Enable website push notifications in settings
- In another browser, go to the website as visitor and allow notifications
- Go back to main browser and create a new post:
- Set no `domain` (to match all visitors, for test purpose)
- Set a title - Select both websites to post on
- Post it
Issue:
Customer receive 2 notifications.
Cause:
Sending posts to all visitors without checking if the post account's
website is the same as the visitor website.
Solution:
If account has a website, filter visitors to retrieve only the ones on
the current website.
opw-3170544
Forward-Port-Of: odoo/enterprise#44992
Forward-Port-Of: odoo/enterprise#40735- The stat button should not mention cancelled quote - put back the history stat button task-id: 3391973 Forward-Port-Of: odoo/enterprise#43718
Original PR description
- The stat button should not mention cancelled quote - put back the history stat button task-id: 3391973 Forward-Port-Of: odoo/enterprise#43718
Task Adhoc: 29354 Task latam: 1052 Steps to reproduce: Go to runbot Odoo 14 enterprise and install "l10n_ar_edi" module (Argentinean Electronic Invoicing). Take position on Argentinian company (AR) (Responsable Inscripto) . Create a vendor bill for foreign partner. It is necessary that the partner does not have a country_id or if it does, it is needed that it does not have VAT. Also it is required the invoice to have document type (66) DESPACHO DE IMPORTACIÓN. Another requirement is
Original PR description
Task Adhoc: 29354 Task latam: 1052 Steps to reproduce: Go to runbot Odoo 14 enterprise and install "l10n_ar_edi" module (Argentinean Electronic Invoicing). Take position on Argentinian company (AR) (Responsable Inscripto) . Create a vendor bill for foreign partner. It is necessary that the partner does not have a country_id or if it does, it is needed that it does not have VAT. Also it is required the invoice to have document type (66) DESPACHO DE IMPORTACIÓN. Another requirement is that the journal use documents. Go to Accounting / Reporting / Statement Reports / Tax Report and click on button "VAT BOOK(ZIP)", previously select the period in which the invoice created in strep 3 is included. Current behavior: After clicking on "VAT BOOK(ZIP)" there is a bug with traceback. Expected behavior: After clicking on "VAT BOOK(ZIP)" there is no bug with traceback. Forward-Port-Of: odoo/enterprise#44711
This PR bundles a collection of urgent bug fixes as well as some small cosmetic changes to the new MRP shop floor display that was introduced in https://github.com/odoo/enterprise/pull/43610. Please refer to the individual feature commits for details. Task: 3432610 Forward-Port-Of: odoo/enterprise#44760
Original PR description
This PR bundles a collection of urgent bug fixes as well as some small cosmetic changes to the new MRP shop floor display that was introduced in https://github.com/odoo/enterprise/pull/43610. Please refer to the individual feature commits for details. Task: 3432610 Forward-Port-Of: odoo/enterprise#44760
The `_compute_amount_residual` method computes residual amounts on reconcilable account move lines. As it uses an sql query for an efficient computation it discerns stored records from new records (having a new id) by filtering out records with a falsy id field (new ids are always falsy). It then proceeds the computation for stored records only. The bug arises when the compute method is called on records during an onchange call, as the records get reassigned a new id as well. This can be seen
Original PR description
The `_compute_amount_residual` method computes residual amounts on reconcilable account move lines. As it uses an sql query for an efficient computation it discerns stored records from new records (having a new id) by filtering out records with a falsy id field (new ids are always falsy). It then proceeds the computation for stored records only. The bug arises when the compute method is called on records during an onchange call, as the records get reassigned a new id as well. This can be seen when opening the total due followup view and toggling the blocked field on any of the unreconciled entries. The problem is resolved by including records during an onchange in the computation: in practice the computation can simply be carried out on all `_origin` records. This commit includes the test reproducing the behavior described above. opw-3388389 Forward-Port-Of: odoo/enterprise#45418
Steps to reproduce: 1. install and configure l10n_de_pos_cert and create a point of sale 2. open the session 3. make a cash in or cash out operation 4. attempt to close the session Traceback: ``` File "<2771>", line 527, in template_2771 odoo.addons.base.models.ir_qweb.QWebException: Error while render the template IndexError: tuple index out of range Template: l10n_de_pos_cert.dsfinvk_cash_point_closing_template Path: /t/t/t[4] Node: <t t-esc="orders[0].id"/> ``` This happens
Original PR description
Steps to reproduce: 1. install and configure l10n_de_pos_cert and create a point of sale 2. open the session 3. make a cash in or cash out operation 4. attempt to close the session Traceback: ``` File "<2771>", line 527, in template_2771 odoo.addons.base.models.ir_qweb.QWebException: Error while render the template IndexError: tuple index out of range Template: l10n_de_pos_cert.dsfinvk_cash_point_closing_template Path: /t/t/t[4] Node: <t t-esc="orders[0].id"/> ``` This happens because in lines https://github.com/odoo/enterprise/blob/12690625b4c248a1c833ec44e123da25d1eff3f6/l10n_de_pos_cert/models/pos_session.py#L56-L57 it checks for `self.order_ids` even though `orders` might be empty, like in the current scenario. As a result orders need to be checked too. opw-3423586 Forward-Port-Of: odoo/enterprise#44947
With https://github.com/odoo/odoo/pull/122085, we simplified the definition of display_name for `sign.request.item`: https://github.com/odoo/enterprise/commit/155eaf192802b808f85a39fa577b2f2e237c2864#diff-fd924498755af2d3fa8524a8260aed6830a30a87b5a8d9cc0b0470e1a7534b5fL758-R758 but because of https://github.com/odoo/odoo/blob/0d30cc2bc9b9cc2b805d6c2d0a440f185c648da0/odoo/models.py#L235-L236 It overstates completely the default definition instead of merging definition as others fields. Rever
Original PR description
With https://github.com/odoo/odoo/pull/122085, we simplified the definition of display_name for `sign.request.item`: https://github.com/odoo/enterprise/commit/155eaf192802b808f85a39fa577b2f2e237c2864#diff-fd924498755af2d3fa8524a8260aed6830a30a87b5a8d9cc0b0470e1a7534b5fL758-R758 but because of https://github.com/odoo/odoo/blob/0d30cc2bc9b9cc2b805d6c2d0a440f185c648da0/odoo/models.py#L235-L236 It overstates completely the default definition instead of merging definition as others fields. Revert this small change. task-3441148 https://github.com/odoo/odoo/pull/131364 Forward-Port-Of: odoo/enterprise#45528
**Summary** Currently, you can't access the Payments Matching from a journal on the accounting dashboard. **Steps to reproduce** * install `account_accountant` * go to the dashboard * on any journal, click on 3 dots -> Payments Matching => Nothing happens **Cause** The relevant action is returned as a record, but it should be a dictionary. opw-3440322 Forward-Port-Of: odoo/enterprise#44959
Original PR description
**Summary** Currently, you can't access the Payments Matching from a journal on the accounting dashboard. **Steps to reproduce** * install `account_accountant` * go to the dashboard * on any journal, click on 3 dots -> Payments Matching => Nothing happens **Cause** The relevant action is returned as a record, but it should be a dictionary. opw-3440322 Forward-Port-Of: odoo/enterprise#44959
## Issue In the timesheet app, in the timer header, when we have a project specified, the task dropdown shows all tasks, not only those specified in the project we have selected. ## Steps to reproduce - Install Timesheets - Create a Project with a few tasks inside (make sure the project is billable) - Go to Timesheets > Start the timer, select the project, notice that in the dropdown menu for the tasks we have all tasks. ## Cause The component `timesheet_timer_header` doesn't make use
Original PR description
## Issue In the timesheet app, in the timer header, when we have a project specified, the task dropdown shows all tasks, not only those specified in the project we have selected. ## Steps to…
## Issue In the timesheet app, in the timer header, when we have a project specified, the task dropdown shows all tasks, not only those specified in the project we have selected. ## Steps to reproduce - Install Timesheets - Create a Project with a few tasks inside (make sure the project is billable) - Go to Timesheets > Start the timer, select the project, notice that in the dropdown menu for the tasks we have all tasks. ## Cause The component `timesheet_timer_header` doesn't make use of Many2XAutocomplete component, so when doing the `name_search` and fetching the domain for the field, `getDomain` return `undefined`. ## Fix Add a `domain` props on each `Field` subcomponent of the `TimesheetTimerHeader` component, which returns a function that gives you the correct domain, which just fetches the domain from the `fields` props which is a dictionary containing the our `fieldInfo`. ## Affected versions saas-16.3 up to master ## References opw-3418151 opw-3420312 Forward-Port-Of: odoo/enterprise#44681
This PR is a fix done to a previous PR which used isTotalLine in a wrong way. No behavior is being changed, it is only a small correction. Said PR is this one : https://github.com/odoo/enterprise/pull/44112 Forward-Port-Of: odoo/enterprise#45445 Forward-Port-Of: odoo/enterprise#45421
Original PR description
This PR is a fix done to a previous PR which used isTotalLine in a wrong way. No behavior is being changed, it is only a small correction. Said PR is this one : https://github.com/odoo/enterprise/pull/44112 Forward-Port-Of: odoo/enterprise#45445 Forward-Port-Of: odoo/enterprise#45421
To reduce the space that multiple warnings take on the screen we removed their margins. We also made the 'section_selector' div appear only when there is sections. Indeed, the div took space on top of the warnings even when it was empty. Task-id 3438422 Forward-Port-Of: odoo/enterprise#45412
Original PR description
To reduce the space that multiple warnings take on the screen we removed their margins. We also made the 'section_selector' div appear only when there is sections. Indeed, the div took space on top of the warnings even when it was empty. Task-id 3438422 Forward-Port-Of: odoo/enterprise#45412
Center the debug button. Make the debug button on lines with level 0. The button color was the same as the background of the line making it 'invisible'. Task-id 3438422 Forward-Port-Of: odoo/enterprise#45408
Original PR description
Center the debug button. Make the debug button on lines with level 0. The button color was the same as the background of the line making it 'invisible'. Task-id 3438422 Forward-Port-Of: odoo/enterprise#45408
Put the control panel action buttons into a button group where there is only one button showing and the others are in a dropdown. This saves space. Task-id 3438422 Forward-Port-Of: odoo/enterprise#45368
Original PR description
Put the control panel action buttons into a button group where there is only one button showing and the others are in a dropdown. This saves space. Task-id 3438422 Forward-Port-Of: odoo/enterprise#45368
This PR prevents from messing with hierarchy and ensure rights coherency. Task-3416593 Forward-Port-Of: odoo/enterprise#43831
Original PR description
This PR prevents from messing with hierarchy and ensure rights coherency. Task-3416593 Forward-Port-Of: odoo/enterprise#43831
In a multi-company database, once the Spanish localization is installed we are creating BOE's mod_347, mod_439 sequences for all companies; this commit avoid creating unnecessary sequences for companies that are not located in Spain Forward-Port-Of: odoo/enterprise#45488 Forward-Port-Of: odoo/enterprise#42893
Original PR description
In a multi-company database, once the Spanish localization is installed we are creating BOE's mod_347, mod_439 sequences for all companies; this commit avoid creating unnecessary sequences for companies that are not located in Spain Forward-Port-Of: odoo/enterprise#45488 Forward-Port-Of: odoo/enterprise#42893
A simple typo meant that email reminders would get sent every day no matter the configuration of the request. This commit also slighlty improves the readability of the query and a comnment to clarify why it is built the way it is (with an OR, which is a bit suprising). OPW-3455341 Forward-Port-Of: odoo/enterprise#45464
Original PR description
A simple typo meant that email reminders would get sent every day no matter the configuration of the request. This commit also slighlty improves the readability of the query and a comnment to clarify why it is built the way it is (with an OR, which is a bit suprising). OPW-3455341 Forward-Port-Of: odoo/enterprise#45464