Tuesday, May 23, 2023
60 changes · master
New functionality added to Odoo
Point of Sale now supports online payment flows, allowing customers to pay through a payment portal linked to POS orders. This helps businesses offer more flexible checkout options and better track related payments and transactions from POS configuration and order screens.
Original PR description
Temporary pull request
Users can now double-click images in editable web content to view them in a full-screen preview instead of opening the replacement flow. A new toolbar icon also gives users a clear way to preview images, while the replacement option remains available separately.
Original PR description
Enterprise PR: https://github.com/odoo/enterprise/pull/40450 When double-clicking on an image, display it "full screen" (similar to clicking on an image in the attachments list). This replaces the current behavior (which is to open the media selector to replace the current image - the Replace action remains available in the toolbar). In the toolbar for images, display an icon that users can click on to open the full screen preview as well. task-3109331 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
A new debug menu option lets users inspect which asset bundles are loaded and how large they are. This helps teams diagnose page performance issues more easily by identifying heavy resources during troubleshooting.
Original PR description
Description of the issue/feature this PR addresses: Added an option in the debug menu to show the different bundles/assets loaded and their size --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Enhancements to existing features
Sales order and quotation lists are simplified by removing noisy row coloring for sent quotations, since the status badge already communicates that information. Amounts due for invoicing are now highlighted instead, helping users focus on orders that need billing action.
Original PR description
the color of the lines for quotation(sent) is too noisy and not informative as there is a colored status badge. Remove the decoration to clear the view and decorate total amount where invoice_status = 'to invoice'. task-3290317
Resolved issues and error corrections
A broken cleanup call was removed from a web test after the browser testing tools changed. This keeps automated checks running reliably without affecting everyday users.
Original PR description
As the ChromeBrowser API was simplified in 2b0d9fa6a9, the terminate_browser method was removed but the shiny author forgot to remove the call in the click_everywhere test.
Code cleanup and technical improvements
Message pinning has been reorganized so it belongs more clearly within the Discuss area of Odoo. This internal cleanup should make the messaging experience easier to maintain while also reducing unnecessary screen refreshes that could affect responsiveness.
Original PR description
Part of task-3265211
Miscellaneous changes
Initialize a DB. Install website when it is initialized. Launch tests of the class TestBaseDocumentLayout Before this commit, there was a crash because those tests render the report_layout and its assets. The full explanation is that, the module website adds an ir.asset `website.s_badge_000_variables_scss` that the report wants to fetch. But, the class of tests is executed at_install. Given the topological order and the order of the modules installation, website is not in the registry at t
Original PR description
Initialize a DB. Install website when it is initialized. Launch tests of the class TestBaseDocumentLayout Before this commit, there was a crash because those tests render the report_layout and its…
Initialize a DB. Install website when it is initialized. Launch tests of the class TestBaseDocumentLayout Before this commit, there was a crash because those tests render the report_layout and its assets. The full explanation is that, the module website adds an ir.asset `website.s_badge_000_variables_scss` that the report wants to fetch. But, the class of tests is executed at_install. Given the topological order and the order of the modules installation, website is not in the registry at that point, but the ir.asset is retrieved from the database. The ir.asset algorithm determines at that point that `/website/` is not an admissible path and raise an exception. This commit solves the problem by tagging this class of test "post_install" and not "at_install". runbot-error-21203 runbot-error-21204 runbot-error-21205 runbot-error-21206 runbot-error-21207 runbot-error-21208 runbot-error-21352 runbot-error-21353 runbot-error-21354 runbot-error-21355 runbot-error-21356 runbot-error-21357 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#121918
Gamification goal updates now better detect which users have recently interacted with the system, instead of relying only on login timing. This reduces unnecessary background processing while keeping user goals up to date more accurately.
Original PR description
In the cron updating challenges, we were historically filtering out records of users that didn't log in since the last update. This doesn't work because sessions can last a long time. We temporarily…
In the cron updating challenges, we were historically filtering out records of users that didn't log in since the last update. This doesn't work because sessions can last a long time. We temporarily fixed this by updating all goals for internal users, but this can lead to unnecessary computations too. We here introduce a `last_interacted_date` field on res.users.log. In order to limit the performance impact for supporting our needs, we * store a timestamp in the session (because the env user is lazy loaded as many request do not need the user's data) * throttle writes to the database Storing the timestamp in the session is chosen over a form of cache because it is not linked to a process/worker. The login tests used (available with gamification alone but modified by other modules on runbot) likely covers the worst case scenario as we change sessions. Other existing performance tests are generally done with authenticated users such that the cache is filled and no extra query is performed during all the subsequent operations of the tests. Task-3148858
This update improves the Point of Sale experience with easier mobile searching, faster popup confirmation using Enter, and clearer split-bill payment flow. It also keeps debug tools out of the way by default and makes optional product information available without interrupting sales.
Original PR description
This PR contains UX improvements. - Modification of the search button on mobile to keep a fixed position. - Modification of the splitbill system, after the validation of a part of the order, a continue button is displayed in order to finish the payment of the rest of it. - The INPUT popup can now be validated by pressing the "enter" key. - Debug widget is now hidden by default. And a button is added in the burger menu to toggle its visibility. - When adding a product with optional products the info popup is no longer opened automatically but if the orderline is selected in the order the info button will be highlighted.
The UAE localization app now points users directly to the UAE-specific documentation instead of a general fiscal localization page. This makes it easier for users to find relevant setup and compliance guidance when they click the website or learn more link.
Original PR description
before this commit, the website link given to l10_ae module was generic link of fiscal localization. after this commit, on clicking website/learn more user will be redirected to documentation of uae localization. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Point of Sale now shows a single, clearer alert when it goes offline instead of repeatedly interrupting users with error popups. This helps cashiers continue working in offline mode with less disruption, and removes the unnecessary warning sound.
Original PR description
Before when the point_of_sale was offline, popups were opened at each RPC error. This was inconvenient for the user as the pos must be usable offline. Now, the error popup has been replaced by an alert popup explaining that the point of sale works in limited version as long as it is offline. The warning noise has also been removed. https://github.com/odoo/enterprise/pull/41323
When a point of sale order is cancelled or deleted, the change is now sent to preparation tools such as kitchen or order preparation screens. This keeps staff-facing preparation queues accurate and helps avoid preparing orders that customers no longer need.
Original PR description
Before when you deleted a order in PoS with the preparation tools enabled. The order was not cancelled on them. Now, when cancelling/deleting an order in PoS the information is sent to the preparation tools. taskId: 3278081 Linked PR: https://github.com/odoo/enterprise/pull/40673
The sales order form layout has been adjusted so field labels appear with consistent sizing. This makes the form easier to read and gives users a cleaner, more polished experience when working with sales orders.
Original PR description
Having 2 groups one after the other like this caused the labels to have different sizes.
Italian e-invoicing now handles customer and supplier identity details from the partner record instead of invoice export logic. This makes the process easier to maintain and improves test coverage for contact details such as phone and email.
Original PR description
Moved some logics belonging to the partner from the account_edi_format model to the res.partner model instead.
Functions:
_l10n_it_edi_get_values (normalized vat, country code, is_company, in_eu...)
_l10n_it_edi_normalized_codice_fiscale
Added `phone` and `email` fields to the EDI export tests.
Added a message on the export tests asserts to know what's the test file that generated an error.
Task link: https://www.odoo.com/web#id=3175408&model=project.task
Task-3175408Administrators can now select and upgrade multiple installed apps at once from the apps management area. This reduces repetitive work and makes maintenance faster when several business apps need updates together.
When a point-of-sale order is cancelled or deleted, preparation displays are now notified so kitchen or service teams no longer see it as active. This keeps preparation tools aligned with the PoS and helps avoid wasted work or confusion.
Original PR description
*: pos_preparation_display,pos_preparation_display_restaurant Before when you deleted a order in PoS with the preparation tools enabled. The order was not cancelled on them. Now, when cancelling/deleting an order in PoS the information is sent to the preparation tools. taskId: 3278081 Linked PR: https://github.com/odoo/enterprise/pull/40673
When the point of sale loses connection, users now see a single informative alert instead of repeated error popups for each failed request. This makes offline operation less disruptive and removes the warning sound while the system runs in a limited offline mode.
Original PR description
Before when the point_of_sale was offline, popups were opened at each RPC error. This was inconvenient for the user as the pos must be usable offline. Now, the error popup has been replaced by an alert popup explaining that the point of sale works in limited version as long as it is offline. The warning noise has also been removed. https://github.com/odoo/odoo/pull/120826
Quotation list views are simplified by removing noisy full-row coloring for sent quotations. The view still highlights important billing action by decorating the total amount when an order is ready to invoice, making the screen easier to scan.
Original PR description
the color of the lines for quotation(sent) is too noisy and not informative as there is a colored status badge. Remove the decoration to clear the view and decorate total amount where invoice_status = 'to invoice'. task-3290317
This update adds a shared way for Odoo tests to create realistic server errors. It helps prevent misleading test results where an error dialog appeared for the wrong reason, improving confidence in future quality checks without changing customer-facing behavior.
Original PR description
In this commit we add the makeServerError utility which allows you to easily create a valid RPCError in the tests. We have added this utility to prevent the use of invalid or incomplete errors. We will give default values for all the parameters needed for a valid RPCError. 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
Reports no longer show unwanted blank space below embedded content. This removes an unnecessary vertical scrollbar, making report viewing cleaner and less distracting for users.
Original PR description
This commit removes whitespace below iframes in reports, which also caused an unnecessary vertical scrollbar to appear. task-3334745 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 an issue where automated website tours could attach to the wrong Chrome page and get stuck. The test runner now identifies the correct blank page more carefully and avoids first-run browser popups, making test execution more dependable.
Original PR description
It's not clear when and how this happened but apparently "headful" chrome has a built-in background_page for hangouts which appears before the `about:blank` page in the list of targets, and possibly…
It's not clear when and how this happened but apparently "headful" chrome has a built-in background_page for hangouts which appears before the `about:blank` page in the list of targets, and possibly appears before the `about:blank` page has opened at all.
odoo/odoo#111422 was tested with chromium which apparently doesn't have this feature either (or does it?), which probably contributes to having no idea when it appears.
This feature also doesn't respond to `--disable-extensions`, despite its url marking it as one:
chrome-extension://nkeimhogjdpnpccoofpliimaahmaaome/background.html
The result was that the tour runner would hook onto the hangouts target and try to load pages, which it would reject with `net::ERR_ABORTED`, hence the tours just getting stuck.
Fix by improving the heuristic to find a content page: look for a target of type `page`, and with the url `about:blank`, rather than just take whichever tab target is listed first. Requires modifying `stop` as it can now be called after we've started the browser, but before we've created the websocket connection.
Also move `--no-first-run` from the headless to the default switches to avoid Chrome's migration & default browser popup, apparently it doesn't cause Chromium grief anymore (???). If this turns out to be a concern, add a condition on the `executable` or something.This update cleans up and reorganizes mass mailing code and tests while fixing how subscription-related fields are calculated. It helps ensure mailing list subscription and unsubscription information stays accurate, with no major visible change expected for users.
Images attached to expenses now display centered in the attachment area instead of appearing misplaced. This improves the visual consistency of expense records and makes attached receipts easier to review.
Original PR description
Before this pr, when attaching an image to an expense, the image was misplaced. By adding a display flex and justify the content in the center, the image is now vertically align in the center. task-id: 3329707 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Web Studio XML editor sidebar can no longer be resized beyond the visible screen width. This prevents layout issues and reduces unexpected behavior while users resize the panel.
Original PR description
Before this commit: When resizing the XmlEditor the user could resize the panel beyond the screen width. After this commit: - The maximum width of the panel is now 100% of the screen width. - The resize event now also stops propagation and prevents default which prevent some unexpected behaviours when the mouse hovers other elements while resizing. **Retargeted to saas-16.3 https://github.com/odoo/enterprise/pull/41359**
The Knowledge sidebar close button works again after its page structure changed. This restores a small but visible interaction so users can hide the sidebar as expected while working with articles.
Original PR description
Currently, the button allowing the user to close the sidebar when the sidebar is revealed no longer work. The id "knowledge_search_bar" has been moved in the dom hierarchy. As a result, the css selector `#knowledge_search_bar > a` used to select the button and add the click listener to close the sidebar does not match with an element. Therefore, the button doesn't do anything. This commit will fix the issue by updating that css selector. Related: https://github.com/odoo/enterprise/commit/ccdcc00da36c03754f37198c31ce272214148c09 task-3326414
The file preview tool has been moved out of the messaging area so it can be reused by other parts of Odoo, such as website editing and document management. This makes the preview experience more consistent across apps without changing the core business workflow.
Original PR description
Community PR: https://github.com/odoo/odoo/pull/119625 The `mail` module's `attachment_viewer` is useful for more than `mail` alone. In order to be able to use it in the `web_editor` module (which doesn't depend on `mail`), we move it to the `web` module. task-3109331
Have a record with a field displayed with the aceField. That field should have a value of false (ie: unset). Display that record on a form view. With the pager, go on to the next record. Before this commit, a write was triggered because the aceField considered itself as changed even though we did not do anything. This was because the value of false was compared to the ace value (empty string) when leaving the record. Being different, this triggered the current record to be updated and sav
Original PR description
Have a record with a field displayed with the aceField. That field should have a value of false (ie: unset). Display that record on a form view. With the pager, go on to the next record. Before this commit, a write was triggered because the aceField considered itself as changed even though we did not do anything. This was because the value of false was compared to the ace value (empty string) when leaving the record. Being different, this triggered the current record to be updated and saved. After this commit, a false value is locally transformed to the empty string when checking if the field has some changes. Hence, there is no write triggered. opw-3326914 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#121913 Forward-Port-Of: odoo/odoo#121634
Prior to this commit, the color of the tooltip arrow didn't match the popover background when it was a tooltip (white arrow and black popover content). However, the css adaptation was already present in `tooltip.scss` using the css variable `--popover-arrow-color`, but the selector wasn't correct since the arrow was always BEFORE the content. This commit fixes the issue by placing the arrow after the popover content. task-3329927 Part of task-3326263 --- I confirm I have signed
Original PR description
Prior to this commit, the color of the tooltip arrow didn't match the popover background when it was a tooltip (white arrow and black popover content). However, the css adaptation was already present in `tooltip.scss` using the css variable `--popover-arrow-color`, but the selector wasn't correct since the arrow was always BEFORE the content. This commit fixes the issue by placing the arrow after the popover content. task-3329927 Part of task-3326263 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#121618
This issue only occurs on Firefox because ´has´ is not supported and the following rule is not applied: https://github.com/odoo/odoo/commit/2cd0106e63785dd34553c2b4747d72b93b9a7afd Anyway, there is an existing css rule that is applied if the field class is correclty added. Steps to reproduce: - Open Sale - Add some content in the sale order line opw-3201461 opw-3285854 opw-3266130 opw-3244581 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/subm
Original PR description
This issue only occurs on Firefox because ´has´ is not supported and the following rule is not applied: https://github.com/odoo/odoo/commit/2cd0106e63785dd34553c2b4747d72b93b9a7afd Anyway, there is an existing css rule that is applied if the field class is correclty added. Steps to reproduce: - Open Sale - Add some content in the sale order line opw-3201461 opw-3285854 opw-3266130 opw-3244581 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#121468 Forward-Port-Of: odoo/odoo#121182
== ISSUE == With the new design introduced within Milk, most of the buttons received a visual upgrade (eg. removing borders) This change applied on most of the buttons since the same code, but some buttons were using a `.border` class on top of that and so they did not loose this border. **Expected styling :**  **Styling issues affected by this PR**  This change applied on most of the buttons since the same code, but some…
== ISSUE == With the new design introduced within Milk, most of the buttons received a visual upgrade (eg. removing borders) This change applied on most of the buttons since the same code, but some buttons were using a `.border` class on top of that and so they did not loose this border. **Expected styling :**  **Styling issues affected by this PR**  == After this commit == We clean up these buttons that were keeping a border, in order to make our secondary buttons more consistent. Please note that this change does not apply on all secondary buttons since some of them are customized for a specific module and so remain unmodified. - Requires : https://github.com/odoo/enterprise/pull/41112 task-3326313 part of task-3326263 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#121489
Current behavior: When a product had a too long name, the name was truncated and couldn't be completely seen. Steps to reproduce: - Change the name of a product to a very long name with spaces - Open the POS - The product name is truncated This is the result :  Note: To fix this we stop showing placeholders when a product doesn't have an image set. opw-3245538 --- I confirm I have sig
Original PR description
Current behavior: When a product had a too long name, the name was truncated and couldn't be completely seen. Steps to reproduce: - Change the name of a product to a very long name with spaces - Open the POS - The product name is truncated This is the result :  Note: To fix this we stop showing placeholders when a product doesn't have an image set. opw-3245538 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#121906 Forward-Port-Of: odoo/odoo#121041
Before this commit: when en_US is not activated and the user changes terms slightly for ir.ui.view.arch, the new term will be treated as a typo fix or style change, and won't be populated to other languages. As a result, in the form view, arch_base field which displays the en_US translation of the arch_db will still be the content before the change(wrong and strange). After this commit: when write a model_terms field when en_US is not activated, its en_US value will always be overwritten.
Original PR description
Before this commit: when en_US is not activated and the user changes terms slightly for ir.ui.view.arch, the new term will be treated as a typo fix or style change, and won't be populated to other languages. As a result, in the form view, arch_base field which displays the en_US translation of the arch_db will still be the content before the change(wrong and strange). After this commit: when write a model_terms field when en_US is not activated, its en_US value will always be overwritten. opw-3265418 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#121253
before this commit When users open the translation dialog for an empty field, and directly update and save all translations in the translation dialog, nothing will be saved for backend after this commit: these translations will be saved. opw-3297748 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
Original PR description
before this commit When users open the translation dialog for an empty field, and directly update and save all translations in the translation dialog, nothing will be saved for backend after this commit: these translations will be saved. opw-3297748 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#121139
An UBL Bis 3 xml can only contain one tax per invoice line. However, there might be one or more ecotaxes on invoice lines in Belgium. Do not block the user from generating the attachment in this case. Note that PR https://github.com/odoo/odoo/pull/121494 will properly handle the fixed taxes upon generating UBL attachments. opw-3318969 Forward-Port-Of: odoo/odoo#121833
Original PR description
An UBL Bis 3 xml can only contain one tax per invoice line. However, there might be one or more ecotaxes on invoice lines in Belgium. Do not block the user from generating the attachment in this case. Note that PR https://github.com/odoo/odoo/pull/121494 will properly handle the fixed taxes upon generating UBL attachments. opw-3318969 Forward-Port-Of: odoo/odoo#121833
Before this PR when a demo data error occurred (and the errors is too big). You could click on the error and a form view appeared. But if the error was too big, the text for module_id and wizard_id were impacted and were way too small to be readable (like a missing colspan). By adding a form view form this specific model it seems to solve the issues. task-id: 3252698 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#1170
Original PR description
Before this PR when a demo data error occurred (and the errors is too big). You could click on the error and a form view appeared. But if the error was too big, the text for module_id and wizard_id were impacted and were way too small to be readable (like a missing colspan). By adding a form view form this specific model it seems to solve the issues. task-id: 3252698 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#117002
Overwriting array with new array triggers reactive. This leads to uncessary renders, and potential infitine loop if both read and insert methods are used inside rendering cycle. Forward-Port-Of: odoo/odoo#121930
Original PR description
Overwriting array with new array triggers reactive. This leads to uncessary renders, and potential infitine loop if both read and insert methods are used inside rendering cycle. Forward-Port-Of: odoo/odoo#121930
This commit adds a new function to the module. Currently, there is no way for managers or administrators to customize the list of customers per PoS UI. This function can be used as a hook and can be inherited to add a domain to filter partners while loading a PoS session. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Closes #120866 Forward-Port-Of: odoo/odoo#121731
Original PR description
This commit adds a new function to the module. Currently, there is no way for managers or administrators to customize the list of customers per PoS UI. This function can be used as a hook and can be inherited to add a domain to filter partners while loading a PoS session. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Closes #120866 Forward-Port-Of: odoo/odoo#121731
Description of the issue/feature this PR addresses: This PR improves the Bill of Material report: - Modification of the print report: it should match more the visual of the BoM overview. - Arriving in manufacturing forecast from a variant now sets the specific variant on the report. - Modifying the component allowing to select a variant to a new one with a "search more" - The computation of the next available date when a BoM is of type kit and that no route is specified is n
Original PR description
Description of the issue/feature this PR addresses:
This PR improves the Bill of Material report:
- Modification of the print report: it should match more the visual of the BoM overview.
- Arriving in manufacturing forecast from a variant now sets the specific variant on the report.
- Modifying the component allowing to select a variant to a new one with a "search more"
- The computation of the next available date when a BoM is of type kit and that no route is specified is now working.
- The report now shows only one line if there is multiple lines of the same component in the BoM.
- Overview has been renamed to BoM Overview
- There is now breadcrumb when BOM > Schedule
Task-3184663
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#119311When passing a very large expression to `literal_eval`, the odoo server crashes. To avoid this behavior, a limit needs to be set by using the env varaible `ODOO_LIMIT_LITEVAL_BUFFER`. If the variable is not set, it defaults to 100Kib. Forward-Port-Of: odoo/odoo#121547 Forward-Port-Of: odoo/odoo#121530
Original PR description
When passing a very large expression to `literal_eval`, the odoo server crashes. To avoid this behavior, a limit needs to be set by using the env varaible `ODOO_LIMIT_LITEVAL_BUFFER`. If the variable is not set, it defaults to 100Kib. Forward-Port-Of: odoo/odoo#121547 Forward-Port-Of: odoo/odoo#121530
The key chosed in the SaleDetailsReport.xml file following t-foreach instructions were not properly chosen. When 2 products were bought but with different price or different discount, the key was the same leading to an error. This fix aims at resolving this problem. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#121297 Forward-Port-Of: odoo/odoo#119026
Original PR description
The key chosed in the SaleDetailsReport.xml file following t-foreach instructions were not properly chosen. When 2 products were bought but with different price or different discount, the key was the same leading to an error. This fix aims at resolving this problem. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#121297 Forward-Port-Of: odoo/odoo#119026
In a recent fix for front-end readability we inadvertently disabled editing of emails in the technical email view. This adds both an inverse and search field to enable lost functionality. We also add a forced 'xml' mode to the html_field for users to be able to edit html content without the browser messing it up. task-3255777 Forward-Port-Of: odoo/odoo#121902 Forward-Port-Of: odoo/odoo#118423
Original PR description
In a recent fix for front-end readability we inadvertently disabled editing of emails in the technical email view. This adds both an inverse and search field to enable lost functionality. We also add a forced 'xml' mode to the html_field for users to be able to edit html content without the browser messing it up. task-3255777 Forward-Port-Of: odoo/odoo#121902 Forward-Port-Of: odoo/odoo#118423
The json fields are not supported in lists at the moment because they require additional RPC to fetch the display value as long as its formatting. Task: 3324679 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#122013 Forward-Port-Of: odoo/odoo#121532
Original PR description
The json fields are not supported in lists at the moment because they require additional RPC to fetch the display value as long as its formatting. Task: 3324679 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#122013 Forward-Port-Of: odoo/odoo#121532
Steps to reproduce: In an account move, if the partner_id is changed to one that does not have a value assigned in the property_purchase_currency_id field and with a value in the context for default_currency_id, when passing through the _onchange_partner_id function of the purchase module, Cause: the variable currency_id will take the value in the context as second option causing an error when trying to get the value in currency_id.id because currency_id will be an integer and not a record.
Original PR description
Steps to reproduce: In an account move, if the partner_id is changed to one that does not have a value assigned in the property_purchase_currency_id field and with a value in the context for default_currency_id, when passing through the _onchange_partner_id function of the purchase module, Cause: the variable currency_id will take the value in the context as second option causing an error when trying to get the value in currency_id.id because currency_id will be an integer and not a record. issue-121232 Forward-Port-Of: odoo/odoo#121957 Forward-Port-Of: odoo/odoo#121620
Some tests use methods that have two different implementations (one for desktop and one for mobile). So far, the only example is deleteBackward and its mobile counterpart deleteBackwardMobile. This commit introduces a mechanism in the web_editor tests to avoid duplicating such tests. When a test calls a method that has two implementations, it uses the desktop one by default and a flag is set that indicates the test should be re-run with its mobile implementation next. When errors are raise
Original PR description
Some tests use methods that have two different implementations (one for desktop and one for mobile). So far, the only example is deleteBackward and its mobile counterpart deleteBackwardMobile. This…
Some tests use methods that have two different implementations (one for desktop and one for mobile). So far, the only example is deleteBackward and its mobile counterpart deleteBackwardMobile. This commit introduces a mechanism in the web_editor tests to avoid duplicating such tests. When a test calls a method that has two implementations, it uses the desktop one by default and a flag is set that indicates the test should be re-run with its mobile implementation next. When errors are raised while the mobile version is in use, we prefix their message with '[MOBILE VERSION]' to ease debugging. Note that this mechanism relies on proper flag management by the aforementioned methods. Task-3054808 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#121977 Forward-Port-Of: odoo/odoo#121628
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#121861
Original PR description
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#121861
When the user uploads an empty text file in the invoice it generates an attribute error with 'bool' object getting no attribute 'startswith'. Steps to produce:- - Install 'account' - Go to 'Invoice' - Create an invoice with an empty .txt attachment in the chatter section - Click 'Send' - Traceback is generated see:- ``` AttributeError: 'bool' object has no attribute 'startswith' File "odoo/http.py", line 2115, in __call__ response = request._serve_db() File "odoo/http.py"
Original PR description
When the user uploads an empty text file in the invoice it generates an attribute error with 'bool' object getting no attribute 'startswith'. Steps to produce:- - Install 'account' - Go to 'Invoice'…
When the user uploads an empty text file in the invoice it generates an attribute error with 'bool' object getting no attribute 'startswith'.
Steps to produce:-
- Install 'account'
- Go to 'Invoice'
- Create an invoice with an empty .txt attachment in the chatter section
- Click 'Send'
- Traceback is generated
see:-
```
AttributeError: 'bool' object has no attribute 'startswith'
File "odoo/http.py", line 2115, in __call__
response = request._serve_db()
File "odoo/http.py", line 1698, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "odoo/service/model.py", line 134, in retrying
result = func()
File "odoo/http.py", line 1725, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 1922, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 154, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 715, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 28, in call_kw
return self._call_kw(model, method, args, kwargs)
File "addons/web/controllers/dataset.py", line 24, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 461, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "odoo/api.py", line 448, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "home/odoo/src/enterprise/saas-16.2/account_bank_statement_import/models/account_journal.py", line 31, in create_document_from_attachment
return super().create_document_from_attachment(attachment_ids)
File "addons/account/models/account_journal.py", line 769, in create_document_from_attachment
invoices = self._create_document_from_attachment(attachment_ids)
File "addons/account/models/account_journal.py", line 752, in _create_document_from_attachment
invoice._extend_with_attachments(attachment, new=True)
File "addons/account/models/account_move.py", line 2890, in _extend_with_attachments
for file_data in attachments._unwrap_edi_attachments(): # sorted by priority
File "addons/account/models/ir_attachment.py", line 139, in _unwrap_edi_attachments
if supported_format['check'](attachement):
File "addons/account/models/ir_attachment.py", line 103, in is_xml
is_text_plain_xml = 'text/plain' in attachment.mimetype and (attachment.raw.startswith(b'<?xml') or attachment.name.endswith('.xml'))
```
Applying this commit will fix this issue.
sentry-4187919992
Forward-Port-Of: odoo/odoo#121748In this tour, we trigger the loading of participants input immediately after the widget's start. This is however a chain of promises, and it sometimes happened that the tour proceeded to the next step between these, i.e., before the results were fetched. Task-3284627 Forward-Port-Of: odoo/odoo#119856
Original PR description
In this tour, we trigger the loading of participants input immediately after the widget's start. This is however a chain of promises, and it sometimes happened that the tour proceeded to the next step between these, i.e., before the results were fetched. Task-3284627 Forward-Port-Of: odoo/odoo#119856
before this commit, on clicking on Go To Website smart button in forum is not redirecting to the corresponding forum due to missing parenthesis to the function. after this commit, on clicking the Go To Website smart button, user is redirected to the forum. introduced in: https://github.com/odoo/odoo/commit/36c734ab37fdf1d6a245e0e29cfefe3cc46c6d92 I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#121874 Forward-Port-Of:
Original PR description
before this commit, on clicking on Go To Website smart button in forum is not redirecting to the corresponding forum due to missing parenthesis to the function. after this commit, on clicking the Go To Website smart button, user is redirected to the forum. introduced in: https://github.com/odoo/odoo/commit/36c734ab37fdf1d6a245e0e29cfefe3cc46c6d92 I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#121874 Forward-Port-Of: odoo/odoo#121338
In previous commit (https://github.com/odoo/odoo/pull/119214), this line was added to make the block onchange and check if the view was rerendered correctly, but having `await nextTick()` inside an RPC doesn't make sense. So we use `makeDeferrer()` which is the tool provided for that matter. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#121946
Original PR description
In previous commit (https://github.com/odoo/odoo/pull/119214), this line was added to make the block onchange and check if the view was rerendered correctly, but having `await nextTick()` inside an RPC doesn't make sense. So we use `makeDeferrer()` which is the tool provided for that matter. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#121946
This commit removes a non-used, and non-tested method that was mistakenly left on the progress bar hook. Forward-Port-Of: odoo/odoo#122033
Original PR description
This commit removes a non-used, and non-tested method that was mistakenly left on the progress bar hook. Forward-Port-Of: odoo/odoo#122033
Cannot correctly concatenate the value from the t-set and the number 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#122043
Original PR description
Cannot correctly concatenate the value from the t-set and the number 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#122043
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#122025
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 Forward-Port-Of: odoo/odoo#122025
1. The deferred journal and accounts were not correctly called when creating a new company because of the fields were computed. Instead a default value will be set by `_post_load_data`. 2. The test `test_refund_qty_invoiced` would fail because when reversing the move, the deferred dates were lost because they were not copied therefore `_compute_qty_invoiced` was not called and the quantity invoiced would not be updated. This is fixed by copying the deferred dates of a move to its reversal (an
Original PR description
1. The deferred journal and accounts were not correctly called when creating a new company because of the fields were computed. Instead a default value will be set by `_post_load_data`. 2. The test…
1. The deferred journal and accounts were not correctly called when creating a new company because of the fields were computed. Instead a default value will be set by `_post_load_data`. 2. The test `test_refund_qty_invoiced` would fail because when reversing the move, the deferred dates were lost because they were not copied therefore `_compute_qty_invoiced` was not called and the quantity invoiced would not be updated. This is fixed by copying the deferred dates of a move to its reversal (and only in this case, not when duplicating an invoice for instance). 3. The test `_portal_payment_controller_flow` would fail because an incorrect `account_type` was set (resulting in deferred dates beinge erased). This is fixed by setting the right `account_type` to `income`. 4. If both the deferred start and end dates are set, `_compute_deferred_end_date` gets triggered by one of its dependencies, and the account is not compatible, then the `deferred_end_date` will be set to False. Immediately after, the contrain `_check_deferred_dates` will be triggered and fail because at this point there is a deferred start date, but no end date. This is because the `_compute_deferred_end_date` is wrongly depending on `move_id.state`. Only `_compute_deferred_start_date` should. Forward-Port-Of: odoo/enterprise#41326
Forward-Port-Of: odoo/enterprise#41321
Original PR description
Forward-Port-Of: odoo/enterprise#41321
=== ISSUE === If you activate studio and design a custom icon using the interface, it will not have any `border-radius`. This is due to the fact that the icon is inside a `<div>` and not inside an `<img>`. === AFTER === We add a `rounded-3` class to the `<div>` containing the icon. This value comes from the one applied on the regular app icons. task-3326580 part of task-3326263 Forward-Port-Of: odoo/enterprise#41047
Original PR description
=== ISSUE === If you activate studio and design a custom icon using the interface, it will not have any `border-radius`. This is due to the fact that the icon is inside a `<div>` and not inside an `<img>`. === AFTER === We add a `rounded-3` class to the `<div>` containing the icon. This value comes from the one applied on the regular app icons. task-3326580 part of task-3326263 Forward-Port-Of: odoo/enterprise#41047
Description of the issue/feature this PR addresses: This PR improves the Bill of Material report: - Modification of the print report: it should match more the visual of the BoM overview. - Arriving in manufacturing forecast from a variant now sets the specific variant on the report. - Modifying the component allowing to select a variant to a new one with a "search more" - The computation of the next available date when a BoM is of type kit and that no route is specified is now working. - T
Original PR description
Description of the issue/feature this PR addresses: This PR improves the Bill of Material report: - Modification of the print report: it should match more the visual of the BoM overview. - Arriving in manufacturing forecast from a variant now sets the specific variant on the report. - Modifying the component allowing to select a variant to a new one with a "search more" - The computation of the next available date when a BoM is of type kit and that no route is specified is now working. - The report now shows only one line if there is multiple lines of the same component in the BoM. - Overview has been renamed to BoM Overview - There is now breadcrumb when BOM > Schedule Task-3184663 Forward-Port-Of: odoo/enterprise#40141
When checking if the BS is balanced with a script,it seems that some accounts were missing in the BS and some sign were reverse, this pr corrects that task-id: 3041738 Forward-Port-Of: odoo/enterprise#38120
Original PR description
When checking if the BS is balanced with a script,it seems that some accounts were missing in the BS and some sign were reverse, this pr corrects that task-id: 3041738 Forward-Port-Of: odoo/enterprise#38120
== ISSUE == With the new design introduced within Milk, most of the buttons received a visual upgrade (eg. removing borders) This change applied on most of the buttons since the same code, but some buttons were using a `.border` class on top of that and so they did not loose this border. **Expected styling :**  **Styling issues affected by this PR**  This change applied on most of the buttons since the same code, but some buttons were using a `.border` class on top of that and so they did not loose this border. **Expected styling :**  **Styling issues affected by this PR**  == After this commit == We clean up these buttons that were keeping a border, in order to make our secondary buttons more consistent. Please note that this change does not apply on all secondary buttons since some of them are customized for a specific module and so remain unmodified. - Requires : https://github.com/odoo/odoo/pull/121489 task-3326313 part of task-3326263 Forward-Port-Of: odoo/enterprise#41112
This button should not be here anymore. See PR (enterprise) #40510 Forward-Port-Of: odoo/enterprise#41270
Original PR description
This button should not be here anymore. See PR (enterprise) #40510 Forward-Port-Of: odoo/enterprise#41270
Prior to this commit, the introduction of Milk allowed the app switcher to be on two lines. But they were not truncated when they were composed of a long word. To fix this, this commit reverts to a one-line label that can be truncated if necessary. task-3329928 Part of task-3326263 Forward-Port-Of: odoo/enterprise#41168
Original PR description
Prior to this commit, the introduction of Milk allowed the app switcher to be on two lines. But they were not truncated when they were composed of a long word. To fix this, this commit reverts to a one-line label that can be truncated if necessary. task-3329928 Part of task-3326263 Forward-Port-Of: odoo/enterprise#41168