Tuesday, June 11, 2024
37 changes · saas-17.3
Resolved issues and error corrections
Fixed an issue where adding the Missing Skills column to the job applications list could cause repeated error pop-ups. Recruitment users can now view applications with this field enabled without interruptions.
Original PR description
In job applications view, if you add missing skills through studio, the fields computation throws an error
Steps to reproduce:
1.go to recruitment > applications > all applications > tree view
2.in studio > add missing skills field
3.the column will be added but an error on missing skill compute will appear
4.everytime you enter a "applications" tree view, an error will pop up for missing skill computation
Cause:
missing skill fields was not set during compute
Solution:
set missing skill during computeThis fixes an issue where enabling or disabling a payment provider showed the wrong published status after saving. Businesses can now trust that the payment provider status displayed in the admin matches whether it is actually available on the website.
Original PR description
Steps to reproduce ================== - Website > Configuration > Payment Providers - Enable a payment provider, and it will be published by default - Save your changes - Observed behavior: the…
Steps to reproduce ================== - Website > Configuration > Payment Providers - Enable a payment provider, and it will be published by default - Save your changes - Observed behavior: the status of the payment provider is Unpublished, even - though it is published on the website - When disabling the payment provider, the status will be changes to Published - If you try to unpublish it, you'll get the message You cannot publish a disabled provider - Expected behavior: it should be automatically published when enabled, and - automatically unpublished when disabled. At the moment, the behavior from the - front-end is okay, but the status of the publish button is wrong. Cause of the issue ================== Changes applied to readonly fields are not saved https://github.com/odoo/odoo/blob/4f325ef620263c27e095eb49026a677ac617a0ee/addons/web/static/src/model/relational_model/record.js#L623-L630 Since https://github.com/odoo/odoo/pull/137031 , the field has been removed from the view. It is now considered readonly. Solution ======== Add the field back to the view opw-3908473
This fixes an issue where spreadsheet chart names could show incorrectly after a recent chart settings change. Users will see the intended chart title in Odoo graph data, making spreadsheets easier to read and manage.
Original PR description
Since the recent chart options refactoring, the title of the chart is not longer a string but an object with different style-related keys and the title string is set in the key `text`. The getter `getOdooChartDIsplayName` was not adapted to this change. task-3978637 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
Fixes a visual issue on invoices where clicking into the product field made its text sit slightly lower than the other line items. This keeps invoice entry looking consistent and avoids distracting layout shifts while users edit product lines.
Original PR description
Description of the issue this commit addresses: When on on invoice, focusing in on the product cell slightly lowers the text on the line, this means that the text is not aligned with other cells anymore. This is not wanted. --- Steps to reproduce: 1-Install account 2-Open a new invoice 3-Add a product on a line 4-Focus in the cell of the product 5-Text is slightly lower than in other cells --- Desired behavior after this commit is merged: The text of the product cell is aligned with other cells --- Note on the fix: The bug happened because the buttons on the line were slightly taller than the text box. They are hidden when the focus is out the box so it would only be a problem when focusing in. The fix consists in making sure that the buttons are not taller than the text so they will not mess with the line height --- no task-feedback --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix ensures chart names in Documents spreadsheets are read correctly after a recent change to how chart titles are stored. Business users should see the expected chart labels in menus and side panels, reducing confusion when working with spreadsheet graphs.
Original PR description
Since the recent chart options refactoring, the title of the chart is not longer a string but an object with different style-related keys and the title string is set in the key `text`. The getter `getOdooChartDIsplayName` was not adapted to this change. This commit adapts the tests in Enterprise. task-3978637
Miscellaneous changes
Before this fix, undoing a command MOVE_GLOBAL_FILTER broke the history because the inverse command was missing from the inverse registry. This fix adds the missing inverse command. OWP: 3966053 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168744
Original PR description
Before this fix, undoing a command MOVE_GLOBAL_FILTER broke the history because the inverse command was missing from the inverse registry. This fix adds the missing inverse command. OWP: 3966053 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168744
When the user performs a mass produce, the generated serial numbers will only be created if they do not already exist in the database Forward-Port-Of: odoo/odoo#168141
Original PR description
When the user performs a mass produce, the generated serial numbers will only be created if they do not already exist in the database Forward-Port-Of: odoo/odoo#168141
1. alignment of the checkbox and the "To" text; 2. when there is no recipient, the suggested recipient list should be displayed after the "To" text; 3. give a ps-1 class to the recipient text; before:  after:   --
Original PR description
1. alignment of the checkbox and the "To" text; 2. when there is no recipient, the suggested recipient list should be displayed after the "To" text; 3. give a ps-1 class to the recipient text; before:  after:   --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168483
Tour 'shop_buy_product' checks the correctness of manipulating products and their quantities in the cart and the payment step of the order. With the additional check on the payment step introduced by commit 023d549 the tour was failing due to the relatively late rpc request handling compared to immediate clicks of the tour. `shop/payment` page was rendered faster than the update cart rpc (`shop/cart/update_json`) was processed. Cart update resets the delivery method on the order causing t
Original PR description
Tour 'shop_buy_product' checks the correctness of manipulating products and their quantities in the cart and the payment step of the order. With the additional check on the payment step introduced by commit 023d549 the tour was failing due to the relatively late rpc request handling compared to immediate clicks of the tour. `shop/payment` page was rendered faster than the update cart rpc (`shop/cart/update_json`) was processed. Cart update resets the delivery method on the order causing the validation error. That is why the tour is split in 2 separate functional parts. Forward-Port-Of: odoo/odoo#167838 Forward-Port-Of: odoo/odoo#166670
**Current behavior before PR:** if a partner is a member of any channel (eg, whatsapp channel) it will be displayed in the command palette even if he does not have any associated user.which will cause issues as you can not chat with partner who do not have any dedicated user. **Desired behavior after PR is merged:** partners with no dedicated users will not be displayed in the command palette to chat with when you enter @. Task-3815150 --- I confirm I have signed the CLA and rea
Original PR description
**Current behavior before PR:** if a partner is a member of any channel (eg, whatsapp channel) it will be displayed in the command palette even if he does not have any associated user.which will cause issues as you can not chat with partner who do not have any dedicated user. **Desired behavior after PR is merged:** partners with no dedicated users will not be displayed in the command palette to chat with when you enter @. Task-3815150 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#166610 Forward-Port-Of: odoo/odoo#159239
Problem: Product with quantity less than 0.5 can't be refunded Steps to reproduce: - Install "Point of Sale" and "Sales" apps - Go to Sales settings and enable "Units of Measure" - Create a product and set an UoM (eg. kg) - Go to the shop, sell 0.4 units of the product - Refund the last order - You won't be able to refund the product Cause: Compare if the quantity is zero with a "decimal.precision" as precision which is interpreted as a precision of zero. Solution: Use the digi
Original PR description
Problem: Product with quantity less than 0.5 can't be refunded Steps to reproduce: - Install "Point of Sale" and "Sales" apps - Go to Sales settings and enable "Units of Measure" - Create a product and set an UoM (eg. kg) - Go to the shop, sell 0.4 units of the product - Refund the last order - You won't be able to refund the product Cause: Compare if the quantity is zero with a "decimal.precision" as precision which is interpreted as a precision of zero. Solution: Use the digits of "decimal.precision" as precision opw-3945427 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168349 Forward-Port-Of: odoo/odoo#167336
### Issue: When in firm mode, it is possible to change manually the name of an invoice, so it is possible to change its sequence number when the invoice is in draft. If the invoice sequence is more than 1, it is impossible to change the journal afterward. The client need to reset the name to nothing, change the journal and then rechange the name if he wants to change the journal. The same thing happens with Vendor Bills when the firm setting is activated. ### Steps to reproduce: - In Set
Original PR description
### Issue: When in firm mode, it is possible to change manually the name of an invoice, so it is possible to change its sequence number when the invoice is in draft. If the invoice sequence is more…
### Issue: When in firm mode, it is possible to change manually the name of an invoice, so it is possible to change its sequence number when the invoice is in draft. If the invoice sequence is more than 1, it is impossible to change the journal afterward. The client need to reset the name to nothing, change the journal and then rechange the name if he wants to change the journal. The same thing happens with Vendor Bills when the firm setting is activated. ### Steps to reproduce: - In Settings > Accounting > 'Accounting Firms Mode' select "Customer Invoices and Vendor Bills" - In Accounting > Customers > Invoices create a new Invoice - Choose a name, for example 'INV234' and a journal - Save the record - Change the journal - When saving a popup indicates it is impossible to change the journal when a sequence number is assigned ### Cause: When not in firm mode the invoice can't be filled (displays as Draft) and will be generated from the previous invoice name (In fact the user can only modify the name of the first invoice created in the journal, not the next ones). With the firm mode activated, the user can always modify the name of the draft invoice, giving it a sequence number. Then when changing the journal, it is blocked because the user is not supposed to change the journal of an invoice with a sequence number greater than 1. The check: https://github.com/odoo/odoo/blame/16.0/addons/account/models/account_move.py#L2303 ### Solution: Modify the condition of the UserError so that it is not triggered when the 'Firm Mode' is active. opw-3925402 Forward-Port-Of: odoo/odoo#168319
## Description As an internal user one has access to many timesheets as if from the backend. If the group by option of the portal view `/my/timesheets` is set to `None`, on a large database with millions of timesheets, the computation for the aggregate of the `unit_amount` is really slow, and it faces an internal limitation of the ORM when the `mapped` hitting fields out of cache. The code path used to fetch the missing records `expands_ids` has a bad space complexity and with millions of reco
Original PR description
## Description As an internal user one has access to many timesheets as if from the backend. If the group by option of the portal view `/my/timesheets` is set to `None`, on a large database with millions of timesheets, the computation for the aggregate of the `unit_amount` is really slow, and it faces an internal limitation of the ORM when the `mapped` hitting fields out of cache. The code path used to fetch the missing records `expands_ids` has a bad space complexity and with millions of records, this leads to an Memory Error (OOM). ## Benchmark On a database with over 4+M of timesheets matching the domain: | | Before | After | |--------|-----------|-------| | Timing | N/A (OOM) | 0.7s | ## Reference task-3977971 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168549
Steps: - Install Ecom. - Buy a product without login and set different address for billing and shipping. Issue: - SO email sent to both billing and shipping emails it should only be sent to billing (main address). Cause: - In Ecom address controller it set both shipping and billing partner record to follower of SO and because of that SO sent to both emails. Fix: - Only set main address partner to follower of SO so it'll only send email to Customer's main email like it do for normal
Original PR description
Steps: - Install Ecom. - Buy a product without login and set different address for billing and shipping. Issue: - SO email sent to both billing and shipping emails it should only be sent to billing (main address). Cause: - In Ecom address controller it set both shipping and billing partner record to follower of SO and because of that SO sent to both emails. Fix: - Only set main address partner to follower of SO so it'll only send email to Customer's main email like it do for normal Sales flow. opw-3714686 Forward-Port-Of: odoo/odoo#168259
Steps: - Create a quotation template with 2+ products and optional products. - Create a new quotation using the template. - Add an optional product from the template. Issue: - Optional product is not added at the end of the quotation. Cause: - Optional product sequence defaults to 10 instead of continuing the sequence. Fix: - Adjust the sequence of added optional products in add_order_button to be the max sequence + 1. opw-3932966 I confirm I have signed the CLA and read the P
Original PR description
Steps: - Create a quotation template with 2+ products and optional products. - Create a new quotation using the template. - Add an optional product from the template. Issue: - Optional product is not added at the end of the quotation. Cause: - Optional product sequence defaults to 10 instead of continuing the sequence. Fix: - Adjust the sequence of added optional products in add_order_button to be the max sequence + 1. opw-3932966 I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168311
We recently renamed `o-sidePanelButton` to `o-button` in the library but did not change it inside Odoo. 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#144139
Original PR description
We recently renamed `o-sidePanelButton` to `o-button` in the library but did not change it inside Odoo. 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#144139
Issue: ====== Colorpicker disappears randomly when the selection is in the end column of the table. Steps to reptoduce the issue: ============================= - Go to notes - Add a table - Fill the first cell of the last column until the end - Select some content of the end of the text (we need the toolbar to have some part ouside the editable) - Try to change the color of the text/background - The toolbar disapears - You may need to do this multiple times to get the issue and
Original PR description
Issue: ====== Colorpicker disappears randomly when the selection is in the end column of the table. Steps to reptoduce the issue: ============================= - Go to notes - Add a table - Fill the…
Issue: ====== Colorpicker disappears randomly when the selection is in the end column of the table. Steps to reptoduce the issue: ============================= - Go to notes - Add a table - Fill the first cell of the last column until the end - Select some content of the end of the text (we need the toolbar to have some part ouside the editable) - Try to change the color of the text/background - The toolbar disapears - You may need to do this multiple times to get the issue and make sure to go to the toolbar by sliding the cursor over the visible right edge of the table first Origin of the issue: ==================== The right edge of the table is at the end of the editable so passing by it will trigger `_onMouseMove` which will detect that we are hovering on the td border of the table so it will add the class `o_col_resize` or `o_row_resize` to the editable. In `_updateToolbar` we check if we have one of those mentioned classes we don't show the toolbar so we hide it. That's why when hovering on a color in the colorpicker it will disappear. Note: The issue isn't always reproduceable because if we go so fast or so slow the hovering may not get detected or even get detected and then removed. Solution: ========= When we leave the editable, we toggle the resizeing classes if we are not in resizing state. opw-3950584 Forward-Port-Of: odoo/odoo#167480
PURPOSE Fix various issues related to automatic source creation and naming involving auto increment to avoid uniqueness constraint issues. Notably * avoid always incrementing (e.g. same name should not increment); * do not fail to start counters at 0 when possible; * improve write / batch bad support; * correctly check uniqueness in utm.source.mixin currently done on wrong model; * fill holes in counter sequence instead of continuing above higher found counter;
Original PR description
PURPOSE
Fix various issues related to automatic source creation and naming involving
auto increment to avoid uniqueness constraint issues.
Notably
* avoid always incrementing (e.g. same name should not increment);
* do not fail to start counters at 0 when possible;
* improve write / batch bad support;
* correctly check uniqueness in utm.source.mixin currently done on wrong
model;
* fill holes in counter sequence instead of continuing above higher found
counter;
See sub commits for more details.
LINKS
Task-3874538 (odoo/odoo#162229) Do not create endless copies
Task-3837272 (odoo/odoo#159699) Incorrect UTM source enumeration
Forward-Port-Of: odoo/odoo#168692
Forward-Port-Of: odoo/odoo#164287Issue: ------ The use case in which certain employees, who work part-time over several days (and not part-time with full days with one or more days off), want to take leaves distributed via allocations given in days is unfortunately not taken into account. For example: - monday morning: duration = 0.4 - monday afternoon: duration = 0.4 allocation duration = round(0.8 * 16) / 16 = round(12.8) / 16 = 13 / 16 = 0.8125 ~= 0.81 Note: It's strange to round up to the sixteenth of an 8-hou
Original PR description
Issue: ------ The use case in which certain employees, who work part-time over several days (and not part-time with full days with one or more days off), want to take leaves distributed via allocations given in days is unfortunately not taken into account. For example: - monday morning: duration = 0.4 - monday afternoon: duration = 0.4 allocation duration = round(0.8 * 16) / 16 = round(12.8) / 16 = 13 / 16 = 0.8125 ~= 0.81 Note: It's strange to round up to the sixteenth of an 8-hour day. It makes sense to have half-hour intervals, but it is does not work correctly with calendars that differ from the standard 8-hour calendar. opw-3957459 Forward-Port-Of: odoo/odoo#168517
Suppose 2 lines of 21.53 having: t1: fixed tax of 1, incl in price, include base amount t2: 21% price included tax The price_subtotal is computed as 21.53 / 1.21 - 1 = 16.79. So the untaxed amount of the invoice is 16.79 * 2 = 33.58. However, 33.59 is displayed on the invoice tax_totals. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168501
Original PR description
Suppose 2 lines of 21.53 having: t1: fixed tax of 1, incl in price, include base amount t2: 21% price included tax The price_subtotal is computed as 21.53 / 1.21 - 1 = 16.79. So the untaxed amount of the invoice is 16.79 * 2 = 33.58. However, 33.59 is displayed on the invoice tax_totals. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168501
Steps to reproduce: ------------- - Install project_sale_expenses and timesheet_grid - Create a new product - Can be Expensed. - Re-Invoice Expenses set to Sales price - Set sales price and cost to 957 - Create a project(service type) - Create a sale order with the service type product and confirm - Go to the expense App - Create a expense: - Choose a category (the product with Expensed). - Customer to Reinvoice: Select the above sale order. - Expense posted and
Original PR description
Steps to reproduce: ------------- - Install project_sale_expenses and timesheet_grid - Create a new product - Can be Expensed. - Re-Invoice Expenses set to Sales price - Set sales price and cost to…
Steps to reproduce:
-------------
- Install project_sale_expenses and timesheet_grid
- Create a new product
- Can be Expensed.
- Re-Invoice Expenses set to Sales price
- Set sales price and cost to 957
- Create a project(service type)
- Create a sale order with the service type product
and confirm
- Go to the expense App
- Create a expense:
- Choose a category (the product with Expensed).
- Customer to Reinvoice: Select the above sale order.
- Expense posted and approved
- Go to project and open project update
- Check the margin percentage to bill.
Issue:
-------------
Sometimes, the margin percentage of the 'to bill' item becomes unexpectedly
incorrect.
Cause:
-------------
In the _get_expenses_profitability_items function of project_sale_expense,
rounding during currency conversion may lead to minor variations
(e.g., 832.17 to 832.1700000000001)for some values, not all. These differences
accumulate when subtracting untaxed amounts from amount_to_bill, resulting
in a residual value (e.g., 1.1368683772161603e-13) instead of zero, causing
unexpected margin percentages.
Solution :
----------------
The _convert method will not round the value since we passed the round=False in the _convert method.
task-3706741
Forward-Port-Of: odoo/odoo#168156
Forward-Port-Of: odoo/odoo#153620With the update of ace to 1.32.3, the lib is formatting her cells by getting them with hardcoded position in a array (here: 0, 1 and 2). On our side we are adding our o_info as first element, so the lib returns a traceback because her elements are shifted. After this commit, our info node is added after the lib nodes to not shift the all bunch. runbot issue 55085 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168
Original PR description
With the update of ace to 1.32.3, the lib is formatting her cells by getting them with hardcoded position in a array (here: 0, 1 and 2). On our side we are adding our o_info as first element, so the lib returns a traceback because her elements are shifted. After this commit, our info node is added after the lib nodes to not shift the all bunch. runbot issue 55085 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168264
Since Babel issue 621 [0] searching the week number of a date alongside with the year can lead to a wrong year in the result. e.g.: `2023-01-01` gives `W1 2022` Before the present commit, the tests were surprisingly expecting the wrong result. An attempt was made [1] to fix the upstream issue but was never merged. In the meanwhile, Debian reverted the Babel issue 621 [2] in their package. It means that our test would fail with the patched Debian package like in Ubuntu Noble or Debian
Original PR description
Since Babel issue 621 [0] searching the week number of a date alongside with the year can lead to a wrong year in the result. e.g.: `2023-01-01` gives `W1 2022` Before the present commit, the tests…
Since Babel issue 621 [0] searching the week number of a date alongside with the year can lead to a wrong year in the result. e.g.: `2023-01-01` gives `W1 2022` Before the present commit, the tests were surprisingly expecting the wrong result. An attempt was made [1] to fix the upstream issue but was never merged. In the meanwhile, Debian reverted the Babel issue 621 [2] in their package. It means that our test would fail with the patched Debian package like in Ubuntu Noble or Debian Bookworm. On the other hand, if we fix the test to expect the correct value, it would fail on unpatched version of the Babel lib. So, this commit mitigate the issue by guessing the expected value even if the result is wrong. [0]: https://github.com/python-babel/babel/pull/621 [1]: https://github.com/python-babel/babel/pull/887 [2]: https://sources.debian.org/patches/python-babel/2.10.3-1/ For reference (from @Xavier-Do ) Pip version and Jammy ```python In [1]import babel.dates In [2]: import datetime In [3]: babel.dates.format_date(datetime.datetime(2023, 1, 1), "EEE w YYYY", "fr_BE") Out[3]: 'dim. 52 2022' In [4]: babel.dates.format_date(datetime.datetime(2023, 1, 1), "EEE w YYYY", "en_US") Out[4]: 'Sun 1 2022' ``` It looks like the week year used is actually not localized, adding a cornercase on Sunday Noble version ```python In [1]import babel.dates In [2]: import datetime In [3]: babel.dates.format_date(datetime.datetime(2023, 1, 1), "EEE w YYYY", "fr_BE") Out[3]: 'dim. 52 2022' In [4]: babel.dates.format_date(datetime.datetime(2023, 1, 1), "EEE w YYYY", "en_US") Out[4]: 'Sun 1 2023' ``` Forward-Port-Of: odoo/odoo#168132
Small fix on commit 71ab15e4 to remove the `required` attribute on `currency_field` in the form view, which makes it impossible to save the form if the field is not set and editing something unrelated on a monetary field, for ex. the field label or the translations. The checks in the constraint `_check_currency_field()` added in the same commit should be enough to ensure the `currency_field` is set as needed. Impacted branches: `17.0` and `master` Steps to reproduce: 1. Go to the
Original PR description
Small fix on commit 71ab15e4 to remove the `required` attribute on `currency_field` in the form view, which makes it impossible to save the form if the field is not set and editing something…
Small fix on commit 71ab15e4 to remove the `required` attribute on `currency_field` in the form view, which makes it impossible to save the form if the field is not set and editing something unrelated on a monetary field, for ex. the field label or the translations. The checks in the constraint `_check_currency_field()` added in the same commit should be enough to ensure the `currency_field` is set as needed. Impacted branches: `17.0` and `master` Steps to reproduce: 1. Go to the Technical menu -> Fields and select a monetary type field 2. Try to update the Field Label or any field translation Current behavior: The editing is blocked by the required 'Currency field'. Expected behavior: Allow editing the form view or the related translations. 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#168504
prior this PR, when a user selects an option from the HSN autocomplete widget using the keyboard, the selected value is not reflected in the input field. Technical Reason: The `onSelect()` method in the HSN autocomplete widget calls `this.props.record.update()`, followed by a call to `commitChanges()` in `input_field_hook.js` due to the `keydown` event. Consequently, the update method is called twice: first with the selected option value and then with the user's typed input value. This
Original PR description
prior this PR, when a user selects an option from the HSN autocomplete widget using the keyboard, the selected value is not reflected in the input field. Technical Reason: The `onSelect()` method in the HSN autocomplete widget calls `this.props.record.update()`, followed by a call to `commitChanges()` in `input_field_hook.js` due to the `keydown` event. Consequently, the update method is called twice: first with the selected option value and then with the user's typed input value. This sequence results in the input field displaying the typed value instead of the selected option. With this PR, selecting an option from the HSN autocomplete widget using the keyboard correctly updates the input field with the selected value. task-3961406 Forward-Port-Of: odoo/odoo#167501
Currently, an error is generated when run 'Mail: Fetchmail Service' scheduled action. Step to produce: - Install the 'l10n_cl_edi' module. - And manually trigger the 'Mail: Fetchmail Service' scheduled action. Stacktrace ``` TypeError: FetchmailServer.fetch_mail() got an unexpected keyword argument 'raise_exception' File "odoo/tools/safe_eval.py", line 383, in safe_eval return unsafe_eval(c, globals_dict, locals_dict) File "ir.actions.server(128,)", line 1, in <module>
Original PR description
Currently, an error is generated when run 'Mail: Fetchmail Service' scheduled action. Step to produce: - Install the 'l10n_cl_edi' module. - And manually trigger the 'Mail: Fetchmail Service'…
Currently, an error is generated when run 'Mail: Fetchmail Service' scheduled action.
Step to produce:
- Install the 'l10n_cl_edi' module.
- And manually trigger the 'Mail: Fetchmail Service' scheduled action.
Stacktrace
```
TypeError: FetchmailServer.fetch_mail() got an unexpected keyword argument 'raise_exception'
File "odoo/tools/safe_eval.py", line 383, in safe_eval
return unsafe_eval(c, globals_dict, locals_dict)
File "ir.actions.server(128,)", line 1, in <module>
File "addons/mail/models/fetchmail.py", line 186, in _fetch_mails
return self.search([('state', '=', 'done'), ('server_type', '!=', 'local')]).fetch_mail(raise_exception=False)
ValueError: <class 'TypeError'>: "FetchmailServer.fetch_mail() got an unexpected keyword argument 'raise_exception'" while evaluating
'model._fetch_mails()'
File "odoo/addons/base/models/ir_cron.py", line 388, in _callback
self.env['ir.actions.server'].browse(server_action_id).run()
File "home/odoo/src/custom/trial/saas_trial/models/sentry.py", line 33, in run
res = super().run()
File "odoo/addons/base/models/ir_actions.py", line 972, in run
res = runner(run_self, eval_context=eval_context)
File "odoo/addons/base/models/ir_actions.py", line 802, in _run_action_code_multi
safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self)) # nocopy allows to return 'action'
File "odoo/tools/safe_eval.py", line 397, in safe_eval
raise ValueError('%s: "%s" while evaluating\n%r' % (ustr(type(e)), ustr(e), expr))
```
The issue arises during the execution of the 'Mail: Fetchmail Service' scheduled action because the 'fetch_mail()' method call without argument, as we can see at [1], And this argument is added from this PR https://github.com/odoo/odoo/pull/152637.
link [1]: https://github.com/odoo/enterprise/blob/ba99dd4c236353c43376210a9aabcb0af5bd0299/l10n_cl_edi/models/fetchmail_server.py#L51
To resolve the issue, Add a default keyword argument at [2] to prevent an issue.
link [2]: https://github.com/odoo/enterprise/blob/ba99dd4c236353c43376210a9aabcb0af5bd0299/l10n_cl_edi/models/fetchmail_server.py#L51
sentry-5284073241
Forward-Port-Of: odoo/enterprise#61836Document fields in the salary configurator now check for existing files on the current contract. Fields are set to required only if no associated file is detected on the contract, otherwise we just show the already existed file. Task-3468245 Forward-Port-Of: odoo/enterprise#55641
Original PR description
Document fields in the salary configurator now check for existing files on the current contract. Fields are set to required only if no associated file is detected on the contract, otherwise we just show the already existed file. Task-3468245 Forward-Port-Of: odoo/enterprise#55641
Currently, when a user has 2 pos preparation displays, one set on some categories the other on all, if you add on the order a product that is not in the categories of the first display, the order will show no changes. Steps to reproduce: ------------------- * Go to the **Kitchen display** App * Have two displays created * Display 1: `Product Categories`: Food * Display 2: `Product Categories`: All (Leave blank) * Go to the **Point of Sale** App * Open restaurant session * Select a
Original PR description
Currently, when a user has 2 pos preparation displays, one set on some categories the other on all, if you add on the order a product that is not in the categories of the first display, the order…
Currently, when a user has 2 pos preparation displays, one set on some categories the other on all, if you add on the order a product that is not in the categories of the first display, the order will show no changes. Steps to reproduce: ------------------- * Go to the **Kitchen display** App * Have two displays created * Display 1: `Product Categories`: Food * Display 2: `Product Categories`: All (Leave blank) * Go to the **Point of Sale** App * Open restaurant session * Select a table and add a drink to the order > Observations: The order button is not highlighted. Why the fix: ------------ Before the refactoring, the categories loaded for each display would use the function `_get_pos_category_ids()`. This function would return a list of all possible categories (ex: `[1, 2, 3, 4, 5]`) when the setting was set on all categories. After the refactoring, the categories loaded correspond to the setting of the display. Thus, in the case of a display on all categories it would return `[]`. At the end, we would end up concatenating stuff like `([5], [])` instead of `([5], [1, 2, 3, 4, 5])`. Only displays with categories set would be taken into account. opw-3923383 Forward-Port-Of: odoo/enterprise#63315
In the reports, the groups called '(No Group)' fold and unfold together. ### Steps to reproduce: - in Accounting app go in Configuration > Account Groups and create an account group for the current company - Go in Reporting > Profit and Loss - All '(No Group)' lines fold and unfold together ### Cause: Line ids are duplicate for (No Group) lines: '\~account.group\~'. The hierarchy is ignored for these ids, there is no reference to the parent line. ### Solution: Integrate the parent
Original PR description
In the reports, the groups called '(No Group)' fold and unfold together. ### Steps to reproduce: - in Accounting app go in Configuration > Account Groups and create an account group for the current company - Go in Reporting > Profit and Loss - All '(No Group)' lines fold and unfold together ### Cause: Line ids are duplicate for (No Group) lines: '\~account.group\~'. The hierarchy is ignored for these ids, there is no reference to the parent line. ### Solution: Integrate the parent line in the ids to take the hierarchy into consideration. ### opw-3885400 Forward-Port-Of: odoo/enterprise#63804 Forward-Port-Of: odoo/enterprise#62647
We recently renamed `o-sidePanelButton` to `o-button` in the library but did not change it inside Odoo. Forward-Port-Of: odoo/enterprise#51744
Original PR description
We recently renamed `o-sidePanelButton` to `o-button` in the library but did not change it inside Odoo. Forward-Port-Of: odoo/enterprise#51744
With this commit whenever utm.source name is written it will check its uniquness (generating a unique name if necessary). [Reproduce] - Install marketing_automation - Have Campaign with a Template: - Access the Campaign's Template and go to the Settings tab. - Note down the NAME of the `utm.source` (found in the Advanced section, under the field "Name"). - Delete this template (which will also delete associated `mailing.mailing` records.) - Create new template (by returning to the Campaign
Original PR description
With this commit whenever utm.source name is written it will check its uniquness (generating a unique name if necessary). [Reproduce] - Install marketing_automation - Have Campaign with a Template: -…
With this commit whenever utm.source name is written it will check its uniquness (generating a unique name if necessary). [Reproduce] - Install marketing_automation - Have Campaign with a Template: - Access the Campaign's Template and go to the Settings tab. - Note down the NAME of the `utm.source` (found in the Advanced section, under the field "Name"). - Delete this template (which will also delete associated `mailing.mailing` records.) - Create new template (by returning to the Campaign form, opening an activity, creating template) - Open the Campaign's Template: - Disable read-only on the Name field in Advanced section (modify the `mailing.mailing.form` view). - Change its name to the previously noted `utm.source` NAME. - Save -> BUG: Trackback "The name must be unique" [Why this bug happens?] When you delete a template (`mailing.mailing`) related to a `utm.source`, the `utm.source` will still exist. Then, when attempting to change the `utm.source` name, the system is supposed to detect if the name already exists and generate a new unique name if necessary. However, due to the mechanism utilized in the function (ref.1), which searches for existing names based on existing templates (`mailing.mailing`), which you have deleted, the existing `utm.source` NAME won't be found. Consequently, the function mistakenly believes the name is unique and doesn't generate a new name, leading to the encountered error. (ref.1) `UtmMixin._get_unique_names` https://github.com/odoo/odoo/blob/205caa3d6539187009a8b8bbd1557e75fe045ff3/addons/utm/models/utm_mixin.py#L77 opw-3835704 Forward-Port-Of: odoo/enterprise#64240 Forward-Port-Of: odoo/enterprise#63360
For Greece, the ISO 3166 code (GR) and European Union code (EL) is not the same. Since this is a european report, we need the European Union code. opw-3890635 Forward-Port-Of: odoo/enterprise#64151 Forward-Port-Of: odoo/enterprise#64087
Original PR description
For Greece, the ISO 3166 code (GR) and European Union code (EL) is not the same. Since this is a european report, we need the European Union code. opw-3890635 Forward-Port-Of: odoo/enterprise#64151 Forward-Port-Of: odoo/enterprise#64087
User using the filters in the bank reco widget want to be able to save them for next time. In the implementation of the search view of the kanban, we only added the filter. This commit will add the favorite section. task-3871505 Forward-Port-Of: odoo/enterprise#60860
Original PR description
User using the filters in the bank reco widget want to be able to save them for next time. In the implementation of the search view of the kanban, we only added the filter. This commit will add the favorite section. task-3871505 Forward-Port-Of: odoo/enterprise#60860
Purpose ------- Let's say a user works a lot on a spreadsheet and performs a lot of heavy operations generating very large revisions (with lots of commands), such as copy-pasting a very large zone (there's one UPDATE_CELL command per copy-pas cell) If the user does multiple such very large revision, one after the other, every thing is fine client side. The next time the spreadsheet is open though: the server needs to load all those revisions to send them to the client. The revisions ca
Original PR description
Purpose ------- Let's say a user works a lot on a spreadsheet and performs a lot of heavy operations generating very large revisions (with lots of commands), such as copy-pasting a very large zone…
Purpose ------- Let's say a user works a lot on a spreadsheet and performs a lot of heavy operations generating very large revisions (with lots of commands), such as copy-pasting a very large zone (there's one UPDATE_CELL command per copy-pas cell) If the user does multiple such very large revision, one after the other, every thing is fine client side. The next time the spreadsheet is open though: the server needs to load all those revisions to send them to the client. The revisions can be so large it can blow up the server memory limit. The spreadsheet cannot be open anymore. Solution -------- In this commit, we increase the number of snapshot by snapshotting more often. Previously, we used to snapshot when opening a spreadsheet and no activity was done in the spreadsheet in the last 12 hours. It's reduced to 2 hours in this commit. The reason we don't want to snapshot too often is that it kills the local history (CTRL+Z) of connected users. Task: 3940465 Forward-Port-Of: odoo/enterprise#63741
Currently, a traceback with `KeyError: 'emisor'` occurs when attempting to update payments after creating and signing a PPD and external trade invoice, and registering a payment. opw-3904458 Forward-Port-Of: odoo/enterprise#62976
Original PR description
Currently, a traceback with `KeyError: 'emisor'` occurs when attempting to update payments after creating and signing a PPD and external trade invoice, and registering a payment. opw-3904458 Forward-Port-Of: odoo/enterprise#62976
The computation to autocomplete pivot group values was only supporting string-like group values. If a user were to write some random input, like a number, the code would crash. How to reproduce: - insert a pivot from the default crm pivot view on runbot - In B3, replace the content to =PIVOT.VALUE(1,"expected_revenue","create_date:month","04/2024",5,) -> it simply broke the domain - try to edit the cell, put your cursor between the 5 and the comma task-3976271 Forward-Port-Of: odoo/en
Original PR description
The computation to autocomplete pivot group values was only supporting string-like group values. If a user were to write some random input, like a number, the code would crash. How to reproduce: - insert a pivot from the default crm pivot view on runbot - In B3, replace the content to =PIVOT.VALUE(1,"expected_revenue","create_date:month","04/2024",5,) -> it simply broke the domain - try to edit the cell, put your cursor between the 5 and the comma task-3976271 Forward-Port-Of: odoo/enterprise#64067
When a user in US/Pacific generates a file after 17:00 the File Creation Date field incorrectly has tomorrow's date. To fix it use the localized timestamp for the File Creation Date as well. opw-3942095 Forward-Port-Of: odoo/enterprise#64188 Forward-Port-Of: odoo/enterprise#64172
Original PR description
When a user in US/Pacific generates a file after 17:00 the File Creation Date field incorrectly has tomorrow's date. To fix it use the localized timestamp for the File Creation Date as well. opw-3942095 Forward-Port-Of: odoo/enterprise#64188 Forward-Port-Of: odoo/enterprise#64172