Thursday, January 2, 2025
14 changes · 17.0
Resolved issues and error corrections
Creating a new sales quotation no longer shows an incorrect company-change warning when a default quotation template is configured. This avoids confusing sales users and keeps the quotation creation flow focused on actual company changes.
Original PR description
**Issue:**
A warning popup appears incorrectly when a user-defined default is set for the "Quotation Template (Sales Order)" field. This warning is only relevant when the company is changed while creating a quotation.
**Steps to reproduce the issue:**
1- Navigate to Settings > Technical > Actions > User-defined Defaults.
2- Create a new User-defined Default for the field "Quotation Template (Sales Order)" with a default value (in JSON format) of 1 .
3- Go to the Sales module.
4- Create a new quotation.
A warning with the title "Warning for the change of your quotation's company" is displayed (see screenshot attached), despite the company not being changed.
The onchange('company_id') method is triggered by the user-defined default for the quotation template.
<img src="https://github.com/user-attachments/assets/5f046310-05b7-48ab-9781-1ba4a36f2beb" width=400 />
opw-4244961
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prFixes an issue where badges granted to employees did not show the shortcut to the rewarded employee's card. The badge grant process now correctly identifies the selected user's employee record, making it easier to navigate from badge cards to the related employee.
Original PR description
**Issue:** Badges granted to employees don't display the link to access employee card. https://github.com/user-attachments/assets/d8de916d-4f24-4ebb-b312-4e17d4c79bbb **Expected:** Magic button on badges cards should lead to the rewarded employee if any. **Steps to reproduce:** - Activate Employees and Gamification apps; - Configure an employee; - Configure a badge to grant through `Employees / Configuration / Challenges / Badges`; - Grant the badge and select the employee; - See all counters increase but the magic button's one. **Cause:** The employee_id is not set on the `GamificationBadgeUserWizard` during creation state so `values` never contain an employee_id if retrieved on `self`. **Fix:** Retrieve the user's employee id through the selected user entity. https://github.com/user-attachments/assets/a0076e85-cd66-421a-992f-2c89afb07ad8 opw-4366690 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Long analytic plan names in the Expenses app now stay on one line in the analytic distribution widget. This prevents awkward text wrapping and makes the expense entry screen easier to read, matching the behavior already seen in Accounting.
Original PR description
**Steps to reproduce:** - Configure `Analytic Accounting` via `Accounting` module's settings; - Go to `Analytic Plans` through `Accounting / Configuration / Analytic Accounting`: - Select any record…
**Steps to reproduce:**
- Configure `Analytic Accounting` via `Accounting` module's settings;
- Go to `Analytic Plans` through `Accounting / Configuration / Analytic Accounting`:
- Select any record and change its name for a really long one;

- Go to `Expenses` app:
- Select any expense in the list;
- Open the `Analytic Distribution` widget.
___
**Issue:**
Long `Analytic Plans` names are wrapped and may lead to unreadable texts.

___
**Expected:**
A smooth UI should display `Analytic Plans` as when accessed through an invoice line from `Accounting` app.

___
**Cause:**
The `Analytic Distribution` widget style of the invoice view inherits from the list renderer, forcing a `nowrap` style while the expense view of the same widget does not.
___
**Fix:**
Force a `nowrap` style for that specific widget.

___
opw-4357324
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prCreating a To-Do item now correctly keeps it separate from any default project a user may have set for regular tasks. This prevents the wrong project task form from appearing and ensures To-Do creation works as expected.
Original PR description
Before this commit, when the user sets a project as a default value for his tasks, that default value will also be applied inside To-Do app because a to-do is in fact a private task (that is, a task…
Before this commit, when the user sets a project as a default value for his tasks, that default value will also be applied inside To-Do app because a to-do is in fact a private task (that is, a task without any project set). This commit adds a default value inside the context of the main action used in To-Do to make sure the default value for `project_id` field in To-Do is false and nothing else. Steps to reproduce ================== 1. Install Project app 2. Go to Project app 3. Select/create a project 4. Select/create and edit a task inside 5. Enable the debug mode 6. Click on debug menu and select `Set Default Values` 7. Apply `project = <your project selected/created>` and save 8. Go to To-Do app 9. Create a to-do Expected Behavior ----------------- A to-do should be created without any issue in the kanban view. Current Behavior ---------------- A form view will be displayed inside a modal to create the to-do but the form view is in fact the one used in Project app and the project set is the one set as default value instead of having no project since the user is creating a to-do and not a task inside that project.
This update prevents an error when a user deletes an attachment from an expense report and then immediately clicks the related expense line. Users can continue working without needing to reload the page after removing the attachment.
Original PR description
A temporary issue may occur when the attachment of an expense report is deleted. Steps to reproduce: - Create an expense and add an attachment. - Create the report. - On the report, delete the attachment. - Try to click on the expense line. An error "TypeError: Cannot read properties of undefined (reading 'checksum')" is raised. The problem is resolved as soon as the page is reloaded. This fix ensures the case is handled when one clicks before the page is reloaded. opw-4355488
This update addresses a technical issue in the l10n_mx_edi module that caused reports to break when views were inherited. By adding names to specific view elements, the change ensures these views remain stable even with small updates, preventing disruptions to report generation. This improves the reliability of the Mexican EDI functionality.
Original PR description
There are currently some elements in views that are not reachable on a deterministic way when those views are inherited. That means, to reach them, positional selectors need to be used (e.g. `last()`). That causes inherited views to get broken when there are small changes in element position.
A good example of this is [1]:
<div class="digital-stamp">
<span>Extra Info</span>
</div>
Which can't be filtered by:
- Class, because there are several `<div>` elements with the same class
- Text content, because when content is translated, selector will fail
To solve the above, this change provides names for several elements, to make possible/easier to reach them on a safely manner.
[1] https://github.com/odoo/enterprise/blob/d6346ef8/l10n_mx_edi/views/l10n_mx_edi_report_invoice.xml#L123
Forward-Port-Of: odoo/enterprise#64604
Forward-Port-Of: odoo/enterprise#63957This update resolves an issue where spreadsheet templates couldn't correctly handle grouped date fields. The fix prevents incorrect assumptions about date granularity during template creation, ensuring accurate spreadsheet generation. This improves the reliability of reports and dashboards.
Original PR description
When creating a spreadsheet.template, we ensure the values of each groupbys are correctly ordered. Tthe current implementation assumes that the groupby will return values present in the tables and not values altered by a groupby with specific granularity (namely date fields) by adding the values to the search domain. Unfortunately, the search does not support dates with a granularity different than `day`. This revision ensures that we do not add such grouped values to the search domain. Task-4438631 Forward-Port-Of: odoo/enterprise#76290
This update corrects a minor typo in the system's notification process for employee contracts. The fix ensures that salary-related messages are correctly sent, preventing potential disruptions to payroll and contract management workflows. This ensures accurate and timely communication regarding contract details.
Original PR description
Forward-Port-Of: odoo/enterprise#75991
This update fixes a bug preventing the helpdesk onboarding tour from progressing when users provided input. The fix removed a hardcoded string check, allowing the tour to correctly advance based on user actions, improving the user experience.
Original PR description
Previously, when a customer was selected or input was entered, the onboarding tour failed to proceed to the next step. With this fix, the tour will correctly advance when the user provides input. Without demo data, the database does not have Deco.so i so I select the partner. When the user does not provide the ticket name 'SAP is bad, paid by Odoo,' the tour will not move to the next step because we had checked a fixed string. Therefore, I have removed it and checked the kanban class instead. task-4372470 Forward-Port-Of: odoo/enterprise#75106
Miscellaneous changes
Steps to reproduce: - Install hr_timesheet (with demo data) - Navigate to portal > timesheet - Group by project Issue: When only the hr_timesheet module is installed and timesheets are grouped in the portal view, the column alignment is broken due to an incorrect colspan. Cause: When groupby is applied, the colspan is manually set to 4, causing misalignment between the header and row columns. Fix: This commit sets the last column's colspan to 2 when grouping is applied to fix th
Original PR description
Steps to reproduce: - Install hr_timesheet (with demo data) - Navigate to portal > timesheet - Group by project Issue: When only the hr_timesheet module is installed and timesheets are grouped in the portal view, the column alignment is broken due to an incorrect colspan. Cause: When groupby is applied, the colspan is manually set to 4, causing misalignment between the header and row columns. Fix: This commit sets the last column's colspan to 2 when grouping is applied to fix the alignment issue. task-4294780 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#186532
Some accounts got the wrong code, while the id rightly changed --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#191826
Original PR description
Some accounts got the wrong code, while the id rightly changed --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#191826
**Issue:** in the Saudi Arabia localization, the delivery address is not displayed on invoices even if `Customer Addresses` is enabled. **Steps to reproduce:** 1. Go to settings and enable `Customer Addresses`. 2. Install the Saudi Arabia localization. 3. create an invoice with a delivery address other than the customer's. 4. Print the invoice. 5. notice that the delivery address is not displayed on the invoice. **Solution:** - Added the delivery address to the invoice report next t
Original PR description
**Issue:** in the Saudi Arabia localization, the delivery address is not displayed on invoices even if `Customer Addresses` is enabled. **Steps to reproduce:** 1. Go to settings and enable `Customer Addresses`. 2. Install the Saudi Arabia localization. 3. create an invoice with a delivery address other than the customer's. 4. Print the invoice. 5. notice that the delivery address is not displayed on the invoice. **Solution:** - Added the delivery address to the invoice report next to the QR code. opw-4337379 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#190976
Authentication data was accidentally logged when sending requests to the Authorize API. This change stops logging such data to avoid security breaches. opw-4311870 Forward-Port-Of: odoo/odoo#191219
Original PR description
Authentication data was accidentally logged when sending requests to the Authorize API. This change stops logging such data to avoid security breaches. opw-4311870 Forward-Port-Of: odoo/odoo#191219
Steps To Reproduce: -> Go to Edit mode. -> Drag & Drop Tabs Snippet. -> Click in middle of tab's text and press "Enter". -> Tab is split and and new Tab is created. Issue Reason: As tab's element fails `isUnbreakable()` check for `Keydown`(Enter) event which makes it possible to split the element. And issue is not specific to Tab snippet but in other snippets where `anchor tag` and elements with `btn` class or role attribute is `button`. Solution: By modifying checks in `isUnbreak
Original PR description
Steps To Reproduce: -> Go to Edit mode. -> Drag & Drop Tabs Snippet. -> Click in middle of tab's text and press "Enter". -> Tab is split and and new Tab is created. Issue Reason: As tab's element…
Steps To Reproduce: -> Go to Edit mode. -> Drag & Drop Tabs Snippet. -> Click in middle of tab's text and press "Enter". -> Tab is split and and new Tab is created. Issue Reason: As tab's element fails `isUnbreakable()` check for `Keydown`(Enter) event which makes it possible to split the element. And issue is not specific to Tab snippet but in other snippets where `anchor tag` and elements with `btn` class or role attribute is `button`. Solution: By modifying checks in `isUnbreakable()` for handling elements with `anchor tags` and elements with `btn` class or role attribute is `button`. This PR solves the issue of tab duplication in Tab Snippet and few snippets in which there is already button and the said behavior is observed are : `Cover` , `Text - Image` , `Image - Text `, `Carousel `, `Donate Now ( Button )` where anchor tag and elements with 'btn' class or role attribute is 'button', in `Masonry` and `Carousel` snippet which adds button through `Add Element` option and also when we add a button using `/button` command in any snippets. task-4316648 Forward-Port-Of: odoo/odoo#187014