Daily updates from Odoo
Thursday, February 13, 2025
13 changes · master
Enhancements to existing features
The Envia delivery settings now include a direct link to related delivery methods. This makes it quicker for users to review or adjust shipping options from the settings area.
The checkout payment setup for Shiprocket and UPS now records whether each payment method supports manual capture. This helps ensure payment handling aligns with carrier checkout flows and reduces the risk of using incompatible payment options.
Original PR description
task-3949151 See also: - https://github.com/odoo/odoo/pull/170541 - https://github.com/odoo/upgrade/pull/6810
Resolved issues and error corrections
This fix ensures dark mode styling files are only loaded when dark mode is used, instead of being included in the standard light mode view. It helps prevent visual inconsistencies in restaurant appointment planning screens that use Gantt views.
Original PR description
This commit fixes an asset issue with web_gantt where the dark mode specific assets from web_gantt were included in the main (light mode) assets from pos_restaurant_appointment. Part of task-4571228
The WhatsApp test coverage was updated to match recent shared platform changes around attachment handling, including voice attachments. This helps keep WhatsApp messaging behavior reliable and aligned with the latest expected workflows.
The Sign app now has the missing icon mapping needed to show the correct sidebar icons when new item types are used. This prevents errors and keeps the signing template setup experience working smoothly.
Original PR description
After #75291 we are using `icon_type` map to display the sidebar type icon if it's not defined on the item type. However the `icon_type` map wasn't defined anywhere which causes an error with new types.
Code cleanup and technical improvements
The Sign app’s selection field has been streamlined after recent interface changes. This reduces unnecessary processing and makes the feature easier to maintain, with no expected disruption for users.
Original PR description
Following recent Sign UI changes, the selection field no longer relies on the tags view. This commit refactors the selection field logic to remove the `many2many_tags_field` component. This significantly reduces overhead and improves maintainability. Unused `Many2OneField` have also been removed from SignTemplateSidebar.
Miscellaneous changes
Before this commit, the context of the action was just ignored in the grid view and so the default values stored inside that context are not taken into account during `grid_update_cell` method. Steps to reproduce the issue ---------------------------- 0. Install timesheet_grid module 1. Open Employees app 2. Click on an employee to open the form view 3. Click on the timesheets smart button to view the timesheet grid view for that employee 4. Navigate to a week that already contains hour
Original PR description
Before this commit, the context of the action was just ignored in the grid view and so the default values stored inside that context are not taken into account during `grid_update_cell` method. Steps…
Before this commit, the context of the action was just ignored in the grid view and so the default values stored inside that context are not taken into account during `grid_update_cell` method. Steps to reproduce the issue ---------------------------- 0. Install timesheet_grid module 1. Open Employees app 2. Click on an employee to open the form view 3. Click on the timesheets smart button to view the timesheet grid view for that employee 4. Navigate to a week that already contains hours for the current user 5. Update the grid cell containing a timesheet to reduce the number of hours for instance 6. Update another cell without any timesheets linked and set a hour Current Behavior ---------------- After refreshing the page and going to the same week, the changes made in step 5 and 6 are no longer applied. The reason is because those changes have generated new timesheets for the current user instead of the employee displayed in the form view before doing the step 3. Expected behavior ----------------- The grid view should be unchanged after refreshing the page, the changes made in 5 and 6 should be applied without any issues. opw-4491850 Forward-Port-Of: odoo/enterprise#79076
When installing the module, do not assign new leave type to the default company, as in multi-company context that default company may not be a UAE based company, preventing users to see/select those new leave types. This commit force no company when creating those new leave types. opw-4353549 Forward-Port-Of: odoo/enterprise#78383
Original PR description
When installing the module, do not assign new leave type to the default company, as in multi-company context that default company may not be a UAE based company, preventing users to see/select those new leave types. This commit force no company when creating those new leave types. opw-4353549 Forward-Port-Of: odoo/enterprise#78383
When the user tries to publish a job position on the job board monster, a traceback will appear. Steps to reproduce the error: - Install ``hr_recruitment_integration_monster`` module - Go to Recruitment > Applications > By Job Positions > Click on the dropdown menu of any job position > Configuration (Make sure that the job position is published on the website) - Add Salary Range > Publish on Job Board > Job Board: Monster.com > Post Traceback: ``` AttributeError: 'int' object h
Original PR description
When the user tries to publish a job position on the job board monster, a traceback will appear. Steps to reproduce the error: - Install ``hr_recruitment_integration_monster`` module - Go to Recruitment > Applications > By Job Positions > Click on the dropdown menu of any job position > Configuration (Make sure that the job position is published on the website) - Add Salary Range > Publish on Job Board > Job Board: Monster.com > Post Traceback: ``` AttributeError: 'int' object has no attribute 'monster_id' ``` https://github.com/odoo/enterprise/blob/245a38f320db56fd22d946471f626adf6cfeb397/hr_recruitment_integration_monster/wizard/hr_recruitment_post.py#L130-L146 Here, ``monster_time_unit`` is integer, it does not have ``monster_id`` attribute. sentry-6027416420 Forward-Port-Of: odoo/enterprise#73055
In odoo 18.0 the `journal_id` on `hr.payroll.structure` [became not required](https://github.com/odoo/enterprise/commit/fb59524a95b0f78112002d1e4d5ad3d6c301de7e#diff-761891fe4e3aa9cb1df74ffca5261004adaf8ac8c3df5857035953e5318be967L16-R16). And in the demo data for this module `action_payslip_done` is called, which [requires](https://github.com/odoo/enterprise/blob/4784d4a48d11c72afb05f2bc7c9062c5644bbf75/hr_payroll_account/models/hr_payslip.py#L53-L54) the payroll structure to have a journal.
Original PR description
In odoo 18.0 the `journal_id` on `hr.payroll.structure` [became not required](https://github.com/odoo/enterprise/commit/fb59524a95b0f78112002d1e4d5ad3d6c301de7e#diff-761891fe4e3aa9cb1df74ffca5261004adaf8ac8c3df5857035953e5318be967L16-R16). And in the demo data for this module `action_payslip_done` is called, which [requires](https://github.com/odoo/enterprise/blob/4784d4a48d11c72afb05f2bc7c9062c5644bbf75/hr_payroll_account/models/hr_payslip.py#L53-L54) the payroll structure to have a journal. `hr_payroll_structure_ken_employee_salary` is used as the structure for all the payslips in the demo error in runbot [build](https://runbot.odoo.com/runbot/build/73486292) Forward-Port-Of: odoo/enterprise#77365
…artner` children The `title` field was removed from `res.partner` in [this commit](https://github.com/odoo/odoo/commit/0b8bd891fad1c84607fe147a32d705917341fed7). A [previous fix](https://github.com/odoo/enterprise/commit/81338f4b417399d0636d5dfde47b46dec3a74d97) addressed the issue for the main partner record, but the `title` field was still being referenced for its `child_ids`. This commit ensures that child partners are also handled correctly. no-task Forward-Port-Of: odoo/enterp
Original PR description
…artner` children The `title` field was removed from `res.partner` in [this commit](https://github.com/odoo/odoo/commit/0b8bd891fad1c84607fe147a32d705917341fed7). A [previous fix](https://github.com/odoo/enterprise/commit/81338f4b417399d0636d5dfde47b46dec3a74d97) addressed the issue for the main partner record, but the `title` field was still being referenced for its `child_ids`. This commit ensures that child partners are also handled correctly. no-task Forward-Port-Of: odoo/enterprise#79051
Before this commit the class `TestMockedDeliveryUSPS` used `'standard', '-external'` which is the opposite of what it was supposed to do. As a result the tests were run during normal builds, and led to errors when the tests were run without demo data. This commit also removes the reference to demo data to make the tests more robust. Runbot Errors: + https://runbot.odoo.com/odoo/action-573/114550 + https://runbot.odoo.com/odoo/action-573/114551 + https://runbot.odoo.com/odoo/action-573/1
Original PR description
Before this commit the class `TestMockedDeliveryUSPS` used `'standard', '-external'` which is the opposite of what it was supposed to do. As a result the tests were run during normal builds, and led to errors when the tests were run without demo data. This commit also removes the reference to demo data to make the tests more robust. Runbot Errors: + https://runbot.odoo.com/odoo/action-573/114550 + https://runbot.odoo.com/odoo/action-573/114551 + https://runbot.odoo.com/odoo/action-573/114552 Forward-Port-Of: odoo/enterprise#78706
Currently a ``ParseError`` is arising when the user installs the ``hr_recruitment_integration_monster`` module after deleting all types from Employment Types. Steps to reproduce: --- - Install ``hr_contract`` module - Open ``Employment Types`` and delete all types - Now try to install the ``hr_recruitment_integration_monster`` module. Traceback: --- ``` ParseError: while parsing /home/odoo/src/enterprise/18.0/hr_recruitment_integration_monster/data/hr_contract_type_data.xml:8, somew
Original PR description
Currently a ``ParseError`` is arising when the user installs the ``hr_recruitment_integration_monster`` module after deleting all types from Employment Types.
Steps to reproduce:
---
- Install ``hr_contract`` module
- Open ``Employment Types`` and delete all types
- Now try to install the ``hr_recruitment_integration_monster`` module.
Traceback:
---
```
ParseError: while parsing /home/odoo/src/enterprise/18.0/hr_recruitment_integration_monster/data/hr_contract_type_data.xml:8, somewhere inside <record id="hr.contract_type_temporary" model="hr.contract.type">
<field name="monster_id">2</field>
</record>
```
This commit solves the above issue by using ``noupdate="1"`` and ``forcecreate="False"`` to bypass record creation if it violates checks.
sentry-5731062091
Forward-Port-Of: odoo/enterprise#76782