Daily updates from Odoo
Wednesday, January 8, 2025
17 changes · master
Enhancements to existing features
Internal users can now open the Documents app directly from the main menu, even if they are not members of the Documents user group. This makes personal HR-related documents easier to find and access without changing broader document permissions.
Original PR description
The `documents_hr` addon provides access to Documents app from the internal user profile. But only members of the documents_user group can access it from the root menu. This commit adds to `documents_hr` a new Documents root menu for basic users, giving them another way to access their documents. task-3872372
Resolved issues and error corrections
Amazon FBA orders containing products tracked by serial or lot number can now be synchronized successfully. The system uses the serial number provided by Amazon before confirming the stock movement, preventing failed order imports and reducing manual intervention.
Original PR description
Currently, when syncing an Amazon order selling a product that's tracked by serial/lots number, the order failed to be synchronized due to the missing serial number that's required. We will now take that number from Amazon and applied it before confirming the move. task-3539358 See also: - https://github.com/odoo/odoo/pull/157443
This fix prevents barcode label generation from failing when tracked products do not yet have a finalized lot record. The system now uses the entered lot name when needed and shows a clear warning instead of raising an unexpected error when no tracking number is available.
Original PR description
Main: Encoding a SGTIN EPC requires a tracking number to make the tag unique. When the product is not tracked, a "fake" tracking number is used. Otherwise, we use the tracking number registered on…
Main: Encoding a SGTIN EPC requires a tracking number to make the tag unique. When the product is not tracked, a "fake" tracking number is used. Otherwise, we use the tracking number registered on the Move Line. However, depending on the state of the Move Line, lot_id may not be set and the tracking number will rather be available in lot_name. Currently, we only rely on lot_id, which may lead to an empty tracking number list, which in turn raises an unhandled exception. - We should try getting the tracking number from lot_name when lot_id is not set; - We should handle the case where the tracking number list is empty. N.B. : Only an empty tracking number list is problematic, the case of a list populated with null value is already handled by the epc_encoder. Before: - We only get the tracking number from lot_id.name; - No verification is done on the tracking number list. After: - Default to lot_name when lot_id is not set. - When the tracking number list is empty, set an error warning as the electronic_product_code on the concerned move lines.
A payroll-related automated test was adjusted to match a recent change in how notification messages are displayed. This helps keep Belgian payroll accounting checks reliable without changing the employee or payroll user experience.
Original PR description
Purpose of this commit: Following the changes in https://github.com/odoo/odoo/pull/189853, the o-mail-Message-body class is no longer applied to messages with a message_type of 'notification'. This commit updates the corresponding failing tour. task-4291913
Miscellaneous changes
**Steps to reproduce:** - Install accountant - Create an invoice for $1000 - Register a payment of $100 for the invoice - Register a second payment of $200 for the invoice - Create a batch payment with both payments - Validate the batch payment - Create a bank statement with an amount equal to the batch payment (i.e. $300) - Reconcile the statement with the batch payment **Issue:** A UserError is raised stating that the moves are not balanced. One amount is equal to the sum of the 2
Original PR description
**Steps to reproduce:** - Install accountant - Create an invoice for $1000 - Register a payment of $100 for the invoice - Register a second payment of $200 for the invoice - Create a batch payment…
**Steps to reproduce:** - Install accountant - Create an invoice for $1000 - Register a payment of $100 for the invoice - Register a second payment of $200 for the invoice - Create a batch payment with both payments - Validate the batch payment - Create a bank statement with an amount equal to the batch payment (i.e. $300) - Reconcile the statement with the batch payment **Issue:** A UserError is raised stating that the moves are not balanced. One amount is equal to the sum of the 2 payments (i.e. $300), but the other one is equal to the amount of the payment term line of the invoice (i.e. $1000). **Cause:** When reconciling a batch payment, only "amount_currency" field from the invoice lines are used in "_validation_lines_vals". But in this case, the payments are partial and their sum is not equal to the amount of of the invoice lines. **Solution:** Use the amount from each payment of the batch for the reconciliation instead of the amount from the account move lines. opw-4304772 Forward-Port-Of: odoo/enterprise#76678 Forward-Port-Of: odoo/enterprise#76037
- In version 17.3, the activity view mode is defined for both the project_task_action_fsm action and the project_task_action_fsm_map action. However, it has been observed that a record named project_task_action_fsm_map_view_activity also exists. This redundancy causes the project_task_action_fsm action to not be properly configured with the activity view mode, as no corresponding view link or defined view exists. - Additionally, the record project_task_action_fsm_map_view_activity has the sa
Original PR description
- In version 17.3, the activity view mode is defined for both the project_task_action_fsm action and the project_task_action_fsm_map action. However, it has been observed that a record named…
- In version 17.3, the activity view mode is defined for both the project_task_action_fsm action and the project_task_action_fsm_map action. However, it has been observed that a record named project_task_action_fsm_map_view_activity also exists. This redundancy causes the project_task_action_fsm action to not be properly configured with the activity view mode, as no corresponding view link or defined view exists. - Additionally, the record project_task_action_fsm_map_view_activity has the same name, but no corresponding record has been created. To resolve this issue, I have renamed the record to ensure consistency with its definition in the XML file. see upgrade : odoo/upgrade/pull/6838 [Reference](https://github.com/odoo/enterprise/commit/f16c338c2c20a0424ef749bdf35d1b7863347a8e#diff-170f2bf3c03ad1bf01ffe9fd0d8490e6ee7e193f96da6ad8d8babfe6e3867706R471) **Steps to Reproduce:** 1) Create a database in version saas-17.4 and install the industry_fsm module. 2) Check the project_task_action_fsm action and note that the activity view mode and view are not defined. upg-2202488 tbg-1597 Forward-Port-Of: odoo/enterprise#74465
- Adapt ticket_screen, navbar and tour_invoice_previous_order according to UI changes. task-id: 4331054 community PR: https://github.com/odoo/odoo/pull/191929 Forward-Port-Of: odoo/enterprise#76263
Original PR description
- Adapt ticket_screen, navbar and tour_invoice_previous_order according to UI changes. task-id: 4331054 community PR: https://github.com/odoo/odoo/pull/191929 Forward-Port-Of: odoo/enterprise#76263
Enterprise counter-part. task-4432728 Forward-Port-Of: odoo/enterprise#76489
Original PR description
Enterprise counter-part. task-4432728 Forward-Port-Of: odoo/enterprise#76489
Fixing a leftover traceback when there's no IBAN on the partner's bank. Fixed in 17.0. Task [link](https://www.odoo.com/odoo/project/967/tasks/4254966) task-4254966 Forward-Port-Of: odoo/enterprise#76091
Original PR description
Fixing a leftover traceback when there's no IBAN on the partner's bank. Fixed in 17.0. Task [link](https://www.odoo.com/odoo/project/967/tasks/4254966) task-4254966 Forward-Port-Of: odoo/enterprise#76091
Steps to Reproduce the Bug: - Create a storable product “P1”. - Create a Quality Point with the following settings: - Product: P1 - Operation Type: Receipt - Control Per: Product - Type: Pass-Fail - Create a receipt for 10 units of P1. - Mark it as "To Do". - Set the field "Quantity" to 5 units. - Validate. - A wizard to create a backorder is triggered -> Validate the creation. - A wizard for the quality check is triggered. - Pass the quality check. Problem: A backorde
Original PR description
Steps to Reproduce the Bug: - Create a storable product “P1”. - Create a Quality Point with the following settings: - Product: P1 - Operation Type: Receipt - Control Per: Product - Type: Pass-Fail -…
Steps to Reproduce the Bug: - Create a storable product “P1”. - Create a Quality Point with the following settings: - Product: P1 - Operation Type: Receipt - Control Per: Product - Type: Pass-Fail - Create a receipt for 10 units of P1. - Mark it as "To Do". - Set the field "Quantity" to 5 units. - Validate. - A wizard to create a backorder is triggered -> Validate the creation. - A wizard for the quality check is triggered. - Pass the quality check. Problem: A backorder is created, but the first quality check is incorrectly linked to this new picking instead of creating new one, because the `default_quality_check` was set in the context and not cleared. Before this commit, the picking was not validated after confirming the quality check wizard: https://github.com/odoo/enterprise/commit/936e8f84a3a70a26692cc4620f146539bde81a17#diff-56e04e66113804374104e1d1ccf225cb88ab2040c65743e0eb01a970351cdb7fR106-R107 **Opw-4428051** Forward-Port-Of: odoo/enterprise#76338
Steps to reproduce: 1. Open the `Approvals` app. 2. Select `Create RFQs`. 3. Add any product. 4. Try to create a new vendor for the added product. 5. An error will occur. Explanation of the bug: In order to specify a vendor, one needs to specify the vendor data, the price of the product and the quantity of the product sold for that price. So, when the user starts typing to create a new vendor and then presses on `Create`, an error occurs because it can't be determined
Original PR description
Steps to reproduce: 1. Open the `Approvals` app. 2. Select `Create RFQs`. 3. Add any product. 4. Try to create a new vendor for the added product. 5. An error will occur. Explanation of the bug: In order to specify a vendor, one needs to specify the vendor data, the price of the product and the quantity of the product sold for that price. So, when the user starts typing to create a new vendor and then presses on `Create`, an error occurs because it can't be determined which field should be filled with the entered data. i.e. will the entered data be used to fill the vendor data, the product price or the product quantity? This commit fixes the bug by only allowing `Create and Edit` option for the vendor column. task-4337135 Forward-Port-Of: odoo/enterprise#73936
The dialog content and button is off on mobile and the dialog should promote better the sign app. This commit fixes the design to improve the promotion and better render the content on both mobile and desktop. - No more sign up button -> close button redirect to /app/sign if user is not connected - Close button is always secondary - Reviewed wording and design task-4434783  Forward-Port-Of:
Original PR description
The dialog content and button is off on mobile and the dialog should promote better the sign app. This commit fixes the design to improve the promotion and better render the content on both mobile and desktop. - No more sign up button -> close button redirect to /app/sign if user is not connected - Close button is always secondary - Reviewed wording and design task-4434783  Forward-Port-Of: odoo/enterprise#76552 Forward-Port-Of: odoo/enterprise#76265
When you try to open a non-LU contract while the `l10n_lu_hr_payroll` is installed it raise error as `l10n_lu_meal_voucher_max_value` parameter is not presented in the rule parameter - add `raise_if_not_found=self.country_code == 'LU'` to only raise the error when the contract is LU - add the `or 0` to give a value as it used in the function and None whould raise an error Task: 4420371 Forward-Port-Of: odoo/enterprise#76242
Original PR description
When you try to open a non-LU contract while the `l10n_lu_hr_payroll` is installed it raise error as `l10n_lu_meal_voucher_max_value` parameter is not presented in the rule parameter - add `raise_if_not_found=self.country_code == 'LU'` to only raise the error when the contract is LU - add the `or 0` to give a value as it used in the function and None whould raise an error Task: 4420371 Forward-Port-Of: odoo/enterprise#76242
To reproduce: - Create a BOM for product P with: 1x component A (untracked) consumed in operation OP1 1x component B (lot tracked) consumed in operation OP1 operation OP1 - Create an MO for product P x 1 - Open shop floor, open component A move, set qty to 5 and save - Open shop floor, open component B move, set qty to 3 and save Current behaviour: - compo A move not striked through - compo B move shows 4/1 units Expected behaviour: - compo A move striked through - compo B
Original PR description
To reproduce: - Create a BOM for product P with: 1x component A (untracked) consumed in operation OP1 1x component B (lot tracked) consumed in operation OP1 operation OP1 - Create an MO for product P x 1 - Open shop floor, open component A move, set qty to 5 and save - Open shop floor, open component B move, set qty to 3 and save Current behaviour: - compo A move not striked through - compo B move shows 4/1 units Expected behaviour: - compo A move striked through - compo B move shows 3/1 units Forward-Port-Of: odoo/enterprise#76453
When adding a column that is not in the query result in the partner ledger, such as `amount_residual` for example, we get an ugly traceback when unfolding a partner. With this commit, we raise an UserError instead. opw-4416369 Forward-Port-Of: odoo/enterprise#76521 Forward-Port-Of: odoo/enterprise#76284
Original PR description
When adding a column that is not in the query result in the partner ledger, such as `amount_residual` for example, we get an ugly traceback when unfolding a partner. With this commit, we raise an UserError instead. opw-4416369 Forward-Port-Of: odoo/enterprise#76521 Forward-Port-Of: odoo/enterprise#76284
Steps to reproduce: ------------------- - Install sale_subscription and inventory. - Create a subscription product. - Log in as a non-Sales user (e.g., Inventory user). - Access the product list in Kanban view.(from stock) Issue: ------- Non-Sales users encounter an AccessError when the Kanban view attempts to read product_subscription_pricing_ids. This is due to: - "record.product_subscription_pricing_ids.raw_value.length" Attempted to be computed even if the user does not h
Original PR description
Steps to reproduce: ------------------- - Install sale_subscription and inventory. - Create a subscription product. - Log in as a non-Sales user (e.g., Inventory user). - Access the product list in Kanban view.(from stock) Issue: ------- Non-Sales users encounter an AccessError when the Kanban view attempts to read product_subscription_pricing_ids. This is due to: - "record.product_subscription_pricing_ids.raw_value.length" Attempted to be computed even if the user does not have the access rights. Fix: ----- Updated the Kanban view to conditionally render subscription pricing fields only for users in the Sales group. opw-4404190 Forward-Port-Of: odoo/enterprise#75677
This error occurs when the user enters an ``End Date`` that is one day earlier than the ``Start Date``(e.g. Start Date: '25/12/2024' and End Date: '24/12/2024'). Steps to reproduce: --- - Install the ``account_budget`` module - Create a new budget, fill in all required fields, and add a line - ``Start Date: '25/12/2024' and End Date: '24/12/2024'`` Traceback: --- ``ZeroDivisionError: float division by zero`` At [1], this error occurs because when the ``End Date`` is set to one day
Original PR description
This error occurs when the user enters an ``End Date`` that is one day earlier than the ``Start Date``(e.g. Start Date: '25/12/2024' and End Date: '24/12/2024'). Steps to reproduce: --- - Install the ``account_budget`` module - Create a new budget, fill in all required fields, and add a line - ``Start Date: '25/12/2024' and End Date: '24/12/2024'`` Traceback: --- ``ZeroDivisionError: float division by zero`` At [1], this error occurs because when the ``End Date`` is set to one day before the ``Start Date``, the ``line_timedelta`` becomes zero. As a result, the denominator evaluates to zero. [1]- https://github.com/odoo/enterprise/blob/3cfb6517220ae252d633bb9debc5010a0f14efbe/account_budget/models/budget_line.py#L77-L79 This commit resolves the error by ensuring zero should not be in the denominator. sentry-6174377667 Forward-Port-Of: odoo/enterprise#76176