Friday, December 8, 2023
11 changes · 17.0
Resolved issues and error corrections
This fix stops Odoo from saving values into fields that are marked as read-only when certain form updates happen in related list fields. It helps preserve data rules and prevents unintended changes during save operations.
Original PR description
Before this commit, during an onchange, when we received an update command for an x2many referring to an unknown record on the front end (does not have a Datapoint Record) during the save, we sent…
Before this commit, during an onchange, when we received an update command for an x2many referring to an unknown record on the front end (does not have a Datapoint Record) during the save, we sent all the contents of these commands without removing the readonly fields.
In this commit, we're going to filter all the readonly fields according to the backend (fields). We're not taking modifiers into account because the command refers to an unknown record, so we don't have the data to evaluate modifiers correctly.
How to reproduce:
- Go to a form view with an x2many field
- Edit a field that causes an onchange
- The onchange returns an "update" command for the x2many with a value that is readonly according to the backend
- Click on the Save button
Before this commit:
T he "update" command is saved with the readonly field
After this commit:
The "update" command is saved without the readonly chmaps
Task ID: 3607260
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-prZPL product labels now use the pricelist selected in the label printing wizard. This ensures printed prices match the intended customer or sales context, reducing pricing mistakes on physical labels.
Original PR description
before this commit, the pricelist concept is added in label printing in this commit: 168b56e and missed to adapt the zpl reports to respect the selected pricelist in the wizard after this commit, the price printed in the zpl product label will be based on the selected pricelist in the wizard --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
A display issue in survey lists has been fixed so the trigger icon appears immediately when relevant. This prevents users from missing survey trigger indicators due to a column sizing problem after updates.
Original PR description
Due to JS framework refactoring, the list view widget is not fully re-rendered after field update, such that a fixed narrow column width is added at first rendering and cannot be updated. We need to override it by providing a `width`, which was already supported but not declared in rng. Task-3512604
This fixes a rare issue in eLearning quizzes where answer lines could become editable after creating several questions in a row. Keeping those answers read-only prevents user-facing errors and helps quiz setup behave consistently.
Original PR description
Answers_ids line in question_lines of quiz page is not meant to be modified, and it is not generally modifiable. However, in very niche cases where user creates more then two consecutive questions and then leave question creation modal, they may be able to modify the field, which gives us an error. With this fix we make sure that answers_ids is always readonly. Task-3459850 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix centers the month labels in the date picker so months no longer appear too close together when users choose start and end dates. It improves readability and reduces confusion when planning project tasks.
Original PR description
Steps to reproduce : - install project module - click on project - click on tasks - try to set a start & end date to the project Issue : - when we try to set a start & end date to the project ,months are to close one from each other Cause: - this is because the text alignment is not in center Solution: - if we align the text to center then it will be solved. task-3561946 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
This fixes an issue where the bill of materials overview could fail to display quantities for consumable or service items. Quantities are now consistently handled as numbers, preventing errors and keeping the report usable.
Original PR description
### Before this PR If you compute quantity consumable/service and the value is printed by bom overview table, this error appear `Caused by: TypeError: value.toFixed is not a function` This is caused because the quantity attributes are set to false ### After this PR The quantity are always float, when they are consumable/service too --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The website editor now shows the Highlight Animated Text icon at the proper size when users animate selected text in a snippet. This keeps the editing toolbar visually consistent and avoids confusion while building website pages.
Original PR description
Steps to reproduce the bug:
- In Website edit mode, drag and drop a 'Text-Image' snippet onto the page.
- Select the word "Subtitle" in the title of the snippet.
- Click on the 'Animate' button in the editor toolbar.
- Bug: The 'Highlight Animated Text' icon that appeared on the right of the title ("Inline Text") of the editor toolbar is too big.
task-3597377The product label report preview in Studio now opens without causing an error. This prevents users from being blocked when previewing Dymo product label reports and improves reliability for Sales report customization.
Original PR description
when user tries 'PRINT PREVIEW' product.report_producttemplatelabel_dymo report in web_studio, A traceback will appear. Step to produce: - Install 'Sales' and 'web_studio'. - Go to 'web_studio' and…
when user tries 'PRINT PREVIEW' product.report_producttemplatelabel_dymo report in web_studio,
A traceback will appear.
Step to produce:
- Install 'Sales' and 'web_studio'.
- Go to 'web_studio' and open 'Sales'.
- reports > product.report_producttemplatelabel_dymo
- Click PRINT PREVIEW
Traceback:
```
KeyError: 'pricelist'
File "<481>", line 251, in template_481
File "<481>", line 200, in template_481_content
QWebException: Error while render the template
KeyError: 'pricelist'
Template: ir.ui.view(481,)
Path: /t/div/div/div[4]/strong
Node: <strong class="o_label_price_small" t-out="pricelist._get_product_price(product, 1, pricelist.currency_id or product.currency_id)" t-options="{\'widget\': \'monetary\', \'display_currency\': pricelist.currency_id or product.currency_id, \'label_price\': True}"/>
File "odoo/http.py", line 2157, in __call__
response = request._serve_db()
File "odoo/http.py", line 1732, 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 1759, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 1960, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 207, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 722, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "home/odoo/src/enterprise/17.0/web_studio/controllers/report.py", line 372, in get_report_html
report_html = self._render_report(report, record_id)
File "home/odoo/src/enterprise/17.0/web_studio/controllers/report.py", line 454, in _render_report
return request.env['ir.actions.report'].with_context(studio=True)._render_qweb_html(report, [record_id] if record_id else [], {"studio": True})
File "home/odoo/src/enterprise/17.0/web_studio/models/ir_actions_report.py", line 24, in _render_qweb_html
return super(IrActionsReport, self)._render_qweb_html(report_ref, docids, data)
File "odoo/addons/base/models/ir_actions_report.py", line 916, in _render_qweb_html
return self._render_template(report.report_name, data), 'html'
File "odoo/addons/base/models/ir_actions_report.py", line 653, in _render_template
return view_obj._render_template(template, values).encode()
File "home/odoo/src/enterprise/17.0/web_studio/models/ir_ui_view.py", line 1310, in _render_template
return super(View, self)._render_template(template, values)
File "odoo/addons/base/models/ir_ui_view.py", line 2044, in _render_template
return self.env['ir.qweb']._render(template, values)
File "odoo/tools/profiler.py", line 292, in _tracked_method_render
return method_render(self, template, values, **options)
File "odoo/addons/base/models/ir_qweb.py", line 593, in _render
result = ''.join(rendering)
File "<488>", line 49, in template_488
File "<488>", line 31, in template_488_content
File "<488>", line 21, in template_488_t_call_0
File "<483>", line 173, in template_483
File "<483>", line 155, in template_483_content
File "<483>", line 142, in template_483_t_call_0
File "<481>", line 257, in template_481
```
https://github.com/odoo/odoo/blob/e4390c224c2f59afd6456bcf50910fbe3836b4ca/addons/product/report/product_label_report.py#L23-L26
Here 'pricelist' is not present in return.
sentry-4673780990
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThe website setup configurator now sends industry names in lowercase. This helps improve reuse of cached placeholder content, making the setup process more efficient without changing the user experience.
Original PR description
This commit converts the industry name in the configurator to lowercase it in order to optimize the IAP placeholder cache. See related IAP PR: https://github.com/odoo/iap-apps/pull/730 task-3626875
Creating a Studio report with a dynamic table no longer triggers an error when adding a field in debug mode. This keeps the report-building flow working smoothly for users configuring custom reports.
Original PR description
To reproduce ============ - on Debug mode - Enter Studio - Create a new report - Add a dynamic table - add a field in the dynamic table -> traceback while props validation of SelectMenu Problem ======= in FieldDynamicPlaceholder we use the SelectMenu component but we add `model` to `choices` which is not part of SelectMenu shape, which leads to this error. Solution ======== extend SelectMenu and add `model` to the shape opw-3617081
The Materials Tree view in the Planning module has been simplified by hiding three unnecessary fields: user, type, and efficiency factor. This change makes the interface cleaner and easier to use by removing clutter and focusing on the most relevant information for users.
Original PR description
Before this commit: In Materials Tree view containing the some unnecessary fields (user,type,efficiency factor) After this commit: Hide the unnecessary fields in the tree view of materials (user,type,efficiency factor) task-3491748