Tuesday, July 2, 2024
35 changes · saas-17.1
Resolved issues and error corrections
This update refreshes the spreadsheet component and fixes issues affecting sheet handling and translations. Users should see more reliable spreadsheet behavior, especially when renaming sheets, with no major workflow changes expected.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/d15aaf32c [REL] 17.1.20 Task: 0 https://github.com/odoo/o-spreadsheet/commit/195f429bf [FIX] BottomBarSheet: Prevent drag of sheet while editing its name Task: 4010842 https://github.com/odoo/o-spreadsheet/commit/58b8571d4 [FIX] model: mark default translations as loaded Task: 3999116 https://github.com/odoo/o-spreadsheet/commit/74977c768 [IMP] documentation: improve commands documentation Task: 3989757 Co-authored-by: Anthony Hendrickx (anhe) <anhe@odoo.com> Co-authored-by: Alexis Lacroix (laa) <laa@odoo.com> Co-authored-by: Lucas Lefèvre (lul) <lul@odoo.com> Co-authored-by: Dhrutik Patel (dhrp) <dhrp@odoo.com> Co-authored-by: Adrien Minne (adrm) <adrm@odoo.com> Co-authored-by: Mehdi Rachico (mera) <mera@odoo.com> Co-authored-by: Rémi Rahir (rar) <rar@odoo.com> Co-authored-by: Pierre Rousseau (pro) <pro@odoo.com> Co-authored-by: Vincent Schippefilt (vsc) <vsc@odoo.com>
This fix makes the project to-do task activity test tour more stable across different time zones. It helps prevent false test failures, supporting smoother releases without changing end-user functionality.
Original PR description
Here the error was due to timezone differences, so a frozentime wouldn't act indifferent irrespective of timezone. Also the isCheck is required in tour because a default run function is generated for every tour step for the specific I changed it is click. It is currently not affecting the tour because the tour is run with no delay. task-4004285
Miscellaneous changes
In commit [1], the `o-map-omit` SCSS function has been modified in order to fix the values of CSS variables that would have been wrongly set to `'True'` or `'False'`, instead of boolean `true` and `false`. However, the issue only happened in "website", so the code should not have been added in this function which is located in the "web" module, because it is really website-specific. This commit moves this fix in the website `o-map-force-nulls` function instead. [1]: https://github.com/odoo
Original PR description
In commit [1], the `o-map-omit` SCSS function has been modified in order to fix the values of CSS variables that would have been wrongly set to `'True'` or `'False'`, instead of boolean `true` and `false`. However, the issue only happened in "website", so the code should not have been added in this function which is located in the "web" module, because it is really website-specific. This commit moves this fix in the website `o-map-force-nulls` function instead. [1]: https://github.com/odoo/odoo/commit/e01b861b89546ab5d7b5ce8269b06e9b7a845835 Related to opw-3957157 Forward-Port-Of: odoo/odoo#171312
Problem: Placeholders were added in 17.0 to be used when switching to Studio mode. However, this placeholder will appear on the printed report if the `res.partner` has no name. Creating a `Delivery Address` for a `res.partner` does not require a name due to its type. Purpose: Hide this placeholder in cases were `Delivery Address` record does not have a `name` set. Steps to Reproduce: 1) Enable `Signatures` for deliveries 2) Create a new `Delivery Address` with no `name` for an existing `
Original PR description
Problem: Placeholders were added in 17.0 to be used when switching to Studio mode. However, this placeholder will appear on the printed report if the `res.partner` has no name. Creating a `Delivery Address` for a `res.partner` does not require a name due to its type. Purpose: Hide this placeholder in cases were `Delivery Address` record does not have a `name` set. Steps to Reproduce: 1) Enable `Signatures` for deliveries 2) Create a new `Delivery Address` with no `name` for an existing `res.partner` record 3) Create a SO -> confirm -> sign delivery 4) Print `Delivery Slip` opw-3988100 Forward-Port-Of: odoo/odoo#171305
### Steps to reproduce the issue: 1. Create two Sale Orders with Service Products based on Timesheets 2. Select both Sale Orders in the List view and click on "Create Invoices" 3. Uncheck "Consolidated Billing" and Create Draft Invoice 4. You only create one Invoice, doing the same steps with Storable Products creates two ### Explanation: `sale.order._create_invoices` can receive a `grouped` boolean argument that will determine whether to create one joint Invoice or multiple ones. Wh
Original PR description
### Steps to reproduce the issue: 1. Create two Sale Orders with Service Products based on Timesheets 2. Select both Sale Orders in the List view and click on "Create Invoices" 3. Uncheck "Consolidated Billing" and Create Draft Invoice 4. You only create one Invoice, doing the same steps with Storable Products creates two ### Explanation: `sale.order._create_invoices` can receive a `grouped` boolean argument that will determine whether to create one joint Invoice or multiple ones. When a Service Product based on Timesheets is being evaluated to create an invoice, the call to `sale.order._create_invoices` is missing this `grouped` argument. ### Suggested fix: Adding a `grouped` argument fixes the issue. opw-3915213 Forward-Port-Of: odoo/odoo#170584
The `Message shows up even if channel data is incomplete` test sometimes fails. This test ensures that a message received on a partially known channel still appears. To achieve this, the test needs to manually refresh the bus subscription and wait for this subscription to complete before sending a notification on the bus. Sometimes, the notification occurs before `waitUntilSubscribe` is called. Consequently, the `waitForSubscribe` function hangs because the expected subscription for
Original PR description
The `Message shows up even if channel data is incomplete` test sometimes fails. This test ensures that a message received on a partially known channel still appears. To achieve this, the test needs to manually refresh the bus subscription and wait for this subscription to complete before sending a notification on the bus. Sometimes, the notification occurs before `waitUntilSubscribe` is called. Consequently, the `waitForSubscribe` function hangs because the expected subscription for the test has already been completed. This PR resolves this issue. runbot-59270 Forward-Port-Of: odoo/odoo#171404
Before this PR, the `Channel subscription is renewed when channel is manually added` test was sometimes failing. This test ensures the bus subscription is renewed when the user joins a channel. To do this, the test relies on the `assert.step` API: the channel is added, we wait for a tick, and then we assert that the step was correctly registered. However, a tick is sometimes not enough. This PR replaces the usage of QUnit's tep API with the web one that waits for the step to be triggered,
Original PR description
Before this PR, the `Channel subscription is renewed when channel is manually added` test was sometimes failing. This test ensures the bus subscription is renewed when the user joins a channel. To do this, the test relies on the `assert.step` API: the channel is added, we wait for a tick, and then we assert that the step was correctly registered. However, a tick is sometimes not enough. This PR replaces the usage of QUnit's tep API with the web one that waits for the step to be triggered, which is far more robust. fixes runbot-61018 Forward-Port-Of: odoo/odoo#171401
Separate tax tags have been done to be able to differentiate taxes for ec sales report Task: 3978307 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#170768 Forward-Port-Of: odoo/odoo#168729
Original PR description
Separate tax tags have been done to be able to differentiate taxes for ec sales report Task: 3978307 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#170768 Forward-Port-Of: odoo/odoo#168729
Current behavior: When the restaurant is closed and "Self Ordering" is set to "QR menu + ordering", we can't access the combo choices and product attributes. Same issue when "Self Ordering" is set to "QR menu" (restaurant can be opened or closed) Steps to reproduce: - Install "Point of Sale" app and "pos_restaurant" module - In the settings, set "Self Ordering" to "QR menu + Ordering" and save - Click on "Preview Web interface" - Click on the button to access the products - You can't se
Original PR description
Current behavior: When the restaurant is closed and "Self Ordering" is set to "QR menu + ordering", we can't access the combo choices and product attributes. Same issue when "Self Ordering" is set to "QR menu" (restaurant can be opened or closed) Steps to reproduce: - Install "Point of Sale" app and "pos_restaurant" module - In the settings, set "Self Ordering" to "QR menu + Ordering" and save - Click on "Preview Web interface" - Click on the button to access the products - You can't see the attributes of a product or the possibilities of a combo when click on these products Solution: Allow to access the next steps for combo or product with attributes and remove button "Add to cart" if we shouldn't process a command opw-3854839 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#169817
The `isVisible` function did not consider those as visible. This had the side effect that they would be removed when they were the only child of a link since we remove links that do not have visible content. Steps to reproduce: - Go to Email Templates in debug mode - Open the code view and add `<a href="#"><t t-out="object.name"></t></a>` - Save - Notice that the link and the t-out have been lost opw-3990415 Forward-Port-Of: odoo/odoo#171212
Original PR description
The `isVisible` function did not consider those as visible. This had the side effect that they would be removed when they were the only child of a link since we remove links that do not have visible content. Steps to reproduce: - Go to Email Templates in debug mode - Open the code view and add `<a href="#"><t t-out="object.name"></t></a>` - Save - Notice that the link and the t-out have been lost opw-3990415 Forward-Port-Of: odoo/odoo#171212
Avoid the installation of Odoo windows version in unsafe places. Forward-Port-Of: odoo/odoo#170356
Original PR description
Avoid the installation of Odoo windows version in unsafe places. Forward-Port-Of: odoo/odoo#170356
The font-awesome icons taking the `.btn` font-size was making them 14px while the other icons in the web_editor are 12px (eg. the svg ones) It creates an overflow on the #toolbar creating on some screensize an horizontal overflow. This commit applies a font size of 12px on the .fa inside the `#toolbar`. Additionally the createlink was not receiving the border radius rule due to the `#unlink` element being present in the DOM but invisible on screen after the create-link el. Swapping their o
Original PR description
The font-awesome icons taking the `.btn` font-size was making them 14px while the other icons in the web_editor are 12px (eg. the svg ones) It creates an overflow on the #toolbar creating on some screensize an horizontal overflow. This commit applies a font size of 12px on the .fa inside the `#toolbar`. Additionally the createlink was not receiving the border radius rule due to the `#unlink` element being present in the DOM but invisible on screen after the create-link el. Swapping their order in the xml and using the class `order-1` solve the issue without impacting the backend editor. task-3634260 Part of task-3503975 Forward-Port-Of: odoo/odoo#136806
Since the automation revamp, it is not possible to update read-only fields without executing Python code. This commit removes this limitation as some use-cases are useful: - Automatically update the invoice status of SO when an action is executed. - Force the SO status to "sent" without sending the email. Task: 3983645 Forward-Port-Of: odoo/odoo#170729
Original PR description
Since the automation revamp, it is not possible to update read-only fields without executing Python code. This commit removes this limitation as some use-cases are useful: - Automatically update the invoice status of SO when an action is executed. - Force the SO status to "sent" without sending the email. Task: 3983645 Forward-Port-Of: odoo/odoo#170729
Steps --- * create MO * confirm > produce all * unlock > set produced quantity to 0 * click 'Overview' => Traceback (zero div) Fix --- set overview fields that do not make sense when the final production quantity is 0 to `False`, so they are left blank on the report opw-3958811 Forward-Port-Of: odoo/odoo#168529
Original PR description
Steps --- * create MO * confirm > produce all * unlock > set produced quantity to 0 * click 'Overview' => Traceback (zero div) Fix --- set overview fields that do not make sense when the final production quantity is 0 to `False`, so they are left blank on the report opw-3958811 Forward-Port-Of: odoo/odoo#168529
same as: https://github.com/odoo/odoo/pull/159321 opw-3786308 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#170807
Original PR description
same as: https://github.com/odoo/odoo/pull/159321 opw-3786308 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#170807
We should add the price_unit via a `t-out` attribute, using a condition inside, rather than trying to use `t-if`. This was missed in resolving fw-port issues. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#171041
Original PR description
We should add the price_unit via a `t-out` attribute, using a condition inside, rather than trying to use `t-if`. This was missed in resolving fw-port issues. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#171041
## Description The `web_read_group` done when loading the "All Applicants" view is slow when having a large quantity of `hr.applicant` ## Analysis The query done by the `web_read_group` will get all the `active` `hr.applicant`, but the field isn't indexed, so even if only a small portion of applicants are active, we are still scanning the whole table to filter out the applicants. ## Solution Index the `active` field. ## Benchmark On a DB with 900k `hr_applicant`, where only 80k are
Original PR description
## Description The `web_read_group` done when loading the "All Applicants" view is slow when having a large quantity of `hr.applicant` ## Analysis The query done by the `web_read_group` will get all the `active` `hr.applicant`, but the field isn't indexed, so even if only a small portion of applicants are active, we are still scanning the whole table to filter out the applicants. ## Solution Index the `active` field. ## Benchmark On a DB with 900k `hr_applicant`, where only 80k are `active`, the main query for the `web_read_group` takes | | Before | After | |---------|--------|-------| | Timings | 320ms | 80ms | ## Reference task-4011294 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#171000
When you take a time off for which there is no need of validation, you can refuse it, although you don't have any time off rights. This fixes the issue, you have to be either a time off officer or the manager of the one who took the time off. Task: 3981373 Forward-Port-Of: odoo/odoo#170514
Original PR description
When you take a time off for which there is no need of validation, you can refuse it, although you don't have any time off rights. This fixes the issue, you have to be either a time off officer or the manager of the one who took the time off. Task: 3981373 Forward-Port-Of: odoo/odoo#170514
**Description of the issue/feature this PR addresses:** The field condition is used but it is not show in any view. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#169077
Original PR description
**Description of the issue/feature this PR addresses:** The field condition is used but it is not show in any view. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#169077
### Steps to reproduce: - Create a storable product P using the manifacturing route - Create a BOM for that product with 2 lines: 1 x storable product COMP 1 using buy route and with a set vendor and a delivery lead time of 1 day 1 x storable product COMP 2 without any route or using the buy route without vendor - In the inventory tab of your storable product P, click on compute the "Days to prepare Manufacturing Order" from BoM ### Current Behavior: Since the second component is not
Original PR description
### Steps to reproduce: - Create a storable product P using the manifacturing route - Create a BOM for that product with 2 lines: 1 x storable product COMP 1 using buy route and with a set vendor and…
### Steps to reproduce: - Create a storable product P using the manifacturing route - Create a BOM for that product with 2 lines: 1 x storable product COMP 1 using buy route and with a set vendor and a delivery lead time of 1 day 1 x storable product COMP 2 without any route or using the buy route without vendor - In the inventory tab of your storable product P, click on compute the "Days to prepare Manufacturing Order" from BoM ### Current Behavior: Since the second component is not available, the final product is not available and the number of days to prepare the MO is set to 0 so that nothing happens: https://github.com/odoo/odoo/blob/2744217900c4eb985bd71919ef86614ab95c0fd0/addons/mrp/report/mrp_report_bom_structure.py#L680-L688 ### Expected behavior: A warning should be raised to notify the user that at least one of the component is not availabe. opw-3933989 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#170378 Forward-Port-Of: odoo/odoo#167136
## Description Following a1bc13b39559fa82763a9f0b3b603f6026b8a151 the field `One2many: applicant_ids` becomes `Many2one: applicant_id`. The field is used in lookups (ir.rules) and is also the inverse of `hr.applicant.response_ids`, and is present on the model `survey.user_input`, which is a large table, therefor should be indexed. ## Reference task-4011294 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#170918
Original PR description
## Description Following a1bc13b39559fa82763a9f0b3b603f6026b8a151 the field `One2many: applicant_ids` becomes `Many2one: applicant_id`. The field is used in lookups (ir.rules) and is also the inverse of `hr.applicant.response_ids`, and is present on the model `survey.user_input`, which is a large table, therefor should be indexed. ## Reference task-4011294 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#170918
Current behaviour: --- Product name can overflow from the label box Expected behaviour: --- Truncate the name if it's too long Steps to reproduce: --- 1. Go to Inventory > Products > Lots/Serial Numbers 2. Open one Serial Number > open its product 3. Rename product with long name 4. Go back to Lots/Serial Numbers 5. Select the Serial Number with renamed product 6. Click on Print > PDF 7. Barcode is out of the box Cause of the issue: --- Caused by: https://github.com/odoo/o
Original PR description
Current behaviour: --- Product name can overflow from the label box Expected behaviour: --- Truncate the name if it's too long Steps to reproduce: --- 1. Go to Inventory > Products > Lots/Serial Numbers 2. Open one Serial Number > open its product 3. Rename product with long name 4. Go back to Lots/Serial Numbers 5. Select the Serial Number with renamed product 6. Click on Print > PDF 7. Barcode is out of the box Cause of the issue: --- Caused by: https://github.com/odoo/odoo/commit/a5924bfe11cd9324e2ba056e0ac1d449aed730c8 Fix: --- Reverting: https://github.com/odoo/odoo/commit/a5924bfe11cd9324e2ba056e0ac1d449aed730c8 opw-3819349 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#169226
### Steps to reproduce: - Create and mark as to do a delivery order for a partner with a move: - 2 x Product P - Set the quantity of the move to 1 - Create and confirm a batch transfer containing your picking - Validate the batch transfer and create a backorder #### > The picking is removed from the batch ### Cause of the issue: The pickings are removed from the batch by these lines: https://github.com/odoo/odoo/blob/b4872364f9f8926bbf5b843db014f33652124cb9/addons/stock_picking_ba
Original PR description
### Steps to reproduce: - Create and mark as to do a delivery order for a partner with a move: - 2 x Product P - Set the quantity of the move to 1 - Create and confirm a batch transfer containing your picking - Validate the batch transfer and create a backorder #### > The picking is removed from the batch ### Cause of the issue: The pickings are removed from the batch by these lines: https://github.com/odoo/odoo/blob/b4872364f9f8926bbf5b843db014f33652124cb9/addons/stock_picking_batch/models/stock_picking.py#L141-L145 However, they should only be removed if at least one of the pickings is not backordered. opw-4001981 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#171218
To reproduce the issue: 1. Go to the wire transfer provider and enable it 2. Make sure there is a “Pending Message", if not click “Reload Pending Message” 3. Create a quotation in USD 4. Send by Email 5. Preview 6. Accept & Sign 7. Pay Now 8. Select Wire Transfer and Pay The amount will show under communication with as EUR. To fix it, only show this when the SEPA provider is used. opw-4006206 PS: I targeted 17 because it's the closest stable release to odoo.com (where we ex
Original PR description
To reproduce the issue: 1. Go to the wire transfer provider and enable it 2. Make sure there is a “Pending Message", if not click “Reload Pending Message” 3. Create a quotation in USD 4. Send by Email 5. Preview 6. Accept & Sign 7. Pay Now 8. Select Wire Transfer and Pay The amount will show under communication with as EUR. To fix it, only show this when the SEPA provider is used. opw-4006206 PS: I targeted 17 because it's the closest stable release to odoo.com (where we experience the issue). Seemingly no one else has run into this over the years so I didn't want to change previous versions needlessly. Forward-Port-Of: odoo/enterprise#65256
Steps to reproduce: Create a Subscription order in a different currency (THS) than the main currency (USD). Bug: We consider that the MRR is a "living amount". The customer will continue to pay the amount is TSh. This amount is converted into the currency of the company at the order date rate (from TSH to USD) which means, the TSh value is fixed at order date which is not correct as customer will continue to pay in TSh and the rate evolve. opw-3813197 Forward-Port-Of: odoo/enterprise#6
Original PR description
Steps to reproduce: Create a Subscription order in a different currency (THS) than the main currency (USD). Bug: We consider that the MRR is a "living amount". The customer will continue to pay the amount is TSh. This amount is converted into the currency of the company at the order date rate (from TSH to USD) which means, the TSh value is fixed at order date which is not correct as customer will continue to pay in TSh and the rate evolve. opw-3813197 Forward-Port-Of: odoo/enterprise#61872
Before, when creating an invoice for eu operations, lines without product were not accounted inside the ec sales report. Now when an invoice with lines without product happens, it will be displayed inside the ec sales report. This fix had to change the way the sbr icp export retrieved those values. Task: 3978307 Forward-Port-Of: odoo/enterprise#65455 Forward-Port-Of: odoo/enterprise#64265
Original PR description
Before, when creating an invoice for eu operations, lines without product were not accounted inside the ec sales report. Now when an invoice with lines without product happens, it will be displayed inside the ec sales report. This fix had to change the way the sbr icp export retrieved those values. Task: 3978307 Forward-Port-Of: odoo/enterprise#65455 Forward-Port-Of: odoo/enterprise#64265
Steps to Reproduce: ------------------- 1. Install hr_contract_salary module, create an advantage. 2. In the advantages 'Display Type' field should be 'Always selected'. 3. Leave the res_field_id field empty. 4. Put this advantage as Mandatory Advantage for another field. 5. Open Recruitement App, create and send an offer. 6. Go to Offers smart button and open the Offer link. 7. There will be an Internal Server Error. To resolve this issue we'll just continue wherever the res
Original PR description
Steps to Reproduce: ------------------- 1. Install hr_contract_salary module, create an advantage. 2. In the advantages 'Display Type' field should be 'Always selected'. 3. Leave the res_field_id…
Steps to Reproduce:
-------------------
1. Install hr_contract_salary module, create an advantage.
2. In the advantages 'Display Type' field should be 'Always selected'.
3. Leave the res_field_id field empty.
4. Put this advantage as Mandatory Advantage for another field.
5. Open Recruitement App, create and send an offer.
6. Go to Offers smart button and open the Offer link.
7. There will be an Internal Server Error.
To resolve this issue we'll just continue wherever the res_field_id is not set. Because
if the res_field_id is not set it'll have no value which in return gives False(bool) which
can't be appended.
Traceback:
```py
Traceback (most recent call last):
File "/home/odoo/src/odoo/17.0/odoo/http.py", line 1770, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "/home/odoo/src/odoo/17.0/odoo/service/model.py", line 133, in retrying
result = func()
File "/home/odoo/src/odoo/17.0/odoo/http.py", line 1797, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "/home/odoo/src/odoo/17.0/odoo/http.py", line 1914, in dispatch
return self.request.registry['ir.http']._dispatch(endpoint)
File "/home/odoo/src/odoo/17.0/odoo/addons/base/models/ir_http.py", line 222, in _dispatch
result = endpoint(**request.params)
File "/home/odoo/src/odoo/17.0/odoo/http.py", line 725, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "/home/odoo/src/enterprise/17.0/hr_contract_salary/controllers/main.py", line 231, in salary_package
values = self._get_default_template_values(contract, offer)
File "/home/odoo/src/enterprise/17.0/hr_contract_salary/controllers/main.py", line 131, in _get_default_template_values
values = self._get_salary_package_values(contract, offer)
File "/home/odoo/src/enterprise/17.0/hr_contract_salary/controllers/main.py", line 411, in _get_salary_package_values
mapped_benefits, mapped_dependent_benefits, mandatory_benefits, mandatory_benefits_names, benefit_types, dropdown_options_2, dropdown_group_options, initial_values_2 = self._get_benefits_values(contract, offer)
File "/home/odoo/src/enterprise/17.0/hr_contract_salary/controllers/main.py", line 397, in _get_benefits_values
dependent_name = dependent_benefit.field + '_' + dependent_benefit.display_type
TypeError: unsupported operand type(s) for +: 'bool' and 'str'
```
Forward-Port-Of: odoo/enterprise#62255Versions -------- - 16.0+ Steps ----- 1. Create a rental product template; 2. add an attribute w/ 2 or more values; 3. go to "Rental prices" and add new pricings for specific variants; 4. copy the product template; 5. go to the "Rental prices" of the copied product. Issue ----- The pricings refer to the products variants of the original template instead of the newly created ones. Cause ----- Default copy logic doesn't link the new pricings to the new products. Solution -
Original PR description
Versions -------- - 16.0+ Steps ----- 1. Create a rental product template; 2. add an attribute w/ 2 or more values; 3. go to "Rental prices" and add new pricings for specific variants; 4. copy the product template; 5. go to the "Rental prices" of the copied product. Issue ----- The pricings refer to the products variants of the original template instead of the newly created ones. Cause ----- Default copy logic doesn't link the new pricings to the new products. Solution -------- Add a `copy` override which creates new pricings for the proper variants. opw-3878124 Forward-Port-Of: odoo/enterprise#65597 Forward-Port-Of: odoo/enterprise#63284
When creating a timesheet from the ticket view form, an access error is raised if the active company is different from the company of its project. Step to reproduce: - install helpdesk_sale_timesheet - open helpdek - open configuration menu -> helpdesk teams - select a team with the visibility set on 'invited portal users' - enable the 'billing' feature, and add a project on this team - select as active company any company other than the one set on the project selected before - select
Original PR description
When creating a timesheet from the ticket view form, an access error is raised if the active company is different from the company of its project. Step to reproduce: - install helpdesk_sale_timesheet…
When creating a timesheet from the ticket view form, an access error is raised if the active company is different from the company of its project. Step to reproduce: - install helpdesk_sale_timesheet - open helpdek - open configuration menu -> helpdesk teams - select a team with the visibility set on 'invited portal users' - enable the 'billing' feature, and add a project on this team - select as active company any company other than the one set on the project selected before - select an existing ticket, or create a new one on the team - try creating a new timesheet Validation error is raised Source of the issue: If no company_id is given in the vals_list, the default company_id used by analytic line model is the active company. The issue is not present on task, because the key 'company_id' is correctly set in the '_timesheet_preprocess' method. This method is overwritten in the helpdesk_sale module and the updates done in it prevent the correct setting of the 'company_id' later on. Solution: Ensure that the 'company_id' key is present and consistent when creating a new timesheet from the ticket form view. version: 16.0 - master task - 3581941 Forward-Port-Of: odoo/enterprise#65575 Forward-Port-Of: odoo/enterprise#50150
When a contact is created with an RFC (VAT number) but no country configured, signing an invoice for that contact results in the invoice being signed correctly. However, the PDF shows the partner's RFC, while the XML file shows the generic RFC (XAXX01010101). This discrepancy misleads users into believing their setup is correct, as no error or alert is provided. This commit introduces a non-blocking warning message in the 'Send and Print' wizard for cases where the contact's country is missin
Original PR description
When a contact is created with an RFC (VAT number) but no country configured, signing an invoice for that contact results in the invoice being signed correctly. However, the PDF shows the partner's RFC, while the XML file shows the generic RFC (XAXX01010101). This discrepancy misleads users into believing their setup is correct, as no error or alert is provided. This commit introduces a non-blocking warning message in the 'Send and Print' wizard for cases where the contact's country is missing. opw-3891896 Forward-Port-Of: odoo/enterprise#63255
This commit fixes an issue withthe embedded views inside the columns block in the editor. The embedded views were overlapping the columns on their right meaning that some text could be hidden behind them. To fix this a new rule is added to these blocks so that when they are inside a column block that is not the last one we remove the negative margin-right. This way we preserve their style when inside the right-most column. task-3901864 Forward-Port-Of: odoo/enterprise#63480
Original PR description
This commit fixes an issue withthe embedded views inside the columns block in the editor. The embedded views were overlapping the columns on their right meaning that some text could be hidden behind them. To fix this a new rule is added to these blocks so that when they are inside a column block that is not the last one we remove the negative margin-right. This way we preserve their style when inside the right-most column. task-3901864 Forward-Port-Of: odoo/enterprise#63480
Removed dependency on demo data for the TestInvoiceExtractPurchase tests, as they would previously fail if the demo data had not been loaded. Now the results will be consistent, no matter if the demo data is present. Task-3957718 Forward-Port-Of: odoo/enterprise#65771 Forward-Port-Of: odoo/enterprise#65660
Original PR description
Removed dependency on demo data for the TestInvoiceExtractPurchase tests, as they would previously fail if the demo data had not been loaded. Now the results will be consistent, no matter if the demo data is present. Task-3957718 Forward-Port-Of: odoo/enterprise#65771 Forward-Port-Of: odoo/enterprise#65660
When a document has an attachment, the export done through the general ledger and "Datev + ATCH (zip)" should have a column filled with the guid of the document, which is not the case currently. To solve it, use the helper to get the attachments opw-3984450 Forward-Port-Of: odoo/enterprise#65756
Original PR description
When a document has an attachment, the export done through the general ledger and "Datev + ATCH (zip)" should have a column filled with the guid of the document, which is not the case currently. To solve it, use the helper to get the attachments opw-3984450 Forward-Port-Of: odoo/enterprise#65756
When renting with deliveries, if it's about a kit with subkit and shared component, the return will not be correct To reproduce the issue: 1. In Settings, enable "Rental Transfers" 2. Create a kit K as follow: - K - C1 - C2 - C3 - C2 3. Confirm a rental with 1 x K Error: in the return, there are two lines for each C2, which makes sense since each line is linked to a different kit. However, the quantity on each line is incorrect: 2 instead of 1 When
Original PR description
When renting with deliveries, if it's about a kit with subkit and shared component, the return will not be correct To reproduce the issue: 1. In Settings, enable "Rental Transfers" 2. Create a kit K…
When renting with deliveries, if it's about a kit with subkit and
shared component, the return will not be correct
To reproduce the issue:
1. In Settings, enable "Rental Transfers"
2. Create a kit K as follow:
- K
- C1
- C2
- C3
- C2
3. Confirm a rental with 1 x K
Error: in the return, there are two lines for each C2, which makes
sense since each line is linked to a different kit. However, the
quantity on each line is incorrect: 2 instead of 1
When generating the SM of the return, we first generate the values
https://github.com/odoo/odoo/blob/8db471e74238481a5429f0fcf8fbce1c0960ff27/addons/stock/models/stock_rule.py#L205-L206
In `_push_prepare_move_copy_values`, at some point, we adapt the
quantity of the returned SM based on the other SM of the SO. To do
so, we only consider the SM with the same product (among other
conditions). This criterion is not strict enough: for instance, when
looking at C2 of K, we take its quantity *and* we also take C2 of C1,
which is incorrect. Of course, we do the same when looking at C2 of
C1, hence the incorrect quantities.
OPW-3996074
Forward-Port-Of: odoo/enterprise#65758## How to reproduce: 1. Go to Documents > Settings > Change the deletion days of docs. (Optional) 2. Go to Documents > Trash #### Issue - The Deletions Days shown 'undefined'. It says: 'Items in trash will be deleted forever after undefined days.' ## After this commit: Deletions Days will be shown there even after you update them. Task-3984627 Forward-Port-Of: odoo/enterprise#64538
Original PR description
## How to reproduce: 1. Go to Documents > Settings > Change the deletion days of docs. (Optional) 2. Go to Documents > Trash #### Issue - The Deletions Days shown 'undefined'. It says: 'Items in trash will be deleted forever after undefined days.' ## After this commit: Deletions Days will be shown there even after you update them. Task-3984627 Forward-Port-Of: odoo/enterprise#64538