Daily updates from Odoo
Thursday, December 12, 2024
18 changes · 18.0
Resolved issues and error corrections
The Send & Print screen now correctly shows the Romanian EDI checkbox when it should be available. This fixes a regression from an earlier refactor, helping Romanian invoicing users access the expected electronic invoicing option.
Original PR description
… on Send & Print During the previous refactor [1], we broke the display of the checkbox of the Romanian EDI. [1]: https://github.com/odoo/odoo/commit/9e769e1b11f22890e5245859053bc8dd31e42634 task-4403772
This update fixes an issue where scanning a product barcode in the self-ordering flow caused an error. It also improves the product details popup so quantity changes are shown only when appropriate for combo or configurable products.
Original PR description
Before this commit, scanning a product barcode would result in an error. Additionally, the product info popup did not check for combo and configurable correctly to show the quantity change option. opw-4393761 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Job applications from the same email address now reuse an existing candidate instead of creating a separate duplicate candidate each time. This helps recruitment teams keep applicant records cleaner and avoid confusion when reviewing multiple applications from the same person.
Original PR description
In 18.0 multiple job application from the same email address would create a new candidate for each email received. This PR aims to prevent this by only creating candidates if one does not already exist for the given email address. task-4397959 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The configuration document preview now appears below the form on mobile screens, so users no longer need to scroll sideways to see it. Input spacing was also corrected to keep fields comfortably aligned and readable on smaller devices.
Original PR description
Before this commit, the preview was on the rigth and you had to scroll to see the preview of the document. Now, the preview is below on mobile. Task-4377734 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Point of Sale now shows order changes correctly in cases affected by decimal rounding. This helps cashiers and staff see accurate change information during checkout, reducing confusion and potential transaction mistakes.
Original PR description
Before this commit, rounding was passed to the floatIsZero function, while the decimal places should have been passed. This caused the changes to not be displayed correctly in some cases. opw-4393181 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix corrects how global lead days are handled in subcontracting and stock purchase flows. It helps ensure planned dates and related tests match expected business timing, reducing scheduling errors in manufacturing and purchasing.
Original PR description
Contains style/semantic corrections for commit: 23c39ea opw-4370201
Fixed the display of subchannel hierarchy markers in the Discuss sidebar for right-to-left languages. This improves readability and visual consistency for users working in languages such as Arabic or Hebrew.
Original PR description
The SVG used for the subchannel hierarchy marker was positioned using inline styles. However, `rtlcss` does not process inline CSS rules. This commit moves the positioning rules to SCSS files to ensure proper handling of RTL layouts. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
A demo invoice for Export/SEZ transactions now uses the correct Export/SEZ tax instead of an inter-state tax. This improves the accuracy of Indian localization sample data and helps users see the right tax treatment in demos.
Original PR description
### Before this commit: > In one of the demo invoices representing Export/SEZ, an incorrect inter-state tax was applied. The tax should have been specific to Export/SEZ transactions. ### After this commit: > The issue has been resolved by correctly applying the Export/SEZ tax, replacing the incorrectly applied inter-state tax.
This fixes an issue where some users could hit an access error while importing data because the import tool tried to read field definitions they were not allowed to access. The import process now skips inaccessible property definitions, helping authorized imports complete more reliably.
Original PR description
We try to import a model, `get_fields_tree` is called recursively to fetch all available fields importable. Since https://github.com/odoo/odoo/issues/174366, it also includes Property of Properties Field, but the code to do that, search directly on the definition model which can be inaccessible for the current record leading to an AccessError. Filtered out Properties where the definition is inaccessible to avoid the issue.
This fixes an issue in the HTML editor where Firefox users could lose the last typed character when pressing backspace after a space. Backspace now removes only the intended space, reducing accidental text loss while editing content.
Original PR description
Steps to reproduce: - Open Firefox. - Type a few characters. - Add a space after the characters. - Press backspace. - Observe that both the space and the last visible character are removed.…
Steps to reproduce: - Open Firefox. - Type a few characters. - Add a space after the characters. - Press backspace. - Observe that both the space and the last visible character are removed. Description of the issue/feature this PR addresses: - In Chrome, pressing space inserts a ` ` (non-breaking space, `U+00A0`), which is treated as a visible character by `isVisibleChar`. Thus, only the whitespace is removed when backspace is pressed. - In Firefox, pressing space inserts a regular space (`U+0020`), which `isVisibleChar` identifies as invisible. As a result, the backspace action incorrectly calculates the range and removes both the space and the preceding character. Character details: - Chrome: `char.charCodeAt(0).toString(16)` → `U+00A0` - Firefox: `char.charCodeAt(0).toString(16)` → `U+0020` Desired behavior after PR is merged: - In Firefox, pressing backspace after a whitespace removes only the invisible character without affecting the preceding visible character. task-4363847
This fixes an error that prevented Hungarian companies from printing customer invoices issued in currencies other than HUF. The invoice report now consistently includes the required VAT amount in HUF, while preserving the correct handling for refunds and credit notes.
Original PR description
Problem --------- 1 - Open Odoo 18.0 2 - install l10n_hu_edi 3 - switch to "HU Company" 4 - create an outgoing normal invoice with other than HUF currency 5 - put items, taxes, select partner, etc. 6…
Problem --------- 1 - Open Odoo 18.0 2 - install l10n_hu_edi 3 - switch to "HU Company" 4 - create an outgoing normal invoice with other than HUF currency 5 - put items, taxes, select partner, etc. 6 - print the invoice -> KeyError: 'formatted_total_vat_amount_in_huf' The issue occurs because, in multi-currency, the method `_l10n_hu_get_invoice_totals_for_report` is expected to add `total_vat_amount_in_huf` to the tax dictionary as required by the invoice template. However, currently, the said method only adds `total_vat_amount_in_huf` for credit notes / refunds, in other cases, it stops early and does not add the required key-value pair in the dictionary. Solution --------- Make sure the method always adds `total_vat_amount_in_huf` to the tax dictionary, while making sure that it only reverses the tax values when it is rendering a credit note / refund like before. task-4391659 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Point of Sale product grid now displays long product names correctly when product images are turned off. This helps cashiers identify items more easily and avoids confusion during checkout.
Original PR description
**Problem**: When product images are hidden in the Point of Sale (PoS) interface, long product names are clipped. Following the commit: https://github.com/odoo/odoo/commit/1bc90a18807c43206c4620d7faad2579a3a61fc9#diff-15a6744dfd3306e9ae2ff1236ed670da656f52c81619823fb331967dbc790487R25 the product article container's size was fixed using `aspect-ratio: 4 / 3;`. This approach is not suitable for long product names, leading to truncation. **Solution**: Revert the `aspect-ratio: 4 / 3;` style back to `min-height: 4rem` to prevent clipping and allow proper display of long product names. **After fix**  **Steps to reproduce**: 1. Go to the Point of Sale (PoS) settings. 2. Disable the display of product images. 3. Open the PoS interface. 4. Observe that long product names are clipped and improperly aligned. opw-4389643
Users editing tables can now preview solid and custom background colors by hovering over them, matching the existing behavior for gradient colors. This makes it easier to choose the right table cell color before applying it.
Original PR description
### Steps to reproduce: - Open a table (e.g., /table) and select a cell to apply backgroundColor. - Hover over a color in the Gradient tab to see the preview update. - Hover over a color in the Solid or Custom tab — no preview appears. ### Approach: Setting previewMode to true in `onColorHover` temporarily removes `o_selected_td` class in applyTableColor, clearing backgroundColor to allow preview of the hovered color. `COLOR_RESET_PREVIEW` is dispatched on `onColorHoverOut`, reapplying o_selected_td. ### Description of the issue/feature this PR addresses: - Only Gradient tab colors preview on hover in table cells. - Solid and Custom tab colors do not trigger a preview. ### Desired behavior after PR is merged: - Colors from the Solid and Custom tabs now preview on hover in table cells. task-4320353
This fix prevents an error when shoppers use product comparison with product specifications shown in an accordion. It avoids a naming conflict so eCommerce product pages and comparison features work reliably together.
Original PR description
Versions -------- - 18.0+ Steps ----- 1. Go to eCommerce; 2. go to a product with attributes; 3. open the editor; 4. set specification to display in accordion; 5. enable "Compare" option on Cart.…
Versions -------- - 18.0+ Steps ----- 1. Go to eCommerce; 2. go to a product with attributes; 3. open the editor; 4. set specification to display in accordion; 5. enable "Compare" option on Cart. Issue ----- > 500: Internal Server Error > Error while render the template > TypeError: tuple indices must be integers or slices, not product.public.category > Template: website_sale_comparison.specifications_table Cause ----- The `categories` value set in this template contains an ordered dict with `product.attribute.category` records as keys, and `product.template.attribute.line` records as values. When inserting its logic into the `website_sale` template, its variable name conlficts with the `categories` value returned by the `WebsiteSale` controller, which contains `product.public.category` records. The issue occurs when it tries to use a `product.attribute.category` record to index a `product.public.category` recordset. Solution -------- Rename the `categories` variable to `attrib_categories` in the `website_sale_comparison` template. opw-4356669
The accounting walkthroughs now open the right Accounting app menu and use the updated button names. This keeps guided accounting flows usable for teams validating or learning key accounting processes.
Original PR description
Problem --------- When launching the accounting tours, the don't actually run. This is because, when account_accountant is available, the App menu item name is different than when only Invoicing is available. Furthermore, the last steps of the tours where failing because the buttons had be renamed. Solution --------- When account_accountant is available, the app menu name should be `accountant.menu_accounting`, this is done using a patch of the `goToAccountMenu`. Furthemore, the button names for the last steps have been updated accordingly and a few extra steps have been added to generate a transaction. task-4309716 odoo/odoo/pull/188073
This fix ensures page titles in the Room app are included in translations. Businesses using Odoo in multiple languages will see a more consistent localized experience for room-related pages.
This fixes invoice accounting totals when Avalara returns multiple distinct taxes that Odoo displays under the same short tax name. Instead of replacing one tax amount with another, Odoo now adds them together so invoice totals match the journal entries.
Original PR description
In rare cases there can be more than one tax on the same line with the same taxName and rate. These taxes are different e.g.: ``` Charleston Co Educational Capital Improvements Tax (Special) at 1%…
In rare cases there can be more than one tax on the same line with the same taxName and rate. These taxes are different e.g.: ``` Charleston Co Educational Capital Improvements Tax (Special) at 1% Charleston Co Tt (Special) at 1% ``` But `find_or_create_tax()` maps both of them to SC SPECIAL 1%. This doesn't cause issues for invoice_line_ids, those amounts are correct. But the journal items are not because there's only one tax journal item for this tax and its summary total gets overwritten instead of added to. This leads to the total on the invoice not matching the sum of debits/credits in the journal items tab. Fix it by adding to the summary total instead of overwriting it. PS. An alternative solution is to create unique tax names by incorporating the jurisCode and possibly other relevant fields. This approach would enhance the accuracy of tax representation on invoices. However, historically, we have prioritized brevity over accuracy [1]. [1] https://github.com/odoo/enterprise/pull/68549
SEPA credit transfer XML files now include the required country code in postal address details. This helps ensure batch vendor payment files meet banking format expectations and avoids validation issues caused by missing address information.
Original PR description
### Steps to reproduce: - Install 'account_iso20022' - Accounting > Vendors > Payments - Create a new payment with "SEPA Credit Transfer" as the payment method, confirm - Duplicate it and confirm - Back to the payment list view, select the two and click "Create Batch Payment" - Validate and check the generated XML - `Ctry` is missing in the `PstlAdr` ### Cause: The ´_get_PstlAdr´ method in `account_journal_sepa_ct.py` is returning the whole `PstlAdr` element but the country code is missing. Previously the country code was always added (https://github.com/odoo/enterprise/blob/saas-17.4/account_sepa/models/account_journal.py#L322-L329), this is no longer the case in this situation. ### Solution: Add the country to the list of fields to add. opw-4287100