Saturday, May 10, 2025
21 changes
5 changes
Resolved issues and error corrections
The leave request form now behaves more clearly for managers. Action buttons only appear after a leave request is saved, and available hours are shown when the selected time off type can deduct extra hours.
Original PR description
With this commit, some elements in leave's form view are fixed :
- The buttons are only shown when the leave is saved.
- The available hours are displayed when a time off type with deduct extra hours are selected.
task-4756706This update fixes an error that appeared when users opened the optional column menu in sub-task or blocked-by sections of field service tasks. It helps users manage task details without interruptions or unexpected crash screens.
Original PR description
**Steps to reproduce:** - Install `project` and `industry_fsm_sale` modules - Open any task with subtasks - Go to the Sub-tasks notebook or blocked-by notebook - Click the optional column dropdown **Issue:** - when clicking on optional column in subtasks/blockedby notebook a traceback occurs **Fix:** - Used `parent.has_template_ancestor` instead of `has_template_ancestor` to explicitly access the field from the parent record . task-4764758
The live chat helpdesk report query was adjusted to match recent backend changes. This helps keep reporting reliable without changing how users interact with the helpdesk live chat feature.
Original PR description
Group by has been removed as there is only one channel per row, other tables are now joined with lateral. Enterprise counter-part. https://github.com/odoo/odoo/pull/209254
Miscellaneous changes
**Steps to reproduce:** - Install Accounting and l10n_lu_reports - Switch to a Luxembourgish company (e.g. LU Company) - Go to "Accounting / Reporting / Statement Reports / Profit and Loss" - Set custom date from "01/01/2025" to "31/12/2025" - Export XML **Issue:** In the exported XML, for "CA_BILAN" declaration section, the start date is set to "01/12/2025" instead of "01/01/2025". **Cause:** When generating the report values of that section, the options are recomputed with the co
Original PR description
**Steps to reproduce:** - Install Accounting and l10n_lu_reports - Switch to a Luxembourgish company (e.g. LU Company) - Go to "Accounting / Reporting / Statement Reports / Profit and Loss" - Set custom date from "01/01/2025" to "31/12/2025" - Export XML **Issue:** In the exported XML, for "CA_BILAN" declaration section, the start date is set to "01/12/2025" instead of "01/01/2025". **Cause:** When generating the report values of that section, the options are recomputed with the comparison filter. This section is based on "Balance Sheet" report and recomputing the options of that report provides a different "from date" coming from "_init_options_date" method. **Solution:** Force the "from date" of the original options when using a custom range date. opw-4737810 Forward-Port-Of: odoo/enterprise#85025 Forward-Port-Of: odoo/enterprise#84672
13 changes
Resolved issues and error corrections
Attachment lists in Documents now have a slightly refined visual style. This makes attached files look cleaner and easier to scan for users without changing how the feature works.
3 changes
Resolved issues and error corrections
This fixes an issue where some time off allocations could miss their latest relevant date value. It helps keep allocation information complete and reliable for HR users reviewing leave balances.
Original PR description
actual_lastcall was being false because it wasn't set in one case inside `add_lastcalls` method. This commit fixes this issue.
A previous commit 9b133b2cd03a726d330c87a1227903fc925b0ed5 restricted the view and actions we had on the accounting dashboard for a bank journal from a branch company, if the journal belongs to the parent company. In Odoo 17 the fix made sense, but in Odoo 18, the dashboard data added conflicts with another one, resulting in no data being displayed at all when the journal is connected to an online account. This PR adapts the initial fix to use the existing data (deprecate `show_bank_connec
Original PR description
A previous commit 9b133b2cd03a726d330c87a1227903fc925b0ed5 restricted the view and actions we had on the accounting dashboard for a bank journal from a branch company, if the journal belongs to the parent company. In Odoo 17 the fix made sense, but in Odoo 18, the dashboard data added conflicts with another one, resulting in no data being displayed at all when the journal is connected to an online account. This PR adapts the initial fix to use the existing data (deprecate `show_bank_connect` in favor of `display_connect_bank_in_dashboard`) and adds the 'credit' type journal in the condition for `show_sync_action` to be used by the dashboard data. Forward-Port-Of: odoo/enterprise#84976
The SEPA Direct Debit payment provider view was cleaned up by removing an unused rule that could incorrectly hide the provider status. This helps ensure business users can consistently see the status of SEPA payment providers in the kanban view.
Original PR description
This commit remove un-used view which contain wrong condition to hide state field in kanban view of provider of Sepa direct debit and we don't want to hide state for Sepa provider. Related PR: https://github.com/odoo/upgrade/pull/7653
Miscellaneous changes
Currently it's possible for a timesheet user to set and write the project to False in the timesheet list view. The UI will say the project is missing but the analytic line is changed anyway. This PR add check that the project is set before writing to the analytic line record. opw-4649817 Forward-Port-Of: odoo/enterprise#84819 Forward-Port-Of: odoo/enterprise#83420
Original PR description
Currently it's possible for a timesheet user to set and write the project to False in the timesheet list view. The UI will say the project is missing but the analytic line is changed anyway. This PR add check that the project is set before writing to the analytic line record. opw-4649817 Forward-Port-Of: odoo/enterprise#84819 Forward-Port-Of: odoo/enterprise#83420
A mismatch between backend and frontend caused the time displayed in the grid to be incorrect. The cell value was doubled due to a frontend-only calculation, but the actual data was correct on the backend. Refreshing the page fixed the display issue. Steps to reproduce: ------------------- * Open the view form of a timesheet cell (🔍) * Start the timer in the Hours Spent column * Go back to My Timesheets * Stop the timer > Observation: timer displayed was previous_timer * 2 + new_tim
Original PR description
A mismatch between backend and frontend caused the time displayed in the grid to be incorrect. The cell value was doubled due to a frontend-only calculation, but the actual data was correct on the backend. Refreshing the page fixed the display issue. Steps to reproduce: ------------------- * Open the view form of a timesheet cell (🔍) * Start the timer in the Hours Spent column * Go back to My Timesheets * Stop the timer > Observation: timer displayed was previous_timer * 2 + new_timer Why the fix: ------------ 'stopTimer()' waits for the orm call 'action_timer_stop' to return a value that will be added to the current cell value. opw-4701396 Forward-Port-Of: odoo/enterprise#84843 Forward-Port-Of: odoo/enterprise#84416
The test `test_barcode_production_create_bom` sometime fails. This commit modifies its tour to avoid random fails. runbot build error: [190620](https://runbot.odoo.com/odoo/runbot.build.error/190620) Forward-Port-Of: odoo/enterprise#84872
Original PR description
The test `test_barcode_production_create_bom` sometime fails. This commit modifies its tour to avoid random fails. runbot build error: [190620](https://runbot.odoo.com/odoo/runbot.build.error/190620) Forward-Port-Of: odoo/enterprise#84872
Current behavior before PR: - When showing analytic columns in reports, a filter can be applied from 'Options' menu to show analytic simulations (analytic items not linked to any move). This filter didn't work properly. Desired behavior after PR is merged: - Analytic simulations are integrated in the already existing analytic groupby columns Link to the task : - https://www.odoo.com/odoo/project/967/tasks/4603267 Forward-Port-Of: odoo/enterprise#81183
Original PR description
Current behavior before PR: - When showing analytic columns in reports, a filter can be applied from 'Options' menu to show analytic simulations (analytic items not linked to any move). This filter didn't work properly. Desired behavior after PR is merged: - Analytic simulations are integrated in the already existing analytic groupby columns Link to the task : - https://www.odoo.com/odoo/project/967/tasks/4603267 Forward-Port-Of: odoo/enterprise#81183
Steps --------- 1. Have `accountant` and `account_accountant` installed 2. Set up an online bank -> see Odoofin steps on Knowledge 3. Set another user's access group to `Advanced Billing` for accounting 4. Login as that user and access the accounting app -> Access error for account.online.link Problem --------- Advanced billing should have access to the dashboard due to its role. The group `group_account_readonly` has read access to the model, as suggested by its name. However, the gro
Original PR description
Steps --------- 1. Have `accountant` and `account_accountant` installed 2. Set up an online bank -> see Odoofin steps on Knowledge 3. Set another user's access group to `Advanced Billing` for accounting 4. Login as that user and access the accounting app -> Access error for account.online.link Problem --------- Advanced billing should have access to the dashboard due to its role. The group `group_account_readonly` has read access to the model, as suggested by its name. However, the group `group_account_basic` does not have any access. Solution --------- Add 2 access rules on `account.online.link` that allows a Advanced billing user to see (and only see) those records. Note that it does not change anything for `group_account_user` which inherits both from `group_account_readonly` and `group_account_basic`, since it already had readonly access thanks to the first aforementioned. task-4731654 Forward-Port-Of: odoo/enterprise#83889
Before This **PR**: If a company attempted to generate a GST token using a GST number already assigned to another company with a valid token, the system returned an ambiguous error: {'message': 'API access is not available or user expiry duration is less than or equal to auth token expiry duration', 'error_cd': 'AUTH4037'}. This caused confusion for users, as the message did not clearly indicate the issue. After This **PR**: A new function has been introduced to check whether another compa
Original PR description
Before This **PR**:
If a company attempted to generate a GST token using a GST number already assigned to another company with a valid token, the system returned an ambiguous error: {'message': 'API access is not available or user expiry duration is less than or equal to auth token expiry duration', 'error_cd': 'AUTH4037'}. This caused confusion for users, as the message did not clearly indicate the issue.
After This **PR**:
A new function has been introduced to check whether another company has the same GST number and a valid token before sending the request. If such a case is detected, the system now displays a warning, recommending the use of a Tax Unit.
**task**-4636041
Forward-Port-Of: odoo/enterprise#84792
Forward-Port-Of: odoo/enterprise#81218Community PR: https://github.com/odoo/odoo/pull/207457 The Blackbox driver was sometimes being blocked by the Adam scale driver due to them having the same priority. This commit raises the priority of the Blackbox driver to ensure it runs before other Serial drivers. task-4750364 Forward-Port-Of: odoo/enterprise#84429 Forward-Port-Of: odoo/enterprise#84122
Original PR description
Community PR: https://github.com/odoo/odoo/pull/207457 The Blackbox driver was sometimes being blocked by the Adam scale driver due to them having the same priority. This commit raises the priority of the Blackbox driver to ensure it runs before other Serial drivers. task-4750364 Forward-Port-Of: odoo/enterprise#84429 Forward-Port-Of: odoo/enterprise#84122
- Since this PR: https://github.com/odoo/enterprise/pull/82531, the "Customer Statement" smart button (inside the customer form) was no longer visible when orders were paid via customer accounts in PoS and the session was closed. This was caused by session-level account.move records lacking partner_id, which caused _compute_has_moves to return false. - This fix overrides `_compute_has_moves` inside the module `pos_settle_due` to set `has_moves` to True when a partner's total_due is non-zero, en
Original PR description
- Since this PR: https://github.com/odoo/enterprise/pull/82531, the "Customer Statement" smart button (inside the customer form) was no longer visible when orders were paid via customer accounts in PoS and the session was closed. This was caused by session-level account.move records lacking partner_id, which caused _compute_has_moves to return false. - This fix overrides `_compute_has_moves` inside the module `pos_settle_due` to set `has_moves` to True when a partner's total_due is non-zero, ensuring the statement button remains visible when relevant. task-id: 4749148 Forward-Port-Of: odoo/enterprise#84206 Forward-Port-Of: odoo/enterprise#84003
Steps to reproduce the bug: - Go to mps: - Select one or more records - Click on Action > Export - Export Problem: A traceback is raised with the following error: “Error: Invalid props for component 'RPCErrorDialog': 'model' is not a string or null” This is caused by a missing “model” parameter when opening the export dialog. The regression was introduced by commit 1e4e40c, which removed the “resModel” from the dialog context. https://github.com/odoo/odoo/commit/1e4e40
Original PR description
Steps to reproduce the bug:
- Go to mps:
- Select one or more records
- Click on Action > Export
- Export
Problem:
A traceback is raised with the following error:
“Error: Invalid props for component 'RPCErrorDialog': 'model' is not a string or null”
This is caused by a missing “model” parameter when opening the export dialog. The regression was introduced by commit 1e4e40c, which removed the “resModel” from the dialog context.
https://github.com/odoo/odoo/commit/1e4e40cf78fe8151dffdcb19df2688787084732c#diff-e58d49a1707841d2176f1d2a177911255094f0b5795ced0a86be963681e53dcdL277-R275
opw-4720190
Forward-Port-Of: odoo/enterprise#83915**Steps to reproduce:** - Install Sales + Stock apps - Activate `Signature : Require a signature on your delivery orders` in the settings - Create and confirm a quotation with a product. - Go to the delivery order in the Barcode app. - Go to the settings in the top-right corner to find the 'Sign' button. - Sign the document. - 'Sign' button remains visible and active after the document is signed. **Issue:** Delivery document can be signed more than once. The button state seems to imp
Original PR description
**Steps to reproduce:** - Install Sales + Stock apps - Activate `Signature : Require a signature on your delivery orders` in the settings - Create and confirm a quotation with a product. - Go to the delivery order in the Barcode app. - Go to the settings in the top-right corner to find the 'Sign' button. - Sign the document. - 'Sign' button remains visible and active after the document is signed. **Issue:** Delivery document can be signed more than once. The button state seems to imply that the transaction is not finalized. **Fix:** Hide 'Sign' button after signature validation using the `record.signature` field value. This prevents users from signing multiple time the same delivery document. opw-4700124 Forward-Port-Of: odoo/enterprise#84631 Forward-Port-Of: odoo/enterprise#84385
**Steps to reproduce:** - Install Accounting - Activate "Analytic Accounting" in Accounting settings - Go to "Accounting / Accounting / Journal Entries" - Create an entry with some analytic distribution - Go to "Accounting / Reporting / Audit Reports / Trial Balance" - Activate "Analytic Group By" in the settings of the report - Add the account used in the analytic distribution in "Analytic" group option **Issue 1:** In the "End Balance" column, all the amounts are summed in the total
Original PR description
**Steps to reproduce:** - Install Accounting - Activate "Analytic Accounting" in Accounting settings - Go to "Accounting / Accounting / Journal Entries" - Create an entry with some analytic…
**Steps to reproduce:** - Install Accounting - Activate "Analytic Accounting" in Accounting settings - Go to "Accounting / Accounting / Journal Entries" - Create an entry with some analytic distribution - Go to "Accounting / Reporting / Audit Reports / Trial Balance" - Activate "Analytic Group By" in the settings of the report - Add the account used in the analytic distribution in "Analytic" group option **Issue 1:** In the "End Balance" column, all the amounts are summed in the total column instead of being grouped by analytic accounts. It results on a total amount being twice what it should be as the total column of each period is also included in the sum. There is a similar issue with horizontal groups. **Cause 1:** The "End Balance" column is not computed via the SQL as all the data required to compute it are already retrieved. However, the case where there are groups by analytic is not handled. It results on the computation taking the value of a analytic group and also the value of the total group, which doubles the computed amount. **Solution 1:** As it is not possible to identify easily each different group in each period to sum the corresponding values together, the computation of the "End Balance" will be done in the SQL if the groupby analytic is done or if a horizontal group is set. **Issue 2:** - Install l10n_ro_reports - Switch to a Romanian company (RO Company) - Follow the same steps than issue 1 - Select "Trial Balance 4/5 col (RO)" as Report => A traceback is raised: "TypeError: unsupported operand type(s) for +: 'float' and 'NoneType'" opw-4648009 Forward-Port-Of: odoo/enterprise#84800 Forward-Port-Of: odoo/enterprise#84044
Miscellaneous changes
Fixes two issue with EMV QR generation: - The regex applied on comments is wrong and actually does nothing. - VietQR allows less character than that general regex, so we filter it more. opw-4671523 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#208956
Original PR description
Fixes two issue with EMV QR generation: - The regex applied on comments is wrong and actually does nothing. - VietQR allows less character than that general regex, so we filter it more. opw-4671523 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#208956
- Create a vendor bill with two lines at the exact same price. - Set the start and end dates to the same day, but in a different month than the bill date. Then confirm the bill. - In the Deferred Entries, there are only the deferral_moves and no moves_fully_deferred. The method _generate_deferred_entries was refactored by a71c38fa6325cd18c686352d8f68d350461d37d0 . However, inside the loop to remove deferred entries in the same month, the filter is used on move_fully_deferred.deferred_ori
Original PR description
- Create a vendor bill with two lines at the exact same price. - Set the start and end dates to the same day, but in a different month than the bill date. Then confirm the bill. - In the Deferred Entries, there are only the deferral_moves and no moves_fully_deferred. The method _generate_deferred_entries was refactored by a71c38fa6325cd18c686352d8f68d350461d37d0 . However, inside the loop to remove deferred entries in the same month, the filter is used on move_fully_deferred.deferred_original_move_ids.deferred_move_ids which contains deferral_moves + moves_fully_deferred. This means that when there are two lines with the same price, the current moves_fully_deferred is matched with the other in the filtered. This causes both moves_fully_deferred to be removed. opw-4698646 Forward-Port-Of: odoo/enterprise#84776 Forward-Port-Of: odoo/enterprise#83791