Daily updates from Odoo
Thursday, March 7, 2024
47 changes
17 changes
Resolved issues and error corrections
This pull request fixes a minor issue where a character was missing from a translation pattern within the Odoo survey module. As a result, users were not seeing the intended text. This update ensures all survey text is displayed correctly for a better user experience.
Original PR description
A character was left out of the translation pattern, so the text was never displayed correctly to the user. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#155331
This update corrects a visual glitch (flicker) that occasionally appeared when hovering over buttons on the course page. This enhancement ensures a smoother and more professional user experience for visitors. The fix was part of a larger effort to improve website stability.
Original PR description
This commit fixes the flicker issue of buttons hovering over content on the course page. Task-3751285 Forward-Port-Of: odoo/odoo#156543 Forward-Port-Of: odoo/odoo#155869
This update fixes an issue where charts on survey results pages would disappear when printing. The fix adds styling to ensure charts are always visible and removes unnecessary code that caused this problem. This ensures consistent and reliable printing of survey results.
Original PR description
Purpose ======= When you go on any survey results page, you notice charts are smaller than they used to be on version 16. But there are still readable. The annoying part is when you click on the `print` btn or press `CTRL + P`, the charts disappear from both the page and the window preview. How to fix ========== - add classes `w-100` and `h-auto` to the canvas elements containing the charts Also, remove after/before-print events in the public widget as they are no longer useful. see https://github.com/odoo/odoo/pull/135683 task-3667969 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#152705
This update adds a new test to ensure the screencast feature continues to function correctly. Recent changes impacted the underlying ffmpeg call, and this test provides verification and compatibility testing across different ffmpeg versions used in Odoo's distribution builds.
Original PR description
Screencast are not always enable and a recent change broke the ffmpeg call. This call was already broken in some ffmpeg versions. This test will help to ensure this feature continues to work, and will also test it in different ffmpeg versions during distro builds. Forward-Port-Of: odoo/odoo#155951 Forward-Port-Of: odoo/odoo#151815
This update corrects a minor typo in the Odoo system's channel management process. The change prevents unnecessary requests, optimizing performance and resource usage. This ensures a smoother and more efficient user experience.
Original PR description
There is no bug manifesting because the condition is only here to prevent from making extra RPC calls while one is already in progress.
This update resolves an issue where the EMV QR code selection was incorrectly choosing QR codes for unsupported countries, leading to potential currency errors. The fix introduces a fallback error message, ensuring accurate QR code selection and preventing incorrect currency checks.
Original PR description
The account_qr_code_emv module has an issue at the moment where it will only return errors in _get_error_messages_for_qr for the country the qr code is intended for. This makes sense since you want…
The account_qr_code_emv module has an issue at the moment where it will only return errors in
_get_error_messages_for_qr for the country the qr
code is intended for.
This makes sense since you want to check all countries in later versions where we have multiple of them.
But it causes an issue with the standard implementation where if you are using a country that is not supported by an EMV QR, _get_error_messages_for_qr will just return None.
This means that:
- The default QR CODE selection on the invoice that
depends on that may select EMV QR for unrelated
countries.
- If it gets selected, this method will not check
that the currency is correct for said countries.
To fix this issue, we will simply return an error
message in the common module, which will serve as a fallback once all the EMV QR methods have been checked.
Task id # 3758668
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#156840
Forward-Port-Of: odoo/odoo#154957This update resolves an issue where the actionable error widget didn't refresh when underlying data changed. Now, the widget accurately reflects any updates to the account configuration, ensuring users see the correct error messages or no messages at all. This improves the user experience and data accuracy.
Original PR description
The widget for actionable errors does not update when the errors it displays are updated due to, for example, a recomputation of the field. This results in irrelevant errors being displayed in the view, when a particular configuration is correct. The correct errors (or an absence of any errors) will not be displayed until the view is refreshed. This commit adapts the component, such that the record data is accessed directly from the template. This means that the recordObserver, and the method it uses can be removed (as they were redundant) task-id: None Forward-Port-Of: odoo/odoo#155914
This update resolves a crash in the full composer when using the im_livechat module to mention partners. The issue stemmed from an incorrect assumption about optional parameters within the suggestion service. This fix ensures the system correctly handles optional thread information, preventing the crash and improving stability.
Original PR description
Making a mention in full composer when `im_livechat` is installed was making the following crash:
```
TypeError: Cannot read properties of undefined (reading 'type')
at SuggestionService.fetchSuggestions
```
Steps to reproduce:
- install module `im_livechat`
- open contacts app form view
- open full composer (e.g. Log note => expand icon)
- type @ + a character => throws error above
This happens because `SuggestionService` methods can optionally pass a thread, but livechat overrides wrongfully assume they were always provided.
This commit fixes the issue with optional chaining, taking into account it's optional.
No test because full composer doesn't work in unit tests, tours require adding steps blindly and I've already wasted too much time to no avail.
Forward-Port-Of: odoo/odoo#156773This update corrects a bug where radio button checkboxes on forms were not functioning as expected. The change restores the default behavior of toggling the 'checked' attribute, which was inadvertently altered due to a recent update to the QWeb engine. This ensures all form elements, including radio buttons, work reliably.
Original PR description
Same fix as for checkbox (commit [1]) and select (commit [2]). The radio buttons were forgotten. Check commit [1] for in-depth explanation, but this is basically because since the qweb engine conversion to OWL (done at [3]), it would toggle the internal `checked` value and not the `checked` attribute anymore. [1]: https://github.com/odoo/odoo/commit/b42e9cc686e7d3ccf82cd091a5dc24028fff8a2b [2]: https://github.com/odoo/odoo/commit/dd504811303a2ace661259d05d1e3b88794dc5be [3]: https://github.com/odoo/odoo/pull/130467 opw-3755078 Forward-Port-Of: odoo/odoo#156666
This update fixes a technical issue related to how early payment discounts are applied to customer invoices. Specifically, a misconfiguration was causing incorrect tax tagging, which has now been corrected by restoring the proper calculation method. This ensures accurate tax reporting for early payment discounts.
Original PR description
When configuring the payment term to include the EPD within the payment's journal entry on a customer invoice, the tax_tag_invert field got wrongly set as True. This was hardcoded in the code; computing the field in the regular way gives the proper value. OPW 3754446 Forward-Port-Of: odoo/odoo#156588
This update corrects a problem where special characters (like quotes) weren't printed correctly on ZPL product labels. Because the labels are generated as text, these characters are harmless and now display accurately. This ensures consistent and accurate product labeling for all products.
Original PR description
Current behavior: When printing products ZPL Labels, special characters are not printed correctly. e.g. quotes become ' Steps to reproduce: - Modify a product name with special characters - Print a product label - Select ZPL Labels As the report is only rendered as text, the special characters are not dangerous and can be printed as is. opw-3684870 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#156624 Forward-Port-Of: odoo/odoo#152657
This update resolves a bug that caused survey submissions to fail when users had previously saved their answers as nicknames or email addresses. The change ensures that pre-filled answers are correctly handled, preventing security-related crashes when users attempt to modify saved data. This improves the survey experience for all users.
Original PR description
Purpose ======= Fix the UserError which is raised when the user submits an answer to a question having the "save as nickname" or "save as email" option checked. In testing or non-testing mode.…
Purpose ======= Fix the UserError which is raised when the user submits an answer to a question having the "save as nickname" or "save as email" option checked. In testing or non-testing mode. Specifications ============== When the question is marked as "save as email" or "save as nickname" and when the user isn't public, the partner data is already saved as the question answer (in the form of a user input line). The answer is then pre-filled in the survey. This is an issue because when the survey has the "users can go back" option to False and the user tries to submit the answer, it thinks the user is trying to changed the already saved user input line and it crashes for security reasons. In addition of allowing the answer override if the user can go back, also allow the override if the question is marked as "save as nickname" or "save as email". This issue was introduced in 17.0 when the overwrite_existing optional parameter has been added on the _save_lines method. Before that, the existing user input lines were overwritten no matter what. related https://github.com/odoo/odoo/pull/129329 Task-3756749 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#155561
This update resolves an issue where duplicating CTA buttons in the website editor resulted in a permanent, unremovable duplicate. The change prevents this duplication, allowing users to easily add and remove CTA buttons through the standard drag-and-drop interface. This ensures a smoother and more flexible experience for website customization.
Original PR description
Steps to reproduce [17.0]: - Go to website (in "Edit" mode) > Click on the "Contact Us" button. - Duplicate the CTA button ("Button options" > "Duplicate icon"). - There is no way to only remove the…
Steps to reproduce [17.0]:
- Go to website (in "Edit" mode) > Click on the "Contact Us" button.
- Duplicate the CTA button ("Button options" > "Duplicate icon").
- There is no way to only remove the duplicated button, and the "Header" >
"Show/Hide Button" option will disable the whole CTA container.
After the website headers redesign in [1], a new feature was added to
allow users to select the elements they want to display in the header
(social links, call to action...). The CTA section was also marked as
'oe_unremovable' which disabled the option to remove it in the editor.
When a CTA button is duplicted, the clone will also be unremovable which
makes it impossible to remove.
The goal of this commit is to prevent the duplication of CTA buttons.
It's always possible to add buttons by drag & dropping "Button" snippets
which are also removable.
Remark: Also after [1], two header navbars were added in the DOM (for
the desktop view and mobile). Which means that the CTA field is also
duplicated and every change on the CTA buttons in Desktop will be
reflected in the mobile version.
[1]: https://github.com/odoo/odoo/pull/119650
opw-3706902
Forward-Port-Of: odoo/odoo#156164This update resolves an issue where a website tour wasn't functioning correctly when the demo data was not present. The team added necessary data to ensure the tour runs consistently, regardless of whether demo data is installed. This improves the user experience and prevents unexpected tour behavior.
Original PR description
The `course_publisher_standard` tour was missing slide (channel) tags. We are replacing values used in the tour so that the tour runs on the same data whether demo data is installed or not. See runbot build errors 55762 and 55768. Task-3744848 Forward-Port-Of: odoo/odoo#156797 Forward-Port-Of: odoo/odoo#153926
This update streamlines the process of redirecting users to forum questions, making the website more efficient. The change simplifies the handling of URL parameters related to forum questions, reducing complexity and improving performance. This ensures a smoother experience for users navigating to and within the forum.
Original PR description
Don't try to keep extra params and co. Keep it simple... Else we should pop from request.params `forum` and `blog` keys because now they are converted as query param with the slug format: /forum/help-1/question-1?forum=forum.forum(1,)&question=forum.post(1,) Forward-Port-Of: odoo/odoo#156726 Forward-Port-Of: odoo/odoo#156458
This update removes a disruptive reload that occurred when a workcenter was unblocked. This change improves the overall user experience, particularly for applications like the shop floor, by streamlining the process and eliminating unnecessary delays. It’s a simple fix to enhance efficiency.
Original PR description
Unblocking a workcenter incurs a reload which is bad in terms of user experience for other applications like shop floor. And since the reload is no longer needed at any other part, it is removed now. task-3629043 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#153036
Documentation and clarification updates
This pull request updates the list of members authorized to contribute to the Odoo Adhoc CLA. This ensures compliance with Odoo's contribution guidelines and allows for continued collaboration on this specific project. The change was made to reflect updated legal agreements.
Original PR description
--- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#154766
20 changes
Enhancements to existing features
The data merge test coverage was updated to match a change in invoice handling: customer invoices and credit notes are now secured when they are sent rather than when they are posted. This keeps automated checks aligned with the current business process and helps avoid false test failures.
Original PR description
Now the customer invoices and credit notes are hashed upon sending, not upon posting. Tests should be adjusted accordingly. See also: odoo/odoo#152467 Part of: task-3695695
This update improves how the Mexican EDI extension locates its internal files, especially in setups that use linked or customized addon paths. It helps prevent path-related failures without changing day-to-day functionality for users.
Original PR description
Replace outdated realpath usage with odoo tools.file_open. Allows file_open to locate file from addons path rather than looking up through realpath. This will resolve potential issues with realpath not finding the proper path of files in certain situations (like a symlink). Worth noting that file_open uses abspath instead of realpath anyway. opw-3745052
The Avatax geolocation screen now hides coordinate calculation buttons for contact entries that belong to a parent contact and have a specific contact type. This reduces confusion by preventing users from seeing actions that are not relevant in those situations.
Original PR description
This PR makes invisible coordinates computation buttons when having a parent and type in contact. Task-3336288
This update removes obsolete UTF-8 coding comments from Python files across the affected accounting modules. It does not change product behavior, but keeps the codebase cleaner and easier to maintain.
Original PR description
Since the `coding: utf-8` comment at the start of python files is no longer useful, this commit removes them.
Resolved issues and error corrections
Opening a linked resource from the Documents inspector no longer causes an error. This helps users access related records from documents without interruption.
Original PR description
**Steps to reproduce:** - Select a document to open the document inspector.(say Employment Contract.pdf) - Click on the resource link of that document.(located below folder) **Issue:** When a user…
**Steps to reproduce:**
- Select a document to open the document inspector.(say Employment Contract.pdf)
- Click on the resource link of that document.(located below folder)
**Issue:**
When a user tries to open a document resource from the documents inspector, it leads to a traceback.
**Cause:**
The issue has been faced since https://github.com/odoo/odoo/pull/149906/commits/bc4ebf44e224a9e4dec0c924f835af52086ba4b6 as it introduces some code to handle the fields of type "many2one_reference" in 'utils.js', thus changing the returned value in case of res_id.
(i.e. Instead of simply returning the 'value' of resId, it returns an object { resId: value })
As a result, validateProps throws an error due to an invalid type of res_id received.
**Fix:**
This commit tweaks the arguments of the orm call in `onClickResModel` method to ensure that the res_id passed
is of type 'number'.
Task: [3764083](https://www.odoo.com/web#id=3764083&menu_id=4722&cids=2&action=333&active_id=10888&model=project.task&view_type=form)Code cleanup and technical improvements
The pull request updates several automated product tours to use the newer testing selector approach instead of older jQuery-based patterns. This is an internal cleanup that should make tests more consistent and maintainable without changing day-to-day user workflows.
Original PR description
In this commit : - Tour Compiler uses now Hoot selectors instead of jQuery selectors. - jQuery selectors from tours trigger (extra_trigger and others) have been so adapted to be compatible with Hoot selectors. - Most of uses of jQuery in step.run() has been replaced by native or hoot-dom helpers. task~3600484 https://github.com/odoo/odoo/pull/154182
This update reorganizes automated tests across several Odoo apps so shared test helpers are imported and reused more consistently. It does not change business functionality, but it helps keep future testing work cleaner and easier to maintain.
Original PR description
https://github.com/odoo/odoo/pull/156722
Miscellaneous changes
*: account_reports, account_sepa_direct_debit --- This PR contains two commits. The first one fixes wrong domains when auditing the aged reports by adjusting which journal types the aml's that are displayed can have and by adjusting the dates that are used. The second one fixes a missing filter for SEPA Mandates in the Amounts to Settle view when sepa is installed. --- odoo: https://github.com/odoo/odoo/pull/148476 task-3640027 Forward-Port-Of: odoo/enterprise#54137
Original PR description
*: account_reports, account_sepa_direct_debit --- This PR contains two commits. The first one fixes wrong domains when auditing the aged reports by adjusting which journal types the aml's that are displayed can have and by adjusting the dates that are used. The second one fixes a missing filter for SEPA Mandates in the Amounts to Settle view when sepa is installed. --- odoo: https://github.com/odoo/odoo/pull/148476 task-3640027 Forward-Port-Of: odoo/enterprise#54137
Steps: - create a shift recurrency every week and save - go back to the shift, and set another date - select "edit: all shifts" and save Issue: All shifts are set to the same date. Cause: We find all shift of the recurrence and apply them the same values. Fix: Pop those field from the value. Then, depending on the unit of the recurrence, we compute which day of the week/month the new date is. Apply it to all shifts, and if we don't have the 2 dates, recalculate the start based o
Original PR description
Steps: - create a shift recurrency every week and save - go back to the shift, and set another date - select "edit: all shifts" and save Issue: All shifts are set to the same date. Cause: We find all shift of the recurrence and apply them the same values. Fix: Pop those field from the value. Then, depending on the unit of the recurrence, we compute which day of the week/month the new date is. Apply it to all shifts, and if we don't have the 2 dates, recalculate the start based on the new end or inversely. opw-3571081 Forward-Port-Of: odoo/enterprise#57983 Forward-Port-Of: odoo/enterprise#51784
In a picking, when a destination is scanned, if the scanned line is not complete, the line is splitted: the processed qty goes to the scanned destination and the remaining qty still goes to the previous expected destination. That said, if the scanned destination is the move line expected location, the line is not split, which can be annoying in some case. How to reproduce: - Active multi location; - Create a receipt for 4x product A and confirm it; - Open the receipt in the Barcode App; -
Original PR description
In a picking, when a destination is scanned, if the scanned line is not complete, the line is splitted: the processed qty goes to the scanned destination and the remaining qty still goes to the…
In a picking, when a destination is scanned, if the scanned line is not complete, the line is splitted: the processed qty goes to the scanned destination and the remaining qty still goes to the previous expected destination. That said, if the scanned destination is the move line expected location, the line is not split, which can be annoying in some case. How to reproduce: - Active multi location; - Create a receipt for 4x product A and confirm it; - Open the receipt in the Barcode App; - Scan 2x product A and then scan WH-STOCK as the destination -> Nothing happens. If the picker wants to move 2 product A in WH/Stock and 2 product A in Shelf 1, they have no easy way to do it if they scan WH-Stock first. If they scan Shelf 1 first, then the product A line will be splitted and they will get: - 2/2 product A going to WH/Stock/Shelf 1; - 0/2 product A going to WH/Stock. But if they scan WH-Stock first, they will stay with only one line: - 2/4 product A going to WH/Stock. In such case, no other choice than create a new line through the "Add Line" button (form view) and so, the reservation won't be split between the two lines. OPW-3774095 Forward-Port-Of: odoo/enterprise#57892
After some time, Amazon anonymized the buyer information and don't send it anymore in the calls. This shouldn't raise an error due to the missing data, but synchronize the order nonetheless. opw-3761649 Forward-Port-Of: odoo/enterprise#58099 Forward-Port-Of: odoo/enterprise#57999
Original PR description
After some time, Amazon anonymized the buyer information and don't send it anymore in the calls. This shouldn't raise an error due to the missing data, but synchronize the order nonetheless. opw-3761649 Forward-Port-Of: odoo/enterprise#58099 Forward-Port-Of: odoo/enterprise#57999
Bridge module to make invoices coming from amazon simplified, as you don't get the customer's tax id through via amazon. opw-3679325 Forward-Port-Of: odoo/enterprise#57713
Original PR description
Bridge module to make invoices coming from amazon simplified, as you don't get the customer's tax id through via amazon. opw-3679325 Forward-Port-Of: odoo/enterprise#57713
### Steps to reproduce * install `l10n_es_reports` * switch to a Spanish company * ensure that the partner linked to your Spanish company has a bank account * open the tax report (MOD111, MOD115 or MOD303) * on the top left, click 'BOE' > 'Generate BOE' You should be met with the following error: "Please select an IBAN account". The 'Direct Debit Account' field should not be required. Another issue is that even if your company has some bank accounts defined, none of them will be li
Original PR description
### Steps to reproduce * install `l10n_es_reports` * switch to a Spanish company * ensure that the partner linked to your Spanish company has a bank account * open the tax report (MOD111, MOD115 or…
### Steps to reproduce * install `l10n_es_reports` * switch to a Spanish company * ensure that the partner linked to your Spanish company has a bank account * open the tax report (MOD111, MOD115 or MOD303) * on the top left, click 'BOE' > 'Generate BOE' You should be met with the following error: "Please select an IBAN account". The 'Direct Debit Account' field should not be required. Another issue is that even if your company has some bank accounts defined, none of them will be listed in the 'Direct Debit Account' field. ### Cause In `Mod111And115And303CommonBOEWizard`, `partner_bank_id` (Direct Debit Account) depends on `company_id` through `company_partner_id`. However, since `company_id` is not in the view, its associated default value will only be calculated when the wizard is saved. Before that, `company_id` will be empty, which will cause `partner_bank_id` to be empty as well. https://github.com/odoo/enterprise/blob/f512de0bcd32ab65bd3c91ffc7e7955c491d24da/l10n_es_reports/wizard/aeat_boe_export_wizards.py#L40-L42 The reason it works well in 16.4 is because before d2e099597c845e21f12bc0868c36ac5d4cf89b36, the wizard was initiated using `create()`, so the default values were calculated before displaying the wizard. https://github.com/odoo/enterprise/blob/59e9d1f9d705773091f86ccf5c6ba7bac9feaf5d/l10n_es_reports/models/aeat_tax_reports.py#L124-L136 opw-3719150 opw-3756722 Forward-Port-Of: odoo/enterprise#56938
How to reproduce: - Open the app document - Ensure the trash is empty - Select a document from any workspace (not too small so that the displayed size in MB is different from 0) - Move it to the trash - Open the trash - Select the document and click on delete in the inspector - Confirm the permanent deletion The inspector displays 0 documents but the size is different from 0 MB. This fixes the error by reloading the model forcing the re-computation of the size. Technical notes: no t
Original PR description
How to reproduce: - Open the app document - Ensure the trash is empty - Select a document from any workspace (not too small so that the displayed size in MB is different from 0) - Move it to the trash - Open the trash - Select the document and click on delete in the inspector - Confirm the permanent deletion The inspector displays 0 documents but the size is different from 0 MB. This fixes the error by reloading the model forcing the re-computation of the size. Technical notes: no test has been added as the tour that test the deletion uses small documents which prevents to add assertion about the size (as the size is 0 even when a document is present in the trash). Task-3637482 Forward-Port-Of: odoo/enterprise#53808
### Steps to reproduce * install `account_reports` * make sure you have multiple companies * create a new horizontal group with the following values: * Reports: General Ledger * Field: Company, Domain: [] * open the general ledger and apply the horizontal group you just made * attempt to unfold a line You should be met with a traceback: `KeyError: 'currency_id'` ### Cause Some possibly empty values are not accounted for. In this case, we arrive here with `eval_dict[column
Original PR description
### Steps to reproduce * install `account_reports` * make sure you have multiple companies * create a new horizontal group with the following values: * Reports: General Ledger * Field: Company, Domain: [] * open the general ledger and apply the horizontal group you just made * attempt to unfold a line You should be met with a traceback: `KeyError: 'currency_id'` ### Cause Some possibly empty values are not accounted for. In this case, we arrive here with `eval_dict[column['column_group_key']]` being an empty dict, which produces the traceback at line `618`. https://github.com/odoo/enterprise/blob/74000d6d5c8435bcaad93f7baf143abdf8593064/account_reports/models/account_general_ledger.py#L617-L621 Depending on the horizontal group, `init_bal_by_col_group[column['column_group_key']]` can also be `None`, which can cause issue at line `621` opw-3746643 Forward-Port-Of: odoo/enterprise#57220
Description of the issue/feature this commit addresses: There is no localization for Zambia. --- Desired behavior after this commit is merged: This commit adds the base package of the Zambian localization including: - Default Settings - Chart of Accounts - Taxes - Fiscal Positions - Reports (BS, P&L, Tax Report) --- Community PR: https://github.com/odoo/odoo/pull/150134 task-3391861 Forward-Port-Of: odoo/enterprise#54707
Original PR description
Description of the issue/feature this commit addresses: There is no localization for Zambia. --- Desired behavior after this commit is merged: This commit adds the base package of the Zambian localization including: - Default Settings - Chart of Accounts - Taxes - Fiscal Positions - Reports (BS, P&L, Tax Report) --- Community PR: https://github.com/odoo/odoo/pull/150134 task-3391861 Forward-Port-Of: odoo/enterprise#54707
Forward-Port-Of: odoo/enterprise#58132
Original PR description
Forward-Port-Of: odoo/enterprise#58132
Steps to reproduce =================== - Open the documents module. - thumbnail of the some pdfs are not displayed. Technical =================== As we made some changes https://github.com/odoo/enterprise/pull/49111 here related to thumbnail thumbnail_status for the 'application/pdf;base64' type pdfs are set to be false instead of 'client_generated'. After this PR =================== thumbnail for the 'application/pdf;base64' mimetype pdfs will be generated. Task-3753929 Forward
Original PR description
Steps to reproduce =================== - Open the documents module. - thumbnail of the some pdfs are not displayed. Technical =================== As we made some changes https://github.com/odoo/enterprise/pull/49111 here related to thumbnail thumbnail_status for the 'application/pdf;base64' type pdfs are set to be false instead of 'client_generated'. After this PR =================== thumbnail for the 'application/pdf;base64' mimetype pdfs will be generated. Task-3753929 Forward-Port-Of: odoo/enterprise#57682
Community: https://github.com/odoo/odoo/pull/155239 Forward-Port-Of: odoo/enterprise#57381
Original PR description
Community: https://github.com/odoo/odoo/pull/155239 Forward-Port-Of: odoo/enterprise#57381
When the user presses the `Alt` key in the Knowledge editor, there is no hotkey assigned to the button "Generate an Article with AI" located in the wysiwyg helper. This commit addresses the issue by defining a hotkey for that button. For that button, we will use the "G" key to refer to "Generate". task-3777661 Forward-Port-Of: odoo/enterprise#57366
Original PR description
When the user presses the `Alt` key in the Knowledge editor, there is no hotkey assigned to the button "Generate an Article with AI" located in the wysiwyg helper. This commit addresses the issue by defining a hotkey for that button. For that button, we will use the "G" key to refer to "Generate". task-3777661 Forward-Port-Of: odoo/enterprise#57366
10 changes
Enhancements to existing features
This update removes duplicate leave type definitions that were redundantly created in Belgium and Switzerland payroll modules. These duplicates were already properly defined in the Time Off module, so the payroll modules now reference the existing definitions instead. This cleanup reduces data redundancy and simplifies maintenance.
Original PR description
*: test_l10n_be l10n_ch Before this commit, both l10n modules were creating demo leave types almost identical to the demo and data already defined in the `hr_holidays` module. This commit removes those duplicates and refer to the equivalent of the Time Off module.
Resolved issues and error corrections
This fix improves the translation process for the HR Referral module by keeping text terms together instead of splitting them into small blocks. Splitting text into fragments makes it harder for translators to understand context and produce accurate translations. This change makes the module easier to translate into different languages.
Original PR description
It makes it very difficult to translate
The Avatax settings page had two duplicate checkboxes for controlling the module. This fix removes the outdated checkbox and keeps only the current one, simplifying the settings interface. This change aligns with Avatax being automatically installed in version 17 and ensures users have a cleaner, less confusing settings experience.
Original PR description
There's duplicate checkboxes in the Avatax settings. One for module_account_avatax and one for setting_account_avatax. This replaces the former with the latter because: - account_avatax is auto-installed in 17 [1] - module_account_avatax was removed in 17.1 [2][3] - you can still uninstall via the apps menu [1] odoo/odoo@70329177713131d3d6ec424137cad3702e9d38ae [2] odoo/odoo#136894 [3] odoo/enterprise#48045 ### Before  ### After 
This fix removes an empty button that was appearing while users created calendar events from other records (like leads). The button, which normally allows jumping back to the original record, now only displays after the event is saved, providing a cleaner user experience.
Original PR description
Before this commit when you create an event from a lead, a button appears to jump back to the lead but while you're creating the record, it already appears but empty. This commit hides the button in case the res_model_name is null, which happens while we are creating the event and before hitting save. Task: 3747059
This update fixes an issue with the course publisher test where slide channel tags were missing from test data. The fix ensures that automated tests run consistently whether or not demo data is installed, improving test reliability and preventing build failures.
Original PR description
The `course_publisher_standard` tour was missing slide (channel) tags. We are replacing values used in the tour so that the tour runs on the same data whether demo data is installed or not. See runbot build errors 55762 and 55768. Task-3744848 Forward-Port-Of: odoo/odoo#153926
This update simplifies how the forum module handles URL redirects for forum questions. Previously, the system tried to preserve extra parameters in URLs, which caused unnecessary complexity. Now it uses a cleaner approach that properly handles the forum and question identifiers as query parameters, making the URLs more straightforward and easier to manage.
Original PR description
Don't try to keep extra params and co. Keep it simple... Else we should pop from request.params `forum` and `blog` keys because now they are converted as query param with the slug format: /forum/help-1/question-1?forum=forum.forum(1,)&question=forum.post(1,) Forward-Port-Of: odoo/odoo#156726 Forward-Port-Of: odoo/odoo#156458
Documentation and clarification updates
A contributor has signed the Odoo Contributor License Agreement (CLA), which is a legal requirement for contributing to the Odoo project. This ensures that all contributors have formally agreed to the terms under which their code contributions are accepted and used by Odoo.
Original PR description
Sign the Odoo CLA
This update adds new members to the Adhoc Contributor License Agreement (CLA) document. The change ensures that all contributors are properly registered and authorized under the company's legal agreement framework, maintaining compliance with Odoo's contribution requirements.
Original PR description
--- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#154766
This pull request adds a Contributor License Agreement (CLA) signature for Gaurav Pandey, confirming their legal agreement to contribute to the Odoo project. This is a standard administrative requirement that enables the contributor to submit code changes to the repository.
Original PR description
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
Miscellaneous changes
This pull request updates the Hemesh module and related system configuration files. The changes include modifications to the Hemesh addon and adjustments to the Debian configuration to support the updated module functionality.
Original PR description
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