Tuesday, November 19, 2024
31 changes · 18.0
Resolved issues and error corrections
Users can now create a record with rich text content, save it, edit the description, and save again without hitting a validation error. This prevents an interruption in common workflows such as creating and updating project tasks.
Original PR description
Before this commit, when editing a record that was created and saved using the "new" button, a ValidationError was raised. To reproduce the error: - go to task in project - click on new button - set the title - set the description - save - change the description - save => Validation error task-4299855 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The test mock server now correctly supports property-related fields, helping automated tests better reflect real application behavior. This reduces the risk of unnoticed issues in features that rely on those fields, without changing the end-user experience.
Original PR description
This commit allows the mock server to properly handle 'property' and 'property_definition' fields in tests. Enterprise: https://github.com/odoo/enterprise/pull/73851 Task: [4058174](https://www.odoo.com/odoo/project.task/4058174) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Clicking a message notification now reuses an existing Odoo or Discuss tab when possible instead of opening a new browser tab every time. This keeps users' browsers cleaner and makes it easier to jump back into the relevant conversation.
Original PR description
When enabled, message notifications are sent as a native notification. However, the notification opens a new tab each time a notification is clicked. This behavior is not natural and leads to many opened tabs which is cumbersome. This PR fixes this behavior: - If a tab is opened on discuss, open the channel in this tab. - If a tab is opened in Odoo, open in a chat window. - Only open a new tab if no Odoo tab is available. task-4295517
This fixes an issue where materials added from the catalog in Shop Floor did not always create the required Pick Component operation for two-step manufacturing. The system now applies the same quantity update logic for newly added materials as it does for existing ones, helping manufacturing workflows proceed correctly.
Original PR description
When created through the catalog, updates the raw move after its creation, that way the logic is the same regardless the move is created or updated. It fixes an issue in the Shop Floor where created raw move doesn't trigger the creation of the Pick Component operation when manufacture is in 2 steps. See Enterprise PR for more information. Enterprise PR: odoo/enterprise#71791
The attendance schedule now hides archived employees by default, keeping views focused on active staff. Users can still include archived employees by selecting them directly or searching for their name when needed.
Original PR description
With this task, by default archived employees will not be displayed. If the user want to see them, he can select archived employees or write their name in the searchbar. task-4208052 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes several unstable automated test tours across point of sale, project, website, and eLearning areas. It helps prevent false test failures by making checks more reliable without changing user-facing features.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Restaurant orders can now have their bill printed from the action button without causing an error during payment validation. This keeps the checkout flow working smoothly for staff after printing a customer bill.
Original PR description
Steps: - Open the restaurant interface. - Add items to any table order. - Print the bill using the action button. - Attempt to validate a payment. - An error message appears. Issue: - A traceback occurs when printing the bill from the action button. - After printing the bill via the action button, adding a payment line to the order becomes restricted. Cause: - An error occurs due to an increment in the bill print count. Fix: - Prevent incrementing the bill print count when using the action button. task-4231943
The Certifications search view no longer shows an option to filter for non-certifications, because that option could never return results in this area. This reduces confusion and makes the search experience clearer for users managing certifications.
Original PR description
Problem: Surveys can be filtered by whether or not they are also Certifications, based on the boolean field `certification` on the `survey.survey` record. There is a separate menu item to display Certifications only, which uses a Window Action domain filtering for this field being True. In the inherited search view for Certifications, we already hide the filter for Certifications (since they are). But we still display the filter for non-Certifications, which is pointless given the domain. Purpose: Hide the additional filter for `Is not a Certification` since it will never return results via the Certification views after the domain filters them out. opw-4167285
This fixes a point-of-sale issue where sessions could not be closed if some orders did not have an assigned employee. It helps businesses using kiosks or self-ordering avoid blocked session closures and end-of-day disruptions.
Original PR description
Before this commit, it was not possible to close the session if an order was missing the employee_id field. This situation can occur when an order comes from a kiosk or self-order. opw-4325334 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an issue where activity searches based on status could use an outdated user timezone. Business users should see more accurate activity filtering, especially around due dates across time zones.
Original PR description
The user timezone is not flushed and used in the SQL to search by `activity_state` in the activity mixin. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The recruitment job position screen now displays today’s activities and overdue activities on separate lines. This makes the activity information easier to read and helps recruiters quickly distinguish urgent follow-ups.
Original PR description
With this commit, today activities and late activities are not on the same line. task-4270265 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix ensures Safari users can change font size and font style from the HTML editor toolbar without the dropdown disappearing or losing the text selection. It improves editing reliability for users working in Safari.
Original PR description
Issue: ====== We can't change font size and font style in safari broswer. Origin of the issue: ==================== In safari clicking in dropdown-item in the toolbar will produce the following flow: - `pointerdown` event - It will trigger the `blur` the event with null selection - Since the item has the class `user-select-none` it will trigger the selectionchange with null selection too since we shouldn't select that element. In chrome here there is no selectionchange event because the element is not selectable so chrome doesn't care and do nothing. - Now the selection is changed to null so the toolbar will appear and no `click` callback of the item is called because the element is already destroyed. Solution: ========= We add prevent on the `pointerdown` event so it doesn't trigger the blur and the selectionchange and we remove the `user-select-none` since it becomes useless. opw-4299373
Fixes an error that occurred when recruiters tried to refuse an applicant from the Recruitment app. The refusal flow now works correctly and provides a smoother user experience, helping teams manage candidates without interruption.
Original PR description
STEP TO REPRODUCE: ================== 1- Recruitment > All apllicants 2- Select one applicant 3- Click on refuse You will have a traceback In this commit, this issue is fixed and the UX was fixed too. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an incorrect text label used in a Mail activity filter. Users will see the right filter wording, reducing confusion when finding or organizing activities.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Spanish localization now applies the correct fiscal position automatically for customers in the Canary Islands, Ceuta, and Melilla. This prevents these regions from being treated like mainland Spain or EU intra-community cases, improving tax accuracy on invoices.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix ensures payment errors are properly passed to the right handler so customers see the actual issue instead of a misleading or duplicate message. It improves the checkout experience for PayPal payments by making failures clearer and reducing repeated notifications.
Original PR description
**[FIX] payment: return a rejected promise on RPC error during payment** This commit addresses the issue of RPC errors not triggering a promise rejection when initiating or processing the payment. This caused issues with PayPal not being able to pass the error to its error handler when a problem occurred during payment processing. For example, the error message "order id was not provided" would be shown instead of the actual RPC error message. --- **[FIX] payment_paypal: show message on RPC error during order completion** This commit fixes RPC errors occurring during order completion not being caught and not triggering a promise rejection. A simple "ValidationError" toaster notification was shown. --- **[FIX] payment_paypal: show RPC error messages only once** RPC errors occurring during payment were shown in a modal by the generic error handler of `payment` and again by the error handler of PayPal. RPC errors are now filtered out by the handler of PayPal.
Cashiers can now only create products from the point of sale if they have the proper permissions. This helps prevent unauthorized or accidental product setup while keeping product management under the right roles.
Original PR description
This commit allows to tell wether or not the current cashier has the rights to create products from the store. opw-4255570 Enterprise PR: https://github.com/odoo/enterprise/pull/72758
This change removes an unused internal service reference in the Mail app. It helps keep the codebase cleaner and reduces the chance of maintenance issues, with no expected change for users.
The test environment now better understands configurable property fields used across Odoo apps. This helps teams catch issues earlier and improves confidence in updates for Documents, planning views, and map-based features.
Original PR description
This commit allows the mock server to properly handle 'property' and 'property_definition' fields in tests. Community: https://github.com/odoo/odoo/pull/187269 Task: [4058174](https://www.odoo.com/odoo/project.task/4058174)
This update adds a missing safeguard for the UK HMRC integration so demo or test environments do not accidentally keep live-style configuration. It helps ensure the module behaves safely when databases are prepared for non-production use.
Original PR description
This commit adds the missing neutralization necessary for the l10n_uk_hmrc module introduced in [1]. [1]: https://github.com/odoo/enterprise/pull/66766
Invoice PDFs for Mexico localization now show the Predial Account column only when invoice lines include rental products with a predial account. This keeps most signed invoices cleaner by removing an unnecessary empty column.
Original PR description
The "Predial Account" column appeared in all signed invoices, regardless of whether the invoice lines included rental products with a predial account. This resulted in a non-organized layout with an empty column for most invoices. Steps to reproduce: 1. Install the l10n_mx_edi module. 2. Create and sign an invoice with any product and customer. Expected behavior: The "Predial Account" column should only be displayed when the invoice contains products with a predial account. Actual behavior: The "Predial Account" column is displayed in all invoices, even when it's empty. opw-4233358
Shop Floor now correctly opens on the first available work center when no specific work center is preselected, reducing operator confusion. Adding extra components from the Shop Floor catalog now also creates the required Pick Component transfer in two-step manufacturing flows, helping ensure inventory movements stay accurate.
Original PR description
# [FIX] mrp_workorder: always select first option > Depending of the selected work centers in the Shop Floor view, different work center buttons will be visible ("All Mo", "My WO", "Assembly 1", ...)…
# [FIX] mrp_workorder: always select first option
> Depending of the selected work centers in the Shop Floor view, different work center buttons will be visible ("All Mo", "My WO", "Assembly 1", ...) When no work center are selected by default, the first one should be the selected one, but for now, in this case it's always "All MO" who is selected.
This commit fixes that, the first button/WC will always the selected one if there is no WC id in the context.
# [FIX] mrp_workorder: don't set qty for component added from catalog in the Shop Floor.
> Description
> ===========
>
> Before this commit, the quantity of a new move raw added through the catalog in Shop Floor was set directly in `_get_new_catalog_line_values`.
With this commit, it is not the case anymore, that way, if we should pick the component (production in 2 steps), the picking will be correctly created (before this fix, the picking was created only after an updated by `_get_new_catalog_line_values`.)
>
> How to reproduce
> ================
>
> - In Inventory settings, enable "Multi-Steps Routes";
> - In your warehouse configuration, select the 2 steps options for the manufacture;
> - Create a product with a BoM with at least a component;
> - Create a second product component (but not as a part of the BoM;)
> - Add quantity in stock for both components;
> - Create and confirm a MO for the product with the BoM;
> - Go in the MO's transfer and validate the "Pick Component" picking;
> - Go in Shop Floor, and for this MO, add the second component: click on the gear icon, "Add Component", search your component and click on it.
>
> If you check your MO in the back end, you'll see no "Pick Component" transfer was created for the added component. That said, if you add more quantity for this component (still through the Shop Floor catalog), you'll see the transfer will be created but 1 qty will be missing.
>
> Explanation
> ===========
>
> When in 2 steps manufacture, if a component line is added and the demand is greater than the actual quantity, a Pick Component transfer will be created for this product.
In the catalog, when using it through the Shop Floor, the raw move is
created with an equal quantity and demand, which means no Pick Component
transfer is needed.
That said, when updating an existing raw move through the Shop Floor
catalog, the demand is updated BEFORE the actual quantity, resulting of
the creating/update of the Pick Component transfer.
>
> To fix this issue, the quantity is not set directly during the move creation but will be updated just after (see related community fix.)
Community PR: odoo/odoo#183532Users can now send and print the partner ledger report even after the follow-up feature has been uninstalled. This prevents an error that interrupted reporting workflows and improves reliability for Accounting users.
Original PR description
Currently, a traceback occurs when the user tries to send the `partner ledger` report after uninstalling the `account_followup`. To reproduce this issue: 1) Install `Accounting` 2) Uninstall…
Currently, a traceback occurs when the user tries to send the `partner ledger` report after uninstalling the `account_followup`. To reproduce this issue: 1) Install `Accounting` 2) Uninstall `account_followup` 3) Open the `partner ledger` report from the reporting 4) Click the `send` button and then `send & print` button Error:- ``` 'res.partner' object has no attribute '_get_partner_account_report_attachment' ``` The `_get_partner_account_report_attachment` method is defined in `account_followup` and is referenced in `account_reports`. https://github.com/odoo/enterprise/blob/6100796466f356053dde87110c80812c2dcba3ba/account_followup/models/res_partner.py#L295 When the user uninstalls the `followup` it leads to the above traceback when the below line of code executes. https://github.com/odoo/enterprise/blob/6100796466f356053dde87110c80812c2dcba3ba/account_reports/wizard/account_report_send.py#L250 We can resolve this issue by moving the code from `account_followup` to `account_reports`. As we can see that `account_followup` depends on `account_reports`. sentry-6069400574
The Chilean point-of-sale invoice checkbox now reflects the actual invoice selection instead of appearing checked all the time. This reduces cashier confusion and helps users see whether an invoice option is truly selected before completing payment.
Original PR description
Issue: In the Chilean POS localization, the checkbox contained in the invoice button is always checked. This is confusing, since it seems the option is selected even when it isn't. Cause: By default, the checkbox depends on the order's "is_to_invoice" return value. In the Chilean POS, the "to_invoice" value is set to true by default and never updated, so "is_to_invoice" always returns true. Clicking on the invoice button only updates the value of the "invoice_type" field. Solution: Replace the checkbox with one that uses the "invoice_type" field through the "isFactura" function. Ticket: opw-4298996
This fix keeps subscription product pricing aligned with recent platform changes so the correct discount comparison price can be shown. It helps customers see accurate strikethrough prices when configuring subscription products.
Original PR description
The pricelist rule is now returned by the configurator methods, to be able to deduce the right strikethrough price. See also odoo/odoo#187436
This update simplifies an automated check that confirms users in read-only mode do not see add buttons in Knowledge articles. It helps keep the Knowledge app's access behavior reliable without changing the user experience.
Original PR description
In this commit, we simplify steps of the tour that check there are no add buttons in readonly mode.
Opening or refreshing a shared Documents link now shows the intended selected document, even when default filters would normally hide it. This prevents users from landing in an empty or filtered view and makes copied document URLs more reliable.
Original PR description
Reproduce: 1. Configure a default filter on Documents so that not all documents are visible 2. Select a document that does not match this default filter 3. Copy the url of this document (copy url when it is selected) 4. Paste in navigation bar / refresh page 5. You do not end up on the document because the default filter still applied This commit prevents loading default filters when we come from such URLs, not otherwise (refresh the page after deselecting the document in the folder). Task-4342960
Uploading some vendor bills for Indian companies could fail when a rounding difference was present. The invoice extraction logic now handles the updated tax totals structure correctly, preventing the error and allowing affected bills to be uploaded.
Original PR description
A traceback may occur when the user tries to upload a vendor bill. Where the invoice has an Indian company and a rounding error. Error:- ``` KeyError: 'groups_by_subtotal' ``` This is because of the major refactor done from the below commit to calculate the tax_totals in the `account.tax` https://github.com/odoo/odoo/commit/73d585a85b093db07e4eb5541aaa03e74af5fd62 Initially, we have a `groups_by_subtotal` in tax_totals, but after the refactor we return subtotals containing `tax_groups`. The code has been adjusted according to the above commit by take the maximum `tax_group` based on `tax_amount_currency` and added the `fixed_round_error` to resolve this issue. sentry-5963987892
Belgian payroll provider fields are now hidden for companies outside Belgium, preventing users from seeing country-specific options that do not apply to them. This reduces confusion when managing employees and work entry types across companies in different countries.
Original PR description
*= group_s + partena + ucm before this commit the specific fields were visible even in case that the user shouldn't see them because for exemple he is in a US company this commit fix this issue by adding invisible depends on company country note: the work entry type is still visible if no country is set task-4286122
Point of Sale employees who log in without a full user account will no longer be prompted to create new products when scanning an unknown barcode. This keeps product creation restricted to authorized users and aligns barcode scanning behavior with the existing POS menu permissions.
Original PR description
Currently if employees (without users) log into the register and use the barcode reader, if the barcode isn't found in the database, they will be prompted with the create product screen Steps to…
Currently if employees (without users) log into the register and use the barcode reader, if the barcode isn't found in the database, they will be prompted with the create product screen Steps to reproduce: ------------------- * Connect to the db with Mitchell Admin * Open the **Point of Sale** App * Select **Configuration** > **Settings** * Select the Furniture shop * Enable **Log in with Employees** * Open Furniture shop session * Select an employee that is not a user as employee (Abigail Peterson for ex) * Either select the barcode icon and present a barcode to the camera or go into debug mode and enter the barcode in the debug window and select scan. Prefer to use a barcode not in the db. > Observation: A popup appear to create a product Why the fix: ------------ Currently employees are able to create product if the underlying user who is connected has the group `base.group_system`. https://github.com/odoo/enterprise/blob/3bf3400a60436e9f07f23c6ba11e5749e4c00459/pos_barcodelookup/static/src/overrides/components/barcode_reader/barcode_reader.js#L8 Employees do not have the right to create products. This commit https://github.com/odoo/odoo/commit/e10768b6ce5c82e67e14641233dc9deefb48f8ba already removed the rights to see the create product button from the menu. We follow the same logic to block the creation process when scanning barcodes. opw-4255570 Community PR:https://github.com/odoo/odoo/pull/187184
A restaurant preparation display test was adjusted to prevent an unrelated printing failure pop-up from interrupting it. This helps keep automated checks reliable so future updates can be validated with fewer false failures.
Original PR description
Fix tour test_03_preparation_display_skip_change by unlink printer config to avoid the appear of modal "printing failed".