Thursday, September 14, 2023
38 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
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.
Project 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 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