Daily updates from Odoo
Monday, October 21, 2024
22 changes
2 changes
Resolved issues and error corrections
This update fixes an error that could occur when opening an employee form view in the HR app. It restores reliable access to HR employee records after a recent change introduced the issue.
Original PR description
Fix an error introcuded by commit 2773ab7ff5855a8345eabaf52a3bb5f8b1b80235
This fix corrects how the HR app checks a user's group permissions when opening employee forms. It helps ensure the right employee form view or action is shown based on user access rights, avoiding errors caused by checking permissions on the wrong record type.
Original PR description
With this commit; the function previously called user_has_group is replaced by the method has_group and need to be called with res.users model not hr.employee model. task-4262917 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
2 changes
Resolved issues and error corrections
This fixes a test conflict that happened when the demo social media module was installed alongside Twitter social features. It ensures anti-spam checks can be tested reliably without being disrupted by demo data behavior.
Original PR description
If `social_demo` is installed, it overrides all social method calls to return hardcoded data, and notably does not account for the "anti-spam" system. This means running the anti-spam test with `social_demo` installed can not succeed.
This change updates inter-company sales and purchasing tests so they no longer assume that multi-currency mode is enabled. It helps ensure the tests run reliably in databases with only one active currency, reducing false failures in validation environments.
Original PR description
Both modules have tests with an unstated dependency on the multi-currency mode, as they unconditionally try setting currencies into forms.
They will pass if they run in a multi-currency-enabled database[^1] but if the context is non-multi-currency (e.g. no l10n module is explicitly installed so only `l10n_us` is present and USD is the only currency) then they fail with
can't write on invisible field 'currency_id'
[^1]: generally the case on runbot where `l10n_be` is ~always
installed, which enables EUR, which being a second currency
automatically enables multi-currency17 changes
Resolved issues and error corrections
This fix adjusts the left spacing of the chatter area when it appears inside a chat window. It makes the layout look cleaner and more consistent, improving readability without changing functionality.
Original PR description
Before / After <img width="366" alt="Screenshot 2024-10-21 at 20 45 32" src="https://github.com/user-attachments/assets/ece48e77-cb42-4442-8ff1-fc79743ac718"> <img width="369" alt="Screenshot 2024-10-21 at 20 43 38" src="https://github.com/user-attachments/assets/542034a3-1e01-4222-ad18-edd77090f41d">
Quarter filter values in spreadsheets now stay as Q1 to Q4 regardless of the user's language. This prevents reports and accounting formulas from breaking when users work in languages such as French.
Original PR description
Currently, when using a language that translates the abbreviation of quarters (Q) to anything else, the formula `=filter.value(...)` would return the translated version, which then could not be used on other formulas like `=odoo.balance`, this can be observed by opening the Finance/accounting dashboard while in french and selecting a filter in quarter. After this fix, the formula filter.value will always return Q1 to Q4 for quarter names. Task: [4274741](https://www.odoo.com/odoo/project/2328/tasks/4274741) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Odoo no longer requires an extra developer-only package when running in production. This simplifies installation and avoids pulling in software that is only needed for development work.
Original PR description
The typing_extensions is for dev only and should not be required to run Odoo. Also see #184452
This update cleans up how mail sub-channels are prepared and stored, reducing the chance of inconsistent channel behavior. It also strengthens automated checks so future issues in sub-channel search are easier to catch and diagnose.
Original PR description
- `_to_store` should not be called manually - `Store` constructor already adds the record - code should not assume order of channels in store insert - tour is made more robust and easier to debug by adding extra asserts
This fix updates point-of-sale loyalty test flows so reward pop-ups can be closed after checking that the reward button is highlighted. It helps keep automated checks reliable and reduces the risk of loyalty reward issues going unnoticed.
Original PR description
In this commit, we add the possibility to close the modal after checked that the button reward is higlighted in modal. Also, we fix all tours were the modal has to be closed before continue the tour. 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
Fixes misaligned translation controls in quotation template descriptions and other multi-language fields. This makes translated content easier to edit and gives users a cleaner, more consistent form layout.
Original PR description
**Version**: 18.0 **Steps to Reproduce**: 1. Navigate to the Subscription module. 2. Open the quotation template form view. 3. Click on the description field in the lines. **Issue 1**: The position of the translation field in the description lines appears misaligned. **Solution 1**: Align the flex items along the baseline of the text to ensure proper alignment of the translation field. --- **Steps to Reproduce**: 1. Install the Sign, Project, and Web Editor modules. 2. Enable multi-language support. **Issue 2**: The translation button in multi-language support is misaligned due to improper absolute positioning within a `div` tag. **Cause**: The button is positioned using `absolute`, which disrupts alignment. **Solution 2**: Remove the `absolute` positioning to fix the alignment issue and ensure proper placement of the translation button.
This fix ensures Brazilian tax settings correctly mark taxes as included in prices where required. It helps keep invoices and accounting calculations aligned with local tax expectations after an underlying configuration change.
Original PR description
Price inclusion wasn't set on taxes in Brazil because the inverse on price_include was removed [1]. This adapts the csv to use price_include_override instead. [1] https://github.com/odoo/odoo/pull/178571 opw-4239515
The mobile message composer no longer shows extra empty space below the typing area on most phones. This keeps the messaging interface cleaner while preserving the intended spacing for iOS devices.
Original PR description
Purpose of this commit: Previously, there was unnecessary space below the compose area in the mobile view. This space was generally present on all phones but was intended only for iOS devices. This commit adjusts the layout accordingly task-4207316
This fix prevents an error when users add a serial number to maintenance equipment before a name is set. It keeps equipment creation and product information editing working smoothly when only the Maintenance app is installed.
Original PR description
**Steps to reproduce the bug:**
- Create a new database and install only the Maintenance app.
- Go to Equipment and create a new one.
- Navigate to the product information.
- Set a "Serial Number"
Problem:
A traceback is triggered when we try to compute the field display_name
using `self.name + self.serial_no`, but `self.name`` is not yet set
and is therefore False:
```
record.display_name = record.name + '/' + record.serial_no
~~~~~~~~~~~~^~~~~
TypeError: unsupported operand type(s) for +: 'bool' and 'str'
```
opw-[4261222](https://www.odoo.com/web#id=4261222&view_type=form&model=project.task)The pricelist report now works correctly when users click the plus button to adjust quantities. This fixes an error that could block users from changing quantities in the report after a platform change removed an older page dependency.
Original PR description
Versions -------- - 18.0 - master Steps ----- 1. Go to product view; 2. using the actions button, go to Pricelist Report; 3. click on the "+" button of the Quantities selector. Issue ----- ReferenceError: Can't find variable: $ Cause ----- jQuery's `$` selector has been disabled there at some point between 17.4 & 18.0. This wasn't caught by the pricelist report's unit tests, as jQuery is made available in that context. Solution -------- Replace the jQuery selector with `ev.target.previousSibling`, which points to the same `input` element. opw-4230836
The update removes unnecessary warning styling from invoice lines where products are not required, reducing confusion for users. Sales documents still show relevant warnings, but down payment lines are now excluded when the warning is not needed.
Original PR description
Purpose of this commit to remove warning class on product section and note widget when it's not a necessary. This commit move warning class code from account to sale as product field is not require on invoice lines and user can confirm invoice without product so there is no need to add warning class on invoice also add condition in sale to not display warning class on down payment lines.
This fix makes the test mock server return only the data that the real server would provide when no specific fields are requested. This helps prevent tests from passing for the wrong reasons and reduces the risk of client data being overwritten during messaging, live chat, ratings, and web test scenarios.
Original PR description
\* = im_livechat, rating, web Similar as python code, where _read_format returns only id when no field names are provided. Returning more fields than expected might create issues (race condition of server data overriding client data: eg. rtc session join should not return extra fields), or simply make the test pass due to the extra data when in reality those data are not present. Back-port from https://github.com/odoo/odoo/pull/183102
Custom newsletter popups saved for later use now show their preview when selected from the website editor's custom snippets. This helps users identify and reuse popup designs reliably instead of seeing an empty or missing preview.
Original PR description
Steps to Reproduce : 1. Go to Website --> Drop a newsletter popup snippet 2. Saved the snippet for later use 3. Drag and drop the Custom Category snippet -> In that you will find no preview of the Newsletter pop-up. Prior to this fix, to prevent pop-up snippets (like the newsletter) from becoming invisible, we saved the element before invoking cleanForSave. However, this approach specifically targeted the standard pop-up (not newsletter popup) snippet only. With this commit, we adapt the condition to target the newsletter and other pop-up snippets, ensuring proper visibility across all popup types during snippet previews. task-4251878
The Chilean electronic invoicing module now checks shared certificate settings correctly even before a company record is saved. This prevents incorrect validation behavior and helps keep company certificate setup reliable.
Original PR description
Resolve an issue where the compute method `_compute_is_there_shared_cert` was triggered before the record was saved, causing the domain to be incorrectly constructed with `company.id`. Replacing `company.id` with `company._origin.id` to ensure the correct domain is applied by accessing the original record instance.
This fix prevents users from creating an incomplete private key directly from settings, which could cause certificate request generation to fail. Businesses using Argentine electronic invoicing get a smoother setup process with fewer blocking errors.
Original PR description
Currently, an error occurs when generating a certificate request, and the private key is available but it has no content. Step to produce: - Install the ```l10n_ar_edi``` module. - Go to the current…
Currently, an error occurs when generating a certificate request, and the private key is available but it has no content. Step to produce: - Install the ```l10n_ar_edi``` module. - Go to the current company, and add CUIT(vat) and city if it is not available. - Go to Settings, and create a quick 'Private Key' which in the Argentinean Localization section. - And click on ```Generate Request``` ```TypeError: argument should be a bytes-like object or ASCII string, not 'bool'``` An error occurs because a user can directly create a private key without adding content in it which is required in 'certificate.key' model, so an error occurs when the system tries to decode the content of the private key at [1], but it is not available. Link [1]: https://github.com/odoo/enterprise/blob/64d3dfdcc4c5c39ef68d94fbfd972a4930283b66/l10n_ar_edi/models/certificate.py#L28 To resolve this issue, remove the quick 'create' option for a private key from settings form view. Sentry-5999498377
The translation button in Web Studio now appears correctly aligned when multiple languages are enabled. This improves the form editing experience by keeping controls visually consistent and easier to use.
Original PR description
Version: - 18.0 Steps to Reproduce: - Install the sign, project, and web_editor modules. - Enable multi-language support. Issue: - The translation button is misaligned. Cause: - The button is positioned using absolute within a div tag, which causes the alignment issue. Solution: - Remove the absolute positioning to fix the alignment.
Fixed an issue that could interrupt ISO 20022 payment processing when payments involved more than one currency. This prevents an error during payment file generation and helps accounting teams complete exports reliably.
Original PR description
Traceback: ``ValueError: Expected singleton: res.currency(1, 125)`` At [1], mistakenly written self instead of rec [1]- https://github.com/odoo/enterprise/blob/e9a2ae47fcdf98635dbdc7a55cb9ed1bfa1f0f5e/account_iso20022/models/account_payment.py#L41-L43 sentry-6000953570
1 change
Resolved issues and error corrections
A test in the Planning module was failing when run on weekends or non-working days. This fix ensures the test runs consistently by simulating a working day environment, improving the reliability of automated testing.
Original PR description
Recently, this commit is merged: https://github.com/odoo/enterprise/pull/63002/commits/32776c6eb7ce1dafca2f8f4d0f825c19da641b71 the test case is failing in the weekends or non-working days, so I have used freeze_time to run it as if it were a working day. Forward-Port-Of: odoo/enterprise#72343