Daily updates from Odoo
Navigate
Branch
Tuesday, August 8, 2023
15 changes
Enhancements to existing features
The Belgian payroll module now uses the clearer term "mandatory days" instead of "stress day" in demo data. This improves wording consistency and makes payroll-related labels easier for users to understand.
Original PR description
In this commit, we have renamed stress day into the mandatory days. related PR: https://github.com/odoo/odoo/pull/116472 task: 3084232
Indian employee payslips now include a clear breakdown of each time-off type, showing total entitlement and remaining days. This gives employees and payroll teams better visibility directly on the payslip, reducing the need to check leave balances elsewhere.
Original PR description
|Time-Off-1 | Time-Off-2 |Time-Off-3 | ... | |--------|--------|--------|--------| | **Total :** 12 Days <br> **Remaining**: 5 Days | **Total :** 6 Days <br> **Remaining**: 6 Days | **Total**: **Total :** 2 Days <br> **Remaining**: 2 Days | .. | task-3138082
Invoice extraction now better supports UBL and Peppol electronic invoice formats. This helps businesses process more supplier invoices automatically and reduces manual data entry for supported e-invoices.
Original PR description
task_id: 2628093
Resolved issues and error corrections
This fixes how Belgian payroll handles holiday pay recovery in edge cases, including when the same holiday amount needs to be recovered across two different months. It helps ensure payslips calculate holiday-related deductions more accurately and reduces payroll validation issues.
This change removes an unintended link between the Belgian payroll module and the company car payroll module. It helps prevent setup or update issues for businesses using Belgian payroll without the fleet-related payroll features.
Original PR description
Following this previous PR #enterprise/39804, a dependency on l10n_be_hr_payroll_fleet was introduced in l10n_be_hr_payroll , this is now corrected by removing the onchange on 'new_car' in l10n_be_hr_payroll
The All Timesheets page now respects view changes made in Studio, such as disabling the Pivot view or making the list view the default. This ensures administrators can customize the Timesheets experience as intended without their changes being ignored after reload.
Original PR description
Steps to reproduce ================== - Go to Timesheets > All Timesheets - Open studio - Click on Views - Disable the Pivot view and set the list view type as default - Close studio, reload the page - Nothing changes Cause of the issue ================== Studio edits the action view_mode. Since 0d18fe7c6ceb6fa0aee82d4e4f611f49eefc4993, the pivot view is always at the start and the view_mode is ignored. Solution ======== The goal of the previous commit is to only use the pivot view if there is no type_view. Add back the pivot view to the view_mode. When we need to remove it, simply filter it out. This means that we respect the action view_mode and we allow editing it, but we can still remove the pivot view when needed. opw-3438086
Code cleanup and technical improvements
This update replaces older translation code references with the current shared translation service across multiple Odoo Enterprise apps. It is an internal cleanup that helps keep the platform easier to maintain, with no expected change to day-to-day user workflows.
Original PR description
In this commit, _t import from import { _t } from "@web/legacy/js/services/core"
and from web/static/src/legacy/js/core/translation.js are replaced by
@web/core/l10n/translation.js.
task-3292454
PR Community : https://github.com/odoo/odoo/pull/130865This refactoring simplifies how spreadsheet pivot tables are inserted by moving cell domain and style calculations into the pivot table component. It should make the feature easier to maintain while preserving the existing user experience.
Original PR description
The goal here is to simplify the code of the insertion of a pivot in the pivot core plugin. Now the domain/style for each cell of the pivot is computed in the `SpreadsheetPivotTable` class, which simplify a lot the plugin. Task: [3318865](https://www.odoo.com/web#id=3318865&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form)
German POS certification order data is now prepared through one shared process instead of several separate ones. This makes the point of sale code easier to maintain and helps keep behavior consistent across table syncing, order sharing, and ticket views.
Original PR description
Before when serializing a pos.order from the server, we are using several methods for different use cases. table syncing: get_table_draft_orders order sharing: get_draft_share_order_ids ticket screen: export_for_ui All of these methods had their own logic. Now, to improve the maintainability of point_of_sale, order serialization is only performed via export_for_ui. Community PR: https://github.com/odoo/odoo/pull/130695 TaskId: 3449870
Miscellaneous changes
This PR does the following things, improving the design: ba76b9f4c65dfb687084ab450c4bed4045956b2a Control Panel: - Improves the work-centers button and count badge - Adds a scroll on overflowing work-center buttons - Changes the side panel's `fa-bars` icon for `oi-panel` icon - Adds active state to side panel's button - Removes buttons from the breadcrumb area - Remove breadcrumbs altogether - Other small changes to buttons Dialogs: - Revamp of the Menu Dialog buttons - Adds a "sl
Original PR description
This PR does the following things, improving the design: ba76b9f4c65dfb687084ab450c4bed4045956b2a Control Panel: - Improves the work-centers button and count badge - Adds a scroll on overflowing…
This PR does the following things, improving the design: ba76b9f4c65dfb687084ab450c4bed4045956b2a Control Panel: - Improves the work-centers button and count badge - Adds a scroll on overflowing work-center buttons - Changes the side panel's `fa-bars` icon for `oi-panel` icon - Adds active state to side panel's button - Removes buttons from the breadcrumb area - Remove breadcrumbs altogether - Other small changes to buttons Dialogs: - Revamp of the Menu Dialog buttons - Adds a "slide" to Menu Dialog's "Worksheet Suggestion" button - Place CTAs back in dialog's original footer - Removes all caps on buttons - Revamps of the workcenter selection dialog: this makes it possible to select multiple workcenters at the same time. Some dev fixes to do. Side Panel: - Improves the inactive state - Switches circle for `fa-plus` icon on "Add Operator" button - Remove the reduced opacity on the admin user - Responsivity: make full width with sticky "Add Operator" button Cards: - Revamp of the buttons and rewording - Makes the avatar images wrap to next line when there are more than two - Replaces hamburger-icon for `fa-ellipsis-v` icon - Make the workcenter buttons wrap when pushed General: - Brings back original buttons - Uses utility classes instead of custom SCSS where possible - Removes custom SCSS where possible - Removes unused custom classes - Changes a few `fa` icons for `oi` ones - Replaces rounded-circle by rounded on avatars (backend MILK style) - Button rewording Other fixes are: - ad92ed31b32d8dbefebf65a6800f3a8b987d82d6 Adapting the functionality of workcenters' selection dialog - 89daf3a876c55d851a84b51dedb22ccd3ca91190 Fixing the `DialogWrapper` calling a modal (or "dialog") within a Dialog component which caused visual issues, and replacing a custom modal by a Dialog component. task-3366333 part of task-3231200 Forward-Port-Of: odoo/enterprise#45032
The PR https://github.com/odoo/enterprise/pull/45030 used the file name from version 14 to get the file. This commit uses the correct name. opw-3457237 Forward-Port-Of: odoo/enterprise#45382
Original PR description
The PR https://github.com/odoo/enterprise/pull/45030 used the file name from version 14 to get the file. This commit uses the correct name. opw-3457237 Forward-Port-Of: odoo/enterprise#45382
- Verify that the electronic document authorization process is only for documents approved by the SRI - Transfer the validation of the unauthorized electronic document process in the _l10n_ec_get_authorization_status method, to xml submit method. - Reorganizes the validations in the _l10n_ec_send_xml_to_authorize method, separating the validation in test mode and the unauthorized scenario. Forward-Port-Of: odoo/enterprise#44313
Original PR description
- Verify that the electronic document authorization process is only for documents approved by the SRI - Transfer the validation of the unauthorized electronic document process in the _l10n_ec_get_authorization_status method, to xml submit method. - Reorganizes the validations in the _l10n_ec_send_xml_to_authorize method, separating the validation in test mode and the unauthorized scenario. Forward-Port-Of: odoo/enterprise#44313
When the user tries to dispose an asset before the defined user lock date the following User Error appears: "The remaining value on the last depreciation line must be 0". It may be unclear to the user that the lock date is responsible for this problem. After this commit the error message makes it clear that the lock date is the reason why the disposal is not possible. Steps to reproduce the User Error: 1. Set an "All Users Lock Date" (Accounting (App) > Accounting (Menu) > Lock Dates)
Original PR description
When the user tries to dispose an asset before the defined user lock date the following User Error appears: "The remaining value on the last depreciation line must be 0". It may be unclear to the…
When the user tries to dispose an asset before the defined user lock date the following User Error appears: "The remaining value on the last depreciation line must be 0". It may be unclear to the user that the lock date is responsible for this problem. After this commit the error message makes it clear that the lock date is the reason why the disposal is not possible. Steps to reproduce the User Error: 1. Set an "All Users Lock Date" (Accounting (App) > Accounting (Menu) > Lock Dates) E.g. 28 June 2023 2. Create an Asset with a non-0 value. (Accounting (App) > Accounting (Menu) > Assets) E.g. choose Original value: 100 Acquisition date: 1 June 2023 3. Click "Modify Depreciation" on the (confirmed) asset. The "Dispose" action should be selected. Choose a date between the acquisition date and the lock date e.g. 14 June 2023 and click "Dispose" 4. A User Error appears: "The remaining value on the last depreciation line must be 0". task-3377235 Forward-Port-Of: odoo/enterprise#45379 Forward-Port-Of: odoo/enterprise#44254
The drilldown of fields in the global filters was only available to users in debug mode when introduced in 93d78389. However, the feature was kind of exposed to standard users due to the limitation of `ModelFieldSelector`. It was decided that the feature could/should be available for every user. This commit also fixes the fact that we did not ensure taht the target field of the global filter was actually searchable. opw 3435507 Forward-Port-Of: odoo/enterprise#44944 Forward-Port-Of: odoo/
Original PR description
The drilldown of fields in the global filters was only available to users in debug mode when introduced in 93d78389. However, the feature was kind of exposed to standard users due to the limitation of `ModelFieldSelector`. It was decided that the feature could/should be available for every user. This commit also fixes the fact that we did not ensure taht the target field of the global filter was actually searchable. opw 3435507 Forward-Port-Of: odoo/enterprise#44944 Forward-Port-Of: odoo/enterprise#44674
Before this commit, the compute alters the records received by the `_read_group` called inside that compute (`_compute_planning_hours`). The problem, by doing that, the orm will directly do a write to update the cache and the db since the records receive by `_read_group` are not new records as it is the case in the self when the compute is triggered by the onchange method. This commit ensures the records altered inside the compute are the ones contained in the self to avoid trigger the write
Original PR description
Before this commit, the compute alters the records received by the `_read_group` called inside that compute (`_compute_planning_hours`). The problem, by doing that, the orm will directly do a write to update the cache and the db since the records receive by `_read_group` are not new records as it is the case in the self when the compute is triggered by the onchange method. This commit ensures the records altered inside the compute are the ones contained in the self to avoid trigger the write method during the onchange method. Forward-Port-Of: odoo/enterprise#45281