Wednesday, May 21, 2025
14 changes
4 changes
Resolved issues and error corrections
This fix updates automated checks for Avatax sales tax calculations after changes to how down payments and global discounts are rounded per line. It helps ensure tax-related sales workflows remain reliable and prevents false test failures in future releases.
Original PR description
…t with round per line opw-4685953
Appointment pages with no available staff or resources now show the unavailable slot message only once. This keeps the booking page clearer for visitors and avoids confusion when no appointments can be scheduled.
Original PR description
Reproduce: Check the front page of an appointment type with no resources or staff users. This commit avoids duplicating the ‘No slot’ message on the front page of appointment types for which there is no slot available. related: odoo/enterprise@36da382fceba76f3de69306e24c9c6fa018cde9f Task-4750234
Pinning messages in Discuss now works even when the message has no linked thread available. This prevents a user-facing error and makes the message pinning action more reliable.
Original PR description
**Before this PR:** Pinning a message would throw an error if the associated thread was not present on the message. **After this PR:** This commit ensures that pinning a message works properly. **Task**-4805076
The IoT box setup flow no longer asks users to configure a Point of Sale when no active Point of Sale is available. This removes a confusing popup that could not be completed and makes the pairing process smoother for businesses without Point of Sale configurations.
Original PR description
Before this commit, if you paired an IoT box with no Points of Sale configured, you would still get the popup prompting you to autoconfigure your IoT box with a PoS. However, since you have no PoS you cannot fill in the required field and have to dismiss the popup. After this commit, we only open the autoconfigure popup if there is at least one active PoS available. task-4797331
10 changes
Resolved issues and error corrections
The mail composer template dropdown now remains within the screen on mobile devices, even when template names are very long. This prevents users from losing access to dropdown options and makes saving or selecting message templates more reliable on smaller screens.
Original PR description
Steps to reproduce ================== - Use a mobile device/viewport - Go to any record with a chatter - Click on Log note - Expand the composer - Click on the template dropdown - Save the current content as a template with a long name - Open the dropdown again => The dropdown is almost entirely off screen Cause of the issue ================== The Dropdown component uses the usePosition hook. It works by doing the following: - It tries the fit the content using the position props (or it's default value) - If it doesn't fit, it tries the four other corners - If it's still doesn't fit, it gives up and uses the first one again Solution ======== Since we cannot show too much content inside a dropdown, we set a max-width on the dropdown content, and truncate the template names. Another possibility would be to allow an horizontal overflow. opw-4675320 opw-4674341 opw-4656725
A mail test helper now creates properly formatted message identifiers even when random numbers are small. This prevents occasional test failures and helps keep development and release validation more stable.
Original PR description
Steps to reproduce ================== Run the test `/test_mail.test_message_process_references_multi_parent_notflat` a bunch of times. It will eventually fail. Or simply change the random range from `randint(0, 99998)` to `randint(0, 98)` Cause of the issue ================== ```py "<%.7f-%05d-test@iron.sky>" % (time.time(), randint(0, 99998)) ``` If randint returns a low enough value, the msg_id might look like `'<1747742185.1234567- 42-test@iron.sky>'` Solution ======== We can pad the random int with zeros. runbot-110801
Indian GST Treatment is no longer automatically filled from country and company type when manually creating a partner. It is now filled through the partner autocomplete service, so users who create partners manually must choose the GST Treatment themselves.
Original PR description
This PR removes the `onchange` logic previously used to auto-set the l10n_in_gst_treatment field based on company_type and country_id. The GST Treatment is now set dynamically by the PartnerAutoComplete service. If a user manually creates a partner (without using autocomplete), they will need to select the GST Treatment manually. Related IAP-https://github.com/odoo/iap-apps/pull/1051
Email templates no longer offer video embedding for pasted YouTube links, avoiding content that would be removed when the template is saved. This prevents broken email layout and invalid saved content for users editing templates.
Original PR description
Problem: When pasting a YouTube link and embedding it as an `iframe`, saving removes the `iframe` element. This happens because `iframe` is listed as a `kill_tag` in `SANITIZE_TAGS`, leading to its removal. As a result, the wrapper `div` becomes empty and is converted to a self-closing element, which produces invalid HTML. Solution: Disable video embedding on `body_html` of email templates to avoid inserting `iframe` elements that will later be stripped. Steps to reproduce: 1. Paste a YouTube link in an email template. 2. Choose "Embed YouTube Video" from the popup. 3. Save the template. → The content is broken due to missing `iframe`. opw-4746178 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Group payment memo references now start with PAY instead of BATCH. This avoids confusion with the separate batch payment feature and aligns payment naming across the accounting app.
Original PR description
Current behavior before PR: - Memo prefix was BATCH/XXXX for group payments, but it has nothing to do with the batch feature Desired behavior after PR is merged: - Memo prefix in group payments is now PAY/XXXX. This was already the default syntax for payments without entries (introduced in 18.0), so it seems a good choice for a syntax for all payments Related Task (4356642) : - https://www.odoo.com/odoo/project/967/tasks/4356642 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Confirmed purchase orders now allow users to delete section and note lines, matching the existing ability to edit them. This removes an unnecessary error and makes purchase order cleanup more consistent after confirmation.
Original PR description
This is a continuation of [this fix](https://github.com/odoo/odoo/commit/291518a7e7708690d183b9d1ca53c84d0c56ad90) following a feedback on its working state. --- Description of the issue this commit addresses: On purchase orders, it was decided that sections and notes would still be editable after the order has been confirmed so it would seem logic to be able to delete them too but at the moment, doing so raises an error. --- Desired behavior after this commit is merged: It is possible to delete a section or note line on a confirmed purchase order. --- opw-4744367 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an unwanted horizontal scroll on small screens in the eLearning app. Mobile users can now browse course content without the page shifting sideways unexpectedly.
Original PR description
In the kanban template there is a `row` container that is not wrapped into a `container` DIV, so it has negative margin and produce an overflow (horizontal scroll). This commit adds the `g-0` class on the `row` container. Steps to reproduce: * On Odoo on small screen * Go to the app "eLearning" * Try to scroll horizontally => BUG --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an issue in Project sharing where the page could show an error if no suggested contacts were returned. Users can now continue working normally even when there are no contact suggestions available.
Original PR description
Before this commit, mapping over `suggestedPartners['res.partner']` without checking caused runtime errors when the RPC returned no data. removed the mapping step and adding data to store as returned by server task-[4737958](https://www.odoo.com/odoo/project/1519/tasks/4737958)
This update ensures attachment deletion is only blocked when the German audit trail setting is actually enabled for the company. Businesses that have audit trail disabled can now delete attachments normally, avoiding unnecessary workflow interruptions.
Original PR description
Description of the issue/feature this PR addresses: The audit trail error is displayed eventhough the audit_trail is disabled for the company. Current behavior before PR: Attachments cannot be deleted with deactivated audit trail feature. Desired behavior after PR is merged: Only prevent deleting audit trail attachments, when audit trail setting is active. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr https://github.com/odoo/odoo/pull/207024
Invoice and accounting PDF downloads now use the report name configured for the selected print action. This avoids confusing or incorrect file names when users print or save accounting documents.
Original PR description
Default pdf report name should match the "print report name" set on the action report Task 4646733