Thursday, February 22, 2024
19 changes · saas-17.1
Resolved issues and error corrections
**Current behavior:** Terms which have translations defined in .po files do not get translated if they are from the din5008_sale module. **Expected behavior:** Terms which have mapped translations will be translated. **Steps to reproduce:** 1. Install the din5008_sale module, set the din5008 template to be used in for quotations 2. Change a company's language to German 3. Generate a Quotation PDF and observe that some terms are not translated **Cause of the issue:** The .pot f
Original PR description
**Current behavior:** Terms which have translations defined in .po files do not get translated if they are from the din5008_sale module. **Expected behavior:** Terms which have mapped translations will be translated. **Steps to reproduce:** 1. Install the din5008_sale module, set the din5008 template to be used in for quotations 2. Change a company's language to German 3. Generate a Quotation PDF and observe that some terms are not translated **Cause of the issue:** The .pot file for this module and some of the .po files are missing the '#. odoo-python' comment which the filter function defined in the _load_python_translations() method expects -> function returns false instead of the translated value. **Fix:** Add the comment where it need be added. opw-3740412
This fix prevents VoIP from crashing when a user transfers a call to another device. It ensures the system reads the right configuration after recent settings changes, improving call reliability for affected users.
Original PR description
The forward-port of #54535 neglected to adapt the code it introduced to the move of settings to its own model. Because of this oversight, this.settings is undefined, and this.settings.external_device_number would crash. This commit adapts the code to properly retrieve the config, and adds a test to make sure this never happens again. opw-3743892
This update fixes a visual glitch in the ecommerce category scrollbar on recent Chrome browsers and ensures consistent styling across Odoo. It also addresses an issue where the scrollbar was obscured on touchscreens and ensures proper display on various devices.
Original PR description
In commit https://github.com/odoo/odoo/commit/bdede43e1ea4587185a9f37f051cee87a61cf488 an improvement was made to increase the scrollbar height on hover to make it easier to scroll. However chromium…
In commit https://github.com/odoo/odoo/commit/bdede43e1ea4587185a9f37f051cee87a61cf488 an improvement was made to increase the scrollbar height on hover to make it easier to scroll. However chromium updated the way ::webkit-scrollbar works breaking the behavior on recent browser. On firefox the margin was applied without the change of height on the scrollbar creating a visual glitch on hover. On chromium >121 the `scrollbar` property takes priority over the `::webkit`-x to keep the scrollbar styling with height change on webkit browser we have to apply the `scrollbar` property only on Firefox. The mixin was used only on `website_sale` filter offcanvas and category horizontal scrollbar, this commit removes the mixin and customization on the offcanvas vertical scroll to make it consistent with the other offcanvas across website. This PR also disables the scrollbar hover effect on touchscreens. The transform was causing an issue on some devices displaying the scrollbar behind the items, thus it's now applied on the container. Note: We use not `.o_wsale_filmstip_fancy_disabled` to avoid the `scrollbar` property being set when the Javascript is not loaded yet. Otherwise the scrollbar would be invisible until a hover from the user. task-3718501 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#152456
This update fixes an issue where large numbers (formatted with commas) were being incorrectly parsed when sharing data via Odoo's spreadsheet feature. Previously, the share link would display the number in a simplified format. Now, the share link exports the raw, formatted value, ensuring accurate sharing of amounts, especially those with thousands or millions.
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 Forward-Port-Of: odoo/odoo#154712 Forward-Port-Of: odoo/odoo#153704
This update resolves an issue where dropdown menus within the Odoo Studio editor wouldn't close when the toolbar was clicked. The fix addresses a technical limitation with the iframe environment, ensuring that clicks outside the editor now properly close dropdowns. This improves the user experience when working with reports and documents in Studio.
Original PR description
Steps to reproduce: =================== - Open any app (sales for example) - Toggle studio - select reports tab - Select any report - Select some text and open any dropdown (font size or color) - Click somewhere else on the document - Select some text again - The dropdown stayed open from the first select Origin of the issue: ==================== Clicking somewhere on the document in studio doesn't trigger the events `defined in bootstrap/js/dist/dropdown.js` because of the iframe. Solution: ========= Trigger click event on toggle button for the opened dropdown when hiding the toolbar to close them task-3674736 Forward-Port-Of: odoo/odoo#152681
This update fixes a bug where articles were incorrectly flagged as needing to be saved, leading to frequent and unwanted autosaves. The fix removes irrelevant information (history IDs) from the comparison process, ensuring autosaves only occur when actual content changes are made. This improves performance and user experience.
Original PR description
Issue: Articles were erroneously marked as changed, leading to unnecessary autosaves. Part of this was caused by the inclusion of history IDs in the content comparison process, which differ even without substantive content changes. Solution: Applied `stripHistoryIds` to the content obtained from the WYSIWYG editor before performing the dirty check. This ensures that comparisons focus solely on actual content changes, eliminating history IDs as a factor in the dirty state determination. opw-3707380 Forward-Port-Of: odoo/odoo#154068
This update fixes an issue where the legal note from a fiscal position on invoices was not appearing after installing the l10n_it module. The problem stemmed from an incorrect condition within the module that limited note display to Italian companies. Removing this condition ensures the note appears correctly for all invoices.
Original PR description
Steps to reproduce: - Install Accounting - Create a fiscal position with a legal note - Create an invoice with the created fiscal position - Preview the invoice => The legal note from the fiscal position appears on the invoice as expected - Install l10n_it - Preview the invoice => The legal note from the fiscal position doesn't appear anymore Cause: The condition to display the legal note from the fiscal position is overridden by l10n_it module to only display it for Italian companies, which is not correct. Solution: Remove the condition about the Italian companies. By removing that condition, the inherited view becomes useless as the overridden condition is the same as the original one. The inherited view will have to be removed in master. opw-3709443 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#153638
Documentation and clarification updates
This pull request formally confirms the signing of a legal agreement (CLA) with Asergo, a key partner for Odoo's SaaS offering. This action ensures compliance and strengthens our legal relationship. The change is a procedural update related to legal documentation.
Original PR description
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#154828
Miscellaneous changes
The aim of this commit is making sure that we don't have inconstancies between the `GROUP BY` in the `_build_query_group` and the intrastat report line generic id. Indeed, before this commit, the `incoterm code`, the transport code and the `invoice_currency_id` were not included in the generic id. It means that we can have several lines with the same generic id but with different values (for example incoterm code). This commit adds a test that check that all elements in the `GROUP BY`
Original PR description
The aim of this commit is making sure that we don't have inconstancies between the `GROUP BY` in the `_build_query_group` and the intrastat report line generic id. Indeed, before this commit, the `incoterm code`, the transport code and the `invoice_currency_id` were not included in the generic id. It means that we can have several lines with the same generic id but with different values (for example incoterm code). This commit adds a test that check that all elements in the `GROUP BY` (except the `system`, type and` region code`) are used in the generation of the generic id. For the excepted keys, `system` and `type` are already separated. Concerning the `region_code`, its value related to the company, it means that this value is not discriminant. opw-3741658 Forward-Port-Of: odoo/enterprise#57180 Forward-Port-Of: odoo/enterprise#57097
This pull request formally incorporates a legal agreement (CLA) from Buckstop Labs. Previously, this agreement was missing, but it has now been added to ensure compliance with Odoo's open-source licensing. This update allows for the continued use of Buckstop Labs' contributions within the Odoo project.
Original PR description
Description of the issue/feature this PR addresses: added my agreement Current behavior before PR: did not include my agreement Desired behavior after PR is merged: you can read the .md i added. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#154830
Suppose the following reconciliation situation: Company's currency = EUR We want to reconcile 105 USD = 98 EUR with 105 CAD = 73 EUR Before this PR: When encountering two foreign currencies Odoo will try to reconcile in EUR (company's currency). After the first step of reconciliation there is a residual of 25 EUR = 27 USD left on the first line. We therefore try to create a write-off of 25 EUR and reconcile it with the residual, those 25 EUR are converted in USD at the Odoo rate =>
Original PR description
Suppose the following reconciliation situation: Company's currency = EUR We want to reconcile 105 USD = 98 EUR with 105 CAD = 73 EUR Before this PR: When encountering two foreign currencies Odoo will try to reconcile in EUR (company's currency). After the first step of reconciliation there is a residual of 25 EUR = 27 USD left on the first line. We therefore try to create a write-off of 25 EUR and reconcile it with the residual, those 25 EUR are converted in USD at the Odoo rate => 24 USD. 27 USD != 24 USD, the reconciliation can't be full while it should have. Now we detect cases where there is only one residual left in multicurrency and create the write-off in that currency. opw-3497793 Forward-Port-Of: odoo/enterprise#57176 Forward-Port-Of: odoo/enterprise#54069
Steps to reproduce: - Create a payslip with mpf gross less than $7100 Current behaviour: - ERMC is missing because it not included when mpf gross is less than $7100 Expected behaviour: - ERMC should be included by the gov law Explanation: - By gov law, employer mpf contribution doesn't need to check with the mpf threshold amount $7100. Therefore remove the checking for ERMC. task-3643660 X-original-commit: 45321a2 Forward-Port-Of: odoo/enterprise#57013 Forward-Port-Of:
Original PR description
Steps to reproduce: - Create a payslip with mpf gross less than $7100 Current behaviour: - ERMC is missing because it not included when mpf gross is less than $7100 Expected behaviour: - ERMC should be included by the gov law Explanation: - By gov law, employer mpf contribution doesn't need to check with the mpf threshold amount $7100. Therefore remove the checking for ERMC. task-3643660 X-original-commit: 45321a2 Forward-Port-Of: odoo/enterprise#57013 Forward-Port-Of: odoo/enterprise#56897
Issue: Embedded views within articles incorrectly include loader and error messages as part of the content upon saving, leading to irrelevant data being stored. Steps to Reproduce: 1. Install Knowledge and create a new Article. 2. Add a calendar at the top of the Article. 3. Add many lines and then a new calendar so that this one is not visible when we scroll to the top of the article. 4. Refresh the page. 5. Each time the mouse leaves the page is uselessly saved and the first calendar
Original PR description
Issue: Embedded views within articles incorrectly include loader and error messages as part of the content upon saving, leading to irrelevant data being stored. Steps to Reproduce: 1. Install…
Issue: Embedded views within articles incorrectly include loader and error messages as part of the content upon saving, leading to irrelevant data being stored. Steps to Reproduce: 1. Install Knowledge and create a new Article. 2. Add a calendar at the top of the Article. 3. Add many lines and then a new calendar so that this one is not visible when we scroll to the top of the article. 4. Refresh the page. 5. Each time the mouse leaves the page is uselessly saved and the first calendar is reloaded Solution: Enhanced the `cleanForSave` method in `knowledge_plugin.js` to filter out non-content elements from embedded views. This is achieved by only retaining child elements with a `data-prop-name` attribute within `.o_knowledge_behavior_type_embedded_view` elements. As a result, loaders or error messages, which do not have this attribute, are excluded from the saved content, ensuring that only relevant, intended content is preserved. opw-3707380 Forward-Port-Of: odoo/enterprise#56626
Forward-Port-Of: odoo/enterprise#57102
Original PR description
Forward-Port-Of: odoo/enterprise#57102
Same as on user.preference, `how_to_call_on_mobile` should be editable. Forward-Port-Of: odoo/enterprise#52362 Forward-Port-Of: odoo/enterprise#52240
Original PR description
Same as on user.preference, `how_to_call_on_mobile` should be editable. Forward-Port-Of: odoo/enterprise#52362 Forward-Port-Of: odoo/enterprise#52240
This PR changes the order of appointment types on the appointment page based on the appointment's published status. This makes it easier for internal users to access published appointments first. Task-3725160 Forward-Port-Of: odoo/enterprise#56377
Original PR description
This PR changes the order of appointment types on the appointment page based on the appointment's published status. This makes it easier for internal users to access published appointments first. Task-3725160 Forward-Port-Of: odoo/enterprise#56377
**Before the change:** The behavior before the change was that in the preparation display, the system considered the last stage as an indicator that the order is done. Orders in others stages were not differentiated and were included in the list displayed to customers as not ready. **After the change:** After the change, the system now correctly identifies the second to last stage as the indicator that the order is ready for display. Completed orders are now filtered out based on the last s
Original PR description
**Before the change:** The behavior before the change was that in the preparation display, the system considered the last stage as an indicator that the order is done. Orders in others stages were not differentiated and were included in the list displayed to customers as not ready. **After the change:** After the change, the system now correctly identifies the second to last stage as the indicator that the order is ready for display. Completed orders are now filtered out based on the last stage, ensuring that only relevant orders are shown to customers. This adjustment improves clarity and accuracy in the order tracking process for both customers and staff. Forward-Port-Of: odoo/enterprise#57106
The audit of cell made in this commit https://github.com/odoo/enterprise/commit/a0f96b8a7f74f618725f5e09d4ee5bb9fbcada6c can be improved to also include 'misc' entries. The previous solution did not work because MISC entries do not have the 'payment_state' field set. opw-3635049 Forward-Port-Of: odoo/enterprise#54314
Original PR description
The audit of cell made in this commit https://github.com/odoo/enterprise/commit/a0f96b8a7f74f618725f5e09d4ee5bb9fbcada6c can be improved to also include 'misc' entries. The previous solution did not work because MISC entries do not have the 'payment_state' field set. opw-3635049 Forward-Port-Of: odoo/enterprise#54314
Problem: When a user sets a custom filter on field 'followup_status' to "is set/is not set", a traceback error occurs with the message: "TypeError: 'bool' object is not iterable". Solution: To prevent the traceback error, the check for value should be done first. Steps to reproduce on Runbot: 1. Install Contacts and Accounting 2. Navigate to Contacts and add a custom filter for "Follow-up Status is set/not set" and traceback error occurs opw-3736643 Forward-Port-Of: odoo/enterprise#5
Original PR description
Problem: When a user sets a custom filter on field 'followup_status' to "is set/is not set", a traceback error occurs with the message: "TypeError: 'bool' object is not iterable". Solution: To prevent the traceback error, the check for value should be done first. Steps to reproduce on Runbot: 1. Install Contacts and Accounting 2. Navigate to Contacts and add a custom filter for "Follow-up Status is set/not set" and traceback error occurs opw-3736643 Forward-Port-Of: odoo/enterprise#57184 Forward-Port-Of: odoo/enterprise#57093