Friday, October 17, 2025
40 changes · master
Resolved issues and error corrections
This fix restores a customizable way to validate manually created field names while avoiding unnecessary system overhead. It helps keep custom field handling reliable and efficient for installations that extend Odoo's standard behavior.
Original PR description
The use of IrModelFields method `is_manual_name` was [reverted](https://github.com/odoo/odoo/pull/212579) for the sake of efficiency and avoiding instanciating models when not really needed. The use of an overridable method is still needed ([reference](https://github.com/odoo/odoo/pull/145154)). --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#224524
This update fixes wishlist behavior for administrators testing the ecommerce shop with unpublished products. It also makes the related automated website test more reliable, reducing false failures during quality checks.
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
The Maltese localization now maps fiscal positions to the correct sales or purchase taxes with matching tax rates. This prevents EU and non-EU partner tax rules from applying the wrong type of tax, improving accuracy for Maltese company accounting.
Original PR description
### Steps to reproduce: - Install "l10n_mt" and switch to a Maltese company - Check the fiscal position "EU Partner", it maps Sales taxes to Purchase ones - "Partner outside the EU" maps Purchase taxes to Sales ones ### Solution: Fix the CSV. We map the taxes respecting Sales/Purchase and with the same percentage. opw-5065298 Forward-Port-Of: odoo/odoo#231288 Forward-Port-Of: odoo/odoo#227423
This update prevents a timing issue that could cause Odoo Discuss peer-to-peer calls to crash while handling a call offer. It improves call reliability for users by ensuring delayed responses no longer rely on outdated connection information.
Original PR description
Before this commit, since https://github.com/odoo/odoo/pull/205198, the handling of an offer can be arbitrarily delayed by the `acceptOffer` callback. This could lead to a traceback when the reference to `peer` is stale by the time the event is handled. Forward-Port-Of: odoo/odoo#231620
Product pages with zoom-on-click enabled no longer show an error when the product has only one image. This prevents shoppers from hitting a broken experience when viewing product images, helping keep browsing and purchasing smooth.
Original PR description
Versions -------- - 18.0+ Steps ----- 1. Enable zoom-on-click on product page; 2. have a product page with only a single image; 3. click on the image. Issue ----- > Odoo Client Error > Caused by: TypeError: can't access property "addEventListener", carousel is null Cause ----- Commit 83b79c198eac added event listeners to make the carousel interactive. Issue is that the carousel element doesn't exist in the DOM if there's no extra media. Solution -------- Check if the carousel element exists before adding event listeners. opw-4937009 Forward-Port-Of: odoo/odoo#231033 Forward-Port-Of: odoo/odoo#230795
Users can now create their first timesheet even if they do not have access to the company's internal project. Instead of showing an error, the system leaves the default project blank so the user can continue their work.
Original PR description
To reproduce: ============= - make the internal project of the company for invited internal users only - with internal user that doesn't have access to the internal project, and no previous timesheet created, try to create a timesheet - you get a traceback Problem: ======== when not having a previous timesheet, in the default value we set project_id based on the internal project of the company. But if the user doesn't have access to this project, it raises an access error. Solution: ========= check if the user has access to the internal project of the company, if not, use `False` as default value. opw-5119839 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#229818
The call menu now shows the active speaker outline in the correct green color when dark theme is enabled. This keeps call visuals consistent and makes it easier for users to identify who is speaking.
Original PR description
Before this commit, call menu "is talking" outline color had the wrong color in dark theme. This happens because it uses the color of white theme, which is a light green that works in white theme but in dark theme this is using a darker green color. To make this dark green color, call UI elements override the color. The call menu UI was not overriding the color in dark theme, even though it had code to deal with it. This commit fixes the issue by adding the override of "is talking" color in call menu in dark theme, to have intended color like other call UI elements with "is talking". Before <img width="958" height="381" alt="Screenshot 2025-10-15 at 12 34 51" src="https://github.com/user-attachments/assets/c8cd7a18-fff0-49e4-a26a-9b191b364111" /> After <img width="958" height="422" alt="Screenshot 2025-10-15 at 12 33 41" src="https://github.com/user-attachments/assets/d8d6d635-4d0c-40c0-b343-71ca0fd75eb2" /> Forward-Port-Of: odoo/odoo#231653
This fixes an issue where document icons on website pages could disappear when editing a translated version of the page. Businesses using multilingual websites can now translate pages without losing visible document indicators for visitors and editors.
Original PR description
This commit permits to keep document icon visible during the translation of a website page. Steps to reproduce the issue: - Have a website in English (main) and French - Edit the website in the main lang (English) - Drop Image text block - Change the image to a document - Save - Edit the translation in French => The document logo becomes invisible. This commit fixes this issue. task-3626918 Forward-Port-Of: odoo/odoo#231340 Forward-Port-Of: odoo/odoo#165109
Odoo now prevents database logging from reopening connections while the server is shutting down. This avoids a situation where stopping the server could leave the process running when database logging is enabled.
Original PR description
When killing Odoo server, we shutdown all DB connections and then the logger. If `--log-db` is enabled, it can emit logs to the database and open connections when we were closing them. In that case, disable logging so that we do not get a hanging process. ``` odoo-bin --log-db --log-db-level info CTRL+C # server stays running ``` --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change removes a non-essential test check that could fail unpredictably when product loading conditions changed. It helps keep automated validation stable without changing how users experience the point-of-sale loyalty features.
Original PR description
Before this commit, some tests could fail randomly if a new product was included in the list of limited loading products. The part of the test that checked whether the product was not loaded was not essential, so it has been removed to prevent unnecessary failures. opw-5109838 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#230458 Forward-Port-Of: odoo/odoo#228364
Editing the website login page no longer immediately flags the form as having unsaved changes. This prevents confusion for website editors and keeps the editing experience cleaner, with no meaningful loss because the hidden user-switch button was not usable in edit mode.
Original PR description
Before this commit, part of the `/web/login` page was immediately marked as dirty when the editor opened. This happened because `UserSwitch` component used a `t-portal` directive that rendered an element outside the `owl-component` tag, causing it to be tracked by the mutation observer. After this commit, the `t-portal` directive is ignored when in edit mode. A side effect of this solution is that the "Choose a user" button is hidden during editing, but this button was already non-editable and non-clickable during edit. **How to reproduce the problem** 1. Navigate to "/web/login" 2. Activate edit mode 3. The "o_dirty" class is present in the login form Forward-Port-Of: odoo/odoo#230602
The date picker now visually shows when a date cell is disabled and cannot be selected. This reduces user confusion after a previous interface change made disabled dates look similar to selectable ones.
Original PR description
In this commit fa3bfb0a696c20ae51cd0f37f737fcf211007c4a, the o_date_item_cell was changed from a button to a div. This made the style of disabled cells not show that its not unclickable, making it confusing for users. Solution is to add specific style for the disbaled o_date_item_cell component. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#231562 Forward-Port-Of: odoo/odoo#231249
This fixes the product card layout on the website shop page so all cards keep the expected height when the card layout option is selected. It restores the intended visual consistency from earlier versions, improving the storefront appearance for customers and editors.
Original PR description
**Issue:** The issue occurs when selecting the card layout on the website shop page — the height of all cards changes. In version 18.4, it worked as expected, but in version 19.0, one class "h-100"…
**Issue:** The issue occurs when selecting the card layout on the website shop page — the height of all cards changes. In version 18.4, it worked as expected, but in version 19.0, one class "h-100" was missing, which caused the issue. **Solution:** I have added the class "h-100" again to fix the problem. **Steps to Reproduce:** Create a demo database. Install the website_sale module. Go to the Shop page and click Edit. Select the Card Layout option. The issue can also be reproduced on the runbot. **Before Fix:** <img width="1151" height="811" alt="Before" src="https://github.com/user-attachments/assets/0e20dfb6-0ae7-4372-ac6a-c960b77700eb" /> **After Fix** <img width="1176" height="649" alt="After_fix" src="https://github.com/user-attachments/assets/e5209bb0-ded8-40e9-ac16-21e5514a72b2" /> [OPW:5150748](https://www.odoo.com/odoo/project/70/tasks/5150748?debug=1) 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 Forward-Port-Of: odoo/odoo#231437
This fixes an issue that prevented certain related one-to-many list fields from being created when no inverse field was available. It helps administrators and implementers configure data relationships more reliably without running into a blocking setup error.
Original PR description
…n_field Before this commit, it was not possible to create a related one2many without a relation_field (inverse) However, the relation_field of a relation cannot be the one of the original field (because it doesn't exist on the current model) After this commit, this flow works. opw-5155440 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 Forward-Port-Of: odoo/odoo#231720 Forward-Port-Of: odoo/odoo#231187
This update corrects a bug in the HTML editor where changing text color near an icon could unintentionally recolor a larger surrounding section. Users can now apply color changes only to their selected content, preserving nearby icons and parent elements.
Original PR description
After this [commit], we'd have an issue when we tried to change a color and there was an `fa` icon next to our selection. Instead of changing the color of only the selection it would change it for the closest element with `color`, `background-color`, or `background-image` style properties. To reproduce the bug: - Set selection on an element that has a color style property on its parent, and the parent has .fa icon but not directly on our element - Try to change its color => Color of the whole parent changes task-5107147 [commit]: https://github.com/odoo/odoo/commit/927f4b973932d14961c148e13473017651a60dc0 Forward-Port-Of: odoo/odoo#231490 Forward-Port-Of: odoo/odoo#229311
The Live Chat agent selection list no longer offers the option to create a new user from that popup. This avoids a confusing dead-end where user creation failed due to missing required information in the simplified form.
Original PR description
**Steps to reproduce:** Go to 'Live Chat' Open the live chat channel form view by clicking on the hamburger icon Click 'Add a line' to add another agent A popup with live chat users will appear Click 'New' at the bottom to create the new user A simplified form view will open to create a user Fill in all the details and click 'Save & Close' **Current behavior before PR:** A banner appears with the message 'Missing required fields'. This occurs because the 'partner_id' field, which is required, is included in the agent list view but not in the user creation form. As a result, the user creation process cannot be completed. **Desired behavior after PR is merged:** It will no longer be possible to create a new user from the agent list view. task-5172541 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#230999
This update ensures accounting localization tests always install the required demo data before running. It helps keep test results consistent across versions and reduces the risk of false failures in internal validation.
Original PR description
In later versions, we improve the testing suite to avoid having to install demo data in order to reduce the testing time. In order to keep the testing configuration simple across versions, we force the installation of demo data instead of only asserting that demo is installed before launching the script. Forward-Port-Of: odoo/odoo#231925 Forward-Port-Of: odoo/odoo#231660
Fixed an issue where using the SEO Auto-Fill button on system pages such as login, signup, password reset, and donation payment could trigger an error. Website editors can now generate SEO field suggestions on these pages without interruption, improving reliability during site optimization.
Original PR description
Steps to Reproduce: 1.Go to the website and open a system page such as: /web/login /web/signup /web/reset_password /donation/pay 2.In the top menu, go to Site → Optimize SEO. 3.Click the Auto-Fill button. 4.Observe that a traceback appears. Before this commit: Clicking the Auto-Fill button caused a traceback error because pageTextContentEl was null due to wrong selector. As a result, getElementsByTagName could not be accessed. In this commit: We provide the correct querySelector value so that pageTextContentEl properly references the intended DOM element. This fix prevents the error and ensures that the SEO Auto-Fill button works correctly, populating all required fields without issue. task-4974618 Forward-Port-Of: odoo/odoo#220769
Users can now open import screens that offer more than one sample import template without the page crashing. The template buttons are also displayed with cleaner spacing, improving the experience when several examples are available.
Original PR description
Import templates are defined on models to allow developpers to provide
sample import files to users. These templates are fetched by the client
as an array of objects of the form {label: string, template: string},
where label is the label to display and template the URL of the file.
The iteration on `importTemplates` goes through this list, and if more
than one element is present in it, the t-key for both elements will be
the same (`[[object Object]]`), leading to a crash of the client
action's template.
This commit uses the 'template' url as the key, as it should be unique
(the label is less trustworthy, as it is translatable).
It also slightly changes the styling, as having an mb32 between multiple
buttons looked rather bad.
Forward-Port-Of: odoo/odoo#231715
Forward-Port-Of: odoo/odoo#231407This fixes date-based filtering so it uses the daylight saving time rules for the date being searched, rather than the current day. This helps avoid one-hour errors in records shown or excluded when filters compare dates and datetimes across seasonal time changes.
Original PR description
Description of the issue/feature this PR addresses:
When casting a date to a datetime during conversion of domains, we should take the DST of the date instead of now.
Current behavior before PR:
`[('dt_field', '>', '2022-01-01')]` uses the DST of now which may or may not be +1h.
Desired behavior after PR is merged:
`[('dt_field', '>', '2022-01-01')]` would use the DST of the given date.
runbot.build.error/232914
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#231377This fix makes project tour tests behave consistently whether or not demo data is installed. It prevents unnecessary page reload differences during automated testing, improving reliability without changing normal user workflows.
Original PR description
When running test_01_project_tour, the milestones feature is enabled on one of the projects. When doing so, if the project_milestone global option isn't enabled, it gets enabled automatically. When…
When running test_01_project_tour, the milestones feature is enabled on one of the projects. When doing so, if the project_milestone global option isn't enabled, it gets enabled automatically. When such a global feature is enabled while saving a project, the web client executes a reload_context action (see the onRecordSaved override in `@project/views/project_form/project_project_form_controller`). This is why the tour step that clicked on the save button got an `expectUnloadPage: true` attribute. However, when the demo data are installed, some projects are already created, including projects that have the milestones feature enabled. Therefore, the global option does not get enabled during the tour, and the page does not get reloaded in this case. With this commit, we enable the global option before running the tour, so that the behavior can be consistent between executions on databases where the demo data are or are not installed. Runbot-build-error-id: [232962](https://runbot.odoo.com/odoo/runbot.build.error/232962) Forward-Port-Of: odoo/odoo#231717
This fix prevents shoppers from seeing an "Undefined" label under a product name when they select a product variant combination that is not available. It improves the ecommerce product page experience by avoiding confusing placeholder text for unavailable options.
Original PR description
## Versions
19.0+
## Issue
"Undefined" is displayed under a product' name when selecting an unavailable variant configuration.
## Steps to reproduce
- Activate variants in the Settings' App;
- Create a product with 2 attributes ("A" and "B") and 2 values ("c" and "d") for each attribute;
- Click on the "Configure" button for attribute "A":
- Select the first value:
- Add an exclusion line applied on the same product and value "c" of attribute "B" ("B:c").
- Go to the product's eCommerce page:
- Select the unavailable configuration (A:c and B:c).
## Cause
A condition introduced on line https://github.com/odoo/odoo/blob/609ce29d5232707f7c6d05a7b82909cd3b09c75a/addons/website_sale/views/templates.xml#L2476 relies on `visible_tags` which is not defined because based on `product_variant.all_product_tag_ids` where `product_variant` is empty as the selected variant is archived.
opw-5145405
Forward-Port-Of: odoo/odoo#230306Administrators can now retry or cancel system-generated SMS messages from technical settings without hitting an access error. This helps support and operations teams resolve failed delivery or notification messages more reliably.
Original PR description
## Issue: In debug mode, the administrator could not resend or cancel an SMS that was sent by the system (e.g. delivery confirmation) using the `Retry` / `Cancel` button in the Technical Settings An…
## Issue: In debug mode, the administrator could not resend or cancel an SMS that was sent by the system (e.g. delivery confirmation) using the `Retry` / `Cancel` button in the Technical Settings An Access Error was raised ## Cause: When using the `Retry` or `Cancel` button, the method `_update_sms_notifications()` is called and finds `mail.notifications` records to update However, `notifications.write()` triggers an Access Error because only the recipient of a `mail.notification` is allowed to modify it: https://github.com/odoo/odoo/blob/98610ea2a1369b84b10adb8913c5d7725a0fad67/addons/mail/security/mail_security.xml#L184-L192 This happens even when the user has the rights to resend or cancel the SMS ## Steps to reproduce: - Install an app like stock_sms to create blocking entries - Create and confirm a Delivery - Choose Send SMS - Enable developer mode - Search for the technical settings SMS - Retry sending the automatically sent SMS opw-4904157 Forward-Port-Of: odoo/odoo#230733
The automated clickbot test process now skips the Attendance onboarding menu because it opens a tablet kiosk screen that cannot return to the regular back office. This prevents test runs from getting stuck and helps keep quality checks reliable without changing normal user workflows.
Original PR description
This commit blacklists the attendance Onboarding menu in clickbot since that menu redirects the user to kiosk app which is a custom app for tablet mode and so the clickbot cannot go back in backend when it enters in the kiosk. Forward-Port-Of: odoo/odoo#231885
This fix stops certain automatically created document attachments from being uploaded to cloud storage when they need to remain available for document-related business processes. It helps avoid disruptions caused by moving files that internal document logic expects to handle locally.
Original PR description
Some models' attachments will automatically become document attachments which may be used in business code of documents. This commit avoids uploading these attachments to the cloud storage. 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 Forward-Port-Of: odoo/odoo#231628
This fixes an issue where device action errors could be incorrectly reported as successful. Business users and support teams will now see the correct error status instead of a false connected state, making troubleshooting more reliable.
Original PR description
Before this commit, if an error occurred during the execution of an action, it was catch in the _do_action method. To signal that an error occured, we put "error" in the status of the response. However, before this commit, the status was overriden with a "connected" value right after being set to "error", which led to the frontend thinking everything was fine. This is now solved by only setting one status. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#231615
The website team section now applies mobile image sizing only to team member avatars, not every image in the description. This prevents extra images added to team descriptions from being unexpectedly resized, improving page appearance on mobile devices.
Original PR description
Scenario:
- Add s_company_team snippet ("Meet our team" with avatar side by side
with description)
- Add an image in the description (small or big)
- See the page with mobile
Result: all images in the description get a fixed 50% max-width (from
18.0 a 8rem height) which was only meant for the avatar image.
Fix: be more specific with the selector to target only the avatar. The
selector .row.s_col_no_resize > .o_not_editable img.o_editable_media
should only target the intended avatar.
opw-4997932
Forward-Port-Of: odoo/odoo#231793
Forward-Port-Of: odoo/odoo#225412Point of Sale sessions now only reserve the next session name after cash details are posted successfully. This prevents skipped session numbers after failed operations, making records easier to track and audit.
Original PR description
Before this commit, if an issue occurred while posting the cash details, the session sequence would still increment even though the operation failed, leading to gaps in session names. With this commit, the sequence only increments when the operation succeeds, ensuring continuous session naming without gaps. opw-5100163 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#231819 Forward-Port-Of: odoo/odoo#229532
The Discuss app header spacing has been adjusted so avatars line up consistently with messages and the composer on smaller screens. This makes the conversation view feel cleaner and less crowded without changing functionality.
Original PR description
Before this commit, The header of the Discuss app had the avatar too close to the sidebar of Discuss app, which looked off and also makes it misaligned with avatars in message list and composer. This comes from a specific style to reduce initial padding below large screen, which was mismatched between discuss header and other items in message list. The intended design was to have enough space between discuss sidebar and message list so that this doesn't feel too crowded and fatiguing to see. This was an issue in the past, but now Discuss app is visually fine even with reduced spacing in large screen. This commit removes all the large-screen specific extra spacing, which fixes the issue as it's easier to match the spacing between all of them. <img width="775" height="908" alt="Screenshot 2025-10-15 at 12 55 06" src="https://github.com/user-attachments/assets/2dedd04d-3949-4586-9325-844313476194" /> Forward-Port-Of: odoo/odoo#231656
This fixes visual issues in the email and chat message composer, especially on compact windows and mobile-sized screens. The composer now aligns more cleanly, avoids small layout jumps around mention links, and stays within the visible screen area.
Original PR description
This commit fixes several HTML composer styling issues: - The HTML composer html did not align vertically with the text area when the chat window is in small UI mode. - The mention/redirect links had a border and causing slight layout shifts when applied to the composer. This is now fixed by using outline instead of border. - The maximum height of the HTML composer was not constrained on small screens, causing it to overflow the screen. This is now fixed by using a max-height relative to the viewport height. task-5022254 after: <img width="435" height="346" alt="image" src="https://github.com/user-attachments/assets/cfd309d6-f6a4-4d7c-8694-2a86504193e7" /> <img width="454" height="782" alt="image" src="https://github.com/user-attachments/assets/6ce924b6-9df7-4831-890d-59ec37ea18c9" /> --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#231498
This update corrects an issue in account reports where some report calculations could use the wrong record context. The fix helps ensure financial report values are computed reliably and reduces the risk of incorrect report output.
Original PR description
Forward-Port-Of: odoo/enterprise#97144
This update adds test coverage to ensure Indian GSTR-1 reporting handles sales involving reverse charge tax and SEZ supplies with LUT correctly. It helps reduce the risk of incorrect tax report submissions for businesses operating under these GST scenarios.
Original PR description
Adding GSTR1 test case with RCM tax and SEZ (with LUT) see https://github.com/odoo/odoo/pull/213931 Forward-Port-Of: odoo/enterprise#95669 Forward-Port-Of: odoo/enterprise#87486
The AI assistant in the website builder now works correctly when used on product pages. This prevents a "Missing Record" error and lets users continue editing product descriptions without interruption.
Original PR description
__Current behavior before commit:__ Using `/ai` in the website builder sends the record id as a string leading to an error in the backend because `browse` expects an integer as input. __Description of the fix:__ Use `search` instead of `browse` to support id sent as string as well as to validate ACL and existence of the record. __Steps to reproduce the issue on runbot:__ 1. Go to `/shop`. 2. Click on a product. 3. Open the website builder. 4. Enter `/ai` in the description below the product title. => A "Missing Record" error appears. Forward-Port-Of: odoo/enterprise#95163
The Point of Sale settlement flow now handles cases where a previously loaded customer has been removed from the database. This prevents reload errors and helps keep PoS operations running smoothly after customer record cleanup.
Original PR description
Before this commit, if a previously loaded partner was deleted from the database, reloading the PoS would trigger an error because the partner record could no longer be found. opw-5137871 Forward-Port-Of: odoo/enterprise#97173 Forward-Port-Of: odoo/enterprise#96491
Odoo Studio now avoids saving an invalid link setting when users create a related field pointing to partner child contacts. This prevents crashes during later field updates and keeps customized sales order forms more reliable.
Original PR description
On sale order, create a related field to res_partner.child_ids Before this commit, the related field is not stored but has a relation_field to parent_id (res.partner) During an onchange (outside of studio), this will crash. After this commit, we unset relation_field in this case as it doesn't make sense (the relation_field should reference a res.partner field, not a field presetn in the current model) opw-5155440 Forward-Port-Of: odoo/enterprise#97274 Forward-Port-Of: odoo/enterprise#96950
This fixes an issue in Point of Sale Enterprise that could cause an error when opening Studio from the preparation activity display. The change improves reliability for users customizing or managing the preparation display workflow.
Original PR description
This commit prevents a NewId to be used in a domain when opening studio from the activity display. runbot error #233396 Forward-Port-Of: odoo/enterprise#97332
Fixed an issue where opening the AI assistant from a blog record could show an error instead of starting normally. The system now checks for planned activities only when that type of record supports them, preventing disruption for website blog users.
Original PR description
Currently, an error occurs when the user clicks on the AI icon at the top. Steps to Reproduce: - Install the `website_blog` module. - Go to `Website > Configuration > Blog > Blogs`. - Open any `blog`…
Currently, an error occurs when the user clicks on the AI icon at the top. Steps to Reproduce: - Install the `website_blog` module. - Go to `Website > Configuration > Blog > Blogs`. - Open any `blog` and click the `AI icon` at the top. `AttributeError: 'blog.blog' object has no attribute 'activity_ids'` This error occurs after [this commit]. When the user clicks the AI icon, it attempts to create an AI channel and fetch planned activities if any exist. However, the blog.blog model does not have the activity_ids attribute because it does not inherit from mail.activity.mixin. As a result, the error is raised [1]. This commit ensures that the system only checks for activities if the record has the activity_ids attribute; otherwise, it returns empty data, indicating no activities found. [1]- https://github.com/odoo/enterprise/blob/64fa9e46f6195bd4312130cce33b94a129584523/ai/models/mail_thread.py#L12 [this commit]: https://github.com/odoo/enterprise/commit/7333dc779c75479c708edb7ecd1c0a0d4d2ae619 sentry-6942245851 Forward-Port-Of: odoo/enterprise#97136
Project portal users can now use a back button from the shared project Gantt view. This makes navigation easier and reduces friction when moving between shared project information and the portal.
Original PR description
Currently, project portal users cannot easily navigate back from the project portal view.This commit adds a back button in the gantt view of project sharing to improve navigation. Also, the project sharing gantt view is added in this commit- https://github.com/odoo/enterprise/pull/80545/commits/daaea2742a9ee786045ea805941eb3e8374c99d1 task: 5075423 Forward-Port-Of: odoo/enterprise#95461
This fix removes now-unnecessary extra request details from a database API call after the underlying service was corrected to handle them automatically. It reduces redundant handling in the database synchronization flow without changing expected user-facing behavior.
Original PR description
Since odoo/internal#3823 the `ids` and `context` arguments erroneously became mandatory on the SaaS `/json/2/<__model__>/<__method__>` route, as the override was missing default values. Since odoo/internal#3830 added these default values, there is no need to add these arguments any more, and this commit removes them from the method BaseApi:post_json2 of the databases module. Task-id: none Forward-Port-Of: odoo/enterprise#97098
This fix ensures several company name and address fields in French VAT report submissions are filled within ASPOne's required length limits. It helps prevent rejected or invalid XML-EDI filings caused by values that are too long.
Original PR description
The aim of this commit is making sure that the field Designation, DesignationSuite1, DesignationSuite2, AdresseVoie and AdresseComplement are correctly filled. Indeed, the XSD implied that these fields have to be respectively 35, 35, 35, 30 and 35 characters max. [Documentation 2025](https://www.aspone.fr/files/tutoriaux/xmledi/Documentation_XML-EDI.zip) no task id Forward-Port-Of: odoo/enterprise#97335 Forward-Port-Of: odoo/enterprise#97199