Thursday, September 14, 2023
52 changes · master
Enhancements to existing features
This update removes an unused piece of older web dialog setup code. It helps keep the web interface codebase simpler and easier to maintain without changing day-to-day user behavior.
Original PR description
task-3439226 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Report sections that are only used within one parent report now automatically inherit that parent report's filter settings. This reduces configuration mistakes in accounting reports, such as tax report annexes using inconsistent eligibility filters.
Original PR description
When creating a new report and assigning a root report, the filter fields are recomputed to take the same values as the root report by default. This is done to avoid silly mistakes from the user ;…
When creating a new report and assigning a root report, the filter fields are recomputed to take the same values as the root report by default. This is done to avoid silly mistakes from the user ; for example, when configuring a tax report, forgetting to set the only_tax_exigible field. However, nothing similar was done with the sections, and that was very error-prone. Indeed, when a report is created as a section of some other report, and not to be used in any other case, it would be convenient that the report's maker (be it a a developer or a UI user) does not have to care about all the nitty-gritty details of the default values assigned to filters. Taking the same example, what was there before this commit makes it so we could very easily face the situation where a tax report is made with multiple sections for its different annexes, and one of them is missing a True value in the only_tax_exigible field (spoiler: this mistake happened on some development branch of ours). To solve that, when we see a report only belongs to one single composite report, and if it's not callable alone (for this, we check the existent of an action opening it directly, or the presence of a root report fot it), then we compute a default value for the filter fields, using the composite report as source.
Survey users can now subscribe to receive notifications when someone completes a survey response. This helps teams stay informed about completed participations without needing to manually check survey results, while limiting notifications to surveys with relevant followers.
Original PR description
Allow users to subscribe to being notified when a new participation is completed on a survey. Task-3389133
The stock app now places the properties option in the contextual action menu, making the main interface cleaner. The kanban view also shows partner and internal locations directly under view locations, helping users understand location structure more easily.
Original PR description
The properties button has been moved to the contextual action menu. The kanban view now shows partner locations and internal location directly under a view location task 3444583 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Accounting users can now quickly search journal items by debit or credit amount without setting up custom filters. Journal entries also gain an amount-based search option, making it faster to find relevant accounting records.
Original PR description
Problem --------- User want to search on journal items based on the amount. This is doable through custom searches but that is not user-friendly. Objective --------- Add a search based on the amount of an journal item (in credit or in debit) to make it more user-friendly. *Secondary objective*: Add a similar search for journal entry amounts. Solution --------- Declare a computed field for journal entries that the search will be based on and add this field in the search view of the journal items. *Secondary solution*: Add amount_total in the search view of the journal entries. task-3439520 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The point of sale customer display now loads its background image directly from the server so it can be cached. This reduces repeated image downloads and should make remote customer display updates respond much faster.
Original PR description
The customer display loads very slowly in the RemoteDisplay mode. This is in big part because of the large size of the bg image. This image is loaded on every single update of the customer display. This PR makes it so the bg image is loaded directly from the server, in order for it to be cached on the customer display, thus improving considerately the response time. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Expense report PDFs now have a refreshed header and table layout, making them easier to read and share. Supporting attachments are included in an annex, with PDFs merged directly and images shown with their related expense name for clearer documentation.
Original PR description
This pr aim to improve the pdf of the expense report. we have changed the design of the header of the report, the table and also added an annex with the different attachment. task: 3443413 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Manufacturing order overview reports now show whether production is ready, not ready, or partially ready based on available and reserved component stock. This helps planners quickly see how much can be produced with current inventory and makes the report easier to read with a clearer table header.
Original PR description
Before this commit
==================
Currently, There is no way to know how many qty users can produce with the current stock.
After this commit
=================
With this commit, In the MO Overview report, the following stages are added:
'Ready', 'Not Ready', and '{X} Ready'. the Ready to Produce qty is based on
the component reserved quantity + component free quantity. Furthermore, the
table header in the MO status overview report has been slightly highlighted for
improved visibility.
task-3356499Attachments added to an expense report are now copied to the related journal entry when it is created. This makes supporting documents easier to find during accounting review and audit workflows.
Original PR description
This commit adds a copy of the attachments from the expense report to the created journal entry. task-3443042
Knowledge users can now add or change article icons directly from kanban cards and quick-create cards using the emoji picker. This makes it easier to visually organize articles without opening extra editing views, while respecting article locks and write permissions.
Original PR description
Purpose: - Allow users to set an icon using the emojipicker in item kanbans: - The quick create cards now show an icon placeholder when being hovered, that changes into a random icon when clicked. This icon can be clicked again to select an icon using the emojipicker. - If the article is not locked and if the user has write permission on the article, clicking on the icon of the kanban card now opens the emoji picker. Task-3291762
A no-longer-needed test step tied to older dialog behavior was removed from Project Forecast. This keeps automated checks aligned with the current system and reduces maintenance noise without changing how users work.
Original PR description
This step was bound to the legacy Dialog handling and is not required anymore; task-3439226
Resolved issues and error corrections
Fixed an issue where file fields shown in list views ignored the configured filename. Users will now see and download files with the intended names, reducing confusion when handling attachments in records.
Original PR description
Steps to reproduce: - Make any list binary field with filename attribute Current behaviour: - The binary file does not use the filename field Expected behaviour: - The binary file should use the filename field Explanation: After the updates of list-specific binary field, the list binary cannot get the attributes field name of the record anymore. X-original-commit: f6dea9b
Code cleanup and technical improvements
Miscellaneous changes
When a user tries to signup in odoo and enters an invalid email address a logger error occurs which creates noise in sentry. Error: `SignupError('Login must be a valid email address : tme')` The logger is updated to use the 'warning' level instead of the 'error' level. This change reflects a less severe logging level for cases when SignupError occurs while signup. sentry-3933777844 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-
Original PR description
When a user tries to signup in odoo and enters an invalid email address a logger error
occurs which creates noise in sentry.
Error: `SignupError('Login must be a valid email address : tme')`
The logger is updated to use the 'warning' level instead of the 'error' level. This change reflects a less
severe logging level for cases when SignupError occurs while signup.
sentry-3933777844
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#131167This fix ensures a newer database query method goes through Odoo's standard execution path, so SQL logging and performance test query counts remain accurate. It helps teams detect performance issues and monitor database activity reliably without changing business workflows.
Original PR description
psycopg2.extras.execute_values was introduced in PR https://github.com/odoo/odoo/pull/101237 however it pypasses the override logic for cr.execute. As a result 1. --log-sql cannot log these queries 2. assertQueryCount cannot notice these queries ... This commit create a new api cr.execute_values to support the same SQL feature without losing the override logic for cr.execute https://github.com/odoo/enterprise/pull/47374 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 update corrects a layout issue in the date and time picker where the calendar could show the wrong number of columns after week numbers were added. It helps keep the calendar display consistent and easier to use, with tests added to prevent the issue from returning.
Original PR description
Following the introduction of the `showWeekNumbers` prop on DateTimePicker component (see commit 7552284e781dc7e1c72a93d5f37d16b1b05bda4c), the number of column (CSS custom property) wasn't properly defined in the template. This commit fixes it and adds related asserts in QUnit tests. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes a live chat issue that could occur when a website visitor starts without an existing saved chat session. It helps keep automated checks stable and supports a smoother chatbot experience for new visitors.
Original PR description
Follow-up of https://github.com/odoo/odoo/pull/135378 Commit above fixed a potential issue where guests may eventually have many livechats, so finding the livechat thread just by `type: livechat` is not enough. To be more specific, it relies on livechat session stored in cookie. However, when there's no livechat session, there's no id stored in cookie. The livechat thread uses a `TEMPORARY_ID`. Fix above forgot to handle this part, thus the getter was failing when there's no persistent livechat session.
Lead generation industry options have been corrected to match the external provider’s search terms. This helps users get relevant leads for industries that previously returned no results, improving the usefulness of lead mining searches.
Original PR description
The values used in the industry to obtain lead generations did not align with those of our provider. This posed a problem, as it meant that some queries inevitably returned zero leads. Description of the issue/feature this PR addresses: When a lead mining request was made using the lead generation tool, several industry categories returned no results when selected, even for countries such as the USA. Current behavior before PR: The user's query returned industry ids that did not match up correctly with the keywords used in the lead search. Desired behavior after PR is merged: Now users will be able to choose their industry from a revised list. In addition, the query sent will now contain the name of the industry rather than an id. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an issue where users could no longer switch how products are displayed in the Point of Sale screen after a recent internal update. Restoring this option helps cashiers use their preferred product layout and keeps the checkout workflow consistent.
Original PR description
After the bootstrap refactoring introduced in this commit cc349515a4923874067705267bbaa383276556e6. The switch product view wasn't working anymore. This commit reintroduce the logic behind the switch product view option. Task-3500621
Fixed an issue where customers using self-order could sometimes miss the pay button after placing an order. This ensures a smoother checkout experience and adds tests to prevent the problem from returning.
Original PR description
*: pos_online_payment_self_order
Since https://github.com/odoo/odoo/commit/605943b5eaafe7e9224f0e7fb4fbdd020102c7a5, the pay button is not always displayed in the self-order UI after clicking on the "Order" button.
The issue is due to the selected_attributes value received from the server, that can be "false", while the JS code of self-order UI is designed with "{}" as the empty/null value.
When the local order of the self-order UI is updated with the data from the server, the false value was saved instead of the {}, resulting in the line being considered as "modified" according to the isChange method which uses JSON.stringify for comparing changes.
The fix consists in correctly updating the local order selected_attributes value when receiving data from the server.
This commits adds some tests for the pay after meal self-order mode, to check that the pay button is visible.
task-id: 3489173Project forms now correctly show the rating and document settings when the Documents app is installed. This restores access to configuration options that had been unintentionally hidden after a previous view update.
Original PR description
In the view refactor of https://github.com/odoo/enterprise/pull/35255, the condition to show the rating and documents section in the settings of the project form view was converted to `True` instead of `False`, meaning that the rating and documents settings are never visible with documents installed. This PR fixes the visibility so the section is always visible with documents installed instead.
This fix ensures a newer bulk database query method follows the same monitoring and logging path as standard queries. It helps Odoo teams keep performance tests and SQL logging accurate, reducing the risk of hidden slowdowns.
Original PR description
psycopg2.extras.execute_values was introduced in PR #101237 however it pypasses the override logic for cr.execute. As a result 1. --log-sql cannot log these queries 2. assertQueryCount cannot notice these queries ... This commit create a new api cr.execute_values to support the same SQL feature without losing the override logic for cr.execute [#odoo/131190](https://github.com/odoo/odoo/pull/131190)
The social CRM interface now hides the "Create Lead" button on posts published by the company itself. This prevents users from accidentally creating sales leads from their own social media content, keeping lead generation focused on external engagement.
Original PR description
Purpose ======= The button "Create Lead" is supposed to be hidden for our own posts, but it is always visible because we wrongly compute "isAuthor". Technical ========= A computed field is needed to fix the issue, because we don't have the account media id in JS (or it will require a RPC call). Task-3495203
The web client now fades in its background after login instead of switching abruptly from a blank white screen. This creates a smoother, faster-feeling transition for users entering the system.
Original PR description
DRAFT Description of the issue/feature this PR addresses: Provide a feeling of speed/a less jarring transition between the login and the loading of the web client. Current behavior before PR: The web client starts with a harsh transition from a white/empty background to the actual purple background. Desired behavior after PR is merged: The web client background fades in after login in.
This update modernizes internal automated tests by reducing reliance on older jQuery-based test helpers. It helps keep Odoo's test suite easier to maintain and supports ongoing product quality across several apps, with no direct change expected for end users.
Original PR description
* = bus, crm_livechat, im_livechat, sms, snailmail, test_mail, web Follow up of https://github.com/odoo/odoo/pull/130451 (and many others) Add support in `contains` for most operations that we use in tests. Remove return value from `contains`. Move into `web` module. Remove import/export chains, directly import from correct module. https://github.com/odoo/enterprise/pull/47064
This update streamlines how the website shop calculates and displays product variants and prices. Customers should see more consistent pricing across currencies, tax positions, companies, and pricelists, with better performance in ecommerce flows.
Original PR description
Clean, factorize and optimize the code related to product variants display and price computation, especially the whole `combination_info` logic, which can now be moved to `website_sale` since the new product configurator used for backend doesn't rely on it anymore. Enterprise PR: https://github.com/odoo/enterprise/pull/41308 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update cleans up how product option and pricing details are calculated for online rental and subscription sales. It improves consistency across companies, currencies, taxes, and price lists while reducing unnecessary processing, helping customers see more accurate website prices.
Original PR description
Community PR: https://github.com/odoo/odoo/pull/121986
This update modernizes internal automated tests across several enterprise modules by removing older jQuery-based test helpers. It does not change product features, but it helps keep testing infrastructure maintainable and aligned with the community codebase.
Original PR description
* = account_invoice_extract, documents, test_mail_enterprise, voip, web_enterprise, web_studio Enterprise counter-part of community changes. https://github.com/odoo/odoo/pull/134652
The App Creator in Odoo Studio has been modernized by completing its conversion to the newer interface framework and removing older compatibility layers. This should make the feature easier to maintain and improve over time, with minimal direct impact on day-to-day users.
Original PR description
The goal of this PR is to fully convert the AppCreator to Owl, the component was partially converted, this PR removes the adapter, wrapper and Mixins that were still used. The ModelConfigurator has also been simplified by merging the ModelConfiguratorOption in the parent component as the separation seemed overkill in this case.
Issue: ------ When a leave is created, a notification is only sent if a "Time Off Officer" is defined (`responsible_ids`). However, if we choose the approval option with the value: "By Employee's Approver", the leave manager must be notified even if there is no "Time Off Officer". Solution: --------- Give the option of creating notifications in all cases where validation is required for the leave type. opw-3412841 Forward-Port-Of: odoo/odoo#134697
Original PR description
Issue: ------ When a leave is created, a notification is only sent if a "Time Off Officer" is defined (`responsible_ids`). However, if we choose the approval option with the value: "By Employee's Approver", the leave manager must be notified even if there is no "Time Off Officer". Solution: --------- Give the option of creating notifications in all cases where validation is required for the leave type. opw-3412841 Forward-Port-Of: odoo/odoo#134697
Steps to reproduce: - Enable multistep routes (3 steps delivery) - Create a new storable product (0 on hand quantity) - Confirm an SO with that product Bug: forecast button is correctly red on the SO line but it's green on the stock pickings Fix: button should be green if it's possible to reserve quantity red otherwise opw-3440627 Forward-Port-Of: odoo/odoo#134876 Forward-Port-Of: odoo/odoo#134335
Original PR description
Steps to reproduce: - Enable multistep routes (3 steps delivery) - Create a new storable product (0 on hand quantity) - Confirm an SO with that product Bug: forecast button is correctly red on the SO line but it's green on the stock pickings Fix: button should be green if it's possible to reserve quantity red otherwise opw-3440627 Forward-Port-Of: odoo/odoo#134876 Forward-Port-Of: odoo/odoo#134335
Steps to reproduce: - Create an invoice - Select a partner - Add an invoice line (without a product): a default account will be computed - Change the account - Add a second invoice line (with a product) - Change the account - Select another partner The account for the invoice line without a product will be recomputed, while the account for the invoice line with a product will not. The computation of the account should happen when the line is added. If the account has been changed, it s
Original PR description
Steps to reproduce: - Create an invoice - Select a partner - Add an invoice line (without a product): a default account will be computed - Change the account - Add a second invoice line (with a product) - Change the account - Select another partner The account for the invoice line without a product will be recomputed, while the account for the invoice line with a product will not. The computation of the account should happen when the line is added. If the account has been changed, it should not be recomputed to a default one when changing the partner. The behavior for aml without product should be the same than aml with a product. opw-3474469 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#135027
Steps to reproduce: - Install an app like Sales, Purchase, etc. (any app where we can get many lines) - For example, get a sale order and add at least 10 lines. (or if you are fast enough just doubleclick on a record) - Then we try to delete this lines as fast as we can, spamming the thrash can icon. Issue: Sometimes we are going to get an error where it says that we can't call `__bm_handle__` on undefined. So the issue seems to be that if we try to delete really fast, sometimes we ar
Original PR description
Steps to reproduce: - Install an app like Sales, Purchase, etc. (any app where we can get many lines) - For example, get a sale order and add at least 10 lines. (or if you are fast enough just doubleclick on a record) - Then we try to delete this lines as fast as we can, spamming the thrash can icon. Issue: Sometimes we are going to get an error where it says that we can't call `__bm_handle__` on undefined. So the issue seems to be that if we try to delete really fast, sometimes we are going to lose the record and then we won't be able to properly delete it. Solution: We can avoid this behavior but just making sure we have accessed the `record` and its `__bm_handle__` and then we can proceed afterwards. opw-3299395 Forward-Port-Of: odoo/odoo#133247 Forward-Port-Of: odoo/odoo#122315
To reproduce the issue: 1. In Settings, enable: - Multi-Routes 2. Unarchive the route MTO 3. Create three storable product P1, P2, P3: - P2: - With route MTO 4. Create and confirm a MO: - Product: P1 - Components: - 1 x P2 - 1 x P3 - 1 x P3 5. Set the produced/consumed quantities: - For P2, set 1.5 6. Mark the MO as done Error: an error message is displayed: "Record does not exist or has been deleted." In `SM._action_done`, we create some
Original PR description
To reproduce the issue: 1. In Settings, enable: - Multi-Routes 2. Unarchive the route MTO 3. Create three storable product P1, P2, P3: - P2: - With route MTO 4. Create and confirm a MO: - Product: P1…
To reproduce the issue:
1. In Settings, enable:
- Multi-Routes
2. Unarchive the route MTO
3. Create three storable product P1, P2, P3:
- P2:
- With route MTO
4. Create and confirm a MO:
- Product: P1
- Components:
- 1 x P2
- 1 x P3
- 1 x P3
5. Set the produced/consumed quantities:
- For P2, set 1.5
6. Mark the MO as done
Error: an error message is displayed: "Record does not exist or has
been deleted."
In `SM._action_done`, we create some extra moves:
https://github.com/odoo/odoo/blob/e029abe649573350e633999e42ab040c57b8fe4e/addons/stock/models/stock_move.py#L1705-L1710
Because of the exceed quantity on the first components line, we
create a new SM (qty 0.5). There is a difference between both SM:
the `procure_method` (MTO for the initial SM, MTS for the new one).
Because of that difference, when confirming the new SM, we don't
provide any `merge_into` (the `else` block):
https://github.com/odoo/odoo/blob/e029abe649573350e633999e42ab040c57b8fe4e/addons/stock/models/stock_move.py#L1684-L1690
Confirming the new SM leads to the `_merge_moves` method. In this
method, because we didn't provide any `merge_into`, we first try to
get some candidates:
https://github.com/odoo/odoo/blob/e029abe649573350e633999e42ab040c57b8fe4e/addons/stock/models/stock_move.py#L866-L868
And at that point, we will provide with all components SMs:
https://github.com/odoo/odoo/blob/e029abe649573350e633999e42ab040c57b8fe4e/addons/mrp/models/stock_move.py#L494-L497
So, we will also provide the two SM of C02. Therefore, the method
will merge these SMs and unlink the second one. Then, back to the
extra moves creation in `SM._action_done`, the for loop will iterate
on the deleted record, hence the error.
OPW-3454899
Forward-Port-Of: odoo/odoo#135231
Forward-Port-Of: odoo/odoo#134632This commit adjusts the width of the domain selector to fill the entirety of its parent so that its dimensions are not restricted by the flex display Forward-Port-Of: odoo/odoo#135209
Original PR description
This commit adjusts the width of the domain selector to fill the entirety of its parent so that its dimensions are not restricted by the flex display Forward-Port-Of: odoo/odoo#135209
The Dynamic placeholder was not opening properly in mail template since the wysiwyg OWL conversion. Fix it and also fix the tour that should have detected this error. The tour itself was not running properly. task-3495254 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#134661
Original PR description
The Dynamic placeholder was not opening properly in mail template since the wysiwyg OWL conversion. Fix it and also fix the tour that should have detected this error. The tour itself was not running properly. task-3495254 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#134661
Prior to this commit the get_orders_by_access_token return always an empty result. A tour has been added to make sure it won't reproduce again. Steps To Reproduce: - Open self order - Click view menu - Select a product and "Add to cart" - Click review and order the product - Click on My Orders - There would be no product ordered --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#133558
Original PR description
Prior to this commit the get_orders_by_access_token return always an empty result. A tour has been added to make sure it won't reproduce again. Steps To Reproduce: - Open self order - Click view menu - Select a product and "Add to cart" - Click review and order the product - Click on My Orders - There would be no product ordered --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#133558
Steps to reproduce: ------------------- For example: - add a work permit file to an employee (private information tab); - try to download it before saving; Issue: ------ The old file is downloaded or a traceback occurs if there was no file before. Cause: ------ When downloading, we use the `/web/content` endpoint. We will try to read the record in the backend via `_record_to_stream`. The record is not yet saved in database. Solution: --------- Disable download button if rec
Original PR description
Steps to reproduce: ------------------- For example: - add a work permit file to an employee (private information tab); - try to download it before saving; Issue: ------ The old file is downloaded or a traceback occurs if there was no file before. Cause: ------ When downloading, we use the `/web/content` endpoint. We will try to read the record in the backend via `_record_to_stream`. The record is not yet saved in database. Solution: --------- Disable download button if record is dirty. opw-3458842 Forward-Port-Of: odoo/odoo#134521
Steps to reproduce: - Install Knowledge App - Create a sub-article and add them as many properties as you want. - Go to search to get the list view and export the article, adding both of the properties field (`article_properties`, `article_properties_definition`). - Now try to import the file we just exported. At this moment this issue affects knowledge properties and crm, leads properties (for reference see: https://github.com/odoo/odoo/pull/122817) but the proper fix is still not
Original PR description
Steps to reproduce: - Install Knowledge App - Create a sub-article and add them as many properties as you want. - Go to search to get the list view and export the article, adding both of the properties field (`article_properties`, `article_properties_definition`). - Now try to import the file we just exported. At this moment this issue affects knowledge properties and crm, leads properties (for reference see: https://github.com/odoo/odoo/pull/122817) but the proper fix is still not applied, and since it's implementation is complicated we are going to remove the properties from the export when we tick the "I want to update data (import-compatible export)." until the proper fix is done. opw-3346642 Forward-Port-Of: odoo/odoo#131568
Description of the issue/feature this PR addresses: In case of the user have no access to all account.payment, the record can be deleted @oco-odoo --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#129253
Original PR description
Description of the issue/feature this PR addresses: In case of the user have no access to all account.payment, the record can be deleted @oco-odoo --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#129253
Before this commit, the weighing scale was not working properly. This was caused by commit 60f41b1f831248c58f554dbe40114ef0d4ce42c0, which modified the getAddProductOptions function to return both the quantity and weight, instead of just the quantity. The "weight" value returned was not handled in the subsequent "add_product" call stack, causing the weighing functionality to fail. This commit fixes the issue by using the quantity value instead of weight in the relevant code paths. In the p
Original PR description
Before this commit, the weighing scale was not working properly. This was caused by commit 60f41b1f831248c58f554dbe40114ef0d4ce42c0, which modified the getAddProductOptions function to return both the quantity and weight, instead of just the quantity. The "weight" value returned was not handled in the subsequent "add_product" call stack, causing the weighing functionality to fail. This commit fixes the issue by using the quantity value instead of weight in the relevant code paths. In the point of sale context, quantity and weight are interchangeable depending on the use case. This commit fixes the associated tests to check the weight of added order line. Related to PR https://github.com/odoo/enterprise/pull/47211 opw-3487707 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#134999
Source: Larissa (lman) Forward-Port-Of: odoo/odoo#135419
Original PR description
Source: Larissa (lman) Forward-Port-Of: odoo/odoo#135419
Activate analytic accounting Configure a [TEST] product to create a project on order Create a SO with [TEST] Have an expense product [EXP] with reinvoice policy set Create an expense with [EXP] and set as analytic account the one created for the SO and another one Complete the expense flow Check the SO Issue: the expense line was added correctly but the quantity delivered is set to 2 opw-3410712 Description of the issue/feature this PR addresses: Current behavior before PR:
Original PR description
Activate analytic accounting Configure a [TEST] product to create a project on order Create a SO with [TEST] Have an expense product [EXP] with reinvoice policy set Create an expense with [EXP] and set as analytic account the one created for the SO and another one Complete the expense flow Check the SO Issue: the expense line was added correctly but the quantity delivered is set to 2 opw-3410712 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#135368 Forward-Port-Of: odoo/odoo#130812
Before this commit, when selecting the field to import, the name, external id and database id could not be selected separatly while they should. This commit fixes that by comparing the full field path instead of the id of the fields. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#135074
Original PR description
Before this commit, when selecting the field to import, the name, external id and database id could not be selected separatly while they should. This commit fixes that by comparing the full field path instead of the id of the fields. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#135074
We must wait for an additional tick to be sure that the error dialog is displayed, because the "unhandledrejection" event is triggered asynchronously. Runbot issue-24690 Runbot issue-24691 Runbot issue-24744 Runbot issue-24733 Runbot issue-24742 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
Original PR description
We must wait for an additional tick to be sure that the error dialog is displayed, because the "unhandledrejection" event is triggered asynchronously. Runbot issue-24690 Runbot issue-24691 Runbot issue-24744 Runbot issue-24733 Runbot issue-24742 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#135426
Steps to reproduce: - Create and confirm an MO with extra components in stock - Update the quantity to produce Bug: the reserved qty is not updated (it actually is but to the previous value if you update MO quantity multiple times) since this [commit](https://github.com/odoo/odoo/pull/93712) moves are now assigned during the write before the new product_uom_qty is written on them opw-3489226 Forward-Port-Of: odoo/odoo#134739
Original PR description
Steps to reproduce: - Create and confirm an MO with extra components in stock - Update the quantity to produce Bug: the reserved qty is not updated (it actually is but to the previous value if you update MO quantity multiple times) since this [commit](https://github.com/odoo/odoo/pull/93712) moves are now assigned during the write before the new product_uom_qty is written on them opw-3489226 Forward-Port-Of: odoo/odoo#134739
Before this commit, if a product was set to be available in the PoS, and also existed in a reward, it was loaded to the PoS twice. This caused issues in `_loadProductProduct` during the assigning of pricelist items, and could result in missing pricelist information for a product. opw-3487702 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#134835
Original PR description
Before this commit, if a product was set to be available in the PoS, and also existed in a reward, it was loaded to the PoS twice. This caused issues in `_loadProductProduct` during the assigning of pricelist items, and could result in missing pricelist information for a product. opw-3487702 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#134835
[1] introduced the grid mode and with it a util that reloads lazy images in order to prevent a bug in Chrome which make images disappear. This util read the .src property of the image element. That property is the absolute URL. In order to keep the exact URL that was on the img attribute, one needs to use "getAttribute". This commit does exactly that. Steps to reproduce: - Drop a Image - Text snippet - Drag the image to enter grid mode => At the same time the image is reloaded with t
Original PR description
[1] introduced the grid mode and with it a util that reloads lazy images in order to prevent a bug in Chrome which make images disappear. This util read the .src property of the image element. That property is the absolute URL. In order to keep the exact URL that was on the img attribute, one needs to use "getAttribute". This commit does exactly that. Steps to reproduce: - Drop a Image - Text snippet - Drag the image to enter grid mode => At the same time the image is reloaded with the wrong src [1]: https://github.com/odoo/odoo/commit/cc406afcea7bf5846233a9f97a4a8ac5f618f3ec Forward-Port-Of: odoo/odoo#134019
**[FIX] account_reports: exchange rate filter** The exchange rate filter was missing styling. **[FIX] account_reports: multicurrency revaluation report action** It was not possible to open the General Ledger from the multicurrency revaluation because of a Traceback. There were 2 problems: 1) The 'reportAction' was expecting an 'ev' parameter but since the action was added in a <span>, there was none. So there was a traceback when trying to do a preventDefault/stopPropagation on
Original PR description
**[FIX] account_reports: exchange rate filter** The exchange rate filter was missing styling. **[FIX] account_reports: multicurrency revaluation report action** It was not possible to open the General Ledger from the multicurrency revaluation because of a Traceback. There were 2 problems: 1) The 'reportAction' was expecting an 'ev' parameter but since the action was added in a <span>, there was none. So there was a traceback when trying to do a preventDefault/stopPropagation on the 'ev'. To fix it, we just check if 'ev' is defined before. 2) When calling the action, there was another traceback because we were doing a 'self.ensure_one()' but there was no record on 'self' which makes sense since we are in a report handler. To fix it, we have to get the report manually with a browse. Forward-Port-Of: odoo/enterprise#47152
Before this commit, the weighing scale was not working properly. This was caused by commit https://github.com/odoo-dev/odoo/commit/60f41b1f831248c58f554dbe40114ef0d4ce42c0, which modified the getAddProductOptions function to return both the quantity and weight, instead of just the quantity. The "weight" value returned was not handled in the subsequent "add_product" call stack, causing the weighing functionality to fail. This commit fixes the issue by using the quantity value instead of wei
Original PR description
Before this commit, the weighing scale was not working properly. This was caused by commit https://github.com/odoo-dev/odoo/commit/60f41b1f831248c58f554dbe40114ef0d4ce42c0, which modified the getAddProductOptions function to return both the quantity and weight, instead of just the quantity. The "weight" value returned was not handled in the subsequent "add_product" call stack, causing the weighing functionality to fail. This commit fixes the issue by using the quantity value instead of weight in the relevant code paths. In the point of sale context, quantity and weight are interchangeable depending on the use case. This commit fixes the associated tests to check the weight of added order line. opw-3487707 Forward-Port-Of: odoo/enterprise#47211
In `TimesheetTimerRendererHook._popRecord`, a typo in `this.timerState.timersheetId` is causing a traceback when trying to start a timer for an existing timesheet. This PR fixes it. Forward-Port-Of: odoo/enterprise#47356
Original PR description
In `TimesheetTimerRendererHook._popRecord`, a typo in `this.timerState.timersheetId` is causing a traceback when trying to start a timer for an existing timesheet. This PR fixes it. Forward-Port-Of: odoo/enterprise#47356
*hr_appraisal_survey HOW TO REPRODUCE THE BUG: ------------------------ - Sign in as admin - Go to the settings > User and Companies > Users > Marc Demo - In Access Rights > MARKETING: change Surveys role from `Administrator` to `User` - Then log out and sign in as Marc Demo - Go to the `Surveys` app and click on any survey to access to its content. - A dialog box shows up: Odoo Server Error ... KeyError: 'survey_id' Notes: - The error shows up also when trying to access surveys
Original PR description
*hr_appraisal_survey HOW TO REPRODUCE THE BUG: ------------------------ - Sign in as admin - Go to the settings > User and Companies > Users > Marc Demo - In Access Rights > MARKETING: change Surveys role from `Administrator` to `User` - Then log out and sign in as Marc Demo - Go to the `Surveys` app and click on any survey to access to its content. - A dialog box shows up: Odoo Server Error ... KeyError: 'survey_id' Notes: - The error shows up also when trying to access surveys available from the `Appraisals` app. - No error when the user owns the `Administrator` access rights on `Surveys`. Fixes odoo/enterprise#38268 task-3474933 Forward-Port-Of: odoo/enterprise#46093
### Steps - Enable 'Quotation template' for Sales in settings - Create a template and set 'Online confirmation' to just 'Signature' (and not 'Payment') - Create a portal user - Create a quotation with a subscription product and created user as partner - Save and mark the quotation as sent - Login as the portal user, and sign the quotation ### Issue There is a raw 'sign_ok' display in the subscription div ### Reason As the template is generic and used in multiple modules and flow, i
Original PR description
### Steps - Enable 'Quotation template' for Sales in settings - Create a template and set 'Online confirmation' to just 'Signature' (and not 'Payment') - Create a portal user - Create a quotation with a subscription product and created user as partner - Save and mark the quotation as sent - Login as the portal user, and sign the quotation ### Issue There is a raw 'sign_ok' display in the subscription div ### Reason As the template is generic and used in multiple modules and flow, it doesn't well handle the specific sign flow ### Solution After discussing with the subscription team we agreed to add a condition to force the message passed in the attributes to also have a class to be displayed. opw-3432885 Forward-Port-Of: odoo/enterprise#47315