Wednesday, February 19, 2025
19 changes
Resolved issues and error corrections
This fixes a mobile point of sale issue where opening customer selection while reviewing a paid order could cause an error. The customer button is now hidden in that context, preventing confusion and matching the desktop behavior since paid orders should not have their customer changed.
Original PR description
- Fix issue where an error occur when trying to open the customer popup on mobile from the ticket screen (while reviewing a paid order). - Now we don't display the `Customer` selection button when we're on the ticket screen (like it was already done for the "actions" button) to avoid this error (like it's done in desktop). Also, it does not make sense to try to change the customer of a paid order. task-id: 4571914 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
Product forms no longer show Purchase-related tabs or checkboxes unless the Purchase app is installed. This avoids confusing users with options that are not available in their current setup.
Original PR description
Issue Before This Commit: ----------------------------------------------- - Purchase tab and checkbox is visible in the product form without installing Purchase. Steps to Produce: ----------------------------------------------- => Purchase checkbox Problem: Purchase checkbox is always visible in the product form which is incorrect. => Purchase tab 1. Install Sales. 2. On Unit and Measure. Problem: Now Purchase tab is visible in the product form without installing Purchase which is incorrect. With this commit: ----------------------------------------------- - Purchase tab and checkbox is visible in the product form only after installing Purchase. Task-id: 4391349
This fixes an issue where previously loaded drawn signatures could still be treated as empty. Users now see signing buttons enabled or disabled correctly, reducing confusion when completing signature flows.
Original PR description
Before this commit, although there is a signature loaded in the draw mode, the signature's isSignatureEmpty flag is true, which affects the logic that handles the sign buttons [enable/disable] state. After this commit, the isSignatureEmpty is handled correctly and the sign buttons' disability logic is clear. task-4466854 Related: https://github.com/odoo/enterprise/pull/77120 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Creating a link in an empty editor block no longer leaves an extra hidden line break behind it. This prevents formatting from being accidentally applied or left behind when users select, style, or clear formatting on the link.
Original PR description
**Current behaviour before PR:** Creating a link in an empty block using powerbox contains trailing `br` at the end of link. Due to this `br` , when user presses `ctrl + A` and applies any format, `br` also gets formatted along with link. In such case when user selects link using double click and removes format using remove-format button, the link gets unformatted but `br` remains formatted because it is not traversed in selection. **Desired behaviour after PR:** There should be no trailing `br` after creating a link as the block is not empty anymore. task-4399010 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The HTML editor now ignores invisible placeholder characters when checking whether selected text is formatted. This keeps toolbar buttons like Bold in sync after formatting selections that include links, reducing confusion while editing content.
Original PR description
**Problem**: When applying formatting (e.g., Bold) to a selection that includes a link, isZwnbsp characters inside the DOM cause incorrect formatting state detection. isZwnbsp nodes are not formatted, but they are still considered when checking the selection state. **Solution**: Modify `isSelectionFormat` to check only visible text nodes. isZwnbsp characters should be ignored as they do not get formatted. Also when split we remove `FEFF` chars from text node which in case the node has only one `FEFF` will become an empty node We should exludes those nodes from the check too. **Steps to Reproduce**: 1. Type a link followed by a space. 2. Select all the text. 3. Apply "Bold." 4. The "Bold" button in the toolbar remains inactive incorrectly. opw-4555595 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes a test portal template so it is correctly marked as the main portal layout. It prevents portal pages, such as sale order pages used in testing, from showing the discussion area in the wrong position.
Original PR description
Since odoo/odoo#196778, a portal test template has been added. Missing the `primary`attribute in this template affects all the portal templates. This commit adds this attribute to the test template. Steps to reproduce: - Install a module that inherits `portal.mixin` such as sale and `test_mail_full` - Go to a sale order page in the portal - Chatter is at the top of the page
This fix stops users from saving a live chat bot question-selection step unless it includes at least one answer. This prevents chatbot execution errors and helps ensure customer conversations continue smoothly.
Original PR description
**Current behavior before PR:** It was possible to save a step with step_type "question selection" without any answers. However, this would cause an error when the bot was executed. **Desired behavior after PR is merged:** A constraint has been added to ensure that a "question selection" step cannot be saved without at least one answer. task-id:[4522835](https://www.odoo.com/odoo/my-tasks/4522835) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes a display issue in report headers where a company logo with a white background could blend incorrectly with the colored wave shape. Logos now appear above the background shape, keeping reports visually clean and branded as intended.
Original PR description
Issue: When changing the company logo, if the image contains a white background it will mix with the header's shape color. This is because the shape is displayed on top of the image. Adding a negative z-index ensures the image is over the shape and doesn't mix with it. task-4471578 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Shared spreadsheet links now only show the “frozen and copied” message when the spreadsheet is actually frozen. This prevents viewers from seeing misleading status information when opening normal shared spreadsheets.
Original PR description
Steps to reproduce: - Create a new blank spreadsheet in Documens - Hit the Share button - Open the sharing link in a incognito window => it says "Frozen and copied on ..." even though it's not frozen at all See Enterprise PR Task-4583953 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 fix ensures the French accounting setup uses the correct module reference when preserving existing tax tags. It helps prevent tax tag data from being missed or overwritten during setup or updates for French accounting configurations.
Original PR description
When calling preserve_existing_tags_on_taxes(), the module name is passed as argument, cf https://github.com/odoo/odoo/blob/18.0/addons/account/models/chart_template.py#L38. The module name is now l10n_fr_account instead of l10n_fr (account.account.tag are now defined in l10n_fr_account, cf https://github.com/odoo/odoo/blob/18.0/addons/l10n_fr_account/data/account_chart_template_data.xml#L3). --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change adds automated testing for the website click-and-collect purchase flow. It helps ensure customers can continue buying online and selecting store pickup without regressions from future changes.
Original PR description
Add tour for the fix b395f98.
Employee payroll declaration documents are now linked to the employee as the contact when they are generated. This ensures employees can see the relevant declarations in their My Profile documents area, improving access to their own payroll paperwork.
Original PR description
Since the employees see in their 'My Profile' tab the documents on which they are 'Contact'. We need to set them as contact when generating declaration and not only 'read' access.
The Sign app now keeps the Sign All button available when a signer has multiple signature or initial fields and has already filled the first one. This prevents users from getting stuck when they want to apply the same signature to the remaining fields without changing it again.
Original PR description
Before this commit, If you have multiple signatures/initials on the page and you sign on the first signature and want to sign for other sign fields as well, it's not possible due to the "sign all" button's disability (if no change is made in the sign wizard). After this commit, The sign-all button is enabled, even if there is no change is made in the sign wizard. task-4466854
Odoo Studio now makes all relevant fields available when users build conditional rules for views, even if those fields were not originally shown on the screen. This fixes a limitation in the rule editor and helps users configure visibility or behavior rules more reliably.
Original PR description
Since commit [6f06420e4a9443c52dc0cb427f8f55eb4aecabce](https://github.com/odoo/odoo/commit/6f06420e4a9443c52dc0cb427f8f55eb4aecabce), fields used in expressions in a view are automatically added to the view if not present originally. This allows all fields to be available in the expression editor for modifiers, which this commit is enabling. task-4481934
This update restores an accounting test to the expected behavior after a related platform change. It helps keep automated quality checks reliable without changing customer-facing accounting features.
Original PR description
Test changed in d5da2b62263f85fbce0f2548085c066cbbf10371 needs to be changed back because of https://github.com/odoo/odoo/pull/198086 opw-4512877
Planning links that include start and end dates now open the Gantt view on the intended date range, avoiding an extra day or misaligned week. This makes shared planning URLs more reliable for teams reviewing schedules.
Original PR description
[IMP] Account: Create force_create attribute in try loading The goal is that we do not need to be more accurate on what we need to update when updating the CoA so I have added force_create to be false if wo do not want to create new accounts, new taxes, new fiscal positions in the Netherlands -I have added the created force attribute to try_loading function to use it whenever we do not need to create new accounts, taxs, and fiscal positions -Modified l10n_nl migrations files to make force create to False task-4556250
Fixed an issue that could cause an error when barcode inventory settings were opened or read in batches. This helps keep warehouse configuration screens reliable and avoids interruptions for users managing barcode workflows.
Original PR description
An error occurs when the system tries to access single values from multiple records at [1]. Link [1]:…
An error occurs when the system tries to access single values from multiple records at [1].
Link [1]: https://github.com/odoo/enterprise/blob/71747a21cb5c68a8ab151434f85c822f30649aad/stock_barcode/models/res_config_settings.py#L14-L15
Traceback On Sentry:
```
ValueError: too many values to unpack (expected 1)
File "odoo/orm/models.py", line 6073, in ensure_one
_id, = self._ids
ValueError: Expected singleton: res.config.settings(52, 53)
File "odoo/http.py", line 2420, in __call__
response = request._serve_db()
File "odoo/http.py", line 1946, in _serve_db
return self._transactioning(
File "odoo/http.py", line 2010, in _transactioning
return service_model.retrying(func, env=self.env)
File "odoo/service/model.py", line 137, in retrying
result = func()
File "odoo/http.py", line 1977, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 2228, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 335, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 741, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 31, in call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/service/model.py", line 62, in call_kw
result = getattr(recs, name)(*args, **kwargs)
File "odoo/orm/models.py", line 3611, in read
return self._read_format(fnames=fields, load=load)
File "odoo/orm/models.py", line 3841, in _read_format
vals[name] = convert(record[name], record, use_display_name)
File "odoo/orm/models.py", line 6880, in __getitem__
return self._fields[key].__get__(self)
File "odoo/orm/fields.py", line 1428, in __get__
self.compute_value(recs)
File "odoo/orm/fields.py", line 1594, in compute_value
records._compute_field_value(self)
File "odoo/orm/models.py", line 5055, in _compute_field_value
determine(field.compute, self)
File "odoo/orm/fields.py", line 70, in determine
return needle(*args)
File "home/odoo/src/enterprise/saas-18.1/stock_barcode/models/res_config_settings.py", line 32, in _compute_show_barcode_nomenclature
self.show_barcode_nomenclature = self.module_stock_barcode and self.env['barcode.nomenclature'].search_count([]) > 1
File "odoo/orm/fields.py", line 1369, in __get__
record.ensure_one()
File "odoo/orm/models.py", line 6076, in ensure_one
raise ValueError("Expected singleton: %s" % self)
```
To resolve this issue, Use an iteration(for loop) to iterate records one by one.
Sentry-6296116940Shared document spreadsheets now only show the “Frozen and copied” message when the spreadsheet is actually frozen. This avoids confusing viewers who open a normal shared spreadsheet link and helps users trust the sharing status they see.
Original PR description
Steps to reproduce: - Create a new blank spreadsheet in Documens - Hit the Share button - Open the sharing link in a incognito window => it says "Frozen and copied on ..." even though it's not frozen at all See Community PR Task-4583953
Customer statement emails now include the sender signature only once. This keeps customer communications cleaner and avoids an unprofessional-looking duplicate signature when statements are sent from partner records.
Original PR description
Customer statement can be accessed from the partner record and eventually sent to the customer. However currently the mail wizard will add 2 signatures at the end of the mail Steps to reproduce: - Open a partner - Access Customer Statement - Click Print, send email - Check sent email Issue: The signature is duplicated opw-4456798