Wednesday, December 27, 2023
30 changes · master
Enhancements to existing features
Project settings now prevent users from creating a new company directly while choosing a company on a project. This keeps company setup controlled through the proper business process and reduces accidental duplicate or incorrect company records.
Original PR description
Disable on the fly creation for companies in view: - `project.project.form`: Project > Settings task-3507965 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Recruitment Offers empty screen now uses clearer messaging and gives users a direct path to view all applications. This helps recruitment teams understand what to do next when no offers are available.
Original PR description
Change alternates message for Recruitment Offers' empty screen. It includes redirection to All Applications view. task-3637560
Unplanned tasks on the project map now appear with muted pin text, making them easier to distinguish from scheduled work. This helps teams read the map at a glance and avoid confusing unscheduled tasks with planned ones.
Original PR description
Task-3617973
Miscellaneous changes
Unit price is recomputed on non groupable order line instead of being the same as its sale order line counterpart. Steps to reproduce: - make sure unit measure category are not groupable - create a sale order and add a line with a product with UOM unit (ex: acoustic bloc screens) and quantity 3 - change the default unit price (100$ instead of 295$) - open the point of sale - open the SO and click on settle the order => price is 295$ instead of 100$ on each of the 3 lines --- I
Original PR description
Unit price is recomputed on non groupable order line instead of being the same as its sale order line counterpart. Steps to reproduce: - make sure unit measure category are not groupable - create a sale order and add a line with a product with UOM unit (ex: acoustic bloc screens) and quantity 3 - change the default unit price (100$ instead of 295$) - open the point of sale - open the SO and click on settle the order => price is 295$ instead of 100$ on each of the 3 lines --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#147487 Forward-Port-Of: odoo/odoo#143266
**steps to reproduce:** - as admin, go to /shop and add a storable product to cart - disable all delivery methods - use a coupon to set the price to 0 **before this commit:** - the payment button is clickable even if there is a big red error message saying "Sorry, we are unable to ship your order" **after this commit:** - the payment button is hidden if an error is displayed and the route /shop/payment/validate is blocked if there is an error displayed opw-3582207-nda --- I con
Original PR description
**steps to reproduce:** - as admin, go to /shop and add a storable product to cart - disable all delivery methods - use a coupon to set the price to 0 **before this commit:** - the payment button is clickable even if there is a big red error message saying "Sorry, we are unable to ship your order" **after this commit:** - the payment button is hidden if an error is displayed and the route /shop/payment/validate is blocked if there is an error displayed opw-3582207-nda --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#146251 Forward-Port-Of: odoo/odoo#142401
Steps to reproduce: - Install Project module - Login as admin - Create a task an assign it to admin - Go to 'My Tasks' page (`example.com/my/tasks`) Issue: The avatar of assignee is not displayed. Cause: Using a row over two elements that are already in a table. Solution: Add `px-0` bootstrap CSS class to the avatar. opw-3592972 Forward-Port-Of: odoo/odoo#147369 Forward-Port-Of: odoo/odoo#147220
Original PR description
Steps to reproduce: - Install Project module - Login as admin - Create a task an assign it to admin - Go to 'My Tasks' page (`example.com/my/tasks`) Issue: The avatar of assignee is not displayed. Cause: Using a row over two elements that are already in a table. Solution: Add `px-0` bootstrap CSS class to the avatar. opw-3592972 Forward-Port-Of: odoo/odoo#147369 Forward-Port-Of: odoo/odoo#147220
Steps to reproduce: - Activate debug mode - Install `Purchase` module - Set user timezone to `Europe/Brussels` - Create a purchase order and add an order line - Set `Receipt Date` to any date in the future with time 01:00:00 - Confirm the purchase order - Click on "Confirm Receipt Date" button - Check message in the chatter Issue: The receipt date is the day before the one set in the purchase order. (Same issue when sending reminder by mail) Cause: `d
Original PR description
Steps to reproduce: - Activate debug mode - Install `Purchase` module - Set user timezone to `Europe/Brussels` - Create a purchase order and add an order line - Set `Receipt Date` to any date in the future with time 01:00:00 - Confirm the purchase order - Click on "Confirm Receipt Date" button - Check message in the chatter Issue: The receipt date is the day before the one set in the purchase order. (Same issue when sending reminder by mail) Cause: `date_planned` is stored in UTC in the database and used as it is in the message. Solution: Convert `date_planned` to the order timezone before sending the message. opw-3503928 Forward-Port-Of: odoo/odoo#147525 Forward-Port-Of: odoo/odoo#147013
Steps to produce ======================== - Activate QR code in pos config - Open session - Make an order for a certain partner (do not invoice) - At receipt, scan the QR code - Sign in as a normal user (like admin) bug - Invoice is created for admin and not the partner in the order After this commit ======================== The partner of the created invoice will be the partner of the POS order. task - 3497301 Forward-Port-Of: odoo/odoo#135843
Original PR description
Steps to produce ======================== - Activate QR code in pos config - Open session - Make an order for a certain partner (do not invoice) - At receipt, scan the QR code - Sign in as a normal user (like admin) bug - Invoice is created for admin and not the partner in the order After this commit ======================== The partner of the created invoice will be the partner of the POS order. task - 3497301 Forward-Port-Of: odoo/odoo#135843
Steps to reproduce: - Create Allocation for 20 days for Mitchell Admin and validate (12/01 to 12/31). - Set Working Schedule "Standard 40 hours/week" to UTC timezone. - Set Mitchell Admin's timezone to Europe/Zurich. - Create a time off with type Extra Time Off with dates 12/29 - 12/29 and try to save. - Receive Validation Error: There is no valid allocation to cover that request. Issues: You cannot request that leave due to a timezone mismatch, even though you should be able to. Sol
Original PR description
Steps to reproduce: - Create Allocation for 20 days for Mitchell Admin and validate (12/01 to 12/31). - Set Working Schedule "Standard 40 hours/week" to UTC timezone. - Set Mitchell Admin's timezone to Europe/Zurich. - Create a time off with type Extra Time Off with dates 12/29 - 12/29 and try to save. - Receive Validation Error: There is no valid allocation to cover that request. Issues: You cannot request that leave due to a timezone mismatch, even though you should be able to. Solution: To solve the zone mismatch we use the employee timezone to compute the attendance intervals. opw-3619178 Forward-Port-Of: odoo/odoo#146938
…tive Steps to produce: - Go to project application and create a new task with SO. - Select a customer that has prepaid hours product. - Check that remaining hours on SO is less than 0. - Share that project. - Go to front-end. Issue: The value of 'remaining hours on SO' should be displayed in red if the value is negative Cause: Necessary class was not added to the field Solution: To resolve this issue added decoration-danger when remaining hours so is less th
Original PR description
…tive
Steps to produce:
- Go to project application and create a new task with SO.
- Select a customer that has prepaid hours product.
- Check that remaining hours on SO is less than 0.
- Share that project.
- Go to front-end.
Issue: The value of 'remaining hours on SO' should be displayed in red
if the value is negative
Cause: Necessary class was not added to the field
Solution: To resolve this issue added decoration-danger when remaining
hours so is less than 0.
task-3549489
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#146948
Forward-Port-Of: odoo/odoo#140682When the user inputs nothing in the setQuantity input in the product catalog input, NaN is fixed in the productCatalogData.quantity value, which is fine for the backend since the NaN will be converted to Null then 0 when fixed in the SOL qty_product but the product card will display an empty input which is not good. with this change the productCatalogData.quantity will be fixed to 0, making the input space (and minus/plus buttons) disapear, which is more logical since the product quantity has
Original PR description
When the user inputs nothing in the setQuantity input in the product catalog input, NaN is fixed in the productCatalogData.quantity value, which is fine for the backend since the NaN will be converted to Null then 0 when fixed in the SOL qty_product but the product card will display an empty input which is not good. with this change the productCatalogData.quantity will be fixed to 0, making the input space (and minus/plus buttons) disapear, which is more logical since the product quantity has been set to 0 In addition to this it'll prevent a traceback in industry_fsm_sale module where we used float_round() to fix the product quantity, which doesn't handle Null value -> https://github.com/odoo/enterprise/pull/50839 Task-3599491 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#142523
This error occurs because the user has deleted the default email template so that it will not get the `default_mail_template_id`. Steps to produce : - Install the `Invoicing` module. - Go to Settings > Technical > Email > Email Templates. - Delete the `Invoice: Sending` email template. - Open any existing invoice (not a draft one) - Click on `Send & Print` button > Error will be generated. See traceback : ``` AttributeError: 'NoneType' object has no attribute 'id' File "odoo/http
Original PR description
This error occurs because the user has deleted the default email template so that it will not get the `default_mail_template_id`. Steps to produce : - Install the `Invoicing` module. - Go to Settings…
This error occurs because the user has deleted the default email template so that it will not get the `default_mail_template_id`.
Steps to produce :
- Install the `Invoicing` module.
- Go to Settings > Technical > Email > Email Templates.
- Delete the `Invoice: Sending` email template.
- Open any existing invoice (not a draft one)
- Click on `Send & Print` button > Error will be generated.
See traceback :
```
AttributeError: 'NoneType' object has no attribute 'id'
File "odoo/http.py", line 2134, in __call__
response = request._serve_db()
File "odoo/http.py", line 1710, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "odoo/service/model.py", line 133, in retrying
result = func()
File "odoo/http.py", line 1737, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 1938, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "addons/website/models/ir_http.py", line 235, in _dispatch
response = super()._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 191, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 717, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 34, in call_button
action = self._call_kw(model, method, args, kwargs)
File "addons/web/controllers/dataset.py", line 26, 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 "addons/account/models/account_move.py", line 3985, in action_invoice_sent
report_action = self.action_send_and_print()
File "addons/account/models/account_move.py", line 3975, in action_send_and_print
'default_mail_template_id': template.id,
```
This issue is coming because here
https://github.com/odoo/odoo/blob/77d40f4e843d9f10bde93309087306117a538899/addons/account/models/account_move.py#L3869
it attempts to access the template id. In our case, since the template no longer
exists, it cannot retrieve the template id.
before this commit https://github.com/odoo/odoo/commit/955091e707df1206ccda8314f1f182e2a37a8362
in previous version it sets the value if there is no default template id see
https://github.com/odoo/odoo/blob/eb8e2e98a429881f15b65b95fae41d2080b9bb24/addons/account/models/account_move.py#L3698
After this commit, if it cannot find the template, it will return a false value.
Sentry-4508631049
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#137001Steps to reproduce: - Inventory -> Delivery -> New Planned transfer - Add two lines with two different products and save - Set different scheduled dates for each move - Set the earliest move quantity_done to the demand - Validate and create a backorder Issue: The done picking scheduled date will be changed to the latest move (that is moved to the backorder). This is due to a recompute of the picking's scheduled_date *before* the remaining moves are assigned to the backorder. opw-3
Original PR description
Steps to reproduce: - Inventory -> Delivery -> New Planned transfer - Add two lines with two different products and save - Set different scheduled dates for each move - Set the earliest move quantity_done to the demand - Validate and create a backorder Issue: The done picking scheduled date will be changed to the latest move (that is moved to the backorder). This is due to a recompute of the picking's scheduled_date *before* the remaining moves are assigned to the backorder. opw-3346598 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#147330 Forward-Port-Of: odoo/odoo#143377
PDF written with scribus (and some other software) have a problem when filling fields: the output does not work as expected. The replaced value is there, but hidden behind a blue overlay, shown only when clicking on it. We now show the field value and ensure filled fields are read only. Additionally, some readers only allow a single value per field name. Even if the values were different on the documents, only one would be shown. We now rename the fields to ensure they are different when t
Original PR description
PDF written with scribus (and some other software) have a problem when filling fields: the output does not work as expected. The replaced value is there, but hidden behind a blue overlay, shown only when clicking on it. We now show the field value and ensure filled fields are read only. Additionally, some readers only allow a single value per field name. Even if the values were different on the documents, only one would be shown. We now rename the fields to ensure they are different when they have different values. task-3626047 Forward-Port-Of: odoo/odoo#145163
Create a new live-session survey with a multi-choice question of 4 choices. In one of the choices write a word of 20+ characters. Start the live-session, on the manager side the choices overlap on the screen. In case a word is longer that the available place, it can overlap on the labels of the other columns, making the text very hard to read. This work wraps words that are too long for a single line over multiple ones. Task-3530706 Forward-Port-Of: odoo/odoo#146554 Forward-Port-Of: o
Original PR description
Create a new live-session survey with a multi-choice question of 4 choices. In one of the choices write a word of 20+ characters. Start the live-session, on the manager side the choices overlap on the screen. In case a word is longer that the available place, it can overlap on the labels of the other columns, making the text very hard to read. This work wraps words that are too long for a single line over multiple ones. Task-3530706 Forward-Port-Of: odoo/odoo#146554 Forward-Port-Of: odoo/odoo#139520
When the payment reference is set as the customer reference, the warning message of the transaction still show the order reference instead. With this commit, we now ensure the expected reference is shown instead. opw-3461181 Forward-Port-Of: odoo/odoo#147143 Forward-Port-Of: odoo/odoo#146808
Original PR description
When the payment reference is set as the customer reference, the warning message of the transaction still show the order reference instead. With this commit, we now ensure the expected reference is shown instead. opw-3461181 Forward-Port-Of: odoo/odoo#147143 Forward-Port-Of: odoo/odoo#146808
When `orderpoint.qty_multiple` is decimal, then `remainder` may be wrong. The applied formula is: `qty_to_order % qty_multiple = remainder` Examples: 510 % 10 = 0 51% 1 = 0 5.1 % 0.1 = 0.09999999999999937 which is rounded to 0.1 > 0 0.51 % 0.01 = 0.009999999999999998 which is rounded to 0.01 > 0 This PR fixes it. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#146858 Forward-Port-Of: odoo/odoo#145062
Original PR description
When `orderpoint.qty_multiple` is decimal, then `remainder` may be wrong. The applied formula is: `qty_to_order % qty_multiple = remainder` Examples: 510 % 10 = 0 51% 1 = 0 5.1 % 0.1 = 0.09999999999999937 which is rounded to 0.1 > 0 0.51 % 0.01 = 0.009999999999999998 which is rounded to 0.01 > 0 This PR fixes it. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#146858 Forward-Port-Of: odoo/odoo#145062
Description of the issue/behavior this commit addresses: When 2FA is on on a user and he tries to use an API key to do a xmlrpc request, the request fails. This is due to the system which choses whether or not to send an alert via mail to look in the request's values while there is actually no url request in that case. --- Desired behavior after this commit is merged: This commit adds a check to make sure a request is available before checking its values. --- opw-3645609
Original PR description
Description of the issue/behavior this commit addresses: When 2FA is on on a user and he tries to use an API key to do a xmlrpc request, the request fails. This is due to the system which choses whether or not to send an alert via mail to look in the request's values while there is actually no url request in that case. --- Desired behavior after this commit is merged: This commit adds a check to make sure a request is available before checking its values. --- opw-3645609 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#147475
The `calendar notification` tests patch the `setTimeout` function. This sometimes leads to infinite recursion when the `multi_tab` service has enough time to initialize: this service make use of `setTimeout` to call the `heartbeat` method repeatedly. Moreover, patching the `setTimeout` method is not a good idea since it makes this method synchronous which totally changes the flow that is tested. This PR fixes this issue by using the `contains` helper instead: this method will wait for t
Original PR description
The `calendar notification` tests patch the `setTimeout` function. This sometimes leads to infinite recursion when the `multi_tab` service has enough time to initialize: this service make use of `setTimeout` to call the `heartbeat` method repeatedly. Moreover, patching the `setTimeout` method is not a good idea since it makes this method synchronous which totally changes the flow that is tested. This PR fixes this issue by using the `contains` helper instead: this method will wait for the element to be inserted in the DOM and perform the assertion afterwards. Forward-Port-Of: odoo/odoo#147503 Forward-Port-Of: odoo/odoo#147275
Previous PR odoo/odoo#143570 moved some move line ordering logic from the model to the view to avoid recomputing of these fields since it was causing issues with the computes occurring at the wrong time. Unfortunately every field used in the `default_order` in the view has to be present in the view and since v16 any fields that have a groups attribute that isn't met isn't loaded in the view. Therefore we have to force the `result_package_id` to always be in the view even if `stock.group_track
Original PR description
Previous PR odoo/odoo#143570 moved some move line ordering logic from the model to the view to avoid recomputing of these fields since it was causing issues with the computes occurring at the wrong…
Previous PR odoo/odoo#143570 moved some move line ordering logic from the model to the view to avoid recomputing of these fields since it was causing issues with the computes occurring at the wrong time. Unfortunately every field used in the `default_order` in the view has to be present in the view and since v16 any fields that have a groups attribute that isn't met isn't loaded in the view. Therefore we have to force the `result_package_id` to always be in the view even if `stock.group_tracking_lot` is not true (i.e. packages are active) Steps to reproduce: - create +save a receipt with a tracked product - click on the burger button to open the detailed operations of the tracked product - add 2 move lines + Confirm Expected behavior: the move lines save Actual behavior: JS traceback due to trying to sort on a field that isn't present in the view --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#147188 Forward-Port-Of: odoo/odoo#146963
Several tests are non deterministic because they are using `assert.verifySteps` at the wrong moment. Helpers such as `afterNextRender`, `nextTick`, `Deferred` are used but those are either not reliable or cumbersome to setup. This PR introduces an asynchronous API on top of `assert.step`/`assert.verifyStep`. This will wait until steps are executed or until the timeout is reached. fixes runbot-52660,54471,52794 Forward-Port-Of: odoo/odoo#147455
Original PR description
Several tests are non deterministic because they are using `assert.verifySteps` at the wrong moment. Helpers such as `afterNextRender`, `nextTick`, `Deferred` are used but those are either not reliable or cumbersome to setup. This PR introduces an asynchronous API on top of `assert.step`/`assert.verifyStep`. This will wait until steps are executed or until the timeout is reached. fixes runbot-52660,54471,52794 Forward-Port-Of: odoo/odoo#147455
**Steps to reproduce the bug:** - Create a storable product “P1”: - Tracked by: SN - BoM: - product qty: 1 - Component: consumable product qty:1 - Create a MO to produce 12 unit of P1 - Update the qty of the consumable product to 31 - Confirm the MO - Click on “Mass produce” **Problem:** An user error is triggered: “It is not possible to unreserve more products of Consu than you have in stock” The product is a consumable, we should not update its reser
Original PR description
**Steps to reproduce the bug:**
- Create a storable product “P1”:
- Tracked by: SN
- BoM:
- product qty: 1
- Component: consumable product qty:1
- Create a MO to produce 12 unit of P1
- Update the qty of the consumable product to 31
- Confirm the MO
- Click on “Mass produce”
**Problem:**
An user error is triggered:
“It is not possible to unreserve more products of Consu than you have in stock”
The product is a consumable, we should not update its reserved quantity.
opw-3620437
Forward-Port-Of: odoo/odoo#147361
Forward-Port-Of: odoo/odoo#145951To reproduce (on runbot): - Enable "debug" mode - Switch to company "My Begian Company" - Go to: Payroll / Configuration / Contracts / Template - Create a new contract template: * Name: Student contract template * Salary structure: Belgian Student * Job position: Student - Create a new applicant for job position (Student) - name: John Doe - email: john@example.com - Click "Generate Offer": - Contract Template: Student contract template - Click "Save" - On
Original PR description
To reproduce (on runbot): - Enable "debug" mode - Switch to company "My Begian Company" - Go to: Payroll / Configuration / Contracts / Template - Create a new contract template: * Name: Student…
To reproduce (on runbot): - Enable "debug" mode - Switch to company "My Begian Company" - Go to: Payroll / Configuration / Contracts / Template - Create a new contract template: * Name: Student contract template * Salary structure: Belgian Student * Job position: Student - Create a new applicant for job position (Student) - name: John Doe - email: john@example.com - Click "Generate Offer": - Contract Template: Student contract template - Click "Save" - On the offer, click "Salary Configurator" button => by default student has only 1 benefit in kind (regular pay) but on the salary configurator you see many more entries listed (ex: 13th Month) that are coming from another salary structure (Belgian Employee). During the simulation as no employee exists (it's an applicant), a new "temporary" employee is created and assignee to the contract; this update the company which trigger a recomputation of the `structure_type_id` field (since odoo/odoo@21aca4704) resetting it's value to the country's default. This commit ensure we only reset that field when the country do change --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#147079
Steps to reproduce: - Go to Sales and create a quotation - In "Terms and conditions" field, add a Checklist and a Quote, using "/" command - Print the quotation => Checkboxes are replaced by bullets and blockquote has no style. Solution: For blockquote in reports, use the same style than web_editor: https://github.com/odoo/odoo/blob/b2fa69202c6b3ab677973643711ccd561a2edaea/addons/web_editor/static/src/scss/web_editor.common.scss#L648-L654 opw-3349082 --- I confirm I have s
Original PR description
Steps to reproduce: - Go to Sales and create a quotation - In "Terms and conditions" field, add a Checklist and a Quote, using "/" command - Print the quotation => Checkboxes are replaced by bullets and blockquote has no style. Solution: For blockquote in reports, use the same style than web_editor: https://github.com/odoo/odoo/blob/b2fa69202c6b3ab677973643711ccd561a2edaea/addons/web_editor/static/src/scss/web_editor.common.scss#L648-L654 opw-3349082 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#147564 Forward-Port-Of: odoo/odoo#145540
To reproduce: 1- Create two bills, the first one should be +30 days overdue and the other between 15 and 30. 2- Execute manually the 15 days / level 1 follow-up. The partner goes into the 30 day level. 3- Change the Next Reminder date to the day before today. 4- Execute the second reminder manually. The partner status will go to 40 days. 5- Pay the first invoice. Now when you go back to the follow-up report, the first invoice will have been removed (normal) but the status remains in "40
Original PR description
To reproduce: 1- Create two bills, the first one should be +30 days overdue and the other between 15 and 30. 2- Execute manually the 15 days / level 1 follow-up. The partner goes into the 30 day level. 3- Change the Next Reminder date to the day before today. 4- Execute the second reminder manually. The partner status will go to 40 days. 5- Pay the first invoice. Now when you go back to the follow-up report, the first invoice will have been removed (normal) but the status remains in "40 days" (not normal). This happens because the executed follow-up level is set for all the move lines, even the ones that are not due enough for the level. Fix: only change the follow-up level on the move lines if their due date is more to or equal to the delay of the level being executed. task-3608880 Forward-Port-Of: odoo/enterprise#53388 Forward-Port-Of: odoo/enterprise#52059
In a multi-company database, as the `Manager Reminder` email setting is a per-company setting, we should only send the reminder to the employees (Timesheet / Manager) of the companies which have the setting enabled OPW-3625737 Forward-Port-Of: odoo/enterprise#53356 Forward-Port-Of: odoo/enterprise#52808
Original PR description
In a multi-company database, as the `Manager Reminder` email setting is a per-company setting, we should only send the reminder to the employees (Timesheet / Manager) of the companies which have the setting enabled OPW-3625737 Forward-Port-Of: odoo/enterprise#53356 Forward-Port-Of: odoo/enterprise#52808
odoo/odoo#143570 changes the default order on the `stock.move.line` model. Which means that some tests using this order as index references won't be aligned anymore and needs some adjustments. In order to avoid changing the meaning of the test, only had a `sorted()` before the comparisons to simulate the old default order. Forward-Port-Of: odoo/enterprise#53320 Forward-Port-Of: odoo/enterprise#52795
Original PR description
odoo/odoo#143570 changes the default order on the `stock.move.line` model. Which means that some tests using this order as index references won't be aligned anymore and needs some adjustments. In order to avoid changing the meaning of the test, only had a `sorted()` before the comparisons to simulate the old default order. Forward-Port-Of: odoo/enterprise#53320 Forward-Port-Of: odoo/enterprise#52795
Complete the fix of commit: https://github.com/odoo/enterprise/commit/aacf90852cfcba71ba4b62ceaefecf7da723ebf3 We need to set the subtype of the message to 'comment' (`mt_comment`) to respect the domain which filters the messages to be displayed for a portal user. opw-3601205 Forward-Port-Of: odoo/enterprise#53044
Original PR description
Complete the fix of commit: https://github.com/odoo/enterprise/commit/aacf90852cfcba71ba4b62ceaefecf7da723ebf3 We need to set the subtype of the message to 'comment' (`mt_comment`) to respect the domain which filters the messages to be displayed for a portal user. opw-3601205 Forward-Port-Of: odoo/enterprise#53044
Steps: - Install planning. - Copy shifts of the previous week. - A toaster notification appears with a `UNDO` button. Issue: - When this toaster notification appears, at that time if we close the `Planning` app and move to the home menu or another app, and then click on the `UNDO` button then a traceback appears stating that `Component is destroyed`. Cause: - We are moving back to the home screen so the state of the component is changed from `Mounted` to `Destroyed`. Fix: - Whe
Original PR description
Steps: - Install planning. - Copy shifts of the previous week. - A toaster notification appears with a `UNDO` button. Issue: - When this toaster notification appears, at that time if we close the `Planning` app and move to the home menu or another app, and then click on the `UNDO` button then a traceback appears stating that `Component is destroyed`. Cause: - We are moving back to the home screen so the state of the component is changed from `Mounted` to `Destroyed`. Fix: - When we move back to the Home menu this particular toaster notification containing the UNDO button should not be visible. We are achieving that using onWillUnmount. task-3522253 Forward-Port-Of: odoo/enterprise#53106 Forward-Port-Of: odoo/enterprise#47974
The goal is to block payment validation if a payment error have been raised. See community PR: https://github.com/odoo/odoo/pull/142401 opw-3582207 Forward-Port-Of: odoo/enterprise#52753 Forward-Port-Of: odoo/enterprise#51216
Original PR description
The goal is to block payment validation if a payment error have been raised. See community PR: https://github.com/odoo/odoo/pull/142401 opw-3582207 Forward-Port-Of: odoo/enterprise#52753 Forward-Port-Of: odoo/enterprise#51216