Thursday, April 30, 2026
33 changes · saas-19.3
Resolved issues and error corrections
This update resolves an error preventing users from accessing the Spain VAT Books report. The issue stemmed from an outdated reference in a template, which has now been corrected. This ensures all users can generate the required VAT reports.
Original PR description
**Steps to reproduce:** - Install the `l10n_es_reports` and `accountant` modules. - Switch to an ES Company. - Navigate to Accounting > Reporting > Spain > `VAT Books`. **Error:** `Element '<xpath…
**Steps to reproduce:** - Install the `l10n_es_reports` and `accountant` modules. - Switch to an ES Company. - Navigate to Accounting > Reporting > Spain > `VAT Books`. **Error:** `Element '<xpath expr="//button[@t-if='this.props.line.chatter and !this.ui.isSmall']" position="replace"/>' cannot be located in element tree` **Root Cause:** After commit [1], the condition `this.ui.isSmall` was removed from the template `account_reports.AccountReportLineNameCustomizable` at [2]. However, the inherited template `l10n_es_reports.VatBooksLineName` was not updated accordingly and still references the old condition, which leads to the error. **Fix:** This commit prevents errors and ensures that users can open the `VAT Books` report by applying a fix similar to [2]. [1]: https://github.com/odoo-dev/enterprise/commit/fd0afa474600586e8703ec377f962c8d7d94307a [2]: https://github.com/odoo/enterprise/blob/7362f1c5be7f496bdab660ed8fad37a6dd283616/account_reports/static/src/components/account_report/line_name/line_name.xml#L81 opw-6169697 opw-6170173 Forward-Port-Of: odoo/enterprise#115412
This update corrects a bug that prevented users from successfully booking appointments with flexible hour slots. The issue stemmed from a rounding error in how appointment URLs were generated, leading to a 404 error. The fix ensures accurate slot durations are used, allowing for seamless appointment booking.
Original PR description
Steps to reproduce: 1. Install `appointment` 2. Create an appointment type with the followings 3. Schedule type flexible and a slot of 20 min. 4. Share this appointment and try to book appointment…
Steps to reproduce: 1. Install `appointment` 2. Create an appointment type with the followings 3. Schedule type flexible and a slot of 20 min. 4. Share this appointment and try to book appointment for 20 min. Issue: - 404 Error occurs after selectiong the slot Cause: - In 19.0, commit https://github.com/odoo/enterprise/commit/9bae0e13e7bf5e0db25a60fc2683bc51eccb4447 started using slot.duration when building the booking URL for flexible slots. However, slot.duration is rounded to 2 decimals, so a 20-minute slot is serialized as 0.33 instead of its exact value. During validation, the end datetime is recomputed from this rounded duration, which no longer matches the original slot boundaries. This mismatch causes the slot to be considered invalid and the controller raises NotFound. Solution: - Compute the slot duration directly from slot_start_dt_tz and slot_end_dt_tz when building the URL, preserving the full precision. opw-5924312 Forward-Port-Of: odoo/enterprise#108870
This update fixes an issue where the POS system was loading all employees, regardless of their employee type, leading to performance slowdowns. Now, the POS session only loads employees based on the configured employee type (basic, advanced, or minimal), optimizing performance and resource usage. This change ensures a smoother and faster POS experience.
Original PR description
Before this commit, when some employee was assigned to advanced or minimal employee, all of the employees were loaded in the POS session, because there was no basic employee assigned to the POS config. opw-5898068 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#260805 Forward-Port-Of: odoo/odoo#247043
This update resolves an issue where the POS system was loading all employees, regardless of their role, leading to performance slowdowns. The fix ensures that only the necessary employee types are loaded during a POS session, improving system responsiveness and efficiency. This change addresses a technical issue impacting POS performance.
Original PR description
Before this commit, when some employee was assigned to advanced or minimal employee, all of the employees were loaded in the POS session, because there was no basic employee assigned to the POS config. opw-5898068 Forward-Port-Of: odoo/enterprise#115109
This update corrects a bug in the ESG module's calculations for emission factors. The previous system incorrectly handled unit and currency conversions, leading to inaccurate emission values. This fix ensures that emission calculations are now precise and reliable.
Original PR description
Issue: ---------------------------------------- The conversions using Emission factors are done in the wrong way. Steps to reproduce: ---------------------------------------- - Install `esg` module - Create an Emission Factor from ton to kg of 1000 - Create a new Emission using the new factor, set the unit as kg - Notice the conversion is wrong Cause: ---------------------------------------- The two uom are inverted when calling `_compute_quantity()`. Same occured for the currencies. opw-6152413 Forward-Port-Of: odoo/enterprise#115575 Forward-Port-Of: odoo/enterprise#115246
This update resolves an issue where power buttons were incorrectly displayed and overlapping other menu items in the HTML editor, particularly on smaller screens. The fix adjusts the editor's width to determine when to hide the buttons, ensuring a cleaner and more usable experience for users.
Original PR description
Problem: Power buttons are shown regardless of the editor field's actual rendered width, causing them to overlap other menus when the field is small. Solution: Instead of relying solely on the global…
Problem: Power buttons are shown regardless of the editor field's actual rendered width, causing them to overlap other menus when the field is small. Solution: Instead of relying solely on the global `ui.isSmall` (mobile detection), check the editor field's own width and hide power buttons whenever it falls below the overlap threshold. Before: <img width="576" height="301" alt="image" src="https://github.com/user-attachments/assets/dcebed55-5c80-4fe5-8d33-c320549cf347" /> After: <img width="542" height="336" alt="image" src="https://github.com/user-attachments/assets/34a233bb-9958-43ac-adb9-04702a2e403d" /> Steps to reproduce: - Change languange (French to have a long placeholder). - Settings > Customer Invoices > Default Terms & Conditions. - Check "Add a Note". - Resize the screen to smaller size. - Observe the power buttons overlap with the translate button. task-6117734 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#261881 Forward-Port-Of: odoo/odoo#259094
This update resolves an issue where the IoT box pairing dialog could freeze indefinitely. Additionally, it corrects a localization problem where the 'Connecting' placeholder wasn't properly translated, ensuring a smoother user experience for all languages. This improves the reliability of the IoT integration.
Original PR description
This commit fixes two small issues with IoT pairing: 1. When pairing an IoT box, even after the DB has discovered the IoT box and added it as a record, the dialog will keep waiting forever. If you close the dialog manually the IoT box appears as expected. 2. If using a language other than English, the placeholder 'Connecting' name will not be replaced when the IoT finishes pairing. The IoT box can still be used as normal however. Forward-Port-Of: odoo/enterprise#115627
This update corrects a technical issue within the Odoo Enterprise system's onboarding tour for overtime rules. Previously, the tour incorrectly targeted a UI element, leading to a confusing user experience. This fix ensures the tour accurately guides users through the correct process for setting up overtime.
Original PR description
The tour previously matched the input field underneath the popup and interacted with the wrong element, the fix scope the selector to the modal. task-6172067 Forward-Port-Of: odoo/enterprise#115458
This update reduces excessive spacing within the Odoo dashboard side panel, making it easier for users to navigate and view information. The changes refine the layout by adjusting spacing and padding, improving the overall visual clarity and user experience. This is a minor fix to enhance usability.
Original PR description
## Description: The dashboard side panel had too much vertical spacing between the fold button, dashboard sections, and dashboard entries. Reduce the top and section spacing by one Bootstrap step, and use smaller vertical padding on dashboard entries while keeping their vertical margin for readability. Task: [6138870](https://www.odoo.com/odoo/project/2328/tasks/6138870) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update corrects a calculation error in the 2033D-2 report for French tax filings. Specifically, it ensures that the total amounts are accurately aggregated, including those generated by dynamic line items. This resolves a discrepancy that could have impacted reported tax figures.
Original PR description
Fixed an issue where the total aggregation for line I-C in the 2033D-2 report didn't add the amount of dynamic lines. no task id
This update corrects a formatting issue in the e-waybill document date field. Previously, the date displayed included the time, which is not the required format. This change ensures consistent and accurate date representation for e-waybill documents.
Original PR description
The `document_date` field in e-waybill form view previously included both date and time, which is not as per the expected format. This fix ensures that only the date is shown, hiding the time component. Forward-Port-Of: odoo/odoo#261253 Forward-Port-Of: odoo/odoo#259656
This update resolves an issue where pressing 'Enter' within the emoji suggestion list in the discuss HTML composer would unexpectedly send a message. The fix prevents this behavior, ensuring users can now properly manage their messages without unintended submissions when the emoji picker is open.
Original PR description
In discuss html composer, when emoji suggestion list is open, pressing enter sends the message. This commit fixes this issue by preventing the default action of the enter key when the emoji suggestion list is open. task-6173045 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#261965
This update resolves a technical issue where an incorrect import statement was present in the core driver for our Point of Sale IoT integration. This fix ensures the driver functions correctly, preventing potential disruptions to the system's ability to process data from IoT devices. The change is a routine bug fix.
Original PR description
This PR fixes the wrong import in adam_scale_driver.py opw-6173563 Forward-Port-Of: odoo/enterprise#115625
This update ensures that survey invitations are sent in the recipient's preferred language, regardless of whether they are part of a mixed-language group. Previously, invitations were consistently sent in English, even when recipients had set their language preference to Dutch or other languages. This change improves the user experience and avoids confusion.
Original PR description
When sending survey invitations to a group of recipients with different language preferences, some recipients would receive the invitation in the incorrect language. ### Steps to reproduce 1. Install…
When sending survey invitations to a group of recipients with different language preferences, some recipients would receive the invitation in the incorrect language. ### Steps to reproduce 1. Install the "Surveys" module and activate a second language (e.g., Dutch). 2. Create a survey and ensure its invitation template has translations for both languages. 3. Create two contacts: one with English as their language and another with Dutch. 4. On the survey, click "Share" and add both contacts as recipients. 5. Send the invitations. 6. The contact with Dutch preferred language receives the email in English. ### Cause By default, the wizard uses a single language for every email in a batch. While it can switch this language if everyone in the group speaks the same tongue, it fails to do so for mixed-language groups. Adding compute_lang=True fixes this by telling the system to look up and use the correct language for each recipient one by one. opw-5868581 Forward-Port-Of: odoo/odoo#260028 Forward-Port-Of: odoo/odoo#246778
This update ensures that missing payslip alerts are triggered only when the payroll closing date has passed. This prevents unnecessary notifications for payslips that are already outdated, streamlining payroll reporting and reducing potential user confusion. This change improves the accuracy and efficiency of our payroll processing system.
Original PR description
In this commit, missing payslip in a payrun issue will be raised only if the payroll closing date is due (old conditions remains). task-6008297 Forward-Port-Of: odoo/enterprise#112182
This update resolves a technical issue that prevented demo flows from running correctly when new Peppol and Nemhandel response data was added. The fix ensures demo mode functions smoothly by updating the mock data, preventing errors and improving the demo experience.
Original PR description
With the recent addition of responses in Peppol and Nemhandel, we forgot to adapt the mocking data for demo flows, which resulted in tracebacks in demo mode. Forward-Port-Of: odoo/odoo#258655
This update corrects a minor issue where the 'delete' option was missing from the user interface for certain returns and checks reports. This was caused by lingering references to the previous default 'new' state value. Removing this value improved database efficiency.
Original PR description
In odoo/enterprise#103149, the default value for the state of the returns and checks were removed to use False by default to reduce space in the database. However, a few reference were left using the default value which was 'new'. To reproduce (using working files): - Create a working files - Open the menu of the working file in the working files kanban view - The option delete isn't present
This update resolves an issue where toggling attendees in the calendar filter section was not working correctly. The fix corrects a technical error related to how the calendar filter ID was being accessed, ensuring that attendees are toggled as intended. This improves the user experience when managing calendar events.
Original PR description
Steps to reproduce ==================== - Open the calendar. - Try to toggle any attendees through the label. - By default, it will toggle the first attendee. Technical =========== Recently, here https://github.com/odoo/odoo/pull/253294, we started using `this` when accessing a component properties, but here in our case, `filterId` is not a component property; it is declared using `t-set` in the parent template, and using it like `this.filterId` leads to undefined, which leads to the same ID for all the inputs, which was causing the issue. Task-6124794
This update resolves an issue where certain expense accounts were incorrectly included in default reporting filters. Specifically, accounts related to exchange differences and early payment discounts were added. This ensures that financial reports accurately reflect all expense transactions, improving data accuracy and reporting reliability.
Original PR description
[FIX] account: Default account filter include Other Expense In "Defalut Accounts" setting, adding `expense_other` in the search domain for the following accounts: - Exchange difference entries > Loss - Early payment discounts > Early Discount Gain - Early payment discounts > Early Discount Loss task-6116375 Forward-Port-Of: odoo/odoo#259583
This update resolves an issue that prevented users from switching between company types (Companies vs. Associations & Foundations) for their Belgian accounting setup. The fix clears references to old accounts within cash rounding configurations, allowing the localization switch to complete without errors. This ensures seamless switching between fiscal localization types.
Original PR description
### Issue before this commit: Switching the fiscal localization of a Belgian company from "Companies" to "Associations and Foundations" caused a traceback during the chart reload process. The…
### Issue before this commit:
Switching the fiscal localization of a Belgian company from "Companies" to "Associations and Foundations" caused a traceback during the chart reload process. The operation failed because some accounts from the previous localization could not be deleted.
### Steps to reproduce the issue:
1. Download Accounting
2. Create a new Belgian company
3. Switch to that company
4. Go into Settings -> Fiscal Localization
5. Switch to Associations and Foundations
6. Traceback: The operation cannot be completed: Another model is using the record you are trying to delete. The troublemaker is: 'Account Cash Rounding' (account.cash.rounding). Thanks to the following constraint: 'Profit Account' (profit_account_id). How about archiving the record instead?
### Cause of the issue:
The Belgian localization creates a default cash rounding method ("Round to 0.05") linked to specific profit and loss accounts. When switching localization, it was tried to delete the old chart of accounts, but these accounts are still referenced by account.cash.rounding through profit_account_id and loss_account_id, which use ondelete='restrict'. This prevents account deletion and blocks the localization change. Commit that caused the issue: https://github.com/odoo/odoo/commit/412fc9bed36645dd950c9a60d9b6ffdd9b4bce67
### Reason to introduce the fix:
Before reloading the Belgian chart template, the fix clears the profit_account_id and loss_account_id on the existing cash rounding records. This removes the blocking references, allows the old accounts to be deleted safely, and lets the fiscal localization switch complete successfully without affecting existing cash rounding configurations.
opw-6050537
Forward-Port-Of: odoo/odoo#260145This update fixes a previous removal of a payslip line edition wizard, now replaced with an inline computation method. This change streamlines the payroll calculation process, ensuring more accurate and immediate pay results for employees. It addresses a previous issue related to the wizard's functionality.
Original PR description
We replace the previously removed payslip line edition wizard with inline payslip computation Forward-Port-Of: odoo/enterprise#112972
This update resolves an issue where a website tour wasn't functioning correctly due to an outdated assumption about the search bar size. A new fix ensures the tour accurately detects scrolling behavior, preventing interruptions and improving the overall user experience. This addresses a technical detail related to website performance.
Original PR description
__Problem__ odoo/odoo@9394e17a added a step to this tour that assumes the website search bar is small. However, this search bar was smaller than it should have been because of an issue fixed by the enterprise PR (odoo/enterprise#115694). __Fix__ Remove the step added in odoo/odoo@9394e17a runbot-242449
This update resolves a problem where the size of the product search bar was incorrectly set, causing a tour to fail in the SaaS version of Odoo. The fix ensures the size attribute is only applied to the product search bar, preventing issues with other website search elements.
Original PR description
__Before commit__ odoo/enterprise@1111381c set the size attribute of the product search bar. However, the view inherits from `website.website_search_box`, which means that all search boxes on the website will have the size attribute set if `website_sale_renting` is installed. The tour `dropdowns_and_header_hide_on_scroll` fails in saas-19.3 because odoo/odoo@9394e17a added a step that depends on the size of the main website search bar, which may vary because of this. __After commit__ Only set the size attribute to the product search bar as intended. runbot-242449 Forward-Port-Of: odoo/enterprise#115433
This update fixes an issue preventing users from inserting snippets within the Odoo Forum's help pages. The system was incorrectly filtering dropzones, blocking snippet group clicks. The fix allows snippet group clicks, ensuring users can easily add snippets to the forum, improving usability.
Original PR description
Steps to reproduce the issue: - Go to Forum, then go to the Help page - Enter Edit mode - Try to drag and drop a snippet => The dropzone in the s_cover at the top of the page are available - Try to click on a snippet group => Nothing happen, because all dropzones are filtered The s_cover element has the [data-snippet] attribute. When clicking on a snippet group, the editor filters out dropzones inside other snippets. Since s_cover is treated as a snippet, its dropzones are excluded, even though they are the only ones available on the page. The solution is to treat dropzones inside snippets as low priority instead of strictly forbidden. If no other valid dropzones exist, we allow these as a fallback to ensure snippet insertion remains possible. task-5938138 Forward-Port-Of: odoo/odoo#260400 Forward-Port-Of: odoo/odoo#256078
This update fixes an issue where the system incorrectly generated purchase orders when stock was sufficient to fulfill manufacturing orders. The change ensures that purchase orders are only created when there's a genuine stock shortage, streamlining the procurement process and reducing unnecessary costs. This improvement focuses on the 'mts_else_mto' move type.
Original PR description
Steps to reproduce: - Create a product P1 with a BoM containing component C1 - Set C1 route to MTO + Buy: - add any vendor - Have 10 units of C1 in stock - Confirm a Manufacturing Order for 2 units…
Steps to reproduce:
- Create a product P1 with a BoM containing component C1
- Set C1 route to MTO + Buy:
- add any vendor
- Have 10 units of C1 in stock
- Confirm a Manufacturing Order for 2 units of P1
- The MO confirmation triggers the move for C1, which gets assigned from stock
- Increase the quantity_producing on the MO
- This updates product_uom_qty on the move and calls _run_procurement
Expected behavior:
- No Purchase Order should be created since stock covers the demand
Current behavior:
- A Purchase Order is created even though stock is sufficient
- In case of partial stock, the full procurement_qty is used instead of the uncovered delta
Fix:
- Track mts_else_mto moves separately before calling _action_assign()
- After _action_assign(), subtract the newly covered quantity (move.quantity - old_qty)
from the procurement_qty before running the stock rule
- Skip the procurement entirely if the adjusted qty <= 0
opw-6042283
Forward-Port-Of: odoo/odoo#261538
Forward-Port-Of: odoo/odoo#258871This update corrects a bug where timesheets were incorrectly assigned to the wrong employee when created through the timesheet systray. The issue stemmed from a formatting error in how user IDs were passed, now ensuring timesheets are accurately linked to the correct user. This prevents data discrepancies and ensures accurate time tracking.
Original PR description
# Steps to reproduce: - Open a billable project and a task - Open the timesheet systray - Create timesheet # Current behaviour The timesheet is recorded for another employee. # Root cause This happens because the `user_id` passed to the record update was lacking the right `[id, name]` format. As a consequence, the timesheet was created without a user (`False`), thereby linking it to another employee than the current user. task-6169253 Forward-Port-Of: odoo/enterprise#115420
This update resolves an error that occurred when generating VSME reports with an invalid base year (e.g., '1'). The fix ensures that only valid 4-digit years are accepted, preventing the report generation from failing. This improves the reliability of VSME report exports.
Original PR description
Currently, an error occurs when exporting VSME reports if the base year is not a valid 4-digit year. **Steps to Reproduce:** 1. Install the ESG module with demo data. 2. Create new "**VSME Reports**"…
Currently, an error occurs when exporting VSME reports if the base year is not a valid 4-digit year. **Steps to Reproduce:** 1. Install the ESG module with demo data. 2. Create new "**VSME Reports**" with `Base Year = 1`. 3. Now, click on "**Print**". **Error:** `ValueError - Invalid isoformat string: '1-01-01'` **Cause:** The base year is directly used to build a date in [1], resulting in `datetime.date(1, 1, 1)`. In [2], this is formatted to **"1-01-01"** and used in a domain search, which raises a ValueError due to an invalid ISO date format. **Fix:** - Adds a **constraint on base year** to ensure only valid years (1000–9999) are allowed for new VSME Report records. - Adds a **helper validation method** to verify base year before performing computations on existing records. [1]: https://github.com/odoo/enterprise/blob/4cef86708a9fe3cd00855fa18e2a8cbd4fd77e66/esg_hr/models/esg_report.py#L515 [2]: https://github.com/odoo/enterprise/blob/4cef86708a9fe3cd00855fa18e2a8cbd4fd77e66/account_accountant/models/res_company.py#L176-L184 sentry-7419431039 Forward-Port-Of: odoo/enterprise#114453
This update fixes an issue where test tags containing brackets or special characters weren't parsed correctly, leading to errors. The changes ensure that nested brackets and escaped characters are handled properly, improving the reliability of test execution. This resolves a technical detail that ensures consistent test results.
Original PR description
When using test tags for js tests, some tests are not parsed correctly when containing brackets `[ ]` This is because the tag selector use them to set parameters bounds as in…
When using test tags for js tests, some tests are not parsed correctly when containing brackets `[ ]` This is because the tag selector use them to set parameters bounds as in `.test_method[test_param]` The previous implementation using a regex could generate invalid test tags when the params contains comma, and brackets This commits fixes this two ways: Nested brackets will work, meaning that something like `.test_method[test, witch brackets[]]` will be correctly parsed as a tag `.test_method` with a parameter `test, witch brackets[]`since the brakets are balanced. Before, it was parsed as twho tags, `.test_method[test` and ` witch brackets[]]` the second one being considered invalid and spamming logs with errors Brackets and backslashes can be escaped with a backslash, meaning that something like `.test_method[test, with brackets], and backslash\]` can be escaped as `.test_method[test, with brackets\], and backslash\\]` Note that the parser will make it's best effort to parse non escaped strings, so a \ not followed by and escaped character will remain there in order to make potential copy paste easier. For the previous example `.test_method[test, with brackets\], and backslash\` will work the same way. So in practice, we only really need to escape \ when followed by another backslash or a bracket, and we need to escape brackets when they are not balanced. Comma in hoot tests are also a problem since they are used to separate parameters, this can easily be tested by only splitting on `,@` since all hoot test should start with a @ and parameters of test_unit_* tests should be a list of hoot tests. A followup pr will introduce the params to the canonical tag, and escape it as needed Forward-Port-Of: odoo/odoo#262101 Forward-Port-Of: odoo/odoo#261516
This update resolves an issue where users without HR access rights couldn't apply filters in the Time Off overview search. The fix adjusts the search domain to avoid errors related to a field not present in the public employee model, ensuring all users can effectively filter their time off data.
Original PR description
More general fix for https://github.com/odoo/enterprise/pull/113973 or https://github.com/odoo/enterprise/pull/115478 Steps to reproduce: - Log using a user with no HR access rights (e.g. Marc Demo) - Go to Time Off > Overview - Remove all filters - Add a new custom filter on "Department is equal to ..." or "Job is equal to ..." Instead of the filter being applied, a traceback occurs. This originates from the fact that in _get_gantt_data_groupby_employee, the employee domain is mapped to address the field current_version_id. However, if a user has no HR rights, the search will be redirected to the employee public model, on which that field isn't defined. This commit adapts the domain in search_fetch to avoid current_version_id being present in it. No related task Co-authored by @BeBel42 Forward-Port-Of: odoo/odoo#261937
This update adds a new test case to ensure that employees with public access permissions can correctly view their holiday schedules within the HR Gantt chart. This resolves a previous issue and strengthens the security and reliability of the HR module. It ensures consistent access for all users.
Original PR description
Add a test for the issue resolved in https://github.com/odoo/odoo/pull/261937 No related task Forward-Port-Of: odoo/enterprise#115593
This update prevents a bug where the shared worker's response processing could get stuck, leading to delays. The fix ensures that only one promise is created when `isOnMainTab` is called, improving responsiveness and stability. This resolves a technical issue that could have impacted user experience.
Original PR description
Whenever `isOnMainTab` is called, it creates and returns a new promise that will be resolved once the shared worker sends its response. However, if `isOnMainTab` is called twice in quick succession, before the shared worker answers, only the last promise is resolved, leaving the first one hanging forever. This commit fixes the issue by not recreating a promise if there is already one pending. Forward-Port-Of: odoo/odoo#262021
This update corrects a minor visual issue where icons within thumbnails weren't positioned correctly. The change adjusts the base layout to allow for overrides, ensuring a consistent and professional appearance for attachments. This improves the overall user experience.
Original PR description
We modify the base layout to allow a fix of the icon position in an override. Task-5152517 Forward-Port-Of: odoo/odoo#261299 Forward-Port-Of: odoo/odoo#249055
This pull request addresses several minor bugs in the Documents module, enhancing the user experience. Specifically, it fixes issues with scrolling after file uploads, the placement of icons in thumbnails, and incorrect badge display with long user names. These changes improve stability and visual consistency.
Original PR description
[FIX] documents: scroll to uploaded record How to reproduce: - install documents - open the "All" folder and ensure there is enough folder to not see any file - open the detail panel - drag&drop file…
[FIX] documents: scroll to uploaded record How to reproduce: - install documents - open the "All" folder and ensure there is enough folder to not see any file - open the detail panel - drag&drop file in that folder The file is uploaded, but you have to scroll to it to see it. Moreover, despite the file being selected, it's not shown the detail panel. We solve the problem here by waiting the record to be rendered before scrolling to it and notify the detail panel. [FIX] documents: fix icon position in thumbnail How to reproduce: - install documents - open the chatter of a document - click on log a note, and upload a file The "trash" icon/button in the thumbnail is weirdly positioned (neither centered, neither on a border). We fix here the position the icon/button. [FIX] documents: fix "you" badge layout How to reproduce: - install documents - change the name of Mitchell Admin to a very long name - open the share panel owned by Mitchell Admin The "You" badge is not correctly displayed (the badge appears as "Y..." instead of "You" and the shape is not correct). We fix here the layout of the badge in such configuration. Task-5152517 Forward-Port-Of: odoo/enterprise#115103 Forward-Port-Of: odoo/enterprise#107686