Thursday, March 28, 2024
40 changes
2 changes
Resolved issues and error corrections
The properties field type selector now displays correctly after recent dropdown changes. Popovers no longer appear hidden behind other elements, and icons/images keep the intended size, making property editing clearer for users.
Original PR description
In [1], dropdowns were updated and it impacted the properties field edition: - z-index of the popover opened for the dropdown of a property field type was lower than the element it was opened for, resulting in part of the popover being hidden. - img style (dimensions) was not applied as the dropdown list is now a popover (sibling instead of child), resulting in bigger images. This commit fixes the issue by adding a class on the field type selection popover. [1]: https://github.com/odoo/odoo/commit/7b7a2613901de20791d111a8efc8e98c226f39ad task-3834506
This update fixes documentation links across Odoo so they point to the correct saas-17.2 documentation. Users and administrators will be directed to guidance that matches their current version, reducing confusion from outdated or mismatched help pages.
Original PR description
See also: - https://github.com/odoo/enterprise/pull/59607
2 changes
Resolved issues and error corrections
The Gantt view test suite has been adjusted so desktop-only behavior is no longer checked in mobile mode. This reduces irrelevant test failures and helps keep quality checks focused on how the feature is actually intended to work.
Original PR description
This commit changes the scope of gantt non-mobile tests to desktop only because most are not supposed to work in mobile mode.
36 changes
Resolved issues and error corrections
This update improves the user experience when working with comments and annotations in knowledge documents. Two key improvements were made: clicking on comment anchors no longer automatically shifts focus away from the text being edited, making it easier to modify content, and overlapping comment highlights no longer stack colors on top of each other, making text more readable when multiple comments are present in the same area.
Original PR description
# [FIX] knowledge: remove the focus on click on anchors This commit fixes an issue where the focus of the user's mouse would be moved to the comment box when clicking on the corresponding anchor. This renders the edition inside of the anchors very hard to do. Now, we removed this behavior and you only trigger the focus when clicking on the comment box. Simplifying the edition of text inside of the anchors. # [FIX] knowledge: remove color superposition in anchors This commit fixes an issue where multiple anchors intertwined inside the body would stack their background colour, rendering the text harder to read. Now, we removed the background colour of the anchors that are inside another one. This way there's no more colour stacking. task-3790314
The Appointments resource booking schedule no longer crashes when opened. This restores access to the booking view so teams can manage appointment resources as expected.
Original PR description
Since https://github.com/odoo/enterprise/pull/57517, when we go to Appointments > Schedule > Ressource Booking, we get a traceback. Restore the previous behavior, use the new `_read_group_groupby` hook instead, and add a search method `_search_resource_ids` to be fully correct with the domain returned by web_read_group.
This fix resolves an issue where transaction details were being incorrectly formatted with HTML tags, preventing them from being properly processed during the bank reconciliation process. When users search for missing transactions, the system now correctly handles the transaction data without errors, improving the reliability of bank statement synchronization.
Original PR description
When using the 'Find missing transactions' from account_online_synchronization module, the `transaction_details` field gets encapsulated in `<p></p>` HTML tags This is caused by that field being declared as a HTML field in the transient model `account.bank.statement.line.transient`, but then as a JSON field in the `account.bank.statement.line` model. That encapsulation causes Python JSON decoder to fail to decode from `transaction_details` when called in `_format_transaction_details()` in the bank reconciliation widget, resulting in a traceback Removing the HTML tags after the call to `read()` in the transient model allows the field to be correctly decoded. opw-3783078 opw-3773454 opw-3772561 and more.
This update corrects how subscription discounts are calculated when adding new line items to sales orders. Previously, the system was using incorrect subscription information when computing pro-rated discounts. The fix ensures the correct subscription details are used, resulting in accurate discount amounts for customers.
Original PR description
In the form view, new line were linked to new_id which computed the subscription_state value to a wrong version. Forcing readonly=False ensure the value is fetched from the origin and thus correct when computing the discount. task-id: 3699064
This update removes unnecessary pricelist creation and modification from Field Service sales tests to comply with new system rules that prevent changing pricelists on confirmed sales orders. The tests continue to work correctly without these steps, ensuring compatibility with recent platform changes.
Original PR description
Changing the pricelist on a confirmed SO is now forbidden. It was done in a fsm test, but the test is working fine without the pricelist, so the pricelist creation and SO update has been removed. See also: https://github.com/odoo/odoo/pull/157742
This fix resolves a critical issue that prevented demo data from loading when using the sales planning features. The problem occurred due to a timing conflict in how certain calculations were being recomputed during module updates. By adjusting when these calculations are forced to recalculate, the system now loads demo data successfully without errors.
Original PR description
Steps to reproduce: ------------------- 1. create a new database with industry_fsm_sale_report, planning and no demo data; 2. enable debug mode; 3. go to settings; 4. load demo data. Issue: ------…
Steps to reproduce: ------------------- 1. create a new database with industry_fsm_sale_report, planning and no demo data; 2. enable debug mode; 3. go to settings; 4. load demo data. Issue: ------ Fails to load demo data due because of a `KeyError` on `planning.slot.allocated_hours`. Cause: ------ When we update the module and instantiate the field, we will call _recompute_all method but the method _compute_planning_hours_planned of sale.order.line does an `add_to_compute` of planning.slot() field allocated_hours. So after _recompute_all, there is still something to compute. Then we when we apply allocated_hours override (from sale_planning module) we change the field object: ```py from models.py Model._setup_base if len(fields_) == 1 and fields_[0]._direct and fields_[0].model_name == cls._name: cls._fields[name] = fields_[0] # we reuse the field else: Field = type(fields_[-1]) self._add_field(name, Field(_base_fields=fields_)) # new reference ``` and when we do the recompute, it is going to be done with the old field reference that is now no longer on the model. Solution: --------- The issue comes from using add_to_compute inside a compute, in this particular case (order of compute, field that is overriden, module update that modify records/recompute values, ...) it is causing an issue. So to avoid this issue, we force the recomputation directly after the add_to_compute. Note: ----- This is only happening in saas-16.4 and over because by chance, the _recompute_all in saas-16.3 and below recomputes sale.order.line.planning_hours_planned before planning.slot.allocated_hours. So by chance, when we add allocated_hours to be recomputed, it was already going to be done. In saas-16.4 planning.slot.allocated_hours is computed before planning_hours_planned and so the _recompute_all still has something to compute after _recompute_all. opw-3517083 opw-3691750 Closes odoo/odoo#139603 # note There was another PR previously about this issue (https://github.com/odoo/odoo/pull/139603) but this one should more sharply fix the origin of the issue. Forward-Port-Of: odoo/enterprise#57804
This update fixes a test issue in the Sales Subscription module by properly clearing temporary test records. The fix ensures tests run cleanly without leaving behind residual data that could interfere with other tests or cause unexpected behavior.
Original PR description
**Coverage for community fix** https://github.com/odoo/odoo/pull/157515 opw-3754297 Forward-Port-Of: odoo/enterprise#58264
Fixed a technical issue in the Belgian tax report where the export filter closing attribute was not being placed correctly. The fix ensures that the closing attribute is properly positioned at the end of the export filters section, improving the accuracy of the tax report generation for Belgian users.
Original PR description
During this commit: https://github.com/odoo/enterprise/pull/45792/commits/3a3d9c877f3e8bd2db9e66cd8120d889fd09f125 a xpath was refactored to add the closing attribute for the belgian tax report. Before this commit the xpath wasn't working but didn't cause a traceback. By adding the parenthesis, the last operator can get the last div of the pdf_export_filters template and put after it the different closing attribute. no task id
This fix resolves an issue where images inserted into spreadsheets would disappear when the original spreadsheet was deleted after duplication. The system now properly copies image attachments when duplicating spreadsheets, ensuring users don't lose their content. An upgrade script is included to repair existing affected spreadsheets.
Original PR description
Steps to reproduce: - create a new spreadsheet - insert an image - duplicate the spreadsheet - delete the original spreadsheet (deleted, not archived) => the image in the duplicated spreadsheet is gone. An upgrade script will fix the existing wrong attachment. A better version version of this fix will come in master. Task: 3775364 Forward-Port-Of: odoo/enterprise#58868 Forward-Port-Of: odoo/enterprise#58295
This fix ensures that when a restaurant or retail order is split, the preparation display correctly updates to remove the split order line. Previously, the display would not refresh properly after splitting an order, which could cause confusion for kitchen or preparation staff about which items still need to be prepared.
Original PR description
Previously, splitting an order did not cancel the split order line in the preparation display. This commit ensures that the preparation display is updated correctly when an order is split. opw-3809693
This update corrects critical issues in the Belgian Partner VAT listing report where data was being incorrectly calculated and grouped. The report was applying query limits incorrectly, causing the last column to show empty values, and VAT numbers were not being properly grouped together. These fixes ensure the report now displays accurate and properly organized data when generated or exported.
Original PR description
The aim of this commit is having a correct Partner VAT listing report. Before this fix, the report has a SQL query that uses the load_more_limit value as the limit. The issue was that we applied the limit on a set of 3 queries, as each of these query computes one column, the report gave us enough line but the last column was wrongly computed (as we exceed the limit after the second query). This means that we had an empty column. It was totally wrong. In the same time, other bugs were found. Report lines are by default ordered by using the res.partner order (based on the complete name), causing that when we generate the xml report, the groupby (from itertools) wrongly grouped lines as we don't sort these lines on the groupby key (vat number). To avoid this issue, we changed the groupby by using the one from odoo.tools. opw-3802689 opw-3766777 opw-3797584 opw-3791023 Forward-Port-Of: odoo/enterprise#59454
This fix corrects an issue where helpdesk teams were being redirected to the default website instead of their configured website. The solution ensures that when opening a website from the helpdesk module, the system now properly identifies and uses the correct website associated with each helpdesk team, improving navigation accuracy for support teams.
Original PR description
Steps to Reproduce: - Set up a website for the helpdesk team. - Navigate to the website. - Observe redirection issues. Issue: - The configured website for the helpdesk team is not redirecting appropriately, leading to navigation issues. Cause: - get_client_action function is not getting the website which is linked with the helpdesk team, that's why it redirects to the default website. Solution: - Override open_website_url in helpdesk_website module and assign correct website_id in website_id parameter of get_client_action. task-3607646 Forward-Port-Of: odoo/enterprise#52630
This update corrects a naming inconsistency in the Swiss payroll module where input types and salary attachment types didn't match their corresponding rule names. The fix ensures that payroll rules, input types, and salary attachments are properly aligned, which prevents potential processing errors and improves data consistency in Swiss HR payroll operations.
Original PR description
Input type and salary attachment type should match the rule name task-3835119
Fixed an issue where the timesheet timer display width would shift when users clicked the start button. The fix ensures the timer header maintains a consistent width before and after starting a timer, providing a more stable and professional user experience.
Original PR description
Steps: - install time sheet module - click on start button - before clicking on start button,width is different - after clicking on start button ,width is different Issue: - the width is unstable,seems different before and after clicking on start button Cause: - The problem occurs because of height issue solution: - if we give the height to that class the problem will be solved task-3645747 Forward-Port-Of: odoo/enterprise#50100
This update fixes the call settings sliders in Odoo's discussion feature to properly display their current values and respond accurately to user adjustments. The sliders now show text values alongside them, update in real-time as users drag them, and have been optimized to handle the increased responsiveness without performance issues.
Original PR description
* Adds text values for the call settings sliders. * Replaces `onChange` events with `onInput` events so that the values respect the position of the sliders. * Debounces some functions to handle the increased amount of calls due to the swap to the `onInput` listener. * Changes the default value of `voiceActiveDuration` from `0` to `200` to match the minimum value of the input.
This fix resolves an issue where customers who accidentally tried to apply an already-used coupon would see their discount disappear from their cart. Now, when a coupon is reapplied, the discount stays in place and the system properly notifies the user that the coupon has already been used, preventing confusion and ensuring a better shopping experience.
Original PR description
Addresses the issue where reapplying an already applied coupon in the website shop led to the disappearance of the discount. With this fix, the discount remains applied, and the system continues to inform the user that the coupon has already been used, preventing confusion and maintaining consistency in the discount application process. task-3621246
This fix prevents users from changing the price list on orders that have already been confirmed, which could cause serious issues especially when switching to a price list in a different currency. While this wasn't possible through the normal order form, some users found workarounds that could lead to problematic situations. This change closes that loophole to protect order integrity.
Original PR description
It cannot happen through the default SO form view, but some funny guys have found other ways to do it, even though it can be quite problematic, especially if the new pricelist is in another currency. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes two issues with date and time fields in website forms. First, it restores the ability to set conditional visibility rules based on date fields, which broke when the date picker was updated. Second, it prevents error messages from appearing when loading forms with empty date fields. These fixes ensure that website forms with date-dependent fields work correctly again.
Original PR description
**[FIX] website: fix conditional visibility depending on date field** Since commit [1], the "tempusdominus" date(time) picker has been replaced by the OWL date(time) picker. This change resulted in a…
**[FIX] website: fix conditional visibility depending on date field** Since commit [1], the "tempusdominus" date(time) picker has been replaced by the OWL date(time) picker. This change resulted in a modification of the HTML structure for date(time) input fields. Consequently, a bug emerged in the visibility options for fields reliant on a date(time) field. Specifically, the time condition selector failed to display the time conditions because they are rendered based on the HTML structure of the fields. Since the code was not adjusted to fit the new structure, this functionality stopped functioning. [1]: https://github.com/odoo/odoo/commit/910897fc97d87b08f01627094ec8c159f5267628 task-3790809 ---------------------------------------------- **[FIX] website: fix traceback with website form date(time) fields** Since commit [1], the "tempusdominus" date(time) picker has been replaced by the OWL date(time) picker. A traceback appears when loading a website form containing a field dependent on a date(time) field. This traceback occurs because when checking the value of an empty date(time) field (which happens when the user hasn't yet filled out the form), we parse the field value into a Date(Time). Before the changes in commit [1], we parsed this differently, which didn't crash but returned "NaN" with an empty date(time) field. In this commit, we now check whether a date(time) is valid and if not, we now assign it "NaN" to maintain exactly the same behaviour as before the commit [1]. Any value other than "NaN" would not work with the date comparison system and would break certain conditions. This commit also adds steps to the "website_form_editor" test tour so that it fails without this commit. [1]: https://github.com/odoo/odoo/commit/910897fc97d87b08f01627094ec8c159f5267628 task-3790809
This update converts inline templates in the Stock module to standard templates, enabling text strings to be properly translated into different languages. Previously, text within inline templates could not be translated, limiting the software's usability for non-English users. This change ensures all user-facing text in the Stock module can now be localized.
Original PR description
*: stock Strings within inline templates are not translatable, so we convert these templates into standard templates so that they can be. Task-3761551
This fix corrects how custom attribute names are displayed when items with custom attributes are added to a point of sale order. Previously, these attribute names were not showing correctly, which could cause confusion for staff processing orders. This update ensures customers and staff see accurate product information at checkout.
Original PR description
Before this commit, the custom attribute names were not correctly displayed when added to an order. opw-3795843 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Fixed an issue where job applicants on one website were incorrectly blocked from applying to jobs on a different website due to a duplicate application check that didn't account for website separation. Now the system properly recognizes that applications on different websites are independent, allowing users to apply to jobs across multiple company websites without interference.
Original PR description
Steps to reproduce: ------------------- - create 2 websites (for one or two companies); - create 2 jobs; - publish job A in website 1; - publish job B in website 2; - as a public user go to website 1 and apply for job A; - go to website 2 and try to apply for job B; Issue: ------ When we encode the email address, we receive the message: ``` You already applied to another position recently. You can continue if it's not a mistake. ``` Cause: ------ We don't take into account the website linked to the job we are applying for. Solution: --------- Incorporate the website into the domain for application search. opw-3798670
This fix resolves an issue where animations added to course content blocks were not displaying in fullscreen mode. The problem occurred because animations were being triggered before the slide content finished loading, causing the animated content to remain invisible. The solution ensures animations are properly initialized after the slide has fully loaded, improving the user experience when viewing courses in fullscreen.
Original PR description
Issue: When using the Fullscreen mode of slides for articles we do run first the website animations before loading the slide, which will make the content to stay invisible since we will never actually perform the animation. Steps to reproduce: 1. Create a new course with an article content. 2. Add any block (text, image). 3. Add an animation to this piece of block. 4. Go to Fullscreen mode. Solution: We could manually instantiate and attach the WebsiteAnimate widget to the #wrapwrap element to ensure animations are properly initialized and applied after the slide has loaded. opw-3757919 Forward-Port-Of: odoo/odoo#159032 Forward-Port-Of: odoo/odoo#155780
This update fixes three styling bugs in the web editor that were causing incorrect behavior when applying rounded corners and editing multi-value fields like borders. Users will now see their styling choices applied correctly without unexpected transformations when setting rounded corner values or using arrow keys to adjust border widths.
Original PR description
Since [1] when `extraClass` was introduced, styles are wrongly applied if an `extraClass` is defined on a `selectStyle` option, but both the class and the option modify the same CSS property.…
Since [1] when `extraClass` was introduced, styles are wrongly applied if an `extraClass` is defined on a `selectStyle` option, but both the class and the option modify the same CSS property. Typically, the "Round Corners" option sets the `border-radius` property and uses the `rounded` extra class. But that extra class specifies values for the `border-radius` properties. Without the class, `applyCSS` determines that the style of some corners is already `0px` and does therefore not need to be added to the inline style. But once the class is added, this is not true anymore - and the `0px` should have been specified. This commit avoids this issue by applying the CSS again once the `extraClass` is added. Steps to reproduce: - Drop a "Text - Image" snippet. - Select the image. - Set the "Round Corners" to "50 0 0 0". - Press tab to leave the field. => The entered field values was transformed. [1]: https://github.com/odoo/odoo/commit/bf5b4b69330747af7b09d48e59218b78a29a4b14 task-3800288 Forward-Port-Of: odoo/odoo#157434
This update fixes inconsistent test failures in the website shop module that were occurring during automated builds. The changes improve how product variants are created and tested to ensure more reliable and predictable test results. This helps maintain the stability of the e-commerce platform's automated quality checks.
Original PR description
Wild try to avoid failures on runbot builds (not reproducible locally). * simplify and split tour steps * correctly specify check steps as isCheck: true * make sure python setup is deterministic * batch template creation to avoid creation of dummy archived variant * target values for the variant to archive instead of its number in the list of variants runbot build error 25046 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#159270
Fixed an issue where old IoT drivers weren't being removed before new ones were downloaded, causing conflicts when IoT Boxes reconnect after database upgrades. The system now properly cleans up outdated driver files before installing new versions, ensuring smooth transitions when driver names or configurations change.
Original PR description
When some clients are upgrading their databates and reconnect their IoT Boxes to the new version of the database, we currently can have an issue where the old iot handlers are not being overwritten, but the new ones are being deleted. This happens in situations like where we add a new driver distinction in Windows, so its name "SomeDriver.py" becomes "SomeDriver_W.py". Since we dont delete SomeDriver.py the IoT can have both drivers in such situations, causing conflicts and unwanted behaviors. The goal here is to delete all the old drivers and interfaces before downloading the new ones to make sure we don't have this issus task-3729890 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#158412
This fix corrects how supply routes are displayed for components within subcontracted products. Previously, components were showing incorrect supply routes because the system wasn't properly tracking which warehouse or location should be used for restocking. The update ensures that when a route is selected for subcontracting, it only displays if it actually provides a way to resupply inventory through purchasing or manufacturing.
Original PR description
1. Fixes an issue where the parent product wasn't correctly set when computing the routes of a component, leading on components from subcontracted products displaying the wrong route (as it was…
1. Fixes an issue where the parent product wasn't correctly set when computing the routes of a component, leading on components from subcontracted products displaying the wrong route (as it was trying to resupply the selected warehouse instead of the subcontracted location). Note: This part of the fix is only necessary up to version `saas-16.4`, as it was fixed from `17.0` onwards through f9c58a61ee21f1ad955ee2a5a0e868de30ae083f. 2. If a route is found when searching for subcontracting routes but doesn't lead to a way to resupply the stock (either buy buying or manufacturing something), then ignore the found rules and revert to the default of trying to resupply the stock location. This avoids issue when using reordering rules to resupply the subcontracted location instead, where the 'Buy' route would be hidden even if it was selected. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#159383 Forward-Port-Of: odoo/odoo#158785
Users encountered an error when trying to view embedded slides in the eLearning module. The issue was caused by the system incorrectly trying to access a field from the wrong data object. This fix corrects the reference so that embedded slide views work properly again.
Original PR description
Currently, an exception is generated when the user tries to access embed view of slides by following the steps: - Install "eLearning" with a demo data - Open external embed view of slide 1 by…
Currently, an exception is generated when the user tries to access embed view of slides by following the steps: - Install "eLearning" with a demo data - Open external embed view of slide 1 by "/slides/embed_external/1" in url Stack Trace: ``` AttributeError: 'slide.channel' object has no attribute 'website_share_url' File "<1405>", line 313, in template_1405 File "<1405>", line 151, in template_1405_content File "<1405>", line 18, in template_1405_t_call_0 QWebException: Error while render the template AttributeError: 'slide.channel' object has no attribute 'website_share_url' Template: ir.ui.view(1405,) Path: /t/html/body/div/div[2]/t[1]/t/t[4] Node: <t t-set="include_embed" t-value="True"/> ``` This error is because commit [1] added code that tries to access the 'website_share_url' field in the 'slide.channel' model in template 'embed_slide' , but it actually belongs to 'slide.slide'. This commit resolved the above issue by accessing "website_share_url" with "slide" instead of "slide.channel". [1] - https://github.com/odoo/odoo/commit/db63c03af9932ae4d9b786620e88e62ce938589a sentry-5095823727 Forward-Port-Of: odoo/odoo#159446 Forward-Port-Of: odoo/odoo#159238
This update fixes how Brazilian phone numbers are processed in Odoo to comply with Brazil's 2016 phone numbering changes, which added a digit to mobile phone numbers. The system now correctly formats and validates Brazilian mobile numbers according to current standards.
Original PR description
Current behavior: --- Brazilian phone numbers are not managed correctly following the 2016 changes in Brazil. (Adding a 9 to mobile phone numbers) Fix: --- Patched the phonenumbers library, adding a 9 at the right place for mobile phone numbers. opw-3694150 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#153282
This update fixes a technical error that occurred when Mercado Pago payment status returned a 404 response. A missing comma in the code caused the system to crash with a type error. The fix ensures payments are processed smoothly without unexpected failures.
Original PR description
This traceback arises when the payment status is 404. A comma at the end is forgotten while creating a tuple with a single record, which leads to a type error traceback. Error:- "TypeError: 'in <string>' requires string as left operand, not int" https://github.com/odoo/odoo/blob/7e3267fc69324a3c98d36983705a50420b5143f9/addons/payment_mercado_pago/const.py#L35-L39 https://github.com/odoo/odoo/blob/7e3267fc69324a3c98d36983705a50420b5143f9/addons/payment_mercado_pago/models/payment_transaction.py#L165-L170 sentry-5103720097 Forward-Port-Of: odoo/odoo#159526 Forward-Port-Of: odoo/odoo#159433
This fix improves how payment method images are displayed in the payment form by allowing more image formats to be used. Previously, only image formats compatible with the PIL library could be used. Now the system can handle both PIL-compatible formats and other formats through URL rendering, making the payment system more flexible and reliable.
Original PR description
Description of the issue/feature this PR addresses: Replace the use of 't-out' with 't-field' for the payment method image in the 'Form Logo' template. The latter, for an image field, provides two options for rendering the payment method image: use the PIL library to obtain the image when given the option 'qweb_img_raw_data', or use a URL. The former only considers the first option, allowing only image formats compatible with the PIL library. Current behavior before PR: Only image formats compatible with the PIL library can be used for the payment method image. Desired behavior after PR is merged: Other formats including the ones compatible with the PIL library can be used for the payment method image. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: https://github.com/odoo/odoo/pull/159522 Forward-Port-Of: https://github.com/odoo/odoo/pull/158728
This update fixes the product comparison feature on the website to include attributes marked as "no_variant" in addition to the previously supported attribute types. This allows customers to compare a broader range of product attributes when shopping, providing more complete product information for better purchasing decisions.
Original PR description
**Description of the issue/feature this PR addresses:** Change the way odoo compares product's attributes on website. **Current behavior before PR:** By default Odoo does only compare attributes of type "create_variant" = "dynamic" or "always" but unfortunately it does not allow to compare attributes with "create_variant" = "no_variant". **Desired behavior after PR is merged:** Odoo allows to compare attributes with "no_variant" See also: - https://github.com/odoo/odoo/pull/148326 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#159552
This fix resolves an issue where view code was being displayed twice (once as plain text and once formatted) when users without edit permissions tried to view a form. Now, restricted users will only see the formatted view code without the ability to edit it or its translations, improving the user experience and maintaining proper access control.
Original PR description
Steps to reproduce: - Remove all permissions to write/create/delete a view for the user "demo" - Open a view form with "demo" user Actual result: - View code is displayed in plain text and with formatting  Expected result: - View code is displayed with formatting only - You can't edit the view or the translations opw-3776073 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#159523 Forward-Port-Of: odoo/odoo#159216
This fix corrects the currency displayed for employee hourly costs in project mappings. Previously, the system was showing the sales order currency instead of the employee's currency. The issue was caused by passing the wrong currency identifier to the display widget, which has now been corrected to show accurate financial information.
Original PR description
This commit's purpose is to display the correct currency for the hourly cost of employee in the project sol mapping. Currently, the currency displayed is the one of the sol instead of the currency of the employee. This is due to this commit:https://github.com/odoo/odoo/commit/83760b9f10b4bfe6a83671e4426bc5596e8d5f5c We added a monetary widget, but we are feeding it the wrong id. After this commit, the correct currency is displayed task - 3749225 Forward-Port-Of: odoo/odoo#154240
This fix resolves an issue where payment icons could only use image formats compatible with the PIL library. The update now allows merchants to use a wider variety of image formats for their payment method icons, including formats that weren't previously supported. This improves flexibility when customizing payment icon displays.
Original PR description
Description of the issue/feature this PR addresses: Replace the use of 't-esc' with 't-field' for the payment icon image in the icons list template. The latter, for an image field, provides two options for rendering the payment icon image: use the PIL library to obtain the image when given the option 'qweb_img_raw_data', or use a URL. The former only considers the first option, allowing only image formats compatible with the PIL library. Current behavior before PR: Only image formats compatible with the PIL library can be used for the payment icons. Desired behavior after PR is merged: Other formats including the ones compatible with the PIL library can be used for the payment icons. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#159522 Forward-Port-Of: odoo/odoo#158728
This update fixes an issue where the loyalty rewards system would fail when a sales order had multiple delivery lines. The system now correctly handles multiple deliveries by focusing on the first delivery line, ensuring customers can properly receive free shipping rewards regardless of how many delivery options are present in their order.
Original PR description
The method `_get_reward_values_free_shipping` assumes there is only one delivery line per sale order. But it is not always the case. This commit therefore makes sure the method does not raise an error in case of multiple lines by taking into account only the first delivery line. Fixes #136395
This fix corrects an issue where analytic distributions were not being properly reversed when using the 'Move account' action on invoice lines. When users moved an account line that had analytic distribution data, the distribution information was not being reversed as expected, which could lead to incorrect financial tracking. This fix ensures analytic distributions are now correctly reversed during account moves.
Original PR description
Description of the issue/feature this PR addresses: Create an invoice with analytic_distribution. Go to account.move.line, select the line with analytic_distribution, click on action 'Move account' validate --> Issue the analytic_distribution is not reversed @oco-odoo @qdp-odoo --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
A test that verifies company deletion now works with onboarding records has been temporarily disabled. The test was causing issues in real-world scenarios where other modules create related records that prevent company deletion. The team will implement a more robust solution that works across all module configurations.
Original PR description
In https://github.com/odoo/odoo/commit/8e3283aabfd93a78eb4d72c4fd97f6a20ad08ef4 we solved the issue of onboarding progress records preventing the deletion of a company. We also added a test for this solution. In practice, it will not always make sense nor will it be allowed to delete a company and in some cases, the first thing that would fail is a foreign key from another model where it wouldn't make sense to cascade as we do for onboarding progress. Some modules create related records when a company is created such that it would be cumbersome to bypass that. Therefore, we disable this test until a clean flow robust to all sorts of installed modules configuration is implemented. See runbot 60475 Task-3829936 Forward-Port-Of: odoo/odoo#159337