Daily updates from Odoo
Tuesday, November 26, 2024
21 changes
2 changes
Resolved issues and error corrections
Employee civil status options in the private information section are now included in translation files. This lets users see those labels in their chosen language instead of always in English.
Original PR description
In the employees module, the civil status field in the private information section has terms that are always in English. These terms were not exported to be translated. This commit makes them translatable and exports them to the translators. Opw-4292046 Opw-4278798 Enterprise: https://github.com/odoo/enterprise/pull/73406
The Razorpay onboarding flow now sends users to the correct Odoo page after setup. This prevents a mismatch with the newer URL structure and helps merchants complete payment setup smoothly.
Original PR description
Updated the redirect URL from `/web` to `/odoo` to align with the new URL structure introduced.
1 change
Resolved issues and error corrections
This update adjusts an internal performance test limit for creating subscriptions after related feature changes increased the expected number of system queries. It helps keep automated checks aligned with the new behavior without changing what users see.
Original PR description
Due to a new feature to the new feature in the corresponding community PR, the number of query when making subscription is increased due to a series of computes. (passing through event_sale and the new module) task-4283517
11 changes
Resolved issues and error corrections
This fixes the live chat chatbot layout so answer buttons appear outside the message bubble as intended. The change improves readability and makes chatbot interactions look cleaner for website visitors.
Original PR description
Before this commit, chatbot answers buttons appear inside the message bubble. This happens because the new xpath target introduced in https://github.com/odoo/odoo/pull/188407 had the wrong position argument. This commit fixes the issue by changing the position to `after`. Before:  After: 
This fixes a timezone mismatch that could cause Odoo to incorrectly decide whether a page became outdated after a websocket disconnection. Users should see more accurate refresh warnings, reducing unnecessary confusion or missed prompts.
Original PR description
The outdated page watcher detects when the page is outdated i.e. when the autovacuum ran while the websocket was disconnected. To do so, it compares the last disconnection datetime with the last autovacuum datetime received from the server. However, last disconnected datetime is saved in UTC while value coming from the server is parsed using the default timezone. This PR fixes the issue by handling both datetime with the default timezone.
The blog author snippet now uses the stored author name instead of directly checking the author record. This prevents public website visitors from hitting permission-related issues when viewing blog posts, helping author information display consistently.
Original PR description
Author snippet previously used the author_id field on the blog post record which would run in to permission issues as public user. Used the already existing author_name field on the blog record which also seemed to be used in older versions of Odoo to bypass this permission issue. opw-4330319
The HTML editor now correctly detects when selected text has a custom font size, so users can use the remove formatting button to reset it. The toolbar also shows the correct font size when selecting all content, reducing confusion while editing formatted text.
Original PR description
**Behaviour before PR:** When a `font-size` is applied on a text, remove-format icon is disabled in toolbar when that text is selected and user is unable to reset `font-size`. This happens because in `formatSpecs` `isFormatted` method fails to get correct value in case of `setFontSizeClassName`. Same scenario is with `isFormatted` method of `fontSize`. **Behaviour after PR:** Now remove-format icon is enable when font-sized text is selected and user can remove and reset font-size of selected text. task-4263625 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Task records in Website Project will no longer log phone or company-name changes that are not useful for task history. This keeps task activity cleaner and avoids inconsistent behavior depending on which related apps are installed first.
Original PR description
Before this commit, the partner_phone field in `project.task` model is tracked because it is a related field linked to `partner_id.phone` and `phone` is tracked. Moreover, that field is also defined in `industry_fsm` module but its definition is different which could lead to unexpected behavior depending on the installation order. This commit duplicates the definition of that field from industry_fsm to website_project to make sure to not have a different behavior depending on the installation order of those modules. It also removes the tracking on `partner_company_name` since it is not really useful in task if one day `company_name` in `res.partner` model is tracked.
This fixes a visual issue in the mail area where logged notes displayed with an unnecessary border. The change makes note entries look cleaner and more consistent, improving readability without changing functionality.
Original PR description
Before / After <img width="254" alt="Screenshot 2024-11-25 at 14 23 16" src="https://github.com/user-attachments/assets/0ea6235e-ad18-4001-8c6c-31860e5d0371"> <img width="268" alt="Screenshot 2024-11-25 at 14 23 00" src="https://github.com/user-attachments/assets/efb3a21b-ce6c-4999-9aea-e67e52332011">
The sick leave relapse checkbox is now only visible to authorized time off officers. This prevents regular employees from seeing an internal payroll-related option that they should not access.
Original PR description
A checkbox to indicate if a Sick leave is a relapse of a previous sick leave was added to version 18.0. Regular users can see the checkbox when creating or viewing sick leave while the intention was for only time off officers to be able to see it. This patch fixes this issue by assigning the checkbox to the correct group. task-4354558
Fixed a layout issue in Appraisals where feedback editor buttons could appear broken when users clicked into feedback fields. This keeps the appraisal feedback experience cleaner and easier to use across screen sizes.
Original PR description
Steps ----- 1. Appraisals > Click on one or go to Configuration > Appraisal templates 2. Click on the feedback. A text 'Type "/" for commands' appears with buttons in a broken layout. Cause ----- With the new html_editor, editor buttons are descendants of `o_appraisal_input` in the DOM. Changes ----- - restrict the selector that is used to prevent overflow so it doesn't impact editor - hide the power buttons to avoid overflow when ui size is between `sm` and `md` (they are hidden automatically below `sm`) opw-4338929
This fix ensures overtime work entries are only generated when the relevant overtime setting/status allows it. It helps avoid incorrect overtime records, improving payroll and attendance accuracy for affected employees.
Original PR description
Purpose ======= The field was introduced when the overtime generation mechanism was already existing. But was included into the decision process to generate overtime work entries.
**Issue:** Two terms appear in English on an invoice. **Expected:** These terms should be translated in Spanish. **Steps to reproduce:** - Activate Accounting app in a Mexican database; - Create a customer invoice; - Send and print including the CFDI; - Open the PDF for the invoice; - The terms "Usage" and "Predial Account" appear untranslated. **Cause:** No translation have been found for these keys. **Fix:** Add Spanish translations for these terms. opw-4332513
Original PR description
**Issue:** Two terms appear in English on an invoice. **Expected:** These terms should be translated in Spanish. **Steps to reproduce:** - Activate Accounting app in a Mexican database; - Create a customer invoice; - Send and print including the CFDI; - Open the PDF for the invoice; - The terms "Usage" and "Predial Account" appear untranslated. **Cause:** No translation have been found for these keys. **Fix:** Add Spanish translations for these terms. opw-4332513
Users can now delete Data Cleaning storage records without hitting an unexpected system error. This prevents disruption during routine storage cleanup and keeps the Data Cleaning workflow reliable.
Original PR description
When the user tries to delete the storage record, A traceback will appear. Steps to reproduce the error: - Install ``data_cleaning`` module - Go to Data Cleaning > Storage > Select any record >ā¦
When the user tries to delete the storage record,
A traceback will appear.
Steps to reproduce the error:
- Install ``data_cleaning`` module
- Go to Data Cleaning > Storage > Select any record > Actions > Delete > Delete
Traceback:
```
UndefinedTable: relation "ir_attachment_report" does not exist
LINE 1: DELETE FROM "ir_attachment_report" WHERE id IN (498, 963, 12...
^
File "odoo/http.py", line 2363, in __call__
response = request._serve_db()
File "odoo/http.py", line 1891, in _serve_db
return self._transactioning(
File "odoo/http.py", line 1954, 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 1921, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 2168, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 329, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 727, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 35, in call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 517, in call_kw
result = getattr(recs, name)(*args, **kwargs)
File "odoo/models.py", line 4498, in unlink
cr.execute(SQL(
File "odoo/sql_db.py", line 354, in execute
res = self._obj.execute(query, params)
```
``ir.attachment.report`` model is ``_auto = False``.
So, a database table will not be created for the model.
When the user tries to delete the record of that model,
It will lead to the above traceback.
sentry-60734487667 changes
Resolved issues and error corrections
This update ensures that address formatting for Mexico (MX) within the Odoo Enterprise system aligns with the community version. Previously, there was a discrepancy in how MX addresses were handled, and this change corrects that to maintain consistent data and reporting. This improves data accuracy and simplifies processes for users in Mexico.
Original PR description
Update enterprise formatting override for MX addresses to be consistent with community, see PR: https://github.com/odoo/odoo/pull/186926 Forward-Port-Of: odoo/enterprise#74503
This update corrects a misleading description in the module's documentation. Previously, it stated that posting invoices automatically generated payments, a feature removed in Odoo 13. The change ensures the module description accurately reflects the current functionality, avoiding confusion for users.
Original PR description
The module description of `account_sepa_direct_debit` in the manifest states that posting an invoice will automatically generate a payment. Actually that feature was dropped in Odoo 13 with commit e3d390c4455c620793c481874b4503fa91bb6125 but the `__manifest__.py` was not updated at that time. This makes the situation uncomfortable where a feature not present in the code is still advertised in the module description. This commit updates the description of the module in the manifest. Forward-Port-Of: odoo/enterprise#73380
This update corrects a technical issue where a specific product view was incorrectly prioritized, leading to inaccurate search results and potential problems with inventory reporting. By adjusting the view's priority, we've ensured that product searches are more accurate and reliable, improving data consistency.
Original PR description
Currently the view has the default priority and become the main search view for product despite being specific to industry_fsm_sale. It creates issues in inventory at date view where the filters doesn't exist due to this.
A bug in a test was causing nightly builds to fail. The fix ensures the test correctly identifies items by their unique ID, rather than relying on a related request ID. This resolves an instability issue and guarantees consistent test results.
Original PR description
In the test I added in 16ad0830fd71d4dbf719471c8f303372da3f7e09, the id should be the one of the item and not the request. The test only works if the request and item have the same id, breaking nightly runbot builds.
This update fixes an issue where images in welcome email templates were excessively large, causing layout problems. The changes ensure images are appropriately sized, improving the visual presentation of these emails. Additionally, the source paths for these templates have been corrected.
Original PR description
Apply [this fix] to templates introduced with [this commit]. The purpose is to prevent images that are the only child of their parent from taking too much space. Furthermore, fix the src path for some of these templates. [this fix]: https://github.com/odoo/odoo/commit/d5297a75f50022b406b226ebf4c300f4bd033c3d [this commit]: https://github.com/odoo/enterprise/commit/fd98660e352512e0b74d91958707687978154833 task-4178640
This update corrects a technical issue preventing service invoices from correctly passing a validation check. The reason field, which was incorrectly required, has been removed from the process for service invoices. This ensures smoother invoice generation and avoids disruptions for users.
Original PR description
Oversight of odoo/enterprise#73209. Service invoices don't use the reason field at all (hidden in view) and thus will always fail the constraint. To fix it, disable the constraint for service invoices. opw-4354637
This update resolves an issue where subscription alerts were being triggered multiple times for sales orders, creating unnecessary chatter activities. The fix ensures alerts are only created when the sales order stage changes, streamlining the workflow and preventing performance impacts. This improves the reliability of automated notifications.
Original PR description
Steps ----- - Subscriptions > Configuration > Alerts. - Create an alert triggered when the stage goes from 'Initial' (placeholder) to 'In Progress', set 'Create next activity', chose Email as activity. - Create a subscription, confirm it. ** Multiple activities created in the chatter (1 would be expected) ** Cause ----- The `pre_domain_filter` of the `base.automation` is not set, leading to an activity being created every time a write happens on the sale order while it is in the `stage_to_id` stage. Change ----- Add a pre-domain/domain filter to only trigger actions when the stage changes. opw-4273625 Forward-Port-Of: odoo/enterprise#73601