Thursday, May 8, 2025
34 changes · saas-18.1
Resolved issues and error corrections
This fixes an issue that could cause an error when checking the status of Dutch SBR-submitted reports. The status service now uses the correct status description again, helping users receive proper progress information instead of a failure.
Original PR description
Commit baa934898f184b10ae4c5c51e26fabe4e0178a86 updated the body for ongoing process responses when checking the status of a report submitted through SBR. The variable `error_description` it tries to assign is not defined in that scope of the function, resulting in an error. This PR reverts the value assigned to be the status description, as it was prior to the above commit. opw-4775345
Miscellaneous changes
Purpose of the commit: The recipient list overflows when the screen size is increased. This commit resolves the issue by showing the overflowing text on the next line. task-4417552 Forward-Port-Of: odoo/odoo#209058 Forward-Port-Of: odoo/odoo#191880
Original PR description
Purpose of the commit: The recipient list overflows when the screen size is increased. This commit resolves the issue by showing the overflowing text on the next line. task-4417552 Forward-Port-Of: odoo/odoo#209058 Forward-Port-Of: odoo/odoo#191880
Before this commit odoo/odoo@5bb76504425082cfd654a2860350aa94d9782dbd, the update query for UUID deduplication used [cr.split_for_in_conditions()](https://github.com/odoo/odoo/blob/13133b40eb545c4d4f7427c2145b3d57074fa74b/odoo/sql_db.py#L402-L405) to chunk IDs properly for the `WHERE id IN (...)` clause. However, after the mentioned commit, all IDs are passed at once, especially when `fetchmany()` returns up to 1 lac records. This significantly slows down the update query due to large `IN` cl
Original PR description
Before this commit odoo/odoo@5bb76504425082cfd654a2860350aa94d9782dbd, the update query for UUID deduplication used…
Before this commit odoo/odoo@5bb76504425082cfd654a2860350aa94d9782dbd, the update query for UUID deduplication used [cr.split_for_in_conditions()](https://github.com/odoo/odoo/blob/13133b40eb545c4d4f7427c2145b3d57074fa74b/odoo/sql_db.py#L402-L405) to chunk IDs properly for the `WHERE id IN (...)` clause. However, after the mentioned commit, all IDs are passed at once, especially when `fetchmany()` returns up to 1 lac records. This significantly slows down the update query due to large `IN` clauses and memory overhead. To address this, reduce the processing chunk from 1lac to 10k IDs. This reduces update time from over 2 hours to under 10 minutes in practice for recordset shown below: ```sql apan_2760231=> select count(*) from pos_order; count -------- 146885 (1 row) apan_2760231=> select count(*) from pos_order_line; count -------- 378860 (1 row) apan_2760231=> select count(*) from pos_payment; count -------- 184679 (1 row) ``` Logs: Before fix (Almost 3 hrs): ```py 2025-04-17 07:06:31,094 31 INFO db_2760231 odoo.modules.migration: module point_of_sale: Running migration [1.0.2>] post-deduplicate-uuids 2025-04-17 10:08:39,397 31 INFO db_2760231 odoo.addons.base.models.ir_module: module point_of_sale: loading translation file /home/odoo/src/odoo/18.0/addons/point_of_sale/i18n/nl.po for language nl_NL ``` After fix (reduces to 10 mins): ```py 2025-04-17 11:29:44,294 23 INFO apan_2760231_18.0 odoo.modules.migration: module point_of_sale: Running migration [1.0.2>] post-deduplicate-uuids 2025-04-17 11:39:58,582 23 INFO apan_2760231_18.0 odoo.addons.base.models.ir_module: module point_of_sale: loading translation file /home/odoo/src/odoo/18.0/addons/point_of_sale/i18n/nl.po for language nl_NL ``` opw-4734894 upg-2760231 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#206467
Before this commit, when an orderline was removed and the order failed to sync on the first attempt, the deletion command was already discarded. As a result, the order could be synced later with the previously deleted order line still present. Additionally, if a record is removed from another device but the change has not yet been synced, attempting to remove or modify that record can result in a "missing record" error. This commit resolves the issue by checking for the record's existence bef
Original PR description
Before this commit, when an orderline was removed and the order failed to sync on the first attempt, the deletion command was already discarded. As a result, the order could be synced later with the previously deleted order line still present. Additionally, if a record is removed from another device but the change has not yet been synced, attempting to remove or modify that record can result in a "missing record" error. This commit resolves the issue by checking for the record's existence before performing any write operations. opw-4707596 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#206698
Add in missing modules to tx/config where their pots were auto-added by the pot export sync. Note that new pot files that were only for model names (i.e. not user facing) are usually bridge modules with nothing to translate => they weren't added to the config file --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Original PR description
Add in missing modules to tx/config where their pots were auto-added by the pot export sync. Note that new pot files that were only for model names (i.e. not user facing) are usually bridge modules with nothing to translate => they weren't added to the config file --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
- Fix issue where combo price were not recomputed when changing the pricelist of the order. - The issue was due to the fact that in the `pos_order.set_pricelist()` method we were only recopute the combo line that have a `price_type === "original"`, and that the combo line `price_type` was undefined. Now when a adding a combo product to the cart, all of its lines have a `price_type` set to `automatic` initially, and inside `pos_order.set_pricelist()` we now recompute the price of the combo line
Original PR description
- Fix issue where combo price were not recomputed when changing the pricelist of the order. - The issue was due to the fact that in the `pos_order.set_pricelist()` method we were only recopute the combo line that have a `price_type === "original"`, and that the combo line `price_type` was undefined. Now when a adding a combo product to the cart, all of its lines have a `price_type` set to `automatic` initially, and inside `pos_order.set_pricelist()` we now recompute the price of the combo line that have a `price_type === "automatic"`. Steps to reproduct: - Create pricelists and add it to pos config - Open PoS - Add combo product to cart - Change pricelist - => Price is not recomputed based on the pricelist as it should task-id: 4707663 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#204981
Issue ----- For subcontracted services, branch companies don't have taxes on PO lines when it is created by a SO. Steps to reproduce ----- - Install MRP, Sale, Purchase apps - Create a branch company and switch to the branch - In the settings, enable subcontracting - Create a product - Type: service - Add a vendor for the product, with some tax applied - Tick the "Subcontract Service" box - Create & confirm a sale for the product - Open the linked PO -> The PO doesn
Original PR description
Issue
-----
For subcontracted services, branch companies don't have taxes on PO lines when it is created by a SO.
Steps to reproduce
-----
- Install MRP, Sale, Purchase apps
- Create a branch company and switch to the branch
- In the settings, enable subcontracting
- Create a product
- Type: service
- Add a vendor for the product, with some tax applied
- Tick the "Subcontract Service" box
- Create & confirm a sale for the product
- Open the linked PO
-> The PO doesn't have the tax specified on the product page
Cause
-----
The tax is defined in the parent, but when applied to the POL it is matched to the PO's company.
Forward-Port-Of: odoo/odoo#208616Steps to reproduce: 1. Settings > Navigate to Configure Document Layout 2. Under Layout Background, select Custom and upload an image. Issue: Background image was being cut off at the end. The image was not covering the entire div. Solution: Updated the `.o_report_layout_background` CSS to use `background-size: contain` and remove 300px from `background-position` to ensure the image scales proportionally and stays centered. opw : 4727408 Before FIX :  After FIX :  Forward-Port-Of: odoo/odoo#207029
Add the partner's `ref` field to the list of PartyIdentification>ID. task-4720252 Forward-Port-Of: odoo/odoo#206655
Original PR description
Add the partner's `ref` field to the list of PartyIdentification>ID. task-4720252 Forward-Port-Of: odoo/odoo#206655
Steps to reproduce: 1. Go to Settings > Configure your document layout> Select Text as Montserrat 2. Preview Document > open downloaded file Issue: The issue is when printing reports using the ‘Montserrat’ text font with ‘A4’ paper format in the ‘Configure Document Layout’ section of the general settings. The word "Páge" does not align correctly in a single line with "X/X" at the bottom right of the report. However, it prints correctly when using the other fonts. Solution: Applied
Original PR description
Steps to reproduce: 1. Go to Settings > Configure your document layout> Select Text as Montserrat 2. Preview Document > open downloaded file Issue: The issue is when printing reports using the…
Steps to reproduce: 1. Go to Settings > Configure your document layout> Select Text as Montserrat 2. Preview Document > open downloaded file Issue: The issue is when printing reports using the ‘Montserrat’ text font with ‘A4’ paper format in the ‘Configure Document Layout’ section of the general settings. The word "Páge" does not align correctly in a single line with "X/X" at the bottom right of the report. However, it prints correctly when using the other fonts. Solution: Applied Bootstrap's text-nowrap class to prevent pagination text from breaking onto separate lines when using the Montserrat font. This addresses the issue where "<span class="page"/>" and "<span class="topage"/>" components were displaying on different lines in PDF reports. opw-4654332 Before FIX:  After FIX:  Forward-Port-Of: odoo/odoo#205160
Steps to reproduce: - Create a product with two separate 'no-variant' attributes - Set that product as MTO / Manufacture - Create a BoM for that product, with a single component - Set that component as limited to the first 'no-variant' attribute - Create a Sale Order for that product, and select the second 'no-variant' attribute - Confirm the Sale Order Issue: A traceback will be raised, as the given attribute won't be found within the attributes set on the bom. When chekcing if we
Original PR description
Steps to reproduce: - Create a product with two separate 'no-variant' attributes - Set that product as MTO / Manufacture - Create a BoM for that product, with a single component - Set that component as limited to the first 'no-variant' attribute - Create a Sale Order for that product, and select the second 'no-variant' attribute - Confirm the Sale Order Issue: A traceback will be raised, as the given attribute won't be found within the attributes set on the bom. When chekcing if we should skip the bom line, there will be an issue if there's a miss-match between the attributes written on a line and the ones given to the MO. To avoid this, we now directly exclude a line when there's no common attribute between the two, then validate it once at least one match was found. opw-4758951 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#208623
Currently ssl certificates are only generated on odoo.com based on db_uuid and enterprise_code. Since we won't be needing enterprise_code anymore we adapt our code to still recover the ssl certificate and be able to recover and log the new 'error' values sent by odoo.com task-4585446 Related PR: https://github.com/odoo/internal/pull/3425 Forward-Port-Of: odoo/odoo#203834 Forward-Port-Of: odoo/odoo#203328
Original PR description
Currently ssl certificates are only generated on odoo.com based on db_uuid and enterprise_code. Since we won't be needing enterprise_code anymore we adapt our code to still recover the ssl certificate and be able to recover and log the new 'error' values sent by odoo.com task-4585446 Related PR: https://github.com/odoo/internal/pull/3425 Forward-Port-Of: odoo/odoo#203834 Forward-Port-Of: odoo/odoo#203328
The electronic format field should not be displayed in the portal when no option is available for it. Steps to reproduce: ------------------- * (The reported flow was using PoS) * Install the l10n_mx_edi_pos module * Create a PoS and use the self invoicing feature * Make an order and pay for it * On the ticket scan the QR Code and access the invoice portal > Observation: The electronic format field is displayed in the portal but it is empty Why the fix: ------------ We hide the f
Original PR description
The electronic format field should not be displayed in the portal when no option is available for it. Steps to reproduce: ------------------- * (The reported flow was using PoS) * Install the l10n_mx_edi_pos module * Create a PoS and use the self invoicing feature * Make an order and pay for it * On the ticket scan the QR Code and access the invoice portal > Observation: The electronic format field is displayed in the portal but it is empty Why the fix: ------------ We hide the field when no value is available for it. opw-4628351 Forward-Port-Of: odoo/odoo#208124
- Before this fix, when a user which have only access to a company branch (not access to the parent company), he was not able to open a POS session. This issue was only appearing when using a belgian company (with `l10n_be_pos_sale` installed). This error was raised becaues we try to load Intra-Community chart template which is defined on the parent company. - Now we use `sudo()` to correctly load the Intra-Community chart template of the parent company, because if the user has permission to op
Original PR description
- Before this fix, when a user which have only access to a company branch (not access to the parent company), he was not able to open a POS session. This issue was only appearing when using a belgian…
- Before this fix, when a user which have only access to a company branch (not access to the parent company), he was not able to open a POS session. This issue was only appearing when using a belgian company (with `l10n_be_pos_sale` installed). This error was raised becaues we try to load Intra-Community chart template which is defined on the parent company. - Now we use `sudo()` to correctly load the Intra-Community chart template of the parent company, because if the user has permission to open a POS session on a company branch, he should be able to load its Intra-Community chart template (even if it's defined on the parent company). - Update the test `test_pos_branch_company_access` so the `pos_user` have only access to the company branch (not the parent company anymore). Steps to reproduce: - Install ``l10_be_pos_sale` module - Create a new belgian company with a branch - Create a new user with access to this company branch (not the parent company) - Create a new POS config for this company branch (with admin user) - Try to open a POS session with the newly created user - => Access error opw: 4736949 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#208573
Steps to reproduce: - With an AE Company - Enable Multicurrency (USD) - Create an invoice in USD with total 0.00 - Print Issue: Traceback will raise """ odoo.addons.base.models.ir_qweb.QWebException: Error while render the template ZeroDivisionError: float division by zero Template: account.document_tax_totals_company_currency_template Path: /t/div/table/tr[1]/td[2] Node: <td class="text-end" t-out="exchange_rate" t-options="{"widget": "float", "precision"
Original PR description
Steps to reproduce:
- With an AE Company
- Enable Multicurrency (USD)
- Create an invoice in USD with total 0.00
- Print
Issue: Traceback will raise
"""
odoo.addons.base.models.ir_qweb.QWebException: Error while render the template ZeroDivisionError: float division by zero
Template: account.document_tax_totals_company_currency_template Path: /t/div/table/tr[1]/td[2]
Node: <td class="text-end" t-out="exchange_rate" t-options="{"widget": "float", "precision": 5}"/>
"""
opw-4724401
Forward-Port-Of: odoo/odoo#208396Steps: ------ 1. Create a combo product and make it available in restaurant 2. In PoS, add this product to an order 3. Click the product line, and set the quantity to 2 let's 4. Click split button, it takes you to the split screen Observation: We can not select one of these 2 combos to split, it's either all of them, or none. Reason: ------- That's because combos are considered as non groupable in pos, see `is_pos_groupable` [1]. And then, when splitting a combo in `_splitQuantity`
Original PR description
Steps: ------ 1. Create a combo product and make it available in restaurant 2. In PoS, add this product to an order 3. Click the product line, and set the quantity to 2 let's 4. Click split button,…
Steps: ------ 1. Create a combo product and make it available in restaurant 2. In PoS, add this product to an order 3. Click the product line, and set the quantity to 2 let's 4. Click split button, it takes you to the split screen Observation: We can not select one of these 2 combos to split, it's either all of them, or none. Reason: ------- That's because combos are considered as non groupable in pos, see `is_pos_groupable` [1]. And then, when splitting a combo in `_splitQuantity` [2], we either take all the quantity or 0. Fix: ---- We update the split logic to account for special combo cases. [1]: https://github.com/odoo/odoo/blob/bee8b55d7783ea11f2362990cd9d7695b877b8e9/addons/point_of_sale/static/src/app/store/models.js#L829 [2]: https://github.com/odoo/odoo/blob/bee8b55d7783ea11f2362990cd9d7695b877b8e9/addons/pos_restaurant/static/src/app/split_bill_screen/split_bill_screen.js#L124-L127 opw-4737788 Forward-Port-Of: odoo/odoo#208379 Forward-Port-Of: odoo/odoo#208055
Versions -------- - 16.0+ Steps (saas-17.4) ----------------- 1. Install `l10n_ar_website_sale`; 2. run `:TestWebsiteSaleProductFilters` test suite. Issue ----- 2 tests fails. Cause ----- The filters search for sale orders from `get_current_website`. Even though the correct website is passed to the `MockRequest`, the result of the call is a website from an Argentinian company with no sales orders. Solution -------- Add `force_website_id` to the `MockRequest` session, so `g
Original PR description
Versions -------- - 16.0+ Steps (saas-17.4) ----------------- 1. Install `l10n_ar_website_sale`; 2. run `:TestWebsiteSaleProductFilters` test suite. Issue ----- 2 tests fails. Cause ----- The filters search for sale orders from `get_current_website`. Even though the correct website is passed to the `MockRequest`, the result of the call is a website from an Argentinian company with no sales orders. Solution -------- Add `force_website_id` to the `MockRequest` session, so `get_current_website` returns the intended website: https://github.com/odoo/odoo/blob/1ea4f285aba925d437a5129cd36143d9987c6e6a/addons/website/models/website.py#L1121 > [!Note] > Alternatively, we can check for `request.website` being set in `get_current_website`. No idea if there's a reason it doesn't already. runbot-111554 runbot-111555 Forward-Port-Of: odoo/odoo#208687 Forward-Port-Of: odoo/odoo#201433
Backport of #194647 Basically, starting from `saas~16.4` we have action window in `hr_recruitment` which is pointing at `sms` module. If client does this steps: 1. Install `hr_recruitment` in version 17.0 2. Uninstall the module `sms` 3. Try to upgrade db to `18.0` We will have the issue similar to this: ``` Traceback (most recent call last): File "/home/odoo/src/odoo/18.0/odoo/service/server.py", line 1318, in preload_registries registry = Registry.new(dbname, update_modul
Original PR description
Backport of #194647 Basically, starting from `saas~16.4` we have action window in `hr_recruitment` which is pointing at `sms` module. If client does this steps: 1. Install `hr_recruitment` in version…
Backport of #194647
Basically, starting from `saas~16.4` we have action window in `hr_recruitment` which is pointing at `sms` module.
If client does this steps:
1. Install `hr_recruitment` in version 17.0
2. Uninstall the module `sms`
3. Try to upgrade db to `18.0`
We will have the issue similar to this:
```
Traceback (most recent call last):
File "/home/odoo/src/odoo/18.0/odoo/service/server.py", line 1318, in preload_registries
registry = Registry.new(dbname, update_module=update_module)
File "<decorator-gen-13>", line 2, in new
File "/home/odoo/src/odoo/18.0/odoo/tools/func.py", line 97, in locked
return func(inst, *args, **kwargs)
File "/home/odoo/src/odoo/18.0/odoo/modules/registry.py", line 127, in new
odoo.modules.load_modules(registry, force_demo, status, update_module)
File "/home/odoo/src/odoo/18.0/odoo/modules/loading.py", line 476, in load_modules
processed_modules += load_marked_modules(env, graph,
File "/home/odoo/src/odoo/18.0/odoo/modules/loading.py", line 364, in load_marked_modules
loaded, processed = load_module_graph(
File "/home/odoo/src/odoo/18.0/odoo/modules/loading.py", line 227, in load_module_graph
load_data(env, idref, mode, kind='data', package=package)
File "/home/odoo/src/odoo/18.0/odoo/modules/loading.py", line 71, in load_data
tools.convert_file(env, package.name, filename, idref, mode, noupdate, kind)
File "/home/odoo/src/odoo/18.0/odoo/tools/convert.py", line 608, in convert_file
convert_xml_import(env, module, fp, idref, mode, noupdate)
File "/home/odoo/src/odoo/18.0/odoo/tools/convert.py", line 679, in convert_xml_import
obj.parse(doc.getroot())
File "/home/odoo/src/odoo/18.0/odoo/tools/convert.py", line 594, in parse
self._tag_root(de)
File "/home/odoo/src/odoo/18.0/odoo/tools/convert.py", line 548, in _tag_root
raise ParseError(msg) from None # Restart with "--log-handler odoo.tools.convert:DEBUG" for complete traceback
odoo.tools.convert.ParseError: while parsing /home/odoo/src/odoo/18.0/addons/hr_recruitment/views/hr_candidate_views.xml:220
Invalid model name “sms.composer” in action definition.
View error context:
'-no context-'
```
Th bridge module was intrdocued in #194647 targeting to version `saas~18.2`, but we need it for `17.0, 18.0, saas~18.1` as you see in the example above. This PR will only target to `17.0` and `saas~17.4`. Then we will make another patch for `18.0` and `saas~18.1` as they have some additional change.
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#208523
Forward-Port-Of: odoo/odoo#199238Writing the account code is restricted on l10n_de accounts. Odoo checks that the code we write is different from the old one, and if so it checks of there are already some entries for that accounts. If any of the condition is met, the write is prevented. When we try to map an account from another company to a l10n_de company, the _inverse_code function from the account mapping will try and update the account code in the other company, as the code is company dependent. The issue is that we
Original PR description
Writing the account code is restricted on l10n_de accounts. Odoo checks that the code we write is different from the old one, and if so it checks of there are already some entries for that accounts. If any of the condition is met, the write is prevented. When we try to map an account from another company to a l10n_de company, the _inverse_code function from the account mapping will try and update the account code in the other company, as the code is company dependent. The issue is that we check that the l10n_de code remains the same, even if we are in another, non l10n_de company. This PR adapts the check to l10n_de account to only check the code if we are writing it from the l10n_de company. opw-4711417 Forward-Port-Of: odoo/odoo#208538
Steps to reproduce: - Connect IoT box with scale to DB - Configure PoS with the scale - Configure product to be available in PoS and has to be weighed - Make an order with the product - Scale window pops up for weighing - Close window directly - One unit of product is still added, we expect nothing to be added opw-4643243 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#208571
Original PR description
Steps to reproduce: - Connect IoT box with scale to DB - Configure PoS with the scale - Configure product to be available in PoS and has to be weighed - Make an order with the product - Scale window pops up for weighing - Close window directly - One unit of product is still added, we expect nothing to be added opw-4643243 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#208571
<b>Steps to reproduce:</b> 1. Go to Sales > Create New Quotation. 2. Add a customer and a product(e.g., "Acoustic Bloc Screens testingggggggggg"). 3. Go to POS > Open any register. 4. Navigate to Actions > Quotation/Order, select SO. 5. Apply a down payment percentage. 6. Enter the percentage, select Payment > Cash, and validate the payment. 7. Navigate Print full receipt. <b>Issue:</b> Unintended scrolling behavior in the order line section. <b>Cause:</b> Although the container
Original PR description
<b>Steps to reproduce:</b> 1. Go to Sales > Create New Quotation. 2. Add a customer and a product(e.g., "Acoustic Bloc Screens testingggggggggg"). 3. Go to POS > Open any register. 4. Navigate to Actions > Quotation/Order, select SO. 5. Apply a down payment percentage. 6. Enter the percentage, select Payment > Cash, and validate the payment. 7. Navigate Print full receipt. <b>Issue:</b> Unintended scrolling behavior in the order line section. <b>Cause:</b> Although the container had the class overflow-y-auto, it wasn't the root cause. The issue occurred with long product names in certain configurations, leading to unintended scrolling behavior. <b>Solution:</b> Added the product-name class to handle content display and prevent unnecessary scrolling. opw-4479286 Forward-Port-Of: odoo/odoo#205659
Introduced in odoo/odoo#164793. Steps to reproduce: - Configure a POS to use self order - Add an Adyen payment method to this POS - Attempt to pay for a self order using the Adyen payment method - The payment fails immediately with an error message, however the payment does go through to the payment terminal. This bug was introduced by the refactor to use related models. The `start_payment` method in the payment page wasn't updated accordingly, leading to an error due to calling a non-
Original PR description
Introduced in odoo/odoo#164793. Steps to reproduce: - Configure a POS to use self order - Add an Adyen payment method to this POS - Attempt to pay for a self order using the Adyen payment method - The payment fails immediately with an error message, however the payment does go through to the payment terminal. This bug was introduced by the refactor to use related models. The `start_payment` method in the payment page wasn't updated accordingly, leading to an error due to calling a non-existent function. All other payment terminals are unaffected as they override this method, but Adyen does not, so the bug was only affecting Adyen payments. task-4749171 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#207205
Description of the issue/feature this PR addresses: It's possible to setup an inherited view with groups if we update the mode Steps: - Open an inherited view form - Change its mode to "Base" - Add a group - Rollback the mode to "Inherited" - Save, no problem - Try to upgrade a module linked to this view Current behavior before PR: - Traceback as inherited view cannot have groups Desired behavior after PR is merged: - Save is not possible opw-3263438 opw-3774300 --- I
Original PR description
Description of the issue/feature this PR addresses: It's possible to setup an inherited view with groups if we update the mode Steps: - Open an inherited view form - Change its mode to "Base" - Add a group - Rollback the mode to "Inherited" - Save, no problem - Try to upgrade a module linked to this view Current behavior before PR: - Traceback as inherited view cannot have groups Desired behavior after PR is merged: - Save is not possible opw-3263438 opw-3774300 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#156279
This commit removes the demo data for portal user as a portal user cannot be assigned to tasks. taskid:3703637 Forward-Port-Of: odoo/enterprise#81826 Forward-Port-Of: odoo/enterprise#56588
Original PR description
This commit removes the demo data for portal user as a portal user cannot be assigned to tasks. taskid:3703637 Forward-Port-Of: odoo/enterprise#81826 Forward-Port-Of: odoo/enterprise#56588
Add in missing modules to tx/config where their pots were auto-added by the pot export sync. Note that new pot files that were only for model names (i.e. not user facing) are usually bridge modules with nothing to translate => they weren't added to the config file
Original PR description
Add in missing modules to tx/config where their pots were auto-added by the pot export sync. Note that new pot files that were only for model names (i.e. not user facing) are usually bridge modules with nothing to translate => they weren't added to the config file
Steps to reproduce the issue: - Create a quality check with any parameters - Add a future activity - Click on the activity icon in the top bar - The activity summary shows: - 0 Late, 0 Today, 1 Future - Click on "Late" Issue: No filter is applied and all quality checks are displayed. Solution: Added predefined filters for activity deadlines (Late, Today, Future) in the search view of the quality.check model, to align with other models using mail.activity.mixin. opw-4727840
Original PR description
Steps to reproduce the issue:
- Create a quality check with any parameters
- Add a future activity
- Click on the activity icon in the top bar
- The activity summary shows:
- 0 Late, 0 Today, 1 Future
- Click on "Late"
Issue:
No filter is applied and all quality checks are displayed.
Solution:
Added predefined filters for activity deadlines (Late, Today, Future) in the search view of the quality.check model, to align with other models using mail.activity.mixin.
opw-4727840
Forward-Port-Of: odoo/enterprise#84523It is possible that a employee won't have a contract (maybe a freelancer) nor a user related. In such case when asked to sign a document, the document cannot be signed. It is possible to reproduce this behaviour on runbot https://www.awesomescreenshot.com/video/39482670?key=9eed08257cc76b5749c1c8c0dda62377 This commit aims to set a user, since the user cannot be false. I believe that since one of the options would be set it to the manager of the contract the employee is under, it would be a
Original PR description
It is possible that a employee won't have a contract (maybe a freelancer) nor a user related. In such case when asked to sign a document, the document cannot be signed. It is possible to reproduce this behaviour on runbot https://www.awesomescreenshot.com/video/39482670?key=9eed08257cc76b5749c1c8c0dda62377 This commit aims to set a user, since the user cannot be false. I believe that since one of the options would be set it to the manager of the contract the employee is under, it would be a valid option considering that the employee has no contract, to set it to whoever sent the request, in this case, the request create_uid opw-4750010 Forward-Port-Of: odoo/enterprise#84711
**How to reproduce:** - Create a partner with name 'abc' and email 'xyz@xyz.com' - Select a document/folder - Click the 'Share' button - Search by email, it'll work - Search by name, it doesn't work **Before this commit:** Search by name is not working **Technical reason:** Partner's display name is passed in a variable called 'label' **After this commit:** Search on name will work on member invite modal Task-4758923 Forward-Port-Of: odoo/enterprise#84481
Original PR description
**How to reproduce:** - Create a partner with name 'abc' and email 'xyz@xyz.com' - Select a document/folder - Click the 'Share' button - Search by email, it'll work - Search by name, it doesn't work **Before this commit:** Search by name is not working **Technical reason:** Partner's display name is passed in a variable called 'label' **After this commit:** Search on name will work on member invite modal Task-4758923 Forward-Port-Of: odoo/enterprise#84481
Current behavior before PR: - When showing analytic columns in reports, a filter can be applied from 'Options' menu to show analytic simulations (analytic items not linked to any move). This filter didn't work properly. Desired behavior after PR is merged: - Analytic simulations are integrated in the already existing analytic groupby columns Link to the task : - https://www.odoo.com/odoo/project/967/tasks/4603267 Forward-Port-Of: odoo/enterprise#81183
Original PR description
Current behavior before PR: - When showing analytic columns in reports, a filter can be applied from 'Options' menu to show analytic simulations (analytic items not linked to any move). This filter didn't work properly. Desired behavior after PR is merged: - Analytic simulations are integrated in the already existing analytic groupby columns Link to the task : - https://www.odoo.com/odoo/project/967/tasks/4603267 Forward-Port-Of: odoo/enterprise#81183
The incoterm code of a line in the intrastat report is the incoterm code from the move or if there is no incoterm code on the move, the one from the company. When creating the request when unfolding report lines, the incoterm code was always checked on the move and not on the company. This would not return lines without incoterm code. This commit changes the incoterm domain to also check the incoterm code of the move company when no incoterm code is set on the move. Steps to reproduce: - F
Original PR description
The incoterm code of a line in the intrastat report is the incoterm code from the move or if there is no incoterm code on the move, the one from the company. When creating the request when unfolding report lines, the incoterm code was always checked on the move and not on the company. This would not return lines without incoterm code. This commit changes the incoterm domain to also check the incoterm code of the move company when no incoterm code is set on the move. Steps to reproduce: - From an EU company, create an invoice to a company in another EU country - Do not set an incoterm on the invoice - In settings, set a default incoterm on the company - Display the intrastat report for the time period of the invoice - Try to unfold the line corresponding to the invoice opw-4642781 Forward-Port-Of: odoo/enterprise#84734
Steps --------- 1. Have `accountant` and `account_accountant` installed 2. Set up an online bank -> see Odoofin steps on Knowledge 3. Set another user's access group to `Advanced Billing` for accounting 4. Login as that user and access the accounting app -> Access error for account.online.link Problem --------- Advanced billing should have access to the dashboard due to its role. The group `group_account_readonly` has read access to the model, as suggested by its name. However, the gro
Original PR description
Steps --------- 1. Have `accountant` and `account_accountant` installed 2. Set up an online bank -> see Odoofin steps on Knowledge 3. Set another user's access group to `Advanced Billing` for accounting 4. Login as that user and access the accounting app -> Access error for account.online.link Problem --------- Advanced billing should have access to the dashboard due to its role. The group `group_account_readonly` has read access to the model, as suggested by its name. However, the group `group_account_basic` does not have any access. Solution --------- Add 2 access rules on `account.online.link` that allows a Advanced billing user to see (and only see) those records. Note that it does not change anything for `group_account_user` which inherits both from `group_account_readonly` and `group_account_basic`, since it already had readonly access thanks to the first aforementioned. task-4731654 Forward-Port-Of: odoo/enterprise#83889
Currently, an empty partner ref in an FEC line could incorrectly match a partner with an empty ref. This fix ensures that only non-empty refs are considered when processing FEC files. Steps to reproduce: 1. Install the `l10n_fr_fec_import` module. 2. Create a contact and set its ref to an empty string (`""`). 3. Import an FEC file containing lines without `CompAuxNum`. 4. The created contact will be incorrectly assigned to all lines without `CompAuxNum`. opw-4592290 Forward-Port-O
Original PR description
Currently, an empty partner ref in an FEC line could incorrectly match a partner with an empty ref. This fix ensures that only non-empty refs are considered when processing FEC files. Steps to reproduce: 1. Install the `l10n_fr_fec_import` module. 2. Create a contact and set its ref to an empty string (`""`). 3. Import an FEC file containing lines without `CompAuxNum`. 4. The created contact will be incorrectly assigned to all lines without `CompAuxNum`. opw-4592290 Forward-Port-Of: odoo/enterprise#84855 Forward-Port-Of: odoo/enterprise#81676
Description of the issue this commit addresses: Zero balance lines are creating friction when reconciling lines. They will never need a renconciliation but they still impair the user's ability to reconcile other lines together if selected. --- Desired behavior after this commit is merged: When reconciling lines, the zero balance ones are simply ignored and the reconciliation proceeds as if they were not selected. --- task-4723956 Forward-Port-Of: odoo/enterprise#84851
Original PR description
Description of the issue this commit addresses: Zero balance lines are creating friction when reconciling lines. They will never need a renconciliation but they still impair the user's ability to reconcile other lines together if selected. --- Desired behavior after this commit is merged: When reconciling lines, the zero balance ones are simply ignored and the reconciliation proceeds as if they were not selected. --- task-4723956 Forward-Port-Of: odoo/enterprise#84851
In 65576b109249fbb0f111f57b42d48940a46f63db we added schema files to mock the l10n_ar_edi services. But their filenames contained `?` which is not a valid filename character on Windows. As a result, users cannot pull the repository on Windows anymore. This commit removes the `?` character from the filenames. task-none Forward-Port-Of: odoo/enterprise#84852
Original PR description
In 65576b109249fbb0f111f57b42d48940a46f63db we added schema files to mock the l10n_ar_edi services. But their filenames contained `?` which is not a valid filename character on Windows. As a result, users cannot pull the repository on Windows anymore. This commit removes the `?` character from the filenames. task-none Forward-Port-Of: odoo/enterprise#84852