Friday, July 12, 2024
16 changes · saas-17.2
Resolved issues and error corrections
Opening cell comment threads now waits properly for messages to load before continuing. This reduces the chance of inconsistent behavior in automated checks and helps keep the spreadsheet experience stable, even though no customer-facing issue was observed.
Original PR description
When opening a message thread on cells, the request fetching the messages is not properly awaited. We didn't find any actual issue with this (in prod or in tests), but this is the kind of things leading to non-deterministic tests. So we prefer to fix it.
A problem in the disallowed expenses reporting query has been corrected. This helps prevent reporting errors in accounting flows that include fleet-related expense data, improving reliability of test and reporting results.
Original PR description
The aim of this commit is to fix an issue in the sql query generated by the `account_disallowed_expenses` module that was covered by the `account_disallowed_expenses_fleet` during the runbot testing. runbot-71011
Miscellaneous changes
Steps to reproduce ================== - Install web_studio,calendar - Go to calendar - Open studio => In the sidebar, Quick Create is disabled but should be enabled Toggling it does nothing Cause of the issue ================== The value was incorrectly read from `archInfo.hasQuickCreate` Solution ======== `hasQuickCreate` -> `quickCreate` This shows a second issue: Now that it's enabled, we can't disable it. This is because we remove the attribute instead of se
Original PR description
Steps to reproduce ================== - Install web_studio,calendar - Go to calendar - Open studio => In the sidebar, Quick Create is disabled but should be enabled Toggling it does nothing Cause of the issue ================== The value was incorrectly read from `archInfo.hasQuickCreate` Solution ======== `hasQuickCreate` -> `quickCreate` This shows a second issue: Now that it's enabled, we can't disable it. This is because we remove the attribute instead of setting it to false If we don't pass the attribute, it will keep it's default value (true) https://github.com/odoo/odoo/blob/2afce223268c4ee1ac3c98a6108b1390be82716b/addons/web/static/src/views/calendar/calendar_arch_parser.js#L34 opw-4023026 Forward-Port-Of: odoo/enterprise#66253
The aim of this commit is fixing the filtering of transactions when transactions have an empty identifier. Even if it's shouldn't be the case, it happens that providers return transactions without an identifier. In this case, it will always importe the first transaction and not the others as they have a similar id (an empty string). Now, we ignore in the filter these transactions. opw-4014171 Forward-Port-Of: odoo/enterprise#66473
Original PR description
The aim of this commit is fixing the filtering of transactions when transactions have an empty identifier. Even if it's shouldn't be the case, it happens that providers return transactions without an identifier. In this case, it will always importe the first transaction and not the others as they have a similar id (an empty string). Now, we ignore in the filter these transactions. opw-4014171 Forward-Port-Of: odoo/enterprise#66473
**Current behavior:** Having a picking whose operation type has the `create_backorder='ask'` setting, if a barcode line is modified using the edit button rather than actually scanning, the confirmation dialog for the backorder will be skipped. **Expected behavior:** When the 'ask' option is used, the dialog should always be displayed. **Steps to reproduce:** 1. Create a picking with a demand of 2.0 for some product, ensure the picking's op type has the 'ask' options set for
Original PR description
**Current behavior:** Having a picking whose operation type has the `create_backorder='ask'` setting, if a barcode line is modified using the edit button rather than actually scanning, the…
**Current behavior:**
Having a picking whose operation type has the
`create_backorder='ask'` setting, if a barcode line is modified
using the edit button rather than actually scanning, the
confirmation dialog for the backorder will be skipped.
**Expected behavior:**
When the 'ask' option is used, the dialog should always be
displayed.
**Steps to reproduce:**
1. Create a picking with a demand of 2.0 for some product,
ensure the picking's op type has the 'ask' options set for
backorder creation (it's the default option) -> confirm the
picking
2. In Barcode, open the picking and add 1.0 quantity to the
barcode line
3. Save the edit form, then validate the picking -> no dialog
**Cause of the issue:**
Compared the actually scanning product, modifying the line via
the form actually updates the record data. This causes the
corresponding `StockMoveLine` to get marked as `picked=True`
(via `_inverse_qty_done()` in `stock_barcode::StockMoveLine`.
The end result is `!this.lineIsReserved(line)` evaluates to
True in the Barcode client when checking whether to do
the backorder dialog which means we skip it.
**Fix:**
Remove the `lineIsReserved()` check, only look at whether
the line quantity is positive, non-zero.
*Note: the behavior between the two flows (scans vs. form edits)
diverges when the user reloads the page, however, this was also
the case prior to this change.*
opw-3972478
Forward-Port-Of: odoo/enterprise#65860
Forward-Port-Of: odoo/enterprise#64318Steps to reproduce ------------------- - create a commission plan with: product category: "All" rate: R capped: True max commission: >>> - create a partner level with the created commission plan - create a partner with the created partner level - create a product in the correct category with price P - create a quotation template with the created product - create a sale order with the partner as referrer - add the quotation template (the product is added automatically)
Original PR description
Steps to reproduce ------------------- - create a commission plan with: product category: "All" rate: R capped: True max commission: >>> - create a partner level with the created commission plan -…
Steps to reproduce
-------------------
- create a commission plan with:
product category: "All"
rate: R capped: True
max commission: >>>
- create a partner level with the created commission plan
- create a partner with the created partner level
- create a product in the correct category with price P
- create a quotation template with the created product
- create a sale order with the partner as referrer
- add the quotation template (the product is added automatically)
- confirm
- create the invoice, confirm it and register the payment
At this moment, a purchase order is created (the commission) If we repeat these steps with a new sale order,
the amount of the purchase order will increase as expected.
- add a quotation template on the commission plan (in the rules)
- repeat the creation of a sale order.
No commission is added (purchase order line).
Cause:
------
We have no template when calling `_match_rules`.
However, our plan has a default template.
The result is that no rules are found.
Solution:
---------
Fallback on the sale order's template
if it is not a subscription.
opw-3933323
Forward-Port-Of: odoo/enterprise#64884[IMP] l10n_tr: Add tax and tax report translation Add tax and tax report translation in turkish language for the new tr improvements task-id#3924220 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#172713
Original PR description
[IMP] l10n_tr: Add tax and tax report translation Add tax and tax report translation in turkish language for the new tr improvements task-id#3924220 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#172713
Before this commit, the POS loyalty program allowed the partial rewards which was inconsistent with the sale module's behavior. This change aligns the POS module with the sale module's behavior as updated in the following commit: https://github.com/odoo/odoo/commit/5188566444df102561b9d3e58f6671f60c61ffc3 opw-4000589 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#172486 Forward-Port-Of: odoo/odoo#171746
Original PR description
Before this commit, the POS loyalty program allowed the partial rewards which was inconsistent with the sale module's behavior. This change aligns the POS module with the sale module's behavior as updated in the following commit: https://github.com/odoo/odoo/commit/5188566444df102561b9d3e58f6671f60c61ffc3 opw-4000589 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#172486 Forward-Port-Of: odoo/odoo#171746
For records such as blogs, no specific rights exists. Customizations could decide to give access to specific records based on their own rules. They are limited by the fact that the check for edition is not overridable. This commit makes it possible to implement specific checks for restricted editors to edit records from the website builder. Steps to reproduce: - Install `website_blog`. - Setup a restricted editor user. - Override `website._check_user_can_modify` to allow access for a gi
Original PR description
For records such as blogs, no specific rights exists. Customizations could decide to give access to specific records based on their own rules. They are limited by the fact that the check for edition is not overridable. This commit makes it possible to implement specific checks for restricted editors to edit records from the website builder. Steps to reproduce: - Install `website_blog`. - Setup a restricted editor user. - Override `website._check_user_can_modify` to allow access for a given user to a given blog post record. - Edit that blog post with that user from the website builder. => Blog post could not be edited. Forward-Port-Of: odoo/odoo#172385
Previously, seats availability check was not working properly. The check was comparing the availability of each ticket with the global amount of tickets in the registration (all tickets combined). This commit fixes the issue by comparing the availability of each ticket. In addition to that, the commit also adds an error message on the event page so that the user can see the error message when the ticket is not available. TASK-4029299 Forward-Port-Of: odoo/odoo#171614
Original PR description
Previously, seats availability check was not working properly. The check was comparing the availability of each ticket with the global amount of tickets in the registration (all tickets combined). This commit fixes the issue by comparing the availability of each ticket. In addition to that, the commit also adds an error message on the event page so that the user can see the error message when the ticket is not available. TASK-4029299 Forward-Port-Of: odoo/odoo#171614
With the version 3.3, the 3bl tax tag has been removed and so the 3.2 script is throwing an error since that tag doesn't exist anymore The fix is that we remove the 3.2 script and change 3b tag to 3bg or 3bs in the 3.3 script along with the replacement of the 3bl tag Task: 4032184 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#172443 Forward-Port-Of: odoo/odoo#171737
Original PR description
With the version 3.3, the 3bl tax tag has been removed and so the 3.2 script is throwing an error since that tag doesn't exist anymore The fix is that we remove the 3.2 script and change 3b tag to 3bg or 3bs in the 3.3 script along with the replacement of the 3bl tag Task: 4032184 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#172443 Forward-Port-Of: odoo/odoo#171737
To reproduce the bug: 1- Enable margins in project app 2- Create a billable project 3- Affect to the project billable hours or a sale order 4- go in project update -> new -> profitability section We can see that the profitability is empty. This is because of a condition that checked if a analitic_line was existant in analytic_account_id. Witch is not needed. The check on analytic_account_id is enough. opw-3992550 Forward-Port-Of: odoo/odoo#172234 Forward-Port-Of: odoo/odoo#169995
Original PR description
To reproduce the bug: 1- Enable margins in project app 2- Create a billable project 3- Affect to the project billable hours or a sale order 4- go in project update -> new -> profitability section We can see that the profitability is empty. This is because of a condition that checked if a analitic_line was existant in analytic_account_id. Witch is not needed. The check on analytic_account_id is enough. opw-3992550 Forward-Port-Of: odoo/odoo#172234 Forward-Port-Of: odoo/odoo#169995
Steps to reproduce: - install documents and inventory - create a Lot/Serial Number which is a number e.g. "89787897894984" - insert the Lot/Serial Number list in a spreadsheet - download the excel file "File > Download" => "89787897894984" is displayed as "8.97879E+13" This issue is present in all versions. But it can only be fixed very easily starting from 17.1 where we introduced the plain text format "@". The report ticket is for saas-17.2 (according to James (jale)), so we go for
Original PR description
Steps to reproduce: - install documents and inventory - create a Lot/Serial Number which is a number e.g. "89787897894984" - insert the Lot/Serial Number list in a spreadsheet - download the excel file "File > Download" => "89787897894984" is displayed as "8.97879E+13" This issue is present in all versions. But it can only be fixed very easily starting from 17.1 where we introduced the plain text format "@". The report ticket is for saas-17.2 (according to James (jale)), so we go for the easy fix and don't backport in all version. opw-4034386 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#172901
Issue: ====== Traceback occurs when you select more than one table cell Steps to reproduce the issue: ============================= - Go to to-do - Add a table 1row x 3cols - Add some content with somewhat big length for example "abcde" in the first cell - Add anything in the second cell - Start the selection from the last character of the first cell - Move the cursor to add selection from the second cell - Traceback Origin of the issue: ==================== When we have table
Original PR description
Issue: ====== Traceback occurs when you select more than one table cell Steps to reproduce the issue: ============================= - Go to to-do - Add a table 1row x 3cols - Add some content with somewhat big length for example "abcde" in the first cell - Add anything in the second cell - Start the selection from the last character of the first cell - Move the cursor to add selection from the second cell - Traceback Origin of the issue: ==================== When we have table cells selected, the first while loop stops at the `td` element and not the startContainer so we shouldn't enter in the if condition that handles the `br` elements task-4043879 Forward-Port-Of: odoo/odoo#172517
Problem: When the customer invoice journal uses the l10n_sg electronic invoicing and the user creates an invoice, a traceback error will occur. The traceback error details a key error since 'tax_exemption_reason' is not a key in the dict from _get_invoice_line_item_vals. Purpose: Only if the key 'tax_exemption_reason' exists in the dict, then it should get popped. Steps to Reproduce on Runbot: 1. Install l10n_sg 2. Switch to SG Company 3. Go to the “Customer Invoices” Journal and check
Original PR description
Problem: When the customer invoice journal uses the l10n_sg electronic invoicing and the user creates an invoice, a traceback error will occur. The traceback error details a key error since 'tax_exemption_reason' is not a key in the dict from _get_invoice_line_item_vals. Purpose: Only if the key 'tax_exemption_reason' exists in the dict, then it should get popped. Steps to Reproduce on Runbot: 1. Install l10n_sg 2. Switch to SG Company 3. Go to the “Customer Invoices” Journal and check the “SG BIS Billing 3.0” option for the “Electronic Invoicing” field 4. Create an invoice with a product 5. Confirming the invoice will throw the error. opw-3984143 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#172600 Forward-Port-Of: odoo/odoo#171687
This error occurs when we delete the specific ``Resupply Subcontractor on Order`` route and subsequently attempt to replenish the product. Steps to reproduce: - Install the ``stock`` and ``mrp_subcontracting`` module - Inventory > Configuration > Settings > Warehouse > Activate Multi-Step Routes - Go to routes and delete ``Resupply Subcontractor on Order`` - Now go to any product > Click on ``Replenish`` Traceback: ``AttributeError 'NoneType' object has no attribute 'id'`` At [1],
Original PR description
This error occurs when we delete the specific ``Resupply Subcontractor on Order`` route and subsequently attempt to replenish the product. Steps to reproduce: - Install the ``stock`` and…
This error occurs when we delete the specific ``Resupply Subcontractor on Order`` route and subsequently attempt to replenish the product. Steps to reproduce: - Install the ``stock`` and ``mrp_subcontracting`` module - Inventory > Configuration > Settings > Warehouse > Activate Multi-Step Routes - Go to routes and delete ``Resupply Subcontractor on Order`` - Now go to any product > Click on ``Replenish`` Traceback: ``AttributeError 'NoneType' object has no attribute 'id'`` At [1], this error occurs when we try to access an attribute called ``id`` on an object that is actually None. This commit will fix the above error by returning the value of ``domains`` if the route is not present in the ``_get_allowed_route_domain`` method. [1]: https://github.com/odoo/odoo/blob/731766aa03ad4cf14349169faab3957c710bc002/addons/mrp_subcontracting/wizard/product_replenish.py#L13 sentry-5514962307 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#170269