Wednesday, October 25, 2023
25 changes · master
Resolved issues and error corrections
The mail reaction menu now closes automatically when the last reaction is removed. This prevents users from seeing an empty menu and makes the messaging experience feel cleaner and less confusing.
Original PR description
Currently, if all reactions are deleted from reactions menu, the menu remains open. This commit force it close in case of having no reactions. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Receipts are now printed automatically only when customers use self-ordering in kiosk mode. This avoids unnecessary receipt generation on mobile self-ordering and prevents the confirmation screen from displaying incorrectly.
Original PR description
Before, a receipt was automatically generated in the mobile self order and the confirmation screen would glitch when it was generated. Now this receipt is only generated in kiosk mode and the confirmation screen no longer glitches due to a hidden overflow.
Timesheets now automatically clear an assigned task if it no longer belongs to the selected project, preventing inconsistent reporting. Some timesheet list columns are also hidden correctly, improving screen clarity for users working with timesheets and sales-linked timesheets.
This fixes an issue where input fields inside popups did not automatically receive focus as expected. It also removes duplicate handling in the messaging area, making the behavior more consistent across Odoo.
Original PR description
Currently, when there is an input within a popover, the AutoFocus hook is not working well due to the check for activeElement. The fix is to provide a function parameter to check the situation rather than put it inside the hook thus, it can be used as a generic hook as it was. Also, remove the duplicate useAutofocus in `mail` code. Related PR: https://github.com/odoo/odoo/pull/139124 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
A display issue was fixed so empty HTML content is treated correctly when deciding whether to show or hide elements on a page. This prevents blank alerts from appearing in forms, improving clarity for users.
Original PR description
Because `Markup("")` is not considered as falsy, computed and not stored HTML field used in invisible attribute on views were not rendered correctly.
Indeed, if a computed (and not stored) html field was used as a condition for the display of an alert. Then a void alert was displayed on the view.
Follow-up of odoo/odoo#130479Disabled input fields now use a background color that matches the updated website design. Placeholder text has also been darkened to improve readability on lighter backgrounds, creating a more consistent and accessible editing experience.
Original PR description
Before this commit, disabled inputs background color was set to Bootstrap default value (`$gray-200`). Since the input background color is now based on `o-color-3`, it was creating inconsistencies. This commit fixes that issue. This commit also darkens the placeholder color as it was not readable enough on the new light background. task-3565420 part-of-task-3097005 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The mailing form no longer shows an extra duplicate domain field. This keeps the email campaign setup screen cleaner and reduces confusion for users configuring mailing recipients.
Original PR description
Remove the extra mailing_domain in the form view. task-3562293
Fixed an issue where quiz content in online courses could show unwanted HTML text to learners. This improves the course-taking experience by ensuring quiz text appears as intended.
Original PR description
**How to reproduce:** 1. Open any course having a quiz. 2. Select quiz content. -> In the quiz template we can see that the html content is not sanitized. **Technical:** I think the issue arises after this commit https://github.com/odoo/odoo/commit/0d7acf60b4cca84a8c700edd97af8c4de6b78010 **After this PR:** Now t-esc is deprecated and the HTML text is not sanitized in the template so instead of t-esc we are using t-out. Task-3555159
Spreadsheet dashboards now check that chart links point to a menu that can actually open an action. If a user clicks a chart linked to an incomplete menu, they see a clear warning instead of an error screen.
Original PR description
If a chart was linked to an odoo menu, but the odoo menu didn't have an action, the user would get a traceback when clicking on the chart. This commit: - Improves dashboard validation. Now we test that the menu is linked to an action, in addition to testing that the menu exists - Send a "danger" notification when the user clicks on a chart with a menu without an action linked to it, rather than a traceback Task: [3563450](https://www.odoo.com/web#id=3563450&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form) 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 several issues in the Italian electronic invoicing workflow, including warning messages, sending status checks, XML export options, and labels. Users should see clearer, more reliable choices when sending, printing, or exporting invoices.
Original PR description
Several fixes after test: - `l10n_it_edi_warning_message` 's compute was wrong - `is_being_sent` allows for the Check Sending button to show, it just reloads the page - now the XML export button is only readonly if there's PDF and no XML. In the other cases, it can be checked. It's checked and readonly if all XMLs are generated. - some label fixin'
The Print Labels button now appears only for products where labels are useful, such as storable, consumable, and combo products. This avoids confusion by hiding the option for items like event tickets, booths, or courses where label printing does not apply.
Original PR description
Before this commit, the "Print Labels" button shows for all products except services. However, this button does not make sense for event_booth, event_ticket, course, ... products So we only show this button for storable, consumable and combo products. Task-3390587
The Peppol invoicing settings page now avoids showing duplicate enablement checkboxes after Peppol is installed. This makes configuration clearer for users and prevents required fields from blocking general settings saves before registration validation.
Original PR description
The res config settings view contains block in which peppol can be enabled. Enabling peppol using the checkbox inside the block installs the peppol module. Once installed, the "Use Peppol invoicing"…
The res config settings view contains block in which peppol can be enabled. Enabling peppol using the checkbox inside the block installs the peppol module. Once installed, the "Use Peppol invoicing" option is available, which is itself a checkbox, nested inside of the previous one. This gives the appearance of duplication, and in addition it's not relevant at this point to provide the user the option to uninstall peppol from this menu. The solution is to replace this content in the view when peppol is installed, such that the peppol options are always displayed, and the enable peppol checkbox is replaced. For this reason, references to the "is_account_peppol_participant" have been removed, as its use was primarily for hiding/displaying these settings. The field is no longer useful, and should, references to be removed in a later Paccount_R have been removed, as its use was primarily forhiding/displaying these settings. The field is no longer useful, and should be removed in a later upgrade script. Before:  After:  task-id: none
Images added to Odoo spreadsheets now export correctly when saving or sharing files in Excel format. This prevents missing images in downloaded .xlsx files and makes spreadsheet exports more reliable for users.
Original PR description
## Task Description o-spreadsheet now allows to insert images in a spreadsheet, and we also allow to export them inside .xlsx file. However, while this works as intended in a standalone o-spreadsheet server, it doens't work correctly in Odoo as the data of the image are not found while we try ton convert the spreadsheet to an xlsx file. This PR aims to simplify the request made to get the binary data of the image file. ## Related task -Task: 3524473 -X-original-commit: 301a98c Forward-Port-Of: odoo/enterprise#49066 Forward-Port-Of: odoo/enterprise#47928 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update tidies the invoice Send & Print process and prevents emails from being sent in bulk when no email template is configured. It also avoids carrying send-and-print settings onto duplicated invoices, reducing the risk of unintended customer communications.
Original PR description
Few things: - move files under the right folder - clean computes to avoid unnecessary recomputations - remove useless param of get_wizard_values - copy=False on send_and_print_values - prevent sending email if no mail_template set in multi mode
This fixes an issue in the Argentinian localization where opening a customer or vendor contact form could fail because a hidden filter condition was evaluated incorrectly. Users can now access partner records normally without encountering an error.
Original PR description
It seems that the invisible is not working on filter and so the fiscal country_code cannot be evaluated which causes a Traceback when trying to access the res_partner form view. task: 3270458 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes a small issue in the Mail app by removing repeated autofocus handling in the message search panel. The change helps keep the interface behavior consistent and reduces the chance of minor focus-related glitches for users.
Original PR description
--- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change fixes an issue that prevented users from saving their own profile when certain attendance or fleet-related fields were present but restricted to manager groups. It also adjusts demo data so demo users no longer receive unnecessary manager-level rights, keeping sample environments closer to real business usage.
This update adjusts demo data and access settings across several business apps so demo users have more appropriate permissions. It also hides a point-of-sale preparation display menu from users who cannot use it, preventing an access error and making the demo experience smoother.
This fixes the automatic setup of the external tax connection for sales. It helps ensure the right supporting component is installed when needed, reducing manual setup issues for businesses using external tax services.
This fixes how Brazilian AvaTax submissions handle credit and debit notes by sending the right operation details and linking them to the original invoice. It helps ensure tax amounts are calculated correctly for returns and adjustments, reducing errors in Brazilian electronic invoicing workflows.
Original PR description
The buttons and triggers already are enabled on these, but we forgot to specify some API parameters. This specifies the operationType in the header, instead of on each line. The operationType (standardSales, salesReturn or amountComplementary) is determined based on the move_type and debit_origin_id. invoiceRefs is specified to refer to the original invoice and description is required for both. Finally, we need to invert the tax amounts for returns since Avatax doesn't do that for us. This is based on odoo/enterprise#49498 for Odoo 16 but includes debit note support as well since l10n_br indirectly depends on account_debit_note in Odoo 17. It also adds the default operation type and invoice refs directly in the mixin to avoid having to create an l10n_br_avatax_sale module like in Odoo 16.
Belgian Codabox users can now revoke a connection even after losing their access token, as long as company consent details are still present. Bank statement syncing also starts from a more accurate date, reducing the risk of missing or duplicating imported financial data, with clearer handling of skipped bank accounts.
Original PR description
## This PR improves l10n_be_codabox by: **[FIX] l10n_be_codabox: allow Revoke button if the fidu_vat field is filled** Currently, if the user loses its IAP access token, it will not be able to delete…
## This PR improves l10n_be_codabox by: **[FIX] l10n_be_codabox: allow Revoke button if the fidu_vat field is filled** Currently, if the user loses its IAP access token, it will not be able to delete its IAP connection even if it has removed its consent via the myCodabox platform. This commit allows the Revoke button to be shown if the fidu_vat input field is non-empty, so that even if the user is not connected, we can still revoke the IAP connection **[FIX] l10n_be_codabox: computation of from_date to send to Codabox** The from_date was incorrectly computed, it should be computed as follows: - For each Codabox journal, retrieve the date of the most recent bank statement - If there is none, retrieve the date of the most recent bank statement line - If there is none, we'll use from_date = 3 months ago - The from_date we'll use with Codabox will be the most ancient dates from these dates A small improvement is also introduced when we have bank accounts returned by Codabox but that do not exist in the DB. Now, instead of showing the logger info every time, we'll display only one message for all skipped bank accounts.
This fix prevents a Studio automated tour from failing when the Attendance app is not installed. It removes an irrelevant check so internal validation is more stable without changing user-facing features.
Original PR description
Since [1], the `/hr_attendance/attendance_user_data` route is asserted in a studio tour. This route is not called when `hr_attendance` is not installed making this tour fail in this case. This commit excludes this route from the assertions since it is not relevant. [1]: https://github.com/odoo/enterprise/pull/47384 fixes runbot-27902
Timesheets linked to helpdesk tickets now better keep the correct project information when tickets or projects are changed. The update also prevents misleading ticket fields from appearing in the timer header and makes certain timesheet hours read-only when viewed from helpdesk team statistics, reducing accidental edits.
Financial reports now keep total lines on the expected page when using the Total Below option. This prevents report layouts from adding unwanted page breaks inherited from section lines, making printed reports cleaner and more predictable.
Original PR description
By activating the "Total Below" section feature, the total line will adopt the attributes of the section. In the report settings, we have the option to define a page break attribute for a line. However, if the section's line possesses the page break attribute, this causes the total line to also have it, which is not the desired behavior. This commit aims to separate the "Total Below" sections from the "print_on_new_page" field. task: 3566903
VoIP calls that remain incorrectly marked as calling or ongoing can now still be displayed instead of causing an error. This helps users recover visibility into call records after interruptions such as power outages or unexpected disconnections.
Original PR description
If for some reason (e.g. a power outage in the middle of a call) the call is never properly terminated, it may be stuck in the “calling” or “ongoing” state. Prior to this commit, trying to display a call that was stuck in the wrong state would cause a crash. After this commit, the call will be displayed correctly, even if it is in an improper state.
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