Daily updates from Odoo
Navigate
Branch
Friday, May 6, 2022
13 changes
Enhancements to existing features
Time off that spans two months is now handled more accurately when using the payroll postponement action. Only the portion from the first month is moved to the following month, helping payroll teams avoid incorrect deferred leave calculations.
Original PR description
current behavior: There is an action menu to automatically postpone timeoff to the next month in the scope of the to defer mechanic. If the time off is set on the verge of two months, it's not correctly working. after this commit: When you postpone a time off spitted between two months, you only take the part on the first month to postpone it on the other month. taskID 2810565
The Belgian payroll departure notice wizard now decides when to show the notice respect field based on the calculated notice period instead of fixed reason codes. This makes the form behavior more accurate and easier to maintain when departure situations vary.
Original PR description
In belgian l10n payroll the departure notice wizard currently hides the notice_respect field using the hard-coded departure_reason_codes. This commit uses the computed value of weeks/months of notice to hide/show the field. task-2837430
Planning screens are easier to use with better list, kanban, and scheduling behavior, including clearer sorting for shifts and tags. The update also adds demo data to make sales and project planning scenarios easier to test and present, and fixes an issue when opening the plan dialog with date-based filters.
Original PR description
_*= project_forecast, project_timesheet_forecast, sale_planning The purpose of the PR is to improve the UX and usability planning - So in this commit improve the window action, list view, kanban view and some feature usability. - Ths planning slot sort by start date in decreasing order. - The planning tag name will be sorted by alphabetical order. - Add demo data from the previous week in slot planning. task-2742021
The embedded spreadsheet component was updated to improve everyday spreadsheet editing. Users should see more reliable copy and paste behavior, better handling of merged cells, clearer time formatting, and cleaner find-and-replace results.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/dab9a1c7 [FIX] highlights: Handle merges correctly https://github.com/odoo/o-spreadsheet/commit/8ee77863 [REF] test helpers: Reduce clipboard commands with helper functions https://github.com/odoo/o-spreadsheet/commit/76268281 [IMP] clipboard: cut/paste zone should update cells that contain reference to the zone https://github.com/odoo/o-spreadsheet/commit/797ac2ae [FIX] format: display time format in composer https://github.com/odoo/o-spreadsheet/commit/ab2770a2 [FIX] find & replace: remove trailing quotes
Resolved issues and error corrections
The spreadsheet right-click option to view related records now appears when list formulas are written in lowercase. It is also hidden when the list cell contains an error, preventing users from opening an invalid record view.
This fixes an installation error in Field Service when demo data is not included. The module no longer depends on sample project stages, making setup more reliable for production databases.
Original PR description
Since https://github.com/odoo/enterprise/pull/25080, installing the module without demo data caused a traceback. This is because stages from the demo data of project were used in industry_fsm data.
Spreadsheet pivot formulas now work correctly when a pivot is grouped by a selection field. This prevents formula errors and makes inserted pivot tables more reliable for users analyzing categorized data.
Original PR description
Group a pivot by any selection field and insert the pivot in the spreadsheet. => Formulas with this field are in #ERROR The field value (a string) is parsed as a number instead of a string The code is refactored to make it more easily testable I think we would go a bit further and "push" the "raw" string values parsing up, such that the minimum amount of code needs to handle that. Task 2841206
Code cleanup and technical improvements
This change updates enterprise web test code so it stays aligned with recent changes in shared testing utilities. It helps keep automated checks reliable without changing how users interact with the product.
Miscellaneous changes
- Configure required details to generate DTE from the Invoice - Create a user with only accounting access (no administrative rights) - Try to confirm the invoice Result - An access error due to an attachment that is inaccessible opw-2819041 Forward-Port-Of: odoo/enterprise#26843
Original PR description
- Configure required details to generate DTE from the Invoice - Create a user with only accounting access (no administrative rights) - Try to confirm the invoice Result - An access error due to an attachment that is inaccessible opw-2819041 Forward-Port-Of: odoo/enterprise#26843
Steps to reproduce: - Install data_merge & contacts modules - Create a company B (assume default/current company is A) - Switch to company A - Go to Contact module, create a new contact TEST (as individual): Set name as "Test" and company as "A", then save - Switch to company B - Go to Data Cleaning -> Configuration -> Deduplication - Select 'Contact' and click on 'Deduplicate' Issue: Contact TEST is displayed. Cause: Ir.rule missing regarding multi-co
Original PR description
Steps to reproduce:
- Install data_merge & contacts modules
- Create a company B (assume default/current company is A)
- Switch to company A
- Go to Contact module, create a new contact TEST (as individual):
Set name as "Test" and company as "A", then save
- Switch to company B
- Go to Data Cleaning -> Configuration -> Deduplication
- Select 'Contact' and click on 'Deduplicate'
Issue:
Contact TEST is displayed.
Cause:
Ir.rule missing regarding multi-company for data_merge.record model.
Solution:
- Add company_id field to model merge_data.record to be able to
manage multi-company records
- Add multi-company ir.rule for data_merge.record model
opw-2825324
Forward-Port-Of: odoo/enterprise#26686-*= helpdesk_sale_timesheet task-2739646 Forward-Port-Of: odoo/enterprise#24627
Original PR description
-*= helpdesk_sale_timesheet task-2739646 Forward-Port-Of: odoo/enterprise#24627
Reproduction: 1. Go to PLM-> configuration -> ECO stages, create 2 approvals for stage New, one for Mitchell Admin and the other for Marc Demo 2. Create an ECO and approve it as Michell Admin 3. Check the filter “Awaiting My Validation” in ECO kanban view, the ECO is still there Reason: The filter domain wasn’t correct. Each ECO has a many2many field approval_ids. The issue is caused because we check all the approvals from all stages. But we only need to check the approvals which are a
Original PR description
Reproduction: 1. Go to PLM-> configuration -> ECO stages, create 2 approvals for stage New, one for Mitchell Admin and the other for Marc Demo 2. Create an ECO and approve it as Michell Admin 3.…
Reproduction: 1. Go to PLM-> configuration -> ECO stages, create 2 approvals for stage New, one for Mitchell Admin and the other for Marc Demo 2. Create an ECO and approve it as Michell Admin 3. Check the filter “Awaiting My Validation” in ECO kanban view, the ECO is still there Reason: The filter domain wasn’t correct. Each ECO has a many2many field approval_ids. The issue is caused because we check all the approvals from all stages. But we only need to check the approvals which are at the same stage as the ECO, e.g. approval.template_stage_id == eco.stage_id. To check if the user_id is in their many2many field required_user_ids, and this approval is not closed yet (still needs to be approved). Fix: Added a new compute field awaiting_my_validation for this filter in MrpEcoApproval class, and search domain for this filter is simply awaiting_my_validation = True. Its computation method _compute_awaiting_my_validation will trigger the search method _search_awaiting_my_validation, then the value awaiting_my_validation is set to True to those approvals satisfying the search criteria. For other approvals, awaiting_my_validation is False. In searching method _search_awaiting_my_validation, it returns a domain where the approval is not closed, not approved, having the current user as required_user_ids, and with approval_template_id.approval_type is mandatory or optional opw-2802238 Forward-Port-Of: odoo/enterprise#25783
#### Expected Behavior When a helpdesk team privacy is set to "portal", portal users who are followers of a ticket or its team should be able to view that ticket. #### Current Behavior Only a portal user set as a partner on the ticket can see it, regardless of the team visibility <br/> This PR replaces the current behavior with the expected one, and also adds tests. Related: https://github.com/odoo/upgrade/pull/3468 Related: https://github.com/odoo/enterprise/pull/20190 Task-2800
Original PR description
#### Expected Behavior When a helpdesk team privacy is set to "portal", portal users who are followers of a ticket or its team should be able to view that ticket. #### Current Behavior Only a portal user set as a partner on the ticket can see it, regardless of the team visibility <br/> This PR replaces the current behavior with the expected one, and also adds tests. Related: https://github.com/odoo/upgrade/pull/3468 Related: https://github.com/odoo/enterprise/pull/20190 Task-2800363 Forward-Port-Of: odoo/enterprise#26811 Forward-Port-Of: odoo/enterprise#25461