Wednesday, June 5, 2024
43 changes · saas-17.3
Enhancements to existing features
Updates internal timesheet grid tests to align with a recent change in how company information is assigned by default. This helps keep quality checks reliable without changing the day-to-day user experience.
Original PR description
Adapting some test due to the removal of the default on the company_id in this commit: https://github.com/odoo/odoo/pull/167995/commits/b24b95a97c79146eedc783a69159f3aa50c2db20 task-3970078
Resolved issues and error corrections
This fixes an internal mail setting so unread message counts for channel members can be calculated consistently. It also makes the related field visible in the technical channel member view for easier administration and troubleshooting.
Original PR description
Since [1], the new message separator field is required to compute the unread message counter of a channel member. This commit adds the require parameter to the field definition. While at it, this commit also adds the field in the technical channel member view. [1]: https://github.com/odoo/odoo/pull/163091
Miscellaneous changes
In this Pr, the driver or the future driver of the car is in sync with the partner of the employee Task-3693838 Forward-Port-Of: odoo/odoo#157057
Original PR description
In this Pr, the driver or the future driver of the car is in sync with the partner of the employee Task-3693838 Forward-Port-Of: odoo/odoo#157057
This fix makes scheduled background jobs verify that a job exists before trying to assign it. It helps prevent errors in automated system tasks, improving reliability without changing user-facing workflows.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
A test mock for an external financial service call was completed by adding the missing JSON response behavior. This helps keep automated builds reliable and prevents false failures during quality checks.
Original PR description
Build Error: 66996 In a previous commit, the odoofin API call was mocked, but the json function was omitted
The web module’s automated image field test now waits for an image change before continuing. This reduces random test failures during periods of server load, helping keep release validation more stable without changing user-facing behavior.
Original PR description
This commit forces to wait until the image has been changed to avoid nondeterministic error. As the "upload" into the input may be slower when there is too "load" on the server. runbot nondeterministic error: id-66647 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The forecast availability icon now appears where expected for storable products in inventory, manufacturing, and repair workflows. This restores a helpful visual cue so users can more easily understand product availability while processing related operations.
Original PR description
It was not display since an old reference to 'product' type. Replace it by is_storable and add them in view to have a reference in record.data 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
The automatic account mapping for Belgian SODA entries is now handled by the SODA module instead of the CodaBox module. This keeps the feature available where it belongs after the two modules were separated, reducing configuration issues for Belgian payroll accounting imports.
Original PR description
In [1], we added the automapping feature which allows the global SODA mapping to be updated whenever the suspense account of a SODA entry was changed to the right account. This feature was forwarded-ported from 17.0 until master. However, since [2], CodaBox and SODA were decoupled. Therefore, in saas-17.3 this feature should have moved from the CodaBox module to the SODA module. This was done in master (future saas-17.4) instead of saas-17.3 in [3]. This commit fixes this by moving the automapping code from the CodaBox module to the SODA module in saas-17.3 too. task-id/opw: none [1]: https://github.com/odoo/enterprise/commit/52743720736d5466db1300bd71de9a70c749816c [2]: https://github.com/odoo/enterprise/commit/48b8f6b64858bc2d63f1dfcf606c5563f4b977ca [3]: https://github.com/odoo/enterprise/pull/63812
This update removes outdated references to an old storable product classification in subscription-related stock views. It helps keep the subscription product setup aligned with recent product changes and avoids confusing or obsolete options for users.
Original PR description
Followup to refactoring that removed the product type=product (i.e. storable). Remove some leftover references to it.
Fixed misspellings of "Business" in the WhatsApp account form. This improves clarity and professionalism for users configuring WhatsApp business account details.
Original PR description
Fix "Buisness" and "Busoness" typo in the account view form. related PR: odoo/enterprise#54483 Task-3973541
This update fixes an error that could occur when opening or using the Planning view. It improves reliability for users managing schedules by preventing an unexpected crash caused by a missing internal value.
Original PR description
In PlanningView, a traceback happens because a variable is called when it has never been declared before. This PR will add the declaration of the variable and fix the traceback.
Description of the issue/feature this PR addresses: Livechat is set up with a Chatbot with a fallback to an operator. When a visitor visits a website with the Livechat and the visitor is not connected to an account, when falling back to the operator, an error occurs : `AttributeError: 'discuss.channel' object has no attribute 'livechat_visitor_id'` Current behavior before PR: When a visitor visits a website with the Livechat and the visitor is not connected to an account, when falling bac
Original PR description
Description of the issue/feature this PR addresses: Livechat is set up with a Chatbot with a fallback to an operator. When a visitor visits a website with the Livechat and the visitor is not connected to an account, when falling back to the operator, an error occurs : `AttributeError: 'discuss.channel' object has no attribute 'livechat_visitor_id'` Current behavior before PR: When a visitor visits a website with the Livechat and the visitor is not connected to an account, when falling back to the operator, an error occurs : `AttributeError: 'discuss.channel' object has no attribute 'livechat_visitor_id'` Desired behavior after PR is merged: The chatbot falls back to the human operator. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#167917 Forward-Port-Of: odoo/odoo#167710
Problem --- When creating/editing expenses, if the user doesn't have any access rights to employee, a ValueError is thrown when clicking the employee field. The Error happens because the model used for employees for users without access is `hr.employee.public` instead of the usual `hr.employee` and `hr.employee.public` does not define the `filter_for_expense` field, which is used for searching / filtering employees to set. Fix --- `hr.employee` and `hr.employee.public` both inheri
Original PR description
Problem --- When creating/editing expenses, if the user doesn't have any access rights to employee, a ValueError is thrown when clicking the employee field. The Error happens because the model used for employees for users without access is `hr.employee.public` instead of the usual `hr.employee` and `hr.employee.public` does not define the `filter_for_expense` field, which is used for searching / filtering employees to set. Fix --- `hr.employee` and `hr.employee.public` both inherit from `hr.employee.base`, therefore we can put the search field and method, into an `hr.expense` child model of `hr.employee.base`. Note that (as far as I understand) this will not break stable because the `filter_for_expense` field is `store=False`. opw-3858951 Forward-Port-Of: odoo/odoo#167616 Forward-Port-Of: odoo/odoo#164960
The test web:TestImage.test_04_web_content_filename_secure is failing on the runbot for the version 16 (16.0, saas-16.3 and saas-16.4). The error is 'str' object has no attribute 'removeprefix' and this method has been introduced in python 3.9 while version 16 only support python 3.7. To solve the problem we replace that method call with a supported equivalent in python 3.7. Task-3944583 Forward-Port-Of: odoo/odoo#167303
Original PR description
The test web:TestImage.test_04_web_content_filename_secure is failing on the runbot for the version 16 (16.0, saas-16.3 and saas-16.4). The error is 'str' object has no attribute 'removeprefix' and this method has been introduced in python 3.9 while version 16 only support python 3.7. To solve the problem we replace that method call with a supported equivalent in python 3.7. Task-3944583 Forward-Port-Of: odoo/odoo#167303
The goal of this PR is to simply disable the "Text Animation" button from the editor's toolbar in translate mode. An adaptation of code in stable `17.0` will be added to allow the use of text options (text animations & text highlights) in the translation mode, mainly by allowing the creation of snippet editors if the target is a text option snippet. opw-3686777 Forward-Port-Of: odoo/odoo#157726 Forward-Port-Of: odoo/odoo#157087
Original PR description
The goal of this PR is to simply disable the "Text Animation" button from the editor's toolbar in translate mode. An adaptation of code in stable `17.0` will be added to allow the use of text options (text animations & text highlights) in the translation mode, mainly by allowing the creation of snippet editors if the target is a text option snippet. opw-3686777 Forward-Port-Of: odoo/odoo#157726 Forward-Port-Of: odoo/odoo#157087
Steps to reproduce: - Install Sales and Loyalty modules - Create a discount & loyalty program with type of 'Buy X get Y' and a reward product that has a quantity on-hand - Archive the discount & loyalty program - Check the quantity of the product you put as reward Current behavior before PR: The reward product lose its quantity when archiving the corresponding discount & loyalty program. This is happening because when archiving the program we archive the reward product too. https://
Original PR description
Steps to reproduce: - Install Sales and Loyalty modules - Create a discount & loyalty program with type of 'Buy X get Y' and a reward product that has a quantity on-hand - Archive the discount & loyalty program - Check the quantity of the product you put as reward Current behavior before PR: The reward product lose its quantity when archiving the corresponding discount & loyalty program. This is happening because when archiving the program we archive the reward product too. https://github.com/odoo/odoo/blob/17.0/addons/loyalty/models/loyalty_reward.py#L239 Desired behavior after PR is merged: We are now archiving just the free product that got created when we were creating the discount & loyalty program not the main product. This is happening only when the reward type is 'Product' opw-3909184 Forward-Port-Of: odoo/odoo#165225
Current behavior: When using a loyalty program that grant 1 free product for each product bought the wrong product was added. This only hapens when the reward product is a tag. For example if you buy product A you get one product A free and if you buy one product B you also get a product A free when you should get a product B free. Steps to reproduce: - Create tag T that should includes product A and B - Create a loyalty program : . grant 1 point per unit paid among tag T products . get 1
Original PR description
Current behavior: When using a loyalty program that grant 1 free product for each product bought the wrong product was added. This only hapens when the reward product is a tag. For example if you buy…
Current behavior: When using a loyalty program that grant 1 free product for each product bought the wrong product was added. This only hapens when the reward product is a tag. For example if you buy product A you get one product A free and if you buy one product B you also get a product A free when you should get a product B free. Steps to reproduce: - Create tag T that should includes product A and B - Create a loyalty program : . grant 1 point per unit paid among tag T products . get 1 free product among tag T products for 1 point - Open PoS session, and add 2 product A, you get one product A free - Add 2 product B, you also get one product A free Note: When adding the second B product it's actually adding the correct product, but when recomputing the rewards it's adding two products A. opw-3836634 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#167276 Forward-Port-Of: odoo/odoo#165617
The issue: When importing a FEC file, the created COAs lack correct translation for languages other than English. This discrepancy arises because the xml_id generated during COA creation does not match the xml_id produced by the _load_translations function. The new COAs' xml_id is a composite of the module ('l10n_fr_fec_import' in this case), company ID, prefix ('account' in this case), and a key derived from the account number code in the CSV file (not Odoo's default code). Consequently, when
Original PR description
The issue: When importing a FEC file, the created COAs lack correct translation for languages other than English. This discrepancy arises because the xml_id generated during COA creation does not…
The issue:
When importing a FEC file, the created COAs lack correct translation for languages other than English. This discrepancy arises because the xml_id generated during COA creation does not match the xml_id produced by the _load_translations function. The new COAs' xml_id is a composite of the module ('l10n_fr_fec_import' in this case), company ID, prefix ('account' in this case), and a key derived from the account number code in the CSV file (not Odoo's default code). Consequently, when calling the _load_translations function, it attempts to update translations using a different xml_id, causing failure in locating records.
The fix:
Include the template_data, if available, during COA translation, as it is more efficient than loading and parsing the entire CSV file. This template data already contains the necessary information, including the correct xml_id. Additionally, introduce a key 'is_xml_generated' in the context to prevent the generation of an incorrect xml_id.
Enterprise PR: https://github.com/odoo/enterprise/pull/55537
opw-3646861
Forward-Port-Of: odoo/odoo#152090In this PR fixes following bugs: - Subtasks don't set by-default to the configured stage. users have to manually set it after saving. - Expected: stages by default set upon creation. - the task name goes empty after selecting a project, even if you rewrite it and switch projects. This only happens in the Quick Add feature in the kanban view after enabling timesheets in the project settings. task-3706741 Description of the issue/feature this PR addresses: Current behavior b
Original PR description
In this PR fixes following bugs: - Subtasks don't set by-default to the configured stage. users have to manually set it after saving. - Expected: stages by default set upon creation. - the task name goes empty after selecting a project, even if you rewrite it and switch projects. This only happens in the Quick Add feature in the kanban view after enabling timesheets in the project settings. task-3706741 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#153607
Add a background image for the iot homepage 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#167010
Original PR description
Add a background image for the iot homepage 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#167010
Currently, an error occurs when creating a stock quant (Pick From) in the 'Detailed Operations' list view. Step to produce: - Install the 'stock' module. - Go to Inventory / Operations / Transfers / Receipts and create a receipt, add 'Receive From', and also add 'Product' and 'Demand' in Operations. - Click on 'Validate' then click on 'Return', and open 'Detailed Operations'. - Now try to create a new stock quant (Pick From) from a list view. ```ValueError: Wrong container value 'WH/
Original PR description
Currently, an error occurs when creating a stock quant (Pick From) in the 'Detailed Operations' list view. Step to produce: - Install the 'stock' module. - Go to Inventory / Operations / Transfers /…
Currently, an error occurs when creating a stock quant (Pick From) in the 'Detailed Operations' list view. Step to produce: - Install the 'stock' module. - Go to Inventory / Operations / Transfers / Receipts and create a receipt, add 'Receive From', and also add 'Product' and 'Demand' in Operations. - Click on 'Validate' then click on 'Return', and open 'Detailed Operations'. - Now try to create a new stock quant (Pick From) from a list view. ```ValueError: Wrong container value 'WH/Stock'``` An error occurs when attempting to create or edit a 'picked'(Pick From) in the list view of 'Detailed Operations' and the system raises a value error at [1] as 'product_id takes a string instead of an integer' in default values. link[1]: https://github.com/odoo/odoo/blob/259cba71690c500c335a4a2c43e4c606697bc817/odoo/fields.py#L3582-L3583 To resolve the issue, restricted to creating a stock quant from the 'Detailed Operations' list view sentry-5089715517 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#167764 Forward-Port-Of: odoo/odoo#165705
Purpose ======= Fix the session chart labels which were disappearing when zooming on the chart. Specification ============= When zooming, the chart x axis ticks were skipped / hidden leading to the labels disappearance. Fixing the issue by preventing the x axis ticks from being skipped. Task-3918382 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#167914 Forward-Port-Of: odoo/odoo#166462
Original PR description
Purpose ======= Fix the session chart labels which were disappearing when zooming on the chart. Specification ============= When zooming, the chart x axis ticks were skipped / hidden leading to the labels disappearance. Fixing the issue by preventing the x axis ticks from being skipped. Task-3918382 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#167914 Forward-Port-Of: odoo/odoo#166462
## Description: Previously, when entering a pivot and applying a filter domain, the pivot formula (without domain field and domain value in function parameter) would return 'FALSE' if it did not match any records. The code now checks the value and returns an empty string if it's 'FALSE'. Task - [3888401](https://www.odoo.com/web#id=3888401&cids=2&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form) --- I confirm I have signed the CLA and read the PR guidelines at w
Original PR description
## Description: Previously, when entering a pivot and applying a filter domain, the pivot formula (without domain field and domain value in function parameter) would return 'FALSE' if it did not match any records. The code now checks the value and returns an empty string if it's 'FALSE'. Task - [3888401](https://www.odoo.com/web#id=3888401&cids=2&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#167599 Forward-Port-Of: odoo/odoo#165976
Getting link preview on invalid links creates problems (eg: https://..), which results in sms and mail to be stuck in a queue and not being sent. task-3729538 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#167373
Original PR description
Getting link preview on invalid links creates problems (eg: https://..), which results in sms and mail to be stuck in a queue and not being sent. task-3729538 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#167373
When setting `l10n_it_has_tax_representative` to False, the field `l10n_it_tax_representative_partner_id` stays set, this leads to inconsistencies when generating the xml on e-invoicing. Steps: - Install l10n_it_edi - Go to the form view of the italian company - On E-invoicing tab, check the `l10n_it_has_tax_representative` field, set `l10n_it_tax_representative_partner` and save - Create and confirm an invoice - Check the xml that has been generated, there is a field `RappresentanteFiscal
Original PR description
When setting `l10n_it_has_tax_representative` to False, the field `l10n_it_tax_representative_partner_id` stays set, this leads to inconsistencies when generating the xml on e-invoicing. Steps: - Install l10n_it_edi - Go to the form view of the italian company - On E-invoicing tab, check the `l10n_it_has_tax_representative` field, set `l10n_it_tax_representative_partner` and save - Create and confirm an invoice - Check the xml that has been generated, there is a field `RappresentanteFiscale` with `l10n_it_tax_representative_partner` infos - Go back to company form view, uncheck the `l10n_it_has_tax_representative` field and save - Create and confirm an other invoice - Check the xml generated -> The field `RappresentanteFiscale` is still there, it should not be. Fix: Add a compute to `l10n_it_tax_representative_partner` to set it to False when unchecking `l10n_it_has_tax_representative` opw-3947519 Forward-Port-Of: odoo/odoo#167825 Forward-Port-Of: odoo/odoo#166732
Backport of https://github.com/odoo/odoo/commit/225d52559e693728f72ca1f00302f69c7901361e \+ add Test. Previously, when following those steps: - create SO with one line with a tax - create a down payment for 30% - remove tax on invoice line - post invoice - create new down payment for 30% A line with 0 amount and no tax was created in addition of other lines. This because, during the calculation of the down payment lines, and the ventilation between all taxes, it would take the line w
Original PR description
Backport of https://github.com/odoo/odoo/commit/225d52559e693728f72ca1f00302f69c7901361e \+ add Test. Previously, when following those steps: - create SO with one line with a tax - create a down payment for 30% - remove tax on invoice line - post invoice - create new down payment for 30% A line with 0 amount and no tax was created in addition of other lines. This because, during the calculation of the down payment lines, and the ventilation between all taxes, it would take the line with no tax into account. Note in this example we remove the tax from the invoice, but it would be the same if we changed the tax for another one. This is done by excluding the down payment lines. This should already have been the case before, but had no real effect because their quantity & price_subtotal = 0. Forward-Port-Of: odoo/odoo#166688 Forward-Port-Of: odoo/odoo#166520
- Remove the zero-rated tax from non-taxable tags as it is incorrectly applied, and instead, add it to items tagged with GST. - task - 3957555 Forward-Port-Of: odoo/odoo#167754
Original PR description
- Remove the zero-rated tax from non-taxable tags as it is incorrectly applied, and instead, add it to items tagged with GST. - task - 3957555 Forward-Port-Of: odoo/odoo#167754
users were getting a traceback from the sdk when credentials were incorrect AttributeError: 'Response' object has no attribute '_dom' opw-3873151 Forward-Port-Of: odoo/enterprise#63735 Forward-Port-Of: odoo/enterprise#62049
Original PR description
users were getting a traceback from the sdk when credentials were incorrect AttributeError: 'Response' object has no attribute '_dom' opw-3873151 Forward-Port-Of: odoo/enterprise#63735 Forward-Port-Of: odoo/enterprise#62049
Currently, an error occurs when installing a 'l10n_ec_edi' module. Step to produce: - Create a company and set its country 'Ecuador'. - And install the 'l10n_ec_edi' module. ```ValueError: External ID not found in the system: account.1_ec_sale_withhold_tax_base``` An error occurs when the system tries to retrieve a 'Sales Tax Base Account' through account view id at [1], but the view id is not available. To handle this issue, add 'raise_if_not_found=False' so that if the external
Original PR description
Currently, an error occurs when installing a 'l10n_ec_edi' module. Step to produce: - Create a company and set its country 'Ecuador'. - And install the 'l10n_ec_edi' module. ```ValueError: External ID not found in the system: account.1_ec_sale_withhold_tax_base``` An error occurs when the system tries to retrieve a 'Sales Tax Base Account' through account view id at [1], but the view id is not available. To handle this issue, add 'raise_if_not_found=False' so that if the external id of view is not found, the 'Sales Tax Base Account' will get an empty record. sentry-5183479269 Forward-Port-Of: odoo/enterprise#62700
Access with User having Accounting permissions Open a posted invoice Click 'Reset to draft' Delete the draft invoice Issue: Access Error will raise """ This operation is allowed for the following groups: - Payroll/Officer : Manage all contracts Contact your administrator to request access if necessary. """ Accounting user should be able to unlink the draft without having payroll permissions opw-3932705 Forward-Port-Of: odoo/enterprise#63262
Original PR description
Access with User having Accounting permissions Open a posted invoice Click 'Reset to draft' Delete the draft invoice Issue: Access Error will raise """ This operation is allowed for the following groups: - Payroll/Officer : Manage all contracts Contact your administrator to request access if necessary. """ Accounting user should be able to unlink the draft without having payroll permissions opw-3932705 Forward-Port-Of: odoo/enterprise#63262
In the balance sheet and Profit & Loss reports, we allow users to audit the General Ledger of a specific account if we want to look at the details of that account for the period of the report. When clicking on the link of the audit, it works well for small db, but if the account is low in the list, you don't even see it. This commit adds a default filter on the report. task-3839845 Forward-Port-Of: odoo/enterprise#60827
Original PR description
In the balance sheet and Profit & Loss reports, we allow users to audit the General Ledger of a specific account if we want to look at the details of that account for the period of the report. When clicking on the link of the audit, it works well for small db, but if the account is low in the list, you don't even see it. This commit adds a default filter on the report. task-3839845 Forward-Port-Of: odoo/enterprise#60827
Before this commit, when sending an invoice to the AFIP and that the result was accepted, it was still possible to reset the invoice the draft which caused discrepancies between the data in Odoo and the data that has already been sent to AFIP. This button to reset to draft is enabled for all users in Accounting. After an invoice is sent and validated, we cannot edit them. task-3955111 Forward-Port-Of: odoo/enterprise#63407
Original PR description
Before this commit, when sending an invoice to the AFIP and that the result was accepted, it was still possible to reset the invoice the draft which caused discrepancies between the data in Odoo and the data that has already been sent to AFIP. This button to reset to draft is enabled for all users in Accounting. After an invoice is sent and validated, we cannot edit them. task-3955111 Forward-Port-Of: odoo/enterprise#63407
Forward-Port-Of: odoo/enterprise#63578
Original PR description
Forward-Port-Of: odoo/enterprise#63578
Currently, an error occurs when the user tries to select a selection, boolean, or radio field. Steps to produce an error: 1. Install web_studio 2. Go to Settings > Users & Companies > Users > Select any user 3. Open studio mode by clicking the studio icon. 4. Try to select the Administration field from the access right page Error: ``` TypeError: WebStudioController.get_default_value() missing 1 required positional argument: 'field_name' File "odoo/http.py", line 2139, in __call__
Original PR description
Currently, an error occurs when the user tries to select a selection, boolean, or radio field. Steps to produce an error: 1. Install web_studio 2. Go to Settings > Users & Companies > Users > Select…
Currently, an error occurs when the user tries to select a selection, boolean, or radio field.
Steps to produce an error:
1. Install web_studio
2. Go to Settings > Users & Companies > Users > Select any user
3. Open studio mode by clicking the studio icon.
4. Try to select the Administration field from the access right page
Error:
```
TypeError: WebStudioController.get_default_value() missing 1 required positional argument: 'field_name'
File "odoo/http.py", line 2139, in __call__
response = request._serve_db()
File "odoo/http.py", line 1715, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "odoo/service/model.py", line 133, in retrying
result = func()
File "odoo/http.py", line 1742, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 1943, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "addons/website/models/ir_http.py", line 235, in _dispatch
response = super()._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 191, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 717, in route_wrapper
result = endpoint(self, *args, **params_ok)
```
This is because before the owl refactor of webstudio with https://github.com/odoo/enterprise/pull/37285/commits/e44403193cbfd7893708ff739fd072f8bb1197c6, the code tries
to access the field name from the 'attrs' of the node (see [1]), but after Commit[1],
it tries to access the field name from the 'field' of the node (see [1]), and it works for
normal fields like text, number, etc., but not for grouped fields like selection, boolean, radio, etc.
This commit fixes the above issue by not fetching or changing the
default value of reified fields. Now, after this commit, the default
value box is not showing for the reified fields.
[1]-https://github.com/odoo/enterprise/blob/1fd7b1182146f1d7e6a7cbb9b725cb4d47281e14/web_studio/static/src/legacy/js/views/view_editor_manager.js#L1029 [2]-https://github.com/odoo/enterprise/blob/50b6e04d2e2f47797ec14bf506a030bd1d9bc797/web_studio/static/src/client_action/view_editor/interactive_editor/properties/field_properties/field_properties.js#L117
sentry-4156923959
Forward-Port-Of: odoo/enterprise#63465
Forward-Port-Of: odoo/enterprise#50249Some of the records had their `groupby` set to `account_id` in previous versions That field was removed from the data file and new expressions were added. This means that the records which already have `groupby` set won't get that field updated during an upgrade, and will trigger [an error](https://github.com/odoo/odoo/blob/17.0/addons/account/models/account_report.py#L571-L578). By explicitly removing the value from the field, we ensure the field will be emptied. The change in the data fi
Original PR description
Some of the records had their `groupby` set to `account_id` in previous versions That field was removed from the data file and new expressions were added. This means that the records which already…
Some of the records had their `groupby` set to `account_id` in previous versions That field was removed from the data file and new expressions were added. This means that the records which already have `groupby` set won't get that field updated during an upgrade, and will trigger [an error](https://github.com/odoo/odoo/blob/17.0/addons/account/models/account_report.py#L571-L578). By explicitly removing the value from the field, we ensure the field will be emptied. The change in the data files comes from: https://github.com/odoo/enterprise/pull/52603 ``` odoo.tools.convert.ParseError: while parsing /home/odoo/src/enterprise/17.0/l10n_ro_reports/data/balance_sheet_short.xml:3 Groupby feature isn't supported by aggregation engine. Please remove the groupby value on 'SOLDE C | 43' ``` Note: The original change to the data file happened in saas~16.1. Given that it's not possible to upgrade to intermediate versions any more and there's no issue in standard, the PR targets 17.0. Forward-Port-Of: odoo/enterprise#62421
Before this commit, when hitting enter while typing in multi-line text, The cursor would move to the next sign item. But it should simply add a new line and remain focused on the multi-line item. This commit aims to fix this issue by preventing jumping to the next item when being at multi-line. Task: 3910934 Forward-Port-Of: odoo/enterprise#63622 Forward-Port-Of: odoo/enterprise#62378
Original PR description
Before this commit, when hitting enter while typing in multi-line text, The cursor would move to the next sign item. But it should simply add a new line and remain focused on the multi-line item. This commit aims to fix this issue by preventing jumping to the next item when being at multi-line. Task: 3910934 Forward-Port-Of: odoo/enterprise#63622 Forward-Port-Of: odoo/enterprise#62378
The issue: When importing a FEC file, the created COAs lack correct translation for languages other than English. This discrepancy arises because the xml_id generated during COA creation does not match the xml_id produced by the _load_translations function. The new COAs' xml_id is a composite of the module ('l10n_fr_fec_import' in this case), company ID, prefix ('account' in this case), and a key derived from the account number code in the CSV file (not Odoo's default code). Consequently, when
Original PR description
The issue: When importing a FEC file, the created COAs lack correct translation for languages other than English. This discrepancy arises because the xml_id generated during COA creation does not…
The issue:
When importing a FEC file, the created COAs lack correct translation for languages other than English. This discrepancy arises because the xml_id generated during COA creation does not match the xml_id produced by the _load_translations function. The new COAs' xml_id is a composite of the module ('l10n_fr_fec_import' in this case), company ID, prefix ('account' in this case), and a key derived from the account number code in the CSV file (not Odoo's default code). Consequently, when calling the _load_translations function, it attempts to update translations using a different xml_id, causing failure in locating records.
The fix:
Include the template_data, if available, during COA translation, as it is more efficient than loading and parsing the entire CSV file. This template data already contains the necessary information, including the correct xml_id. Additionally, introduce a key 'is_xml_generated' in the context to prevent the generation of an incorrect xml_id.
Community PR: https://github.com/odoo/odoo/pull/152090
opw-3646861
Forward-Port-Of: odoo/enterprise#55537Steps to reproduce: - share a workspace with more than one document and a spreadsheet - open the sharing link,(make sure you are login as internal user) - from the sharing portal page, click on the spreadsheet title to open the spreadsheet => access right error Task: 3897719 Forward-Port-Of: odoo/enterprise#63256
Original PR description
Steps to reproduce: - share a workspace with more than one document and a spreadsheet - open the sharing link,(make sure you are login as internal user) - from the sharing portal page, click on the spreadsheet title to open the spreadsheet => access right error Task: 3897719 Forward-Port-Of: odoo/enterprise#63256
There were translations such as "1. Gross profit/gross loss", which were translated to "1. Annoncering og reklame" That translation does not match and we have therefore identified the ones that were off and updated them Forward-Port-Of: odoo/enterprise#63564
Original PR description
There were translations such as "1. Gross profit/gross loss", which were translated to "1. Annoncering og reklame" That translation does not match and we have therefore identified the ones that were off and updated them Forward-Port-Of: odoo/enterprise#63564
Steps to reproduce: - Install sign - Add two document to sign for the Marc Demo - Sign in as Marc Demo - Go to the sign app and sign both documents Issues: There's no button to close the dialog box, you are forced to close the window. opw-3847269 Forward-Port-Of: odoo/enterprise#63448 Forward-Port-Of: odoo/enterprise#61380
Original PR description
Steps to reproduce: - Install sign - Add two document to sign for the Marc Demo - Sign in as Marc Demo - Go to the sign app and sign both documents Issues: There's no button to close the dialog box, you are forced to close the window. opw-3847269 Forward-Port-Of: odoo/enterprise#63448 Forward-Port-Of: odoo/enterprise#61380
also modified: test_marketing_automation Previously, campaign templates could not be used by non-admin users. This commit allows non-admin users with access to the marketing_automation app to create campaigns from templates as expected. task-3603400 Backport of: odoo@8fcdb85f0c4279c6a16c26aa669496cf456f0631 Forward-Port-Of: odoo/enterprise#63155
Original PR description
also modified: test_marketing_automation Previously, campaign templates could not be used by non-admin users. This commit allows non-admin users with access to the marketing_automation app to create campaigns from templates as expected. task-3603400 Backport of: odoo@8fcdb85f0c4279c6a16c26aa669496cf456f0631 Forward-Port-Of: odoo/enterprise#63155
This commit fixes an issue with the Knowledge Article Thread notifications where the user would be redirected to the technical view instead of the Article's view. To fix this, the threadActionsRegistry has been updated for the `expand-form` action so that if the thread model is a `knowledge.article.thread`, it will redirect the user to the corresponding article. task-3904795 Forward-Port-Of: odoo/enterprise#63581 Forward-Port-Of: odoo/enterprise#62024
Original PR description
This commit fixes an issue with the Knowledge Article Thread notifications where the user would be redirected to the technical view instead of the Article's view. To fix this, the threadActionsRegistry has been updated for the `expand-form` action so that if the thread model is a `knowledge.article.thread`, it will redirect the user to the corresponding article. task-3904795 Forward-Port-Of: odoo/enterprise#63581 Forward-Port-Of: odoo/enterprise#62024
Purpose of this PR: Convert the legacy Qunit testcases to hoot. Part of: [3818666](https://www.odoo.com/web#id=3818666&cids=2&menu_id=4720&action=333&active_id=1519&model=project.task&view_type=form) Forward-Port-Of: odoo/enterprise#62599
Original PR description
Purpose of this PR: Convert the legacy Qunit testcases to hoot. Part of: [3818666](https://www.odoo.com/web#id=3818666&cids=2&menu_id=4720&action=333&active_id=1519&model=project.task&view_type=form) Forward-Port-Of: odoo/enterprise#62599