Tuesday, April 14, 2026
35 changes · master
Resolved issues and error corrections
Confirmed accounting entries that do not have a customer or vendor partner no longer cause an error when users open the action menu. This keeps the accounting workflow stable by excluding entries that cannot be used for UBL/CII XML export.
Original PR description
Issue: Confirmed move without partner get a traceback while opening the cog wheel Steps to reproduce: - Create a misc move without Partner/commercial partner. - Confirm it - Click on the cog wheel button Current behavior: - Traceback Before commit 48983eb6efdd6690f92f2839eedd39d9a288ab42, looping on `move.commercial_partner_id` prevented calling `_get_ubl_cii_edi_format` on empty records. no-task Forward-Port-Of: odoo/odoo#258881
This fix prevents an installation-time validation loop when setting up the default project analytic plan. It helps ensure the Analytic module can install cleanly without blocking related project configuration.
Original PR description
We need to set the project_plan in on other to validate it, and we need it to check the first project plan. So we skip the check at installation time to avoid this dependency loop. runbot-242046 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes visual issues in website search after a recent redesign. Search pages and dropdown search results now display with the intended spacing, rounded styling, hover behavior, and centered product information, improving the shopping and browsing experience.
Original PR description
In commit[1] the search was refactored but some design broke during the review process. - The search page and search inside the dropdown now share the same template but only the search page needs the roundness and negative margin. - `--dropdown-link-hover-bg` is not defined without a `dropdown` class, replaced with the SCSS var instead - In `website_sale.search_result_items` the `t-out="result['attribute_value_ids']` tries to output a `<div>` inside a paragraph, which leads to an automatic closing of the `<p>` tag and an empty paragraph which makes the search_item not centered anymore due to the empty paragraph margins. task-6106135 [1]: odoo/odoo@9d0a9754e7dbf309fb692c54a63ff29ac6972350 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change reverts a recent adjustment so random starting serial numbers are not used during normal test setup. It keeps testing environments predictable while still allowing the behavior to be enabled explicitly for production-like checks.
Original PR description
Revert odoo/odoo#248661 where we set different starting serials for testing and do this only in production. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Website translation mode now correctly displays translation status highlights on buttons and badges, even when those elements have their own background color. This helps editors clearly see which website text is translated or still needs attention.
Original PR description
When buttons (`a.btn` elements) are translated inline, or badges (`span.s_badge`), the background color that shows the status of the translation appears under the background of the button/badge. The…
When buttons (`a.btn` elements) are translated inline, or badges (`span.s_badge`), the background color that shows the status of the translation appears under the background of the button/badge. The status is thus only visible on the surrounding text, and completely invisible when the button is alone (unless it has a transparent background). This commit adds a plugin in translate mode which adds a span with the color of the translation status in the problematic elements if they are inside a translation span and have a background color. Steps to reproduce: - Open website builder - Drop the `s_banner` snippet (or add a button by typing `/button`) - Add a second language - Open in translate mode - Bug: the text of the button does not have the green/yellow highlight that shows the translation state (technically, it is hidden under the background of the button, which you can see if you set a transparent background on the button) `o_translate_inline` on links: - 8fe88de0d5cc61395721cd8bda7b7ef2ea961760 - f65ac79631180e77aca5a53fc557b3e1acfcbd65 - 6aef5ee411656ec400e92fcc2bbd62e420645e0e task-6038029 Forward-Port-Of: odoo/odoo#258728 Forward-Port-Of: odoo/odoo#254000
This fixes an intermittent failure in an automated website test related to menu behavior after layout changes. It helps keep quality checks stable so website updates can be validated more reliably before release.
Original PR description
Since the delay between tour steps was removed [1], this tour fails sometimes. After changing the layout, the iframe reloads, but the tour attempts to check if the navbar layout changed directly without any delay. [1]: https://github.com/odoo/odoo/commit/769b193 runbot-241849 Forward-Port-Of: odoo/odoo#256787
The quick-create area in Kanban views now uses a trash icon instead of the translated “Discard” text. This prevents long translations from making the button look awkward and keeps the interface cleaner across languages.
Original PR description
the task quickcreate doesn't look good with(long) translations so, we have removed the string 'discard' from the button. we have added calss fa-trash to avoid the string on button. because of this no any issue form translation. TaskID: 2241742 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
Purchase order down payment lines are no longer included in automatic unit price calculations. This prevents unintended price changes when users view or compare purchase order lines, keeping down payment amounts stable and accurate.
Original PR description
## Issue: When viewing purchase order lines, the system attempts to compute the unit price for downpayment lines. This results in unintended behavior. ## Cause: PR…
## Issue: When viewing purchase order lines, the system attempts to compute the unit price for downpayment lines. This results in unintended behavior. ## Cause: PR https://github.com/odoo/odoo/pull/236669 introduced the `price_unit_product_uom` field along with its compute method `_compute_price_unit_product_uom` to manage PO comparison. Although the compute method correctly skips section and note lines, it does not exclude downpayment lines. Downpayment lines are identified by the `is_downpayment` field, which was introduced earlier in PR https://github.com/odoo/odoo/pull/176137. As a result, the computation is incorrectly applied to downpayment lines. ## With this commit: The UoM price computation is prevented for purchase order lines where is_downpayment is set to True. Downpayment lines are now treated similarly to section and note lines to prevent unintended price recalculations. Steps to reproduce : [Video](https://drive.google.com/file/d/1JrMN8x-i86QjRfMnaeYu-Jac03iFoJs3/view?usp=drive_link) OPW - 5930652 Forward-Port-Of: odoo/odoo#257390 Forward-Port-Of: odoo/odoo#249989
Email marketing now consistently prevents checklist formatting from being added through shortcuts, shorthand typing, or pasted content. This keeps email content within the supported formatting options and avoids unexpected checklist layouts in campaigns.
Original PR description
In email marketing, checklist creation is disabled via powerbox, toolbar, and shortcut (Ctrl+Shift+9), but it can still be created using the shorthand command ('[] ').
Disable the checklist shorthand command to ensure checklist creation is fully restricted in email marketing.
task-6048027
Forward-Port-Of: odoo/odoo#257526
Forward-Port-Of: odoo/odoo#254816Changing text from a gradient color to a solid color now fully removes the previous gradient. This prevents selected text in notes and other editor content from showing an unintended background effect, keeping formatting predictable for users.
Original PR description
Steps to reproduce: - Go to a To-do note - Select a word - Apply a gradient as the text color - Re-open the color picker - From the Solid tab, select the primary color (o-color-1) Description of the issue: - The gradient is not removed and ends up being displayed as a background color Cause: - In the `colorElement` method, the gradient is removed when applying a text color via inline styles. However, when applying a color via class (e.g., text-*), the gradient is not properly cleared. Only the text-gradient class is replaced, while the gradient style remains, causing it to appear as a background color. Solution: Ensure the gradient is removed in both cases: - when applying a color via class and when applying a color via inline styles in `colorElement`. task-6045533 Forward-Port-Of: odoo/odoo#257950 Forward-Port-Of: odoo/odoo#254654
The online shop now handles filter options correctly even when a category or search has no matching products. It also avoids showing an unnecessary price range when the minimum and maximum prices are the same, making the shopping page clearer for customers.
Original PR description
follow up of task-4423954 , commit eb00160d52f7a26381f5f2b4dd1405f7d1a97748 1. Add a defaultdict value for pavs if page has no products. 2. Don't hide attributes if pavs are only 1 anymore. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Users who click a message notification for a record they cannot access are now sent to their inbox instead of seeing an access error. This creates a smoother experience and prevents confusing error screens when permissions limit record visibility.
Original PR description
Currently, when a user clicks on a notification in the messaging menu relating to a record they don't have access to, an access error occurs. This PR changes this behavior so that the user is redirected to the inbox instead. task-5374528 Forward-Port-Of: odoo/odoo#258745 Forward-Port-Of: odoo/odoo#258126
This fix restores missing validation checks when sending Croatian electronic invoices. It helps ensure invoices follow the required rules before being sent, reducing the risk of incorrect or non-compliant submissions.
Original PR description
In 18.0, the `_check_move_constraints()` method contained a typo - `_check_move_constrains()` - and the module was developed with this in mind. The typo was fixed in 19.0, but this was missed during the forward port of this module, leading to additional constraints not triggering properly. ticket-6036500 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#257492
This fix prevents an occasional error during Odoo restarts when the IoT driver service is not fully ready yet. The system now checks readiness and retries, reducing unnecessary restart failures and improving reliability for IoT-connected setups.
Original PR description
`service.server.restart()` can sometimes fail when `server` attribute is not yet set. We now add a check and retry. Task: 5982438 Forward-Port-Of: odoo/odoo#258951
Users can now open related records from the stock forecasted report, such as quotations linked from a product forecast. This fixes a navigation issue where clicking a record did nothing, helping sales and inventory teams access supporting documents without interruption.
Original PR description
Steps to reproduce ================== - Install sale_stock - Go to Products - Open the "Acoustic Bloc Screens" record - Click on the Forecasted smart button - Click on "three quotations" - Click on a record => Nothing happens opw-6095229 Forward-Port-Of: odoo/odoo#258157
This update adjusts the Point of Sale product form so it works correctly with the latest interface structure. It helps keep product setup screens consistent and reliable for users managing POS products.
Original PR description
In this commit we adapt the `product.template.view.form.normalized` for the m3.1 task-6007643 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 fixes an issue where portal users could not edit messages in a shared project task because the page hit an error in the background. Editing messages in the project chatter now works more reliably for external collaborators.
Original PR description
## Issue When logged as a portal user, clicking the *Edit* button on a message in the chatter does not do anything. ## Steps to reproduce 1. Install *Project* (`project`) 2. Create a Project P and a…
## Issue When logged as a portal user, clicking the *Edit* button on a message in the chatter does not do anything. ## Steps to reproduce 1. Install *Project* (`project`) 2. Create a Project P and a Task T 3. In the Setting of Project P, click *Share Project* and select a portal user 4. Logged as a portal user, open Task T, send a message in the chatter, then try to edit it by clicking the *Edit* (pencil) button. 5. **Nothing happens, but a traceback appears in the console: _Caused by: TypeError: Cannot read properties of null (reading 'id')_** ## Cause The condition causing this error is the following: https://github.com/odoo/odoo/blob/5cfdc9260653a2b22eb79b16702769928d450932/addons/project/static/src/project_sharing/chatter/composer_patch.js#L9-L13 where `this.thread` is not defined yet. Other conditions in this patch check for `this.thread` before trying to read its `id` [[1](https://github.com/odoo/odoo/blob/5cfdc9260653a2b22eb79b16702769928d450932/addons/project/static/src/project_sharing/chatter/composer_patch.js#L25), [2](https://github.com/odoo/odoo/blob/5cfdc9260653a2b22eb79b16702769928d450932/addons/project/static/src/project_sharing/chatter/composer_patch.js#L32)], which leads to believe that the check was simply forgotten in this condition. opw-6072570 Forward-Port-Of: odoo/odoo#258234
Fixed an issue where countdown content did not appear when viewing custom website snippets in the preview dialog. This helps website editors see an accurate preview before adding or reusing saved snippets.
Original PR description
The content of the countdown snippet did not appear in snippets preview dialog, because the interaction that fills it was not loaded for preview. This commit adds the interaction in the registry for loading it inside the iframe of the snippets preview dialog. Steps to reproduce: - Open website builder - Drop a `s_text_image` snippet - Drop a `s_countdown` snippet inside - Save the first one as a custom snippet - Click on "Custom" snippets category - Bug: the countdown does not appear task-6088029 Forward-Port-Of: odoo/odoo#258916 Forward-Port-Of: odoo/odoo#257480
This fix restores the Turkish Nilvera e-invoice import customization after a related internal method was renamed. Businesses using Nilvera invoice imports should see the expected import behavior again instead of the customization being skipped.
Original PR description
# Description of the issue/feature this PR addresses The parent class `account.edi.xml.ubl_20` renamed `_import_fill_invoice_form` to `_import_fill_invoice`. The override in `l10n_tr_nilvera_einvoice` was not updated to match, causing the override to be silently ignored. # Current behavior before PR The `_import_fill_invoice_form` override in `l10n_tr_nilvera_einvoice` is never called because the parent method no longer exists under that name. # Desired behavior after PR is merged The override is renamed to `_import_fill_invoice` to match the parent class, restoring correct behaviour for Nilvera invoice imports. task-id: None --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#258752 Forward-Port-Of: odoo/odoo#258097
This fixes an intermittent failure in an automated accounting workflow check by adding a brief wait before the next action. It improves reliability of internal testing without changing customer-facing accounting features.
Original PR description
Since this PR https://github.com/odoo/odoo/pull/252877 the tour `account_tour` has become non-deterministic. Reason: The `onWillStart` method of `AccountMoveSendAttachmentsSelector` now loads `account.move` attachments, making the component loading much heavier than before. The heavy component (which is loaded as part of `account_tour`) is causing the tour to fail because the tour attempts to interact with the component before the browser has finished rendering it. Fix: Added a step to the tour before interaction with the account move send wizard to wait for the animation frame, which ensures that the browser has completed the paint cycle, preventing the non-deterministic behavior. build_error-242317
Fixes an issue where website form fields marked as hidden could still appear when the form was placed inside a masonry block. This keeps published website forms aligned with editor settings and prevents unintended fields from being shown to visitors.
Original PR description
# How to reproduce - Go to the website editor - Add a Masonry block - Add a Form inner block in the Masonry block - Select any fields of the form - Set it's visibility to Hidden - Save # The problem…
# How to reproduce - Go to the website editor - Add a Masonry block - Add a Form inner block in the Masonry block - Select any fields of the form - Set it's visibility to Hidden - Save # The problem The field is still visible. # Cause When a field has its visibility set to hidden, it is applied the `.s_website_form_field_hidden` CSS class which applies `display: none`. https://github.com/odoo/odoo/blob/995629db3231de944710751c3184bf1b8b1355c7/addons/website/static/src/snippets/s_website_form/001.scss#L26-L28 But that CSS rule is overriden by the masonry's `.s_masonry_block[data-vcss='001'] .row > div` CSS class. https://github.com/odoo/odoo/blob/995629db3231de944710751c3184bf1b8b1355c7/addons/website/static/src/snippets/s_masonry_block/001.scss#L1-L3 https://github.com/odoo/odoo/blob/995629db3231de944710751c3184bf1b8b1355c7/addons/website/static/src/scss/website.scss#L3246 # Proposed solution We set `display: none` with `!important` to prevent it from being overidden. We also need to add `!important` to its edit mode counter-part so that the field is still visible in that mode. opw-6038955 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#256100
The 'Validate' button for GSTR1 and GSTR2B returns was temporarily hidden. This fix corrects a technical issue caused by a recent code change, ensuring the button is now correctly displayed for these return types. This ensures users can properly process and submit their GSTR filings.
Original PR description
The Validate button was not visible for GSTR1 and GSTR2B return types. This issue was introduced after the removal of the 'new' state from l10n_in_gstr1_status and l10n_in_gstr2b_status in commit: https://github.com/odoo/enterprise/commit/8058bf55918bd0c1ac0de52d696de67ce0b3b45b As a result, the button visibility condition relying on state = 'new' was no longer valid, since the initial state is now represented by False (i.e., no value set) instead of an explicit 'new' selection. This fix updates the visibility condition to correctly handle the new default state and restores the expected behavior. task-6105435
This update fixes an issue where dropdown menus within the softphone wouldn't close when clicking outside the softphone. This improvement ensures consistent navigation and usability when using the softphone, aligning with recent changes to modal behavior. The fix was implemented to restore expected dropdown functionality.
Original PR description
Since [1] (and its follow-up commits), the softphone became the "UI active element" once it opens. This was required to solve multiple keyboard navigation issues that occurred while being on the app…
Since [1] (and its follow-up commits), the softphone became the "UI active element" once it opens. This was required to solve multiple keyboard navigation issues that occurred while being on the app switcher with the softphone opened. It also simply improved navigation any time the softphone is used, allowing it to close on ESC, etc. This is also consistent with what is being done at [2] where the softphone will get closer to modal behavior. However, it came with a bug: dropdown inside and outside the softphone were not closed anymore if clicking outside the softphone. E.g.: - Open the user dropdown menu - Click outside => it closes - Open the softphone - Open the user dropdown menu - Click outside => It does not close anymore This commit adds a test about it. The fix lies in the dropdown closing logic in the community counter-part of this PR. [1]: https://github.com/odoo/enterprise/commit/df1772e877a508150fd3f549526dec9d867354be [2]: https://github.com/odoo/enterprise/pull/111337 task-6055692 Forward-Port-Of: odoo/enterprise#111516
A recent issue prevented users from accessing server action views correctly within the Document module. This was caused by a priority setting problem in the view configuration. This update resolves the issue by explicitly setting a priority, ensuring the correct server action view is displayed, and improving usability.
Original PR description
When the document module is installed, sometimes the server action view that is shown when accessing the server actions from the normal menu can be broken: the model field for instance is no longer visible, which makes the user interface unusable. <img width="723" height="412" alt="image" src="https://github.com/user-attachments/assets/73f6d516-77be-4f66-80dc-033fd8c0cb7c" /> This is because the document module defines a new primary form view for server actions, but does not set a priority for that view. As a result we have 2 primary views, with the same default priority of 16 in the database, and in that case the sorting of view can lead to the document specific view to be selected, when the other one is expected. We fix this by explicitly setting a priority of 32 on the form view in the document module. Forward-Port-Of: odoo/enterprise#112847
This update fixes an issue where the employee health warning incorrectly flagged employees with long sick leaves prior to 31 days. The change adjusts the logic to include employees who have been on sick leave for at least the past 31 days, ensuring more accurate health assessments. This improves the reliability of the warning reports.
Original PR description
-**Issue**: The warning shows employees who had a long sick leaves before 31 days, which is incorrect. -**Fix**: Adjust the logic to include employees who have been on a sick leave for the past 31 days (at least). Forward-Port-Of: odoo/enterprise#113443 Forward-Port-Of: odoo/enterprise#112985
This update resolves a crash that occurred when users double-clicked 'Add Custom Field' within a list view's optional fields dropdown in Odoo Studio. The fix prevents Studio from opening multiple times simultaneously, ensuring a stable user experience. This improves reliability and prevents data loss.
Original PR description
On a list view, open the optional fields dropdown. Click twice on "Add Custom Field" Before this commit there was a crash, because opening studio while it is already opening was not protected. After this commit, there is no crash. Forward-Port-Of: odoo/enterprise#113299
This update ensures CSV files are now correctly recognized as viewable within Odoo's list views, mirroring the behavior in the Kanban view. Previously, CSV files were ignored in list views, creating a discrepancy in functionality. This change enhances usability and consistency across Odoo.
Original PR description
Current behavior before PR: - CSV files were viewable from the Kanban view, and opened the spreadsheet conversion dialog - In list view, CSV files were not considered viewable - Same issue for trashed CSV files in list view Desired behavior after PR is merged: - Consider CSV files as viewable in list view - Align behavior with the Kanban view Task: 6052134 Forward-Port-Of: odoo/enterprise#113586 Forward-Port-Of: odoo/enterprise#112869
This update fixes a problem where the payroll dashboard displayed warnings for all companies, even when a user was only working with one. Now, the dashboard only shows warnings related to the company the user is currently managing, ensuring more relevant and accurate alerts. This improves the user experience and data clarity.
Original PR description
This commit will restrict the payroll dashboard alerts to only display warnings relevant to the user's currently selected company.
**Why:**
Previously, the payroll dashboard search method fetched and displayed warning of `Employees Without Running Contract` from all companies in the database, regardless of the user's active company context.
**What:**
- Added a domain filter ('company_id', '=', self.env.company.id) to the search query.
task-6095361This update fixes an issue where search filters in the MRP Planning section (MPS) were lost when users navigated away and returned. The fix ensures that search filters are correctly retained, providing a more consistent and efficient user experience. This improves usability and data accuracy.
Original PR description
Issue: In the MPS view, when the user sets a search filter, navigates away and then returns via the breadcrumb, the search filters that were applied are gone. This happened because the MPS client action was not passing `globalState` to the `WithSearch` component. Fix by passing `globalState` in `withSearchProps`. task-5368078 Forward-Port-Of: odoo/enterprise#113183 Forward-Port-Of: odoo/enterprise#113125
This update corrects payroll tax rates in the Belgian HR payroll module (l10n_be_hr_payroll) to reflect the latest regulations for the year 2026. This ensures accurate tax calculations and compliance for employees and the company. The change is a technical fix to maintain correct financial reporting.
Original PR description
Forward-Port-Of: odoo/enterprise#113426
This update resolves an issue where prompts within email templates weren't being evaluated correctly. The fix ensures that all prompt containers are wrapped in a `<div>` to prevent errors during evaluation, guaranteeing prompts now function as intended. This improves the reliability of AI-powered email content.
Original PR description
Note: In 18.4, the editor inserts a space before and after the prompt container, in which case the following steps won't cause an error because the container won't be the only html element. Steps to…
Note: In 18.4, the editor inserts a space before and after the prompt container, in which case the following steps won't cause an error because the container won't be the only html element. Steps to reproduce: - Create a new email template. - Insert a prompt by using the '/prompt' command. - Type any prompt like 'Say Hello'. - Save the email template. - Click on preview. - The prompt isn't evaluated. The '_eval_ai_prompts' method creates a root element from the passed html content. When the passed content represents a single prompt container html element, the root will become that prompt container. The method will try to evaluate the prompt and replace the prompt container and then return the root. The returned root won't contain the evaluation of the prompt in this case because the whole root should be replaced by the evaluation given that there is no other elements. To fix this, the html content will always be wrapped in a `<div>` to avoid the need for replacing the whole root element. Forward-Port-Of: odoo/enterprise#111645 Forward-Port-Of: odoo/enterprise#110247
This update fixes an issue where appointment booking descriptions were displayed in the user's language instead of the website's language. Previously, the system used the user's language setting, regardless of the website's language. Now, booking descriptions will correctly display in the website's language (e.g., French) for users with different language preferences.
Original PR description
When booking an appointment, the cart shows the date/time in the partner's language instead of the website's language. `_prepare_order_line_values` uses `self.partner_id.lang`, ignoring the website language and using the user's language instead. Steps to reproduce: 1. Have a website language different than the user's language 2. Go to the website appointment page 3. Book an appointment 4. Check the booking For this case: - Website language: French - User language: English => You will find, "xxx at xx:xx to yyy at yy:yy" instead of "xxx à xx:xx au yyy à yy:yy" Ticket [link](https://www.odoo.com/odoo/action-4043/5931610) opw-5931610 Forward-Port-Of: odoo/enterprise#113208 Forward-Port-Of: odoo/enterprise#107698
This update resolves an issue where 'Hide Composition' sections weren't consistently hidden in the portal preview. The fix ensures that sections with hidden products are correctly masked, matching the behavior in PDF reports. This improves the accuracy of sales order previews for customers.
Original PR description
**Problem:** Currently, when 'Hide Composition' is enabled on a section containing at least one product, while the order have subscription product, the recurring lines within that section are still…
**Problem:** Currently, when 'Hide Composition' is enabled on a section containing at least one product, while the order have subscription product, the recurring lines within that section are still visible in the portal's 'preview' view, whereas they are correctly hidden in the PDF report. **Expected behavior:** As observed in pdf format, in preview, the hidden section should hide the components and only view the name of the section. **Steps to reproduce:** - Create quotation with One Goods type product - Add section with Hide composition - Add service type product in the section - Preview it and section products will be hidden - Confirm the quotation and now preview the sales order - Now the hidden section products will be visible **Solution:** - We need to separate the logic of displaying lines and invoiceable lines (since _get_invoiceable_lines doesn't necessarily return the sections/subsections) - The filtering in sale subscription module wasn't considering the `collapse_composition` boolean field, which why hidden sections content were displayed. - We need to hide any product with a parent (section or subsection) collapsed, hide any subsection with a parent section collapsed. opw-5868148 Forward-Port-Of: odoo/enterprise#106287
This update prevents regular employees from modifying the target job within an appraisal. The original system caused access errors because employees lacked the necessary permissions to view company job postings. This change ensures that target job assignments are managed solely by managers, improving data integrity and security.
Original PR description
Steps to reproduce: 1- Create an appraisal for a regular employee 2- Confirm it so its state changes to 'ongoing' 3- Try to change the target job as an employee 4- Click on see more Cause: The main cause is that regular employees lack the privilage to view job postings by a company. therefore an access rights errors is resulted when the flow is executed. Solution: Made the field readonly for normal employees (as it should be, target jobs are the managers' responsibility to change). Forward-Port-Of: odoo/enterprise#112663
This update resolves an issue where users couldn't exclude leaves that were also considered working time. Now, administrators can correctly designate leaves as non-working time, ensuring accurate tracking of employee availability and preventing scheduling conflicts. This improves the accuracy of holiday planning and reporting.
Original PR description
…orking time We can't take leaves considered as working time. We should be able to task-6089849 Forward-Port-Of: odoo/enterprise#112820