Friday, November 14, 2025
37 changes · 19.0
Enhancements to existing features
This update switches several test checks to a more precise text-matching method. It helps make automated tests clearer and more reliable without changing how the product works for users.
Original PR description
This commit replaces all found occurrences where ':contains' (with an exact match regular expression) could be replaced by ':text'. Community: https://github.com/odoo/odoo/pull/234331 Forward-Port-Of: odoo/enterprise#99272 Forward-Port-Of: odoo/enterprise#98772
This update adds a new exact-text selector for automated UI tests, making test expressions easier to read and write. It also updates existing tests to use the clearer form, which improves maintainability without changing business behavior.
Original PR description
This commit adds the ':text()' pseudo-class to the list of supported pseudo-classes in Hoot selectors. Its purpose is the same as ':contains()', with the specificity of being an *exact* match instead of a *partial* one. It effectively replaces ':contains(/^<expression>$/)' by ':text(<expression>)', improving the readability and making the developer experience a bit nicer. Enterprise: https://github.com/odoo/enterprise/pull/98772 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#235295 Forward-Port-Of: odoo/odoo#234331
When Do Not Disturb is enabled, incoming calls will no longer open the softphone window, reducing unnecessary interruptions. The call status label also now shows “Calling…” while a call is being placed, making call progress clearer for users.
Original PR description
Before this commit, enabling `Do Not Disturb` mode only muted incoming rings, but the softphone still popped up on incoming calls, which could be distracting. Now, when `Do Not Disturb` is active, the softphone is not displayed at all. task-5262271
The “Pay on Site” payment option is now published automatically when it is created for Click & Collect. This removes a manual step for businesses and helps ensure customers can complete on-site payment without extra setup.
Original PR description
As of commit 397b9c26, the "Pick up in store" delivery method supporting Click & Collect is automatically published when created if existing warehouses are found. However, the associated "Pay on Site" payment provider was enabled but left unpublished, requiring users to manually publish it to allow on-site payment in the Click & Collect flow. This commit auto-publishes the "Pay on Site" payment provider when it is created, even if the "Pick up in store" delivery method could not be published, as customers won't be able to use the former to pay anyway.
Resolved issues and error corrections
The Discuss sidebar now shows the right status icon for call participants when they are muted or have deafen enabled. This fixes a confusing display issue so users can quickly understand each participant’s actual call state.
Original PR description
Before this commit, discuss sidebar call participants had wrong status shown, e.g. when participants are muted it shows non-slashed mic icon instead of slashed mic icon. Steps to reproduce: - Start a call without being muted or deafen - Have another person join the call and mute or deafen => icon shows unslashed mic or headphone This happens because the slash variants were coupled with active button state of call actions, so was based on current session rather than target session. This commit fixes the issue by using specific mute and deafen icon when session is either muted or deafen. Before <img width="1277" height="406" alt="Screenshot 2025-11-13 at 12 20 08" src="https://github.com/user-attachments/assets/c570d0a4-0ab6-48d8-bab6-b191531b2cb6" /> After <img width="1276" height="397" alt="Screenshot 2025-11-13 at 12 19 44" src="https://github.com/user-attachments/assets/2d69e942-7726-4c8c-8921-7635df47dc85" />
Documentation and clarification updates
This change records Raj Gohel’s Contributor License Agreement signature so future contributions can be accepted in Odoo. It is an administrative update with no direct impact on business operations or users.
Original PR description
This commit adds my Individual Contributor License Agreement (CLA) signature. Signed, Raj Gohel <rajgohel2018@gmail.com> https://github.com/Rajgohel0312 This CLA is required to validate my future contributions to Odoo.
Miscellaneous changes
In order to put the localization translations on Weblate, we did some cleanup of the POT and PO files for them: - Re-exported all POT files - Removed POT files for countries that don't need other languages than English - Removed all `i18n_extra` folders and moved any existing translations over to the `i18n` folder - Updated PO file names by removing superfluous country codes, or simply correcting wrong ones - Removed PO files for irrelevant languages in a localization - Updated the PO file
Original PR description
In order to put the localization translations on Weblate, we did some cleanup of the POT and PO files for them: - Re-exported all POT files - Removed POT files for countries that don't need other languages than English - Removed all `i18n_extra` folders and moved any existing translations over to the `i18n` folder - Updated PO file names by removing superfluous country codes, or simply correcting wrong ones - Removed PO files for irrelevant languages in a localization - Updated the PO files according to the POT files using `msgmerge` - Added new PO files for missing languages We also updated the `.weblate.json` file to add all the localizations in a separate Weblate project, limited to the languages they support. task-5169642 Related: https://github.com/odoo/odoo/pull/235726 saas-18.4: https://github.com/odoo/enterprise/pull/99189
This fix prevents a front-end error that could happen when a pro forma is sent for an order that was deleted while the request was still being processed. The system now checks that the order still exists before using it, which avoids interruptions and makes the point of sale more reliable.
Original PR description
Before this commit, when trying to send a pro forma for an order that had been deleted while the pro forma call was in the queue, a JS error would occur because the callback of the call would try to access the order which was no longer existing in the frontend. This is now fixed by checking that the order is still present before accessing it in the callback. Forward-Port-Of: odoo/enterprise#99248
Message action icons in chat and message views are now larger and easier to read, while using less horizontal space overall. Hover feedback is also more visible, making the controls easier to notice and use in both light and dark modes.
Original PR description
1) increase size, reduce gap Make icons more readable by being bigger. The gap is reduced so overall this actually takes slightly less horizontal area. 2) More visible hover effect Hover effect was…
1) increase size, reduce gap Make icons more readable by being bigger. The gap is reduced so overall this actually takes slightly less horizontal area. 2) More visible hover effect Hover effect was inexistent due to typo in chat window style leaking to message actions, but still the hover effect was to shy, with 75% => 100% opacity. This is increased to 50% => 100% in addition to true black/white on 100%. Before / After (white) <img width="716" height="128" alt="white-before" src="https://github.com/user-attachments/assets/3829b7cb-8e36-4f28-8d20-78ef9aa31a97" /> <img width="723" height="128" alt="white-after" src="https://github.com/user-attachments/assets/79ec373a-c847-4c8a-96da-4582b54bb393" /> Before / After (dark) <img width="717" height="127" alt="dark-before" src="https://github.com/user-attachments/assets/cdaddee6-8025-46c3-a50b-9c85f9108887" /> <img width="716" height="123" alt="dark-after" src="https://github.com/user-attachments/assets/ddd712b0-407b-427b-b4c6-e3d615b91c27" />
The previous SOAP API was decommissioned. A new API was provided that doesn't need SOAP anymore and is a bit simpler [1]. [1] https://suameca.banrep.gov.co/estadisticas-economicas/webService opw-4860262 Forward-Port-Of: odoo/enterprise#99152
Original PR description
The previous SOAP API was decommissioned. A new API was provided that doesn't need SOAP anymore and is a bit simpler [1]. [1] https://suameca.banrep.gov.co/estadisticas-economicas/webService opw-4860262 Forward-Port-Of: odoo/enterprise#99152
**Issue** When creating a partial credit note (i.e., for a quantity less than originally invoiced) for a subscription invoice, the `qty_invoiced` on the corresponding subscription order line is incorrectly set to zero, instead of reflecting the remaining quantity. **Steps to Reproduce** 1. Create a subscription with a quantity of 50. 2. Confirm the subscription and generate an invoice. 3. Create a credit note (reversal) for the invoice. 4. Change the credited quantity to 30. 5. Post the
Original PR description
**Issue** When creating a partial credit note (i.e., for a quantity less than originally invoiced) for a subscription invoice, the `qty_invoiced` on the corresponding subscription order line is…
**Issue** When creating a partial credit note (i.e., for a quantity less than originally invoiced) for a subscription invoice, the `qty_invoiced` on the corresponding subscription order line is incorrectly set to zero, instead of reflecting the remaining quantity. **Steps to Reproduce** 1. Create a subscription with a quantity of 50. 2. Confirm the subscription and generate an invoice. 3. Create a credit note (reversal) for the invoice. 4. Change the credited quantity to 30. 5. Post the credit note. 6. The subscription order line shows qty_invoiced = 0 instead of the expected 20. **Root Cause** The method `_get_max_invoiced_date()` is used to determine the latest invoiced period for a subscription. In its original implementation, it removes refunded periods from the list of invoice dates regardless of whether the refund is partial or full. This causes the system to consider the period as not invoiced at all, which leads to incorrect recomputation of `qty_invoiced` **Fix** Adjust `_get_max_invoiced_date()` to track the net invoiced quantity per period. A period is only removed from the list of invoice dates if it has been fully refunded (i.e., net quantity is zero). This ensures that partially refunded periods are still considered invoiced, and the `qty_invoiced` is correctly updated to reflect the remaining quantity Opw-4908760 Forward-Port-Of: odoo/enterprise#98892 Forward-Port-Of: odoo/enterprise#91344
**Steps to reproduce:** 1. Install the *Fleet* and `accounting` modules. 2. Create a new purchase tax. 3. Configure the tax with a 50% repartition line for an `600000 expense` account and a 50% repartition line for a `101000 current asset` account for both income and refund. 4. Create a vendor bill with two product lines, each having a different vehicle assigned with the newly created tax in both lines. 5. Check the *Tax Report*(account>tax), including the date of this vendor bill. **Obs
Original PR description
**Steps to reproduce:** 1. Install the *Fleet* and `accounting` modules. 2. Create a new purchase tax. 3. Configure the tax with a 50% repartition line for an `600000 expense` account and a 50%…
**Steps to reproduce:** 1. Install the *Fleet* and `accounting` modules. 2. Create a new purchase tax. 3. Configure the tax with a 50% repartition line for an `600000 expense` account and a 50% repartition line for a `101000 current asset` account for both income and refund. 4. Create a vendor bill with two product lines, each having a different vehicle assigned with the newly created tax in both lines. 5. Check the *Tax Report*(account>tax), including the date of this vendor bill. **Observed behavior:** * Tax lines linked to the current asset account are merged. * Tax lines linked to the expense account remain separate (since `vehicle_id` is set on the `account.move.line`). * This mismatch triggers an error in the tax report. **Root cause:** The tax details query does not account for the `vehicle_id` field when matching tax lines with base lines. As a result, tax lines are incorrectly merged across different vehicles. **Solution:** Override `_get_extra_query_base_tax_line_mapping` to include the `vehicle_id` in the matching condition, ensuring tax lines are only paired with base lines having the same `vehicle_id`. This prevents incorrect merging and resolves the report error. opw-5013757 Forward-Port-Of: odoo/odoo#232001 Forward-Port-Of: odoo/odoo#228422
This change prevents the website editor from crashing when it encounters an empty row. It adds a safeguard so the editor skips checks that require columns when none are present, improving stability during page editing.
Original PR description
When a .row div was empty, the _areColsCustomized function was called with an empty HTMLCollection. This caused a traceback when the function tried to access columnEls[0]. This commit adds a safety check to _getNbColumns for avoiding extra calls to _areColsCustomized when columnEls is empty. And we also add a similar check to _areColsCustomized for safety, since it's also being called through the _computeWidgetVisibility. opw-5121738 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#235555
This update fixes the Italian e-invoicing setup so share capital is not forced for company types that do not need it. It helps businesses complete their company information more accurately and avoids unnecessary validation errors.
Original PR description
Share capital should not be mandatory for non limited liability company. [Ticket link](https://www.odoo.com/odoo/project.task/5131029) opw-5131029 Forward-Port-Of: odoo/odoo#235498
The hamburger-style website menu now inherits the font size set for the header, so submenu labels stay consistent after you change the navbar format. This fixes a display issue where submenu text could remain at the wrong size and not match the chosen header style.
Original PR description
Steps to reproduce: =================== - Create a menu and a submenu - Change the header template to the hamburger menu - Update the navbar format ->The format of the submenu's parent is not updated. Cause: ====== The menu in the hamburger layout uses the `.accordion-button` class, which applies a fixed base font size defined here: https://github.com/odoo/odoo/blob/ebb250d3b56970c09ffb5ebefef38f97c622c33d/addons/web/static/lib/bootstrap/scss/_accordion.scss#L37 This prevents the submenu text from inheriting the updated header font-size. Solution: ========= Allow the `.accordion-button` font size to inherit from its parent. This ensures that submenu text correctly follows the header's font-size setting. opw-5223664 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#234276
This update aligns an automated website performance test with differences between Community and Enterprise editions. It helps avoid false failures in development and continuous integration while still tracking the key performance measure the test was designed to monitor.
Original PR description
The test is primarily intended to determine the number of requests to ir.ui.view. The information on the website is supplementary but less important. It mainly serves to inform performance considerations during development. Issue on runbot for single app test https://runbot.odoo.com/odoo/runbot.build.error/231557 Forward-Port-Of: odoo/odoo#235358
This update makes the self-order IoT component compatible with newer image version formats. It prevents version checks from failing when image numbers use a longer date format, helping devices update reliably.
Original PR description
New image versions are formatted as YYYY.MM.DD instead of YY.MM. The previous can be casted to float, but not the new one. We then only take the year and month to before casting. Forward-Port-Of: odoo/enterprise#99416
This change corrects how payment configuration is read so the system can reliably access the needed settings. It helps prevent errors when users work with ISO 20022 bank transfer features.
Original PR description
Forward-Port-Of: odoo/enterprise#99359
List views that show sample data will now display it with the same subdued visual treatment even when no help text is available. This reduces the chance that users mistake sample entries for real records.
Original PR description
**Steps to reproduce:** * Create database without demo data. * Open any list view that displays sample data. Ensure the view contains no actual records. Refresh the page to trigger the sample data…
**Steps to reproduce:** * Create database without demo data. * Open any list view that displays sample data. Ensure the view contains no actual records. Refresh the page to trigger the sample data display. * For example: Open the journal items list view in the Accounting module. **Observed behavior:** When the view contains no actual records, the sample data is shown at full visibility, making it look like real data and causing confusion. **Cause:** When a list view displays sample data but has no help content defined, the sample data appears at full opacity, making it indistinguishable from real data and potentially confusing users. The blur effect (radial-gradient) is applied via the o_view_nocontent div, which is only rendered when help content exists. blur effect added in this commit: [https://github.com/odoo/odoo/commit/6ee090c29f1f4e1745c6cae2d50ea77d3324965b](https://github.com/odoo/odoo/commit/6ee090c29f1f4e1745c6cae2d50ea77d3324965b) **Fix:** Added `o_view_nocontent` `div` which, is also rendered when sample data is active, even without help content, so the blur effect is consistently applied. before: <img width="1918" height="657" alt="image" src="https://github.com/user-attachments/assets/1955e459-3ef8-4874-96ee-91f5312f2e47" /> after: <img width="1923" height="682" alt="image" src="https://github.com/user-attachments/assets/7acf539c-27a7-4e19-851c-714cd5258c7d" /> opw-5239503
Employee public pages now display the job title in both the card and form views again. This restores an important piece of information that had disappeared after a recent internal change, helping users quickly identify roles.
Original PR description
Before this commit, the job title is no longer displayed in employee public views since the merge of contract and version. This commit adds the job title in the employee public kanban and form views. task-5264472
This update ensures the date picker closes properly when a user leaves a record or goes back to the previous page. It prevents the calendar popup from staying visible on screen after the page or task is no longer open, improving the user experience in the web interface.
Original PR description
Steps to reproduce ================== - Go to project - Open a project - Open a task - Click on the deadline field - Go to the previous page using the browser back button => The datepicker stays open Cause of the issue ================== `datetimePicker.create` was called using three parameters. But since bb1f912f04fbc4b1efe57847bceffce5895ced9b, it only accepts two. Solution ======== `createPopover` should be added to the `hookParams` This allows the popover to be closed when the owner component is destroyed. https://github.com/odoo/odoo/blob/bb1f912f04fbc4b1efe57847bceffce5895ced9b/addons/web/static/src/core/popover/popover_hook.js#L65 opw-4811594 Forward-Port-Of: odoo/odoo#213263 Forward-Port-Of: odoo/odoo#212580
This change adjusts how test time is allocated so each editor test gets its own share instead of all tests sharing one timer. It helps prevent flaky failures on slower test environments, improving the reliability of the development and release process.
Original PR description
Split the test timer between the four tests rather than applying
a single timer over all of them, for when the runbot is slower.
runbot-233975
Forward-Port-Of: odoo/odoo#235313This update corrects backward navigation in interactive tours when a warning step appears on the page. It prevents the tour from briefly landing on a step that should be skipped, making the experience smoother and more reliable for users.
Original PR description
Before this commit, the backward wasn't ignoring the warn steps. So, if the backward go to the previous step (warn's one) and the trigger is on the page, the tour interactive put the cursor there. But the step is then ignored and go back the step you came from. Now, the warn's steps are ignored. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#235511
This change fixes an unreliable automated test in the web interface by waiting until the error dialog is actually shown before checking it. It reduces intermittent test failures and makes the test suite more dependable.
Original PR description
Before this commit, the test sometimes failed because we didn't wait enough before checking the presence of the error dialog. The `unhandledrejection` event being thrown asynchronously, simply waiting for an animation frame isn't enough. We can only wait for the dialog to be displayed. runbot error~234017 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#235464
The expense list view no longer shows an extra link to the same attachments. This makes the screen cleaner and avoids confusion when reviewing expenses.
Original PR description
remove an unnecessary link to the attachments of expenses in the list view. task-4684825 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change brings back the faded visual style for sample data in the web interface. It fixes a display issue that could make sample content appear incorrectly when certain helper elements are not present.
Original PR description
The opacity effect was removed from Sample Data in #233205 and caused issue when sample data are present without an ActionHelper. This commit reverts these changes.
This change corrects the layout of the snippet visibility option in the mailing editor. When no domain rule is configured, the button now appears next to the Domain label instead of dropping below it, making the interface cleaner and easier to use.
Original PR description
This commit fixes a display issue with the snippet visibility option. When no domain was applied to a section the option would display the button below the Domain label. This is not great to see so it's now besides the domain label if it is actually empty. task-5261955 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The OCR process will no longer automatically change a customer invoice into a sales receipt unless the Sales Receipt setting is enabled. This prevents unexpected document type changes and keeps invoice handling aligned with the company’s configuration.
Original PR description
If the "Sale Receipt" setting isn't enabled, the OCR should never automatically switch a customer invoice to a sale receipt. task-[5265382](https://www.odoo.com/odoo/project.task/5265382)
This fix ensures user presence updates are handled correctly whether they arrive through the web interface or via the websocket connection. It helps keep online status tracking reliable and prevents missed presence updates.
Original PR description
update_presence can both be called in http and with websocket as explained here: https://github.com/odoo/odoo/commit/de6de48deb983be910876c6133c2869907c142f7 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Message attachments that are images now display in their full size instead of being cropped into a square preview. This makes it easier for users to understand shared images at a glance without opening them in a separate viewer.
Original PR description
Before this commit, images attached to a message had their preview cropped and forced people to view with file viewer. This square and cropped visual looks good in contexts other than message, e.g. chatter attachment list. In message, however, most of the time people want to share images and be able to see whole content just from preview. This commit fixes the issue by making image preview of message see whole content. Task-5259604 Before <img width="1360" height="788" alt="Screenshot 2025-11-13 at 17 49 30" src="https://github.com/user-attachments/assets/d84c245e-2501-4e5b-9e32-10f0ae882b7e" /> After <img width="1366" height="831" alt="Screenshot 2025-11-13 at 17 49 39" src="https://github.com/user-attachments/assets/ce27f9eb-1f9a-4802-9590-fa69e8c40140" />
The call settings dropdown in the Mail app has been adjusted so its options, icons, and toggles are clearly visible in light mode. This also removes an unwanted border on click and corrects spacing, making the call settings easier and more reliable to use.
Original PR description
**Current behavior before PR:** When opening the dropdown to select input/output devices during calls in light mode, the following issues were observed: - select options had white text on white…
**Current behavior before PR:** When opening the dropdown to select input/output devices during calls in light mode, the following issues were observed: - select options had white text on white background, making them unreadable. - The select's down arrow icon was invisible. - The toggle thumb was barely visible when unchecked. - A border appeared unnecessarily when the dropdown was clicked (in both light and dark mode). - The blur background toggle spacing was incorrect. **Desired behavior after PR is merged:** - select options now have a dark gray background ($gray-700), ensuring proper contrast and readability in light mode. - The select's down arrow icon and toggle elements have consistent visibility. - The extra border on dropdown click is removed. - The toggle spacing is visually corrected. task-5163527 > **Note:** Spotted in Chrome Browser **Before:** <img width="945" height="438" alt="image" src="https://github.com/user-attachments/assets/fdfa24a4-c089-428c-b20d-0cdd4a7fb945" /> <img width="189" height="40" alt="image" src="https://github.com/user-attachments/assets/88a3372e-7ee6-4be5-b224-51c1c998a5e0" /> **After:** <img width="743" height="319" alt="image" src="https://github.com/user-attachments/assets/a06eb60c-88e2-4c75-852b-6e04a06a6336" /> <img width="212" height="51" alt="image" src="https://github.com/user-attachments/assets/602ea08f-edaa-472f-884f-81c36afe1429" /> --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The point of sale receipt now displays the cashier or server name even when a preset like "Eat in" is used. This ensures customers always see who handled the order, improving clarity and accountability at checkout.
Original PR description
Currently cashier name is only shown if no preset is shown or if the present identification is set on name. Steps tot reproduce: -------------------- * Open restaurant * Make sure you use the Eat in preset * Place an order and pay it > Observation: On the receipt the "Served by:" indication is not shown. Why the fix: ------------ The cashier/server information should not depend on the preset used. opw-5154347 Forward-Port-Of: odoo/odoo#234767 Forward-Port-Of: odoo/odoo#231930
The website now only shows the language selector when there is actually more than one language available. This prevents an empty list item from appearing in the header, which could create an unnecessary border or blank space.
Original PR description
This PR calls the language selector placeholder only when multiple languages exist, avoiding an empty header list item that creates an unnecessary border or empty space. task-5150808 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#234345 Forward-Port-Of: odoo/odoo#231256
This change makes website image editing tests more reliable by ensuring image-related data and editor resources are loaded before the test continues. It removes timing-related failures, which helps the test suite run consistently and reduces false failures in development and CI.
Original PR description
The goal of this commit is to fix the indeterminate tests related to image editing in the website builder. Problem: ===== Some tests related to image editing on the website fail in an indeterminate…
The goal of this commit is to fix the indeterminate tests related to image editing in the website builder. Problem: ===== Some tests related to image editing on the website fail in an indeterminate manner. This test failure is related to the sidebar's async. When selecting an image, the Image options need to fetch certain data (the original image, etc.). The “html_editor.assets_image_cropper” bundle is also loaded. This loading time can exceed 200 ms, causing the test to fail unpredictably. Solution: ====== 1.Preload the “html_editor.assets_image_cropper” bundle and store it in the cache. 2. Use `waitSidebarUpdated` when selecting an image. `waitSidebarUpdated`` will wait until all the data is loaded and the sidebar is updated. This solution is not optimal, but it will make all the tests deterministic. The best solution: ========= We should mock or preload all the data needed for the tests. This change requires adapting the current production code to make it easily patchable to mock, for example, “.text()” on a response to an image fetch. Error: https://runbot.odoo.com/odoo/error/232956 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#234312
This change prevents the partner fiscal country list from showing the same country code twice in some cases. It avoids a form display issue and keeps the data cleaner without changing the intended business behavior.
Original PR description
Recently we started considering `country_code` as part of the `fiscal_country_codes` [1]. Because of this, the field can now contain duplicates. If your active company is a US one, and you set United States as the country on the partner you end up with `US,US`. It breaks some (admittedly fragile) invisible conditions on the `res.partner` form view [2]. Although we could fix those conditions, it would require everyone to update the module, and having duplicate country codes in `fiscal_country_codes` field doesn't serve any purpose anyway. [1] https://github.com/odoo/odoo/pull/229584 [2] https://github.com/odoo/enterprise/pull/62615 opw-5248844 opw-5241556 Forward-Port-Of: odoo/odoo#235652
When an attendee is created from a free or fully discounted ticket, the confirmation email will no longer display a misleading unit price. This makes the message clearer for customers and avoids confusion about whether payment is still due.
Original PR description
Steps to reproduce: 1. Create a new sale order with an event ticket line 2. Apply a 100% discount on the ticket line 3. Confirm the sale order 4. Check on the new attendee created, the mail sent to the attendee. Current behavior: The email shows the unit price without the discount applied which can be confusing for the customer as it might look like they need to pay that amount. After this commit: The email will just show the confirmation of the registration to the event withouth mentioning the price when the total price is 0. opw-5122776 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#235482
In order to put the localization translations on Weblate, we did some cleanup of the POT and PO files for them: - Re-exported all POT files - Removed POT files for countries that don't need other languages than English - Removed all `i18n_extra` folders and moved any existing translations over to the `i18n` folder - Updated PO file names by removing superfluous country codes, or simply correcting wrong ones - Removed PO files for irrelevant languages in a localization - Updated the PO file
Original PR description
In order to put the localization translations on Weblate, we did some cleanup of the POT and PO files for them: - Re-exported all POT files - Removed POT files for countries that don't need other languages than English - Removed all `i18n_extra` folders and moved any existing translations over to the `i18n` folder - Updated PO file names by removing superfluous country codes, or simply correcting wrong ones - Removed PO files for irrelevant languages in a localization - Updated the PO files according to the POT files using `msgmerge` - Added new PO files for missing languages We also updated the `.weblate.json` file to add all the localizations in a separate Weblate project, limited to the languages they support. task-5169642 Related: https://github.com/odoo/enterprise/pull/99506 saas-18.4: https://github.com/odoo/odoo/pull/235120