Friday, September 13, 2024
28 changes · saas-17.2
Resolved issues and error corrections
Fixed an error that could prevent users from reformatting values in consolidation balance reports. This helps finance users work with consolidation reports without being interrupted by a crash.
Original PR description
We get a KeyError when trying to format values in consolidation report Steps: - Install account_consolidation - Open a consolidation balance - Try to reformat values -> KeyError -> `blank_if_zero` and `format_params` are not in `column_dict` when we try to access it in `account_reports._format_column_values` opw-4070070
Miscellaneous changes
### Steps to reproduce * install `account_intrastat` * create and confirm an invoice for a Northern Irish customer * open the EC Sales Report You will see that your invoice is not included in the report opw-4123375 Forward-Port-Of: odoo/enterprise#69955 Forward-Port-Of: odoo/enterprise#69501
Original PR description
### Steps to reproduce * install `account_intrastat` * create and confirm an invoice for a Northern Irish customer * open the EC Sales Report You will see that your invoice is not included in the report opw-4123375 Forward-Port-Of: odoo/enterprise#69955 Forward-Port-Of: odoo/enterprise#69501
Current behavior: --- When putting product in packs, the quantity done amount can be like 10.1000000001 Expected behaviour: --- Should be rounded to 10.1 Steps to reproduce: --- 1. Install Purchase 2. Go to Settings, Inventory 3. Activate Packages 4. Go to Products 5. Create a new product 6. Set inventory > Tracking: By Lots 7. Go to Purchase, new Requests for Quotation 8. Add the new lot product, quantity 13.5 9. Click on Confirm order 10. Go to Barcode, operations, receipt
Original PR description
Current behavior: --- When putting product in packs, the quantity done amount can be like 10.1000000001 Expected behaviour: --- Should be rounded to 10.1 Steps to reproduce: --- 1. Install Purchase 2. Go to Settings, Inventory 3. Activate Packages 4. Go to Products 5. Create a new product 6. Set inventory > Tracking: By Lots 7. Go to Purchase, new Requests for Quotation 8. Add the new lot product, quantity 13.5 9. Click on Confirm order 10. Go to Barcode, operations, receipts 11. Select the last created receipt 12. Edit the line, input 5.66, save 13. Click on Put in pack 14. Select the empty line in the pack 15. Input 4.44, save 16. The first quantity is 10.1000000001 opw-3821629 Forward-Port-Of: odoo/enterprise#65911 Forward-Port-Of: odoo/enterprise#59401
This commit adapts the Account reports's filters styling, following the fix of the record selector's caret positioning made in community. Community: https://github.com/odoo/odoo/pull/180046 Forward-Port-Of: odoo/enterprise#69944
Original PR description
This commit adapts the Account reports's filters styling, following the fix of the record selector's caret positioning made in community. Community: https://github.com/odoo/odoo/pull/180046 Forward-Port-Of: odoo/enterprise#69944
[FIX] *_spreadsheet_*: useless filter date granularity option In task 3887844 we added the possibilty to select which date granularities were available for a given period global filter. But this options was also displayed for relative and from/to global filters, where it made no sense. Task: [4176679](https://www.odoo.com/odoo/2328/tasks/4176679) Forward-Port-Of: odoo/enterprise#69775
Original PR description
[FIX] *_spreadsheet_*: useless filter date granularity option In task 3887844 we added the possibilty to select which date granularities were available for a given period global filter. But this options was also displayed for relative and from/to global filters, where it made no sense. Task: [4176679](https://www.odoo.com/odoo/2328/tasks/4176679) Forward-Port-Of: odoo/enterprise#69775
This reverts commit a80633d9f713884f3bda063de21c080bc062f6af. Forward-Port-Of: odoo/enterprise#69993
Original PR description
This reverts commit a80633d9f713884f3bda063de21c080bc062f6af. Forward-Port-Of: odoo/enterprise#69993
options['journals'] contains a list of dictionaries. In the typical case, they each will correspond to a selectable account.journal. Though, they can also contain journal groups, and in multicompany, some of them may serve as dividers between companies (for ease of rendering in the template). Those latter elements will then have 'divider' under their 'id' key, instead of a model id. The Journal Report, when being opened for the first time unfolds the first available journal, by default, takin
Original PR description
options['journals'] contains a list of dictionaries. In the typical case, they each will correspond to a selectable account.journal. Though, they can also contain journal groups, and in multicompany,…
options['journals'] contains a list of dictionaries. In the typical case, they each will correspond to a selectable account.journal. Though, they can also contain journal groups, and in multicompany, some of them may serve as dividers between companies (for ease of rendering in the template). Those latter elements will then have 'divider' under their 'id' key, instead of a model id. The Journal Report, when being opened for the first time unfolds the first available journal, by default, taking therefore the first element from options['journals'], generating a report line id from it, and adding this id under the 'unfolded_lines' of the options in its _custom_options_initializer. The thing is, doing so, no check was done that the id being used was indeed an account.journal's. A journal group id or 'divider' could also be used. When 'divider' was added, the report crashed as soon as the options were used as previous_options in a subsequent call to get_options, since it tried to parse it as an integer. We fix that by properly filtering the available journal ids to only contain actual account.journal ids. Forward-Port-Of: odoo/enterprise#69876
When the no-content helper is shown and the user clicks on the "New" button to create a new article, the sidebar lists the newly created article in the "workspace" and in the "private" section. This is an undesirable behavior as the newly created article should only appear in the "private" section. When no record is passed to the form view, the form view creates a virtual record. When the user clicks on the "New" button, the system will create a new article and open it using the `openArticle`
Original PR description
When the no-content helper is shown and the user clicks on the "New" button to create a new article, the sidebar lists the newly created article in the "workspace" and in the "private" section. This…
When the no-content helper is shown and the user clicks on the "New" button to create a new article, the sidebar lists the newly created article in the "workspace" and in the "private" section. This is an undesirable behavior as the newly created article should only appear in the "private" section. When no record is passed to the form view, the form view creates a virtual record. When the user clicks on the "New" button, the system will create a new article and open it using the `openArticle` function defined in the component environment. When calling the `openArticle` function, the function will check if the article has a title and, if it hasn't, it will fetch the first heading of the article and use it as title (see: `ensureArticleName`). If the record is not virtual, the function `openArticle` will then persist the changes made on the current record before opening the new record. For its part, the sidebar listens to the changes made on the loaded record (using a record observer) and updates its state based on the record changes. When calling the `ensureArticleName`, the title of the virtual record changes and the sidebar detects that change and adds a new entry for the virtual record. The sidebar will then add another entry for the newly created record. To fix the issue, the `openArticle` function will no longer call the `ensureArticleName` function when the current record is virtual. The virtual record state will hence no longer be updated when opening a new article. As a result, the sidebar will not detect any change and will no longer create an entry for the virtual record. Note that there was actually no reason to update the title of the virtual record as it gets discarded when leaving Knowledge. Steps to reproduce the issue: 1. Delete all articles from the database 2. Open the Knowledge editor (you should see the no-content helper) 3. Click on the "New" button => There is two entries for the new article: one in the "workspace" section and one in the "private" section. TO BE: There should only be one entry in the "private" section. task-4160386 Forward-Port-Of: odoo/enterprise#69438
This reverts commit 8bd19ee1dbba0c8dce36a20bdd1e99922084ea24. This fix prevented a valid use case from functioning: when transferring a subscription to another company, we lose access to the invoices made by the original company. Because of this we would incorrectly prevent the generation of renewal and upsell orders (The subscription was invoiced but invoice_ids does not reflect it). Other alernatives are also problematic like using invoice_status (which fluctuates for subscriptions) or l
Original PR description
This reverts commit 8bd19ee1dbba0c8dce36a20bdd1e99922084ea24. This fix prevented a valid use case from functioning: when transferring a subscription to another company, we lose access to the invoices made by the original company. Because of this we would incorrectly prevent the generation of renewal and upsell orders (The subscription was invoiced but invoice_ids does not reflect it). Other alernatives are also problematic like using invoice_status (which fluctuates for subscriptions) or last_invoice_date (Which could break if the next invoice date is changed manually). opw-4116538 Forward-Port-Of: odoo/enterprise#69903
Not passing the previous_options can have bad consequences, and was clearly not wanted here. Forward-Port-Of: odoo/enterprise#69913
Original PR description
Not passing the previous_options can have bad consequences, and was clearly not wanted here. Forward-Port-Of: odoo/enterprise#69913
Currently, the share panel cannot be closed once it has been opened. This commit resolves the issue by preventing the share panel from closing only when the active element is a modal. Steps to reproduce the issue: 1. Open Knowledge. 2. Click on the share button to open the share panel. 3. Click on the share button again to close the share panel. => The share panel remains open. TO BE: The share panel should close. Details: In the `KnowledgeTopbar` component, we added external ev
Original PR description
Currently, the share panel cannot be closed once it has been opened. This commit resolves the issue by preventing the share panel from closing only when the active element is a modal. Steps to…
Currently, the share panel cannot be closed once it has been opened. This commit resolves the issue by preventing the share panel from closing only when the active element is a modal. Steps to reproduce the issue: 1. Open Knowledge. 2. Click on the share button to open the share panel. 3. Click on the share button again to close the share panel. => The share panel remains open. TO BE: The share panel should close. Details: In the `KnowledgeTopbar` component, we added external event listeners to detect when the dropdown menu is opened, closed, or about to close. When the dropdown is about to close (i.e., when the `hide.bs.dropdown` event is triggered), we check if the active element is the HTML document. If the focus is on another element, we prevent the dropdown from closing. This mechanism was added to prevent the dropdown from closing when users are adding new members through the invite modal. Using the `useActiveElement` hook, the active element can change when a component is mounted. When the web editor in Knowledge is mounted, the active element becomes the editor toolbar. As a result, the active element is no longer the HTML document, and the event listener always prevents the dropdown from closing. To resolve this issue, we will now check if the active element is a modal before preventing the dropdown from closing. This ensures that the dropdown behaves as expected and the share panel can be closed when necessary. Reference: https://github.com/odoo/odoo/pull/175880 task-4179706 Forward-Port-Of: odoo/enterprise#69861
Update the taxes and taxes-related models due to new tax rules. This concerns a few accounts,taxes, tax groups, and the tax report. We also use this occasion to set non-important taxes as inactive by default to reduce slightly the amount of taxes that are shown out of the box. Tax id #3585950 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#179715
Original PR description
Update the taxes and taxes-related models due to new tax rules. This concerns a few accounts,taxes, tax groups, and the tax report. We also use this occasion to set non-important taxes as inactive by default to reduce slightly the amount of taxes that are shown out of the box. Tax id #3585950 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#179715
JQuery ajax was supporting extra headers sent along with the HTTP request, but this was no longer possible with the new RPC service. With this commit, we reintroduce this feature, so that extra HTTP headers can be specified by the caller. Forward-Port-Of: odoo/odoo#180055
Original PR description
JQuery ajax was supporting extra headers sent along with the HTTP request, but this was no longer possible with the new RPC service. With this commit, we reintroduce this feature, so that extra HTTP headers can be specified by the caller. Forward-Port-Of: odoo/odoo#180055
This update enables the printing of the delivery challan when the e-way bill is in the pending stage. The E-Way Bill Details section and QR code are omitted for delivery challans, as these details are only available after the e-way bill is generated and moves to the generated stage. Additionally, some minor refinements have been made to the ewaybill_report, including the removal of heading numbers and the unnecessary columns CEWB No. and Multi Veh. Info from the Vehicle Details section. Ta
Original PR description
This update enables the printing of the delivery challan when the e-way bill is in the pending stage. The E-Way Bill Details section and QR code are omitted for delivery challans, as these details are only available after the e-way bill is generated and moves to the generated stage. Additionally, some minor refinements have been made to the ewaybill_report, including the removal of heading numbers and the unnecessary columns CEWB No. and Multi Veh. Info from the Vehicle Details section. Task [link](https://www.odoo.com/odoo/project/967/tasks/4149686) task-4149686 Forward-Port-Of: odoo/odoo#178826
### Steps to reproduce: - Create a storable product with 0 unit in stock - Create and confirm a Sale order for 1 unit fo that product - Create and confirm a Purchase Order for 1 unit of that product and an expected date further than the delivery date. - Click on the chart icon on the pol to be redirected to the forecast ### Expected behavior: The line should be displayed in red since the PO is late just as in 16.0 as the cell has the "".o_grid_warning" class. ### Current behavior:
Original PR description
### Steps to reproduce: - Create a storable product with 0 unit in stock - Create and confirm a Sale order for 1 unit fo that product - Create and confirm a Purchase Order for 1 unit of that product and an expected date further than the delivery date. - Click on the chart icon on the pol to be redirected to the forecast ### Expected behavior: The line should be displayed in red since the PO is late just as in 16.0 as the cell has the "".o_grid_warning" class. ### Current behavior: It is not. ### Cause of the issue: The `o_report_replenishment` class does not exist in 17.0 and the `table` class is used instead the html of the report so that the css file is not defining the color of the `o_warning` class correctly anymore. opw-4161304 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#179936
Description of the issue/feature this PR addresses: Commit [1] fixed a bug where selecting across two paragraphs separated by whitespace resulted in multiple indented lists. However, this fix introduced a new issue: if a first child of block node was whitespace followed by a `<br>`, the list was not created on the first attempt. Instead, only the whitespace was removed, and the list was created on the second attempt. Commit [2] addressed this issue but introduced a new problem: if a bl
Original PR description
Description of the issue/feature this PR addresses: Commit [1] fixed a bug where selecting across two paragraphs separated by whitespace resulted in multiple indented lists. However, this fix…
Description of the issue/feature this PR addresses: Commit [1] fixed a bug where selecting across two paragraphs separated by whitespace resulted in multiple indented lists. However, this fix introduced a new issue: if a first child of block node was whitespace followed by a `<br>`, the list was not created on the first attempt. Instead, only the whitespace was removed, and the list was created on the second attempt. Commit [2] addressed this issue but introduced a new problem: if a block node had whitespace as its first child, the placeholder for that block would enter an infinite loop, causing the page to become unresponsive. This commit reverts the changes made in Commit [2] and introduces a new approach that resolves the list creation issue when a block node had whitespace as its first child, without causing the placeholder to get stuck in a loop. [1]: https://github.com/odoo-dev/odoo-editor/commit/58a7fadcaaaa7322c6177276ddc22b62da96d1f5 [2]: https://github.com/odoo/odoo/commit/1e982dab025fb86e759b249433f41619a442b5cf task-4082867 Forward-Port-Of: odoo/odoo#176178
Added blur on pos display devices and pairing code boxes background to ease readability and improve user experience. Forward-Port-Of: odoo/odoo#179814
Original PR description
Added blur on pos display devices and pairing code boxes background to ease readability and improve user experience. Forward-Port-Of: odoo/odoo#179814
Steps to reproduce: - Include in your assets a CSS file with invalid formatting. - Translate your website in RTL language. > The website will never load and you will be left with a blank page. Cause of the issue: `rtlcss` never exit with a returncode, consequently our error management there is useless. As from `rtlcss` 4.1.0 [1], an error code is returned but only when using a CSS file. In our case, Odoo pass the CSS payload via the `stdin`. A PR [2] has been opened on `rtlcss` to also
Original PR description
Steps to reproduce: - Include in your assets a CSS file with invalid formatting. - Translate your website in RTL language. > The website will never load and you will be left with a blank page. Cause…
Steps to reproduce: - Include in your assets a CSS file with invalid formatting. - Translate your website in RTL language. > The website will never load and you will be left with a blank page. Cause of the issue: `rtlcss` never exit with a returncode, consequently our error management there is useless. As from `rtlcss` 4.1.0 [1], an error code is returned but only when using a CSS file. In our case, Odoo pass the CSS payload via the `stdin`. A PR [2] has been opened on `rtlcss` to also exit with a return code in this scenario (and log details to `stderr`). In the meantime and also for earlier versions, the error management had to be slightly adjusted. As we cannot deduce any informations from the return code (and the `stderr` is completely empty), we can exploit the fact that, in case of errors, `rtlcss` doesn't output anything to `stdout`. [1]: https://github.com/MohammadYounes/rtlcss/commit/4e625458cb236a4a21cb6d5e54283a9d5244fdc8 [2]: https://github.com/MohammadYounes/rtlcss/pull/342 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#179852 Forward-Port-Of: odoo/odoo#178021
Issue: ====== Duplicate attachmenets are loaded in chatter. Steps to reproduce the issue: ============================= - Go to massmailing, create a new email with a template with images. - Replace the image by uploading a new one, save. - The second and onward uploaded images have two attachments in the tab->chat->attachment. Origin of the issue: ==================== In web_editor, optimized versions of the images are created. In the chatter we load all attachments, original
Original PR description
Issue: ====== Duplicate attachmenets are loaded in chatter. Steps to reproduce the issue: ============================= - Go to massmailing, create a new email with a template with images. - Replace…
Issue: ====== Duplicate attachmenets are loaded in chatter. Steps to reproduce the issue: ============================= - Go to massmailing, create a new email with a template with images. - Replace the image by uploading a new one, save. - The second and onward uploaded images have two attachments in the tab->chat->attachment. Origin of the issue: ==================== In web_editor, optimized versions of the images are created. In the chatter we load all attachments, original and optimized ones which looks like we have duplicates. For .svg images, we create duplicate .png versions in python side. Spec for Images created from mass_mailing: =========================================== - For SVG images we show only the png version. - For non SVG images we show the original version. Solution: ========= - For SVG images: If the image doesn't have .png version which means added directly in the chatter/attach we show it otherwise we show the .png version. - For non SVG images: We always show the image which doesn't have original_id or their original_id image isn't in the list of attachment. task-3639914 opw-3589477 Forward-Port-Of: odoo/odoo#169176
Download files are restricted to the internal users by acl. This commit adapts the UI so the feature would not be available for non-internal users. Steps to reproduce: - Go to a public channel as a guest - Send a message with multiple attachments - Try to download all of them by clicking on Download Files in the message action menu - It crashes with Forbidden error Forward-Port-Of: odoo/odoo#180109
Original PR description
Download files are restricted to the internal users by acl. This commit adapts the UI so the feature would not be available for non-internal users. Steps to reproduce: - Go to a public channel as a guest - Send a message with multiple attachments - Try to download all of them by clicking on Download Files in the message action menu - It crashes with Forbidden error Forward-Port-Of: odoo/odoo#180109
This commit fixes the record selector's caret positioning (displayed on hover only) by moving to be a sibling of the autocomplete's input. Steps to reproduce: - install Sales - open Dashboard - hover one of the filter in the ControlPanel => the filter's caret is displayed but on a separate line Enterprise: https://github.com/odoo/enterprise/pull/69944 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#180046
Original PR description
This commit fixes the record selector's caret positioning (displayed on hover only) by moving to be a sibling of the autocomplete's input. Steps to reproduce: - install Sales - open Dashboard - hover one of the filter in the ControlPanel => the filter's caret is displayed but on a separate line Enterprise: https://github.com/odoo/enterprise/pull/69944 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#180046
Before this fix `TestAnalyticMixin` used `product.product`, `account.move` and `account.move.line`, but `analytic` does not have these models in its dependencies. So this test causes `Single App` tests (when tests are run with just concerned modules and its dependencies) to fail. This commit adapts the tests so that they only use `account.analytic.*` models. original fix: https://github.com/odoo/odoo/commit/9d51fa9daee09e5467d38c5a890be7c0392d93f4 runbot error logs: https://runbo
Original PR description
Before this fix `TestAnalyticMixin` used `product.product`, `account.move` and `account.move.line`, but `analytic` does not have these models in its dependencies. So this test causes `Single App` tests (when tests are run with just concerned modules and its dependencies) to fail. This commit adapts the tests so that they only use `account.analytic.*` models. original fix: https://github.com/odoo/odoo/commit/9d51fa9daee09e5467d38c5a890be7c0392d93f4 runbot error logs: https://runbot.odoo.com/web#id=74493&menu_id=405&cids=1&model=runbot.build.error&view_type=form Forward-Port-Of: odoo/odoo#178930
- website.snippet documentation Description of the issue/feature this PR addresses: There are some website snippet documentation typos Current behavior before PR: The documentation with some typos Desired behavior after PR is merged: The documentation without any typos --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#180058
Original PR description
- website.snippet documentation Description of the issue/feature this PR addresses: There are some website snippet documentation typos Current behavior before PR: The documentation with some typos Desired behavior after PR is merged: The documentation without any typos --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#180058
Steps to reproduce ================== - Install project - Open any task in a form view - Press the alt key => The hotkeys are not displayed. Cause of the issue ================== Since a6876ac03799c1e0626bac54129493155d9eb637 , the toolbar makes use of the useActiveElement() This is not correct since the toolbar is always attached to the DOM, only it's visibility is toggled when we need to show it. Solution ======== Revert the commit since the feature wasn't well supp
Original PR description
Steps to reproduce ================== - Install project - Open any task in a form view - Press the alt key => The hotkeys are not displayed. Cause of the issue ================== Since a6876ac03799c1e0626bac54129493155d9eb637 , the toolbar makes use of the useActiveElement() This is not correct since the toolbar is always attached to the DOM, only it's visibility is toggled when we need to show it. Solution ======== Revert the commit since the feature wasn't well supported anyway and there is no easy workaround. opw-4175689 Forward-Port-Of: odoo/odoo#179950
In some occasions, Authorize would decline a payment and provide the reason for it, but not mark the payment as in error. The customer would see that their payment is cancelled but not know what to do. That is because error messages were not processed in the case of declined payments. This commit makes eventual error messages (decline reasons) logged on the linked document's chatter and displayed on the /payment/status page. opw-4125895 Forward-Port-Of: odoo/odoo#179805 Forward-Port-Of: o
Original PR description
In some occasions, Authorize would decline a payment and provide the reason for it, but not mark the payment as in error. The customer would see that their payment is cancelled but not know what to do. That is because error messages were not processed in the case of declined payments. This commit makes eventual error messages (decline reasons) logged on the linked document's chatter and displayed on the /payment/status page. opw-4125895 Forward-Port-Of: odoo/odoo#179805 Forward-Port-Of: odoo/odoo#178401
Commit bf49460e4a51494fe5b2346d75c4105832e7d412 wrongly forgot to multiply the amount by the quantities to consider the amount in the discount wizard. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#180083
Original PR description
Commit bf49460e4a51494fe5b2346d75c4105832e7d412 wrongly forgot to multiply the amount by the quantities to consider the amount in the discount wizard. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#180083
Current behavior before PR: When creating a table in email marketing using the powerbox command `/table`, the table picker would open at an incorrect position. Desired behavior after PR is merged: Now, when using the `/table` powerbox command to create a table in email marketing, the table picker will open at the cursor position. task-4113199 Forward-Port-Of: odoo/odoo#176712
Original PR description
Current behavior before PR: When creating a table in email marketing using the powerbox command `/table`, the table picker would open at an incorrect position. Desired behavior after PR is merged: Now, when using the `/table` powerbox command to create a table in email marketing, the table picker will open at the cursor position. task-4113199 Forward-Port-Of: odoo/odoo#176712
- Change address format for all reports when a company is established with the country of Ecuador. - Add extra validation when getting the ats code from the contact, in case it is an Final Consumer. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#179558
Original PR description
- Change address format for all reports when a company is established with the country of Ecuador. - Add extra validation when getting the ats code from the contact, in case it is an Final Consumer. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#179558