Friday, June 14, 2024
51 changes · saas-17.3
Resolved issues and error corrections
A small unused styling marker was removed from the Mail notification settings screen. This tidy-up reduces clutter in the interface code without changing how users interact with the feature.
Original PR description
typo in xml and can be removed --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The spreadsheet pivot menu no longer offers the "See records" option when it cannot work for range-based spreadsheet pivots. This prevents users from triggering an error and keeps the pivot interaction focused on supported actions.
Original PR description
Steps to reproduce: - insert a pivot based on a range in the spreadsheet - right click on any pivot value - click on "See records" => Traceback This commit disable "SEE_RECORDS" for pivots of type "SPREADSHEET" as it does not make sense. Task: 3987066 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 change prevents duplicate or misplaced table creation when adding pivot data in spreadsheets. Tables are now created only through the appropriate pivot insertion flows, making spreadsheet pivot behavior more reliable for users.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix ensures the Colombian electronic invoicing module correctly requires a related invoicing component it depends on. It prevents the module from being left in a broken state if that related component is removed.
Original PR description
`l10n_co_dian` currently only depends on `l10n_co_edi`, which depends on `account`, and `account_edi_ubl_cii` is auto-installed when `account` is installed. The issue: when uninstalling `account_edi_ubl_cii`, `l10n_co_dian` will be kept since `account_edi_ubl_cii` is not in its dependencies, leaving `l10n_co_dian` in a corrupted state.
Fixed spreadsheet behavior so tables are only created when a pivot is inserted from the pivot view. This prevents unintended table creation when users insert pivots through other spreadsheet commands, keeping spreadsheet content cleaner and more predictable.
Original PR description
Creating a table should be done only when the pivot is inserted from the pivot view, not when it is inserted with the command "INSERT_PIVOT". Task: 3987435
Miscellaneous changes
## Description `call_at` is a criteria used in the call `_get_all_ready_jobs` that can be frequently called on large database with many cron workers. This leads to very frequent Seq.Scan on the table, that may actually have a non-negligible number of records due to routines like the cron `ir_cron_campaign_execute_activities` which creates many triggers. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#169107
Original PR description
## Description `call_at` is a criteria used in the call `_get_all_ready_jobs` that can be frequently called on large database with many cron workers. This leads to very frequent Seq.Scan on the table, that may actually have a non-negligible number of records due to routines like the cron `ir_cron_campaign_execute_activities` which creates many triggers. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#169107
Problem --- When printing invoices involving different tax groups (from the actions in the invoice form view), the text baseline for the word 'on' and the rest of the text ("<tax_name> on <corresponding_amount>") in the taxes summary are different. (ie the word is misaligned) Steps --- IMPORTANT: the bug only appears on newer (~`0.13`) versions of `wkhtmltopdf` * create an invoice for 2 products, * make the products use different taxes, form at least 2 different tax groups (if needed co
Original PR description
Problem
---
When printing invoices involving different tax groups (from the actions in the invoice form view), the text baseline for the word 'on' and the rest of the text ("<tax_name> on <corresponding_amount>") in the taxes summary are different. (ie the word is misaligned)
Steps
---
IMPORTANT: the bug only appears on newer (~`0.13`) versions of `wkhtmltopdf`
* create an invoice for 2 products,
* make the products use different taxes, form at least 2 different tax groups (if needed configure in Accounting > Configuration > Taxes)
* Actions (cog) > print > Invoices => on the generated pdf the word 'on' is misaligned
Note
---
Fix tested on `wkhtmtopdf 0.13`.
On `wkhtmltopdf 0.12.6` -> already worked, but fix has no visual effect
---
opw-3940888
Forward-Port-Of: odoo/odoo#167247Add parent company's payment methods on expense sheet Steps: - Create a child company and select it in the company selector - Create an expense paid by company and create report -> On the report view, there is no payment method available in the dropdow, we should have the payment methods from the parent company Fix: Adapt domain for `selectable_payment_method_line_ids` opw-3917271 Description of the issue/feature this PR addresses: Current behavior before PR: Des
Original PR description
Add parent company's payment methods on expense sheet Steps: - Create a child company and select it in the company selector - Create an expense paid by company and create report -> On the report view, there is no payment method available in the dropdow, we should have the payment methods from the parent company Fix: Adapt domain for `selectable_payment_method_line_ids` opw-3917271 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#169190 Forward-Port-Of: odoo/odoo#167060
Usecase: - Create a sublocation of input with scrap checked - Use warehouse 2 steps - Do a delivery for 10 units - Scrap 2 to the sublocation of input - Validate the 8 units remaining (backorder doens't change anything) - Return 2 units - Edit the stock.move.line to take them from the sublocation of input - Validate Current behaviour: The quant in input's sublocation has -2 reserved quantity Expected Behaviour: The quant is deleted It happens because the `_synchronize_quant` m
Original PR description
Usecase: - Create a sublocation of input with scrap checked - Use warehouse 2 steps - Do a delivery for 10 units - Scrap 2 to the sublocation of input - Validate the 8 units remaining (backorder…
Usecase: - Create a sublocation of input with scrap checked - Use warehouse 2 steps - Do a delivery for 10 units - Scrap 2 to the sublocation of input - Validate the 8 units remaining (backorder doens't change anything) - Return 2 units - Edit the stock.move.line to take them from the sublocation of input - Validate Current behaviour: The quant in input's sublocation has -2 reserved quantity Expected Behaviour: The quant is deleted It happens because the `_synchronize_quant` method do a check but it's on the move. However in our case, the `stock.move` still have input as location and it's not a scrap, so it doesn't skip the quant update. We should force the location of the `stock.move.line` to ensure the check is done on the correct sublocation. opw-mri 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#169144
Have a list with some groupby buttons. ``` <tree> <groupby="m2o"> <field name="display_name" /> <button type="object" .... /> </groupby> </tree> ``` If the group's value (the m2o on which records are grouped) is false (the m2o of each record is non-required and empty) then there was a crash. This commit fixes that and doesn't display those groupby buttons of there is no record to trigger the button on. task-3986706 Description of the issue/feature this PR addresse
Original PR description
Have a list with some groupby buttons.
```
<tree>
<groupby="m2o">
<field name="display_name" />
<button type="object" .... />
</groupby>
</tree>
```
If the group's value (the m2o on which records are grouped) is false (the m2o of each record is non-required and empty) then there was a crash.
This commit fixes that and doesn't display those groupby buttons of there is no record to trigger the button on.
task-3986706
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#169182Currently, a traceback is occurring when the user deletes the master data of project name 'internal' and tries to install another module. To reproduce this issue:- 1) Install `project_timesheet_holidays` without demo data 2) Delete all `My Timesheets` data from `Timesheets` 3) Delete all the `My tasks` from the project after removing the default filters 4) Now delete the `internal` task stage from project/configuration/task stages 5) Try to install the `MRP` module Error:- ```
Original PR description
Currently, a traceback is occurring when the user deletes the master data of project name 'internal' and tries to install another module. To reproduce this issue:- 1) Install…
Currently, a traceback is occurring when the user deletes the master data of project name 'internal' and tries to install another module. To reproduce this issue:- 1) Install `project_timesheet_holidays` without demo data 2) Delete all `My Timesheets` data from `Timesheets` 3) Delete all the `My tasks` from the project after removing the default filters 4) Now delete the `internal` task stage from project/configuration/task stages 5) Try to install the `MRP` module Error:- ``` ValueError: External ID not found in the system: hr_timesheet.internal_project_default_stage ``` When the user installs another module after deleting the project `internal`, a traceback trigger as the `external_id` is referenced to create a project for master data. https://github.com/odoo/odoo/blob/5a26d5173cc54bcbed18a251854c5e725c2ba3b4/addons/project_timesheet_holidays/models/res_company.py#L15 After applying this commit will resolve this issue. sentry-5344711392 Forward-Port-Of: odoo/odoo#166474
**Description of the issue/feature this PR addresses:** Before this commit the field can be wrongly computed in multi user environment. @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#166837
Original PR description
**Description of the issue/feature this PR addresses:** Before this commit the field can be wrongly computed in multi user environment. @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#166837
Currently the "Force PDV" button for mercado pago is visible in debug mode no matter if you select "mercado_pago" as the payment provider or not. This PR makes it so that it is only visible if 'mercado_pago' is selected as a payment provider   task-3988847 Forward-Port-Of: odoo/odoo#169174
Original PR description
Currently the "Force PDV" button for mercado pago is visible in debug mode no matter if you select "mercado_pago" as the payment provider or not. This PR makes it so that it is only visible if 'mercado_pago' is selected as a payment provider   task-3988847 Forward-Port-Of: odoo/odoo#169174
This commit fixes an issue introduced in 63285ce when merging `slide.slide.link` and `slide.slide.resource`. When a user would edit multiple resources at once, the compute done for the name would crash. This is caused by a read done on `self` instead a for loop, which causes a crash if `self` is a recordset. To fix this, the read on self is replaced by resource which would be a record inside of the recordset. task-3988760 --- I confirm I have signed the CLA and read the PR guidelin
Original PR description
This commit fixes an issue introduced in 63285ce when merging `slide.slide.link` and `slide.slide.resource`. When a user would edit multiple resources at once, the compute done for the name would crash. This is caused by a read done on `self` instead a for loop, which causes a crash if `self` is a recordset. To fix this, the read on self is replaced by resource which would be a record inside of the recordset. task-3988760 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#169172
Steps to reproduce: - Manufacturing -> Configuration -> Work Centers - Create a new Work Center A with a cost per hour per workcenter of 10 - Operations -> Manufacturing Orders -> New - Create a MO with a workorder using A with a duration of 10 - Hit 'Validate' then 'Produce all'. - Go back to the Work Center and increase its cost to 100. - Go back to the MO and open the Overview Issue: The costs displayed for the operations correspond to the duration * the current cost of the workcen
Original PR description
Steps to reproduce: - Manufacturing -> Configuration -> Work Centers - Create a new Work Center A with a cost per hour per workcenter of 10 - Operations -> Manufacturing Orders -> New - Create a MO with a workorder using A with a duration of 10 - Hit 'Validate' then 'Produce all'. - Go back to the Work Center and increase its cost to 100. - Go back to the MO and open the Overview Issue: The costs displayed for the operations correspond to the duration * the current cost of the workcenter instead of the registred cost of the workcenter by the time the workorder was done. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#169124 Forward-Port-Of: odoo/odoo#131523
In Italy, an operator who exports more than 10% of all his revenues is considered a regular exporter. Regular exporters can purchase without paying VAT within certain limits. For this they have to do a declaration of intent with the authorities. The regular exporter then gives the declaration information to his suppliers. The supplier can then issue an invoice to the regular exported without taxes by noting the declaration of intent. This commit adds support for the supplier side of th
Original PR description
In Italy, an operator who exports more than 10% of all his revenues is considered a regular exporter. Regular exporters can purchase without paying VAT within certain limits. For this they have to do…
In Italy, an operator who exports more than 10% of all his revenues is considered a regular exporter. Regular exporters can purchase without paying VAT within certain limits. For this they have to do a declaration of intent with the authorities. The regular exporter then gives the declaration information to his suppliers. The supplier can then issue an invoice to the regular exported without taxes by noting the declaration of intent. This commit adds support for the supplier side of this use case. It is now possible to - Create declarations of intent (of regular exporters we want to sell to) - Use them on sales orders and invoices - The not yet invoiced, invoiced and remaining amount of each declaration / SO / invoiced are tracked. The declaration of intent information is also stated on the PDFs and electronic invoices. A dedicated tax and fiscal position was added to be applied in case a declaration of intent is used. Limitations: - The document currency has to be in EUR (more precisely the currency of the declaration of intent which defaults to EUR); else the declaration of intent cannot be applied - Lines containing the declaration of intent tax may not use any other tax - When adding lines on a credit note linked to a sales order those lines do not count for the invoiced amount of the sales order. The sales order would have to be adapted. (It is not really a limitation because that is just how it works: the new lines are not linked to the sales order.) - Documents can only use the declaration of intent if they lie inside the date range of the declaration and the declaration is in 'active' state. Exception: the invoiced amount is negative. task-3794632 Forward-Port-Of: odoo/odoo#161875
When we link a user on an existing employee, we look at the vehicle linked to the existing employee's partner, to re-assign it to the linked user's partner that will become the new work_contact_id. The main issues are the following: - When we create an employee and assign a user on it, it will set the user's partner on all vehicle without driver or futur driver - When we select the user in the form, it will save the changes on the car, even if the form is not saved, because the function is
Original PR description
When we link a user on an existing employee, we look at the vehicle linked to the existing employee's partner, to re-assign it to the linked user's partner that will become the new work_contact_id. The main issues are the following: - When we create an employee and assign a user on it, it will set the user's partner on all vehicle without driver or futur driver - When we select the user in the form, it will save the changes on the car, even if the form is not saved, because the function is called in an onchange. Side issue: - Whatever is the company of the employee, it'll search through all vehicles if you have activated multiple companies. Bugs introduced in https://github.com/odoo/odoo/pull/157057 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168908
This commit fixes an issue in the default form snippet, where the placeholder text for the "Your Question" field (a textarea) doesn't appear (bug introduced in the commit [1]). Steps to reproduce: - Navigate to website in edit mode - Drag & drop the "Form" snippet - Click on the "Your question" field to activate the snippet options - On the right panel, fill in the "Placeholder" field with anything - --> Bug. The placeholder doesn't appear in the field as it should This was caused
Original PR description
This commit fixes an issue in the default form snippet, where the placeholder text for the "Your Question" field (a textarea) doesn't appear (bug introduced in the commit [1]). Steps to reproduce: - Navigate to website in edit mode - Drag & drop the "Form" snippet - Click on the "Your question" field to activate the snippet options - On the right panel, fill in the "Placeholder" field with anything - --> Bug. The placeholder doesn't appear in the field as it should This was caused by an empty line between the opening and closing `<textarea>` tags in the template, which the browser interpreted as default content. The empty line has been removed to ensure the placeholder text is displayed correctly. [1]: https://github.com/odoo/odoo/commit/b993399f8a2283cf8ab571f399cf5f0eaf81bfce task-3665275 Forward-Port-Of: odoo/odoo#168295
added readonly behaviour to the boolean_favorite widget opw-3933386 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168464
Original PR description
added readonly behaviour to the boolean_favorite widget opw-3933386 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168464
When Payment Difference amount equals Early Payment Discount, Don't show payment difference field and consider full reconciliation. task-3944830 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168960 Forward-Port-Of: odoo/odoo#167065
Original PR description
When Payment Difference amount equals Early Payment Discount, Don't show payment difference field and consider full reconciliation. task-3944830 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168960 Forward-Port-Of: odoo/odoo#167065
When importing XML invoice with multiple discounts in a line, the discount is not calculated correctly. task-3945345 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#167242
Original PR description
When importing XML invoice with multiple discounts in a line, the discount is not calculated correctly. task-3945345 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#167242
This commit fixes the issue where a traceback is shown when an order will be invoiced after paying with an online payment. Steps to reproduce: - Setup online payment and link to the pos.config. - Open a session. - Create an order that will be invoiced and pay with the online payment method. - Traceback during the download of the invoice. Forward-Port-Of: odoo/odoo#164315
Original PR description
This commit fixes the issue where a traceback is shown when an order will be invoiced after paying with an online payment. Steps to reproduce: - Setup online payment and link to the pos.config. - Open a session. - Create an order that will be invoiced and pay with the online payment method. - Traceback during the download of the invoice. Forward-Port-Of: odoo/odoo#164315
The old name caused caused some confusion from clients - Old: "Plan Contable Generico Argentino para Contadores Publicos" - New: "Plan Contable Genérico Argentino para Responsables Inscriptos" task-3921529 Forward-Port-Of: odoo/odoo#167055
Original PR description
The old name caused caused some confusion from clients - Old: "Plan Contable Generico Argentino para Contadores Publicos" - New: "Plan Contable Genérico Argentino para Responsables Inscriptos" task-3921529 Forward-Port-Of: odoo/odoo#167055
Description of the issue/feature this PR addresses: - During migration, the compute method `_compute_number_related_products` of model `product.attribute` is called and cause the `Memory Error` due to high number of records. - This method get the count of product_template_ids for particular product_attribute. **Traceback:** ```python Traceback (most recent call last): File "/tmp/tmpal_p0o26/migrations/base/tests/test_mock_crawl.py", line 255, in crawl_menu self.mock_action(act
Original PR description
Description of the issue/feature this PR addresses: - During migration, the compute method `_compute_number_related_products` of model `product.attribute` is called and cause the `Memory Error` due…
Description of the issue/feature this PR addresses:
- During migration, the compute method `_compute_number_related_products` of model `product.attribute` is called and cause the `Memory Error` due to high number of records.
- This method get the count of product_template_ids for particular product_attribute.
**Traceback:**
```python
Traceback (most recent call last):
File "/tmp/tmpal_p0o26/migrations/base/tests/test_mock_crawl.py", line 255, in crawl_menu
self.mock_action(action_vals)
File "/tmp/tmpal_p0o26/migrations/base/tests/test_mock_crawl.py", line 412, in mock_action
mock_method(model, view, fields_list, domain, group_by)
File "/tmp/tmpal_p0o26/migrations/base/tests/test_mock_crawl.py", line 441, in mock_view_form
[data] = record.read(fields_list)
File "/home/odoo/src/odoo/17.0/odoo/models.py", line 3540, in read
return self._read_format(fnames=fields, load=load)
File "/home/odoo/src/odoo/17.0/odoo/models.py", line 3751, in _read_format
vals[name] = convert(record[name], record, use_display_name)
File "/home/odoo/src/odoo/17.0/odoo/models.py", line 6603, in __getitem__
return self._fields[key].__get__(self, self.env.registry[self._name])
File "/home/odoo/src/odoo/17.0/odoo/fields.py", line 1207, in __get__
self.compute_value(recs)
File "/home/odoo/src/odoo/17.0/odoo/fields.py", line 1389, in compute_value
records._compute_field_value(self)
File "/home/odoo/src/odoo/17.0/odoo/models.py", line 4875, in _compute_field_value
fields.determine(field.compute, self)
File "/home/odoo/src/odoo/17.0/odoo/fields.py", line 102, in determine
return needle(*args)
File "/home/odoo/src/odoo/17.0/addons/product/models/product_attribute.py", line 68, in _compute_number_related_products
pa.number_related_products = len(pa.product_tmpl_ids)
File "/home/odoo/src/odoo/17.0/odoo/fields.py", line 2907, in __get__
return super().__get__(records, owner)
File "/home/odoo/src/odoo/17.0/odoo/fields.py", line 1156, in __get__
return self.convert_to_record(value, record)
File "/home/odoo/src/odoo/17.0/odoo/fields.py", line 4249, in convert_to_record
corecords = corecords.filtered(Comodel._active_name).with_prefetch(prefetch_ids)
File "/home/odoo/src/odoo/17.0/odoo/models.py", line 6110, in filtered
return self.browse([rec.id for rec in self if func(rec)])
File "/home/odoo/src/odoo/17.0/odoo/models.py", line 6110, in <listcomp>
return self.browse([rec.id for rec in self if func(rec)])
File "/home/odoo/src/odoo/17.0/odoo/models.py", line 6109, in <lambda>
func = lambda rec: any(rec.mapped(name))
File "/home/odoo/src/odoo/17.0/odoo/models.py", line 6087, in mapped
recs = recs._fields[name].mapped(recs)
File "/home/odoo/src/odoo/17.0/odoo/fields.py", line 1281, in mapped
self.__get__(first(remaining), type(remaining))
File "/home/odoo/src/odoo/17.0/odoo/fields.py", line 1182, in __get__
recs._fetch_field(self)
File "/home/odoo/src/odoo/17.0/odoo/models.py", line 3777, in _fetch_field
self.fetch(fnames)
File "/home/odoo/src/odoo/17.0/odoo/models.py", line 3827, in fetch
fetched = self._fetch_query(query, fields_to_fetch)
File "/home/odoo/src/odoo/17.0/odoo/models.py", line 3920, in _fetch_query
rows = self.env.cr.fetchall()
MemoryError
```
Current behavior before PR:
Before fix:
- The standard compute method in version [17.0](https://github.com/odoo/odoo/blob/4b67a7bec2007d89dfa8d9ecc7a73d4fe86547a3/addons/product/models/product_attribute.py#L70C4-L73C104)
Desired behavior after PR is merged:
- The data is fetched using _read_group method in compute method and solve the memory error.
Task Link: [3906977](https://www.odoo.com/odoo/70/tasks/3906977?cids=2)
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#168507When a user selects many account moves and adds a group payment, there is a traceback when confirming the payment if the method requires valid bank accounts (singleton expected). They need to know which partner bank is not validated not the name of the payment method they already selected. Here is the original complain: Dans la V15, si il y avait un client avec un problème de compte, ça bloquait et Odoo nous indiquait un message avec le nom du client qui était problématique, cela nous permet
Original PR description
When a user selects many account moves and adds a group payment, there is a traceback when confirming the payment if the method requires valid bank accounts (singleton expected). They need to know which partner bank is not validated not the name of the payment method they already selected. Here is the original complain: Dans la V15, si il y avait un client avec un problème de compte, ça bloquait et Odoo nous indiquait un message avec le nom du client qui était problématique, cela nous permettait de régler le problème échéant puis relancer la demande. closes: #168938 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#169187
Before this commit, clicking on absence button of any department shows all the employees of all the department instead of the absent employees of that department. This commit brings, the list view of absent employees of that department after clicking on absence button of any department. task-3919504 Forward-Port-Of: odoo/odoo#165560
Original PR description
Before this commit, clicking on absence button of any department shows all the employees of all the department instead of the absent employees of that department. This commit brings, the list view of absent employees of that department after clicking on absence button of any department. task-3919504 Forward-Port-Of: odoo/odoo#165560
Prior to this commit, when a product was created with the following: - An attribute assigned with the Creation Mode set to 'Instantly' - An attribute assigned with the Creation Mode set to 'Never' Upon trying to add each variant in the PoS, the pop-up menu to select attributes only appeared for one of the variants. opw-3921893 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#166872
Original PR description
Prior to this commit, when a product was created with the following: - An attribute assigned with the Creation Mode set to 'Instantly' - An attribute assigned with the Creation Mode set to 'Never' Upon trying to add each variant in the PoS, the pop-up menu to select attributes only appeared for one of the variants. opw-3921893 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#166872
When trying to create a partner with a wrong tax id, the create would fail. But with the new data_service, the create would be repeated to try to create the record again. Steps to reproduce: ------------------- * Open PoS session and create a partner from PoS, you can select belgium as country and BE40301926 as tax id * You will get an error saying the tax id is wrong * Now try to put a correct tax id like BE403019261 > Observation: You still get the error Why the fix: ------------
Original PR description
When trying to create a partner with a wrong tax id, the create would fail. But with the new data_service, the create would be repeated to try to create the record again. Steps to reproduce:…
When trying to create a partner with a wrong tax id, the create would fail. But with the new data_service, the create would be repeated to try to create the record again. Steps to reproduce: ------------------- * Open PoS session and create a partner from PoS, you can select belgium as country and BE40301926 as tax id * You will get an error saying the tax id is wrong * Now try to put a correct tax id like BE403019261 > Observation: You still get the error Why the fix: ------------ When trying to create the record we end up here https://github.com/odoo/odoo/blob/28b7d698be8255f933ba5314e44e7059746fc234/addons/point_of_sale/static/src/app/models/data_service.js#L161-L164 because the server returns an error. And later on we will try to redo all the failed actions in `async syncData()`. But it will fail again as the values are still wrong. To fix this we check that the error is not an RPCError before adding it to the queue. opw-3943486 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#169058
Remove the 'user_ids' field (Assignees) from the 'Sort By:' options in the portal view. Since the 'user_ids' field is non-storable, So it cannot be used for sorting. To fix this, We have to remove the 'Assignees' from the 'Sort By:' list, This involves removing the following option from a dictionary ```'users': {'label': _('Assignees'), 'order': 'user_ids', 'sequence': 4},``` which is returned by '_task_get_searchbar_sortings' at [2]. link[2]: https://github.com/odoo/odoo/blob/843
Original PR description
Remove the 'user_ids' field (Assignees) from the 'Sort By:' options in the
portal view. Since the 'user_ids' field is non-storable, So it cannot be used
for sorting.
To fix this, We have to remove the 'Assignees' from the 'Sort By:'
list, This involves removing the following option from a dictionary
```'users': {'label': _('Assignees'), 'order': 'user_ids', 'sequence': 4},```
which is returned by '_task_get_searchbar_sortings' at [2].
link[2]: https://github.com/odoo/odoo/blob/84333c4fa1382edae188dc05f9837a9992798046/addons/project/controllers/portal.py#L273
sentry - 5405089817
Forward-Port-Of: odoo/odoo#167992
Forward-Port-Of: odoo/odoo#166969Before this commit: - Graph chart metrics not properly visible in dark mode. After this commit: - White color is added to the text of the metrics, label and legends to make them properly visible in the dark mode. Task-3770589 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168779 Forward-Port-Of: odoo/odoo#161027
Original PR description
Before this commit: - Graph chart metrics not properly visible in dark mode. After this commit: - White color is added to the text of the metrics, label and legends to make them properly visible in the dark mode. Task-3770589 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168779 Forward-Port-Of: odoo/odoo#161027
3aa3a24c introduced a regression since textbbox is not available in Pillow < 8.0. Since focal has a lower version, this is breaking on odoosh and in PureFocal builds. Fixing it by making the call conditional. closes #162256 Forward-Port-Of: odoo/odoo#168683 Forward-Port-Of: odoo/odoo#168119
Original PR description
3aa3a24c introduced a regression since textbbox is not available in Pillow < 8.0. Since focal has a lower version, this is breaking on odoosh and in PureFocal builds. Fixing it by making the call conditional. closes #162256 Forward-Port-Of: odoo/odoo#168683 Forward-Port-Of: odoo/odoo#168119
This commit just add a new tour method used in another commit opw-3902869 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168335 Forward-Port-Of: odoo/odoo#168150
Original PR description
This commit just add a new tour method used in another commit opw-3902869 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168335 Forward-Port-Of: odoo/odoo#168150
This traceback occurs when the user created a refund bill with no invoice date and tries to add a product through the catalog. To reproduce this issue:- 1) Install `purchase` 2) Create a new product and add a `vendor` with a `start` and `end` date in the `purchase page` of the product. 3) Now create a `refund bill` for the above-created vendor from the invoice 4) Don't give the `bill date` and try to add a product from `Catalog` 5) A traceback occurs. Error:- ``` TypeErro
Original PR description
This traceback occurs when the user created a refund bill with no invoice date and tries to add a product through the catalog. To reproduce this issue:- 1) Install `purchase` 2) Create a new product…
This traceback occurs when the user created a refund bill with no invoice date and tries to add a product through the catalog. To reproduce this issue:- 1) Install `purchase` 2) Create a new product and add a `vendor` with a `start` and `end` date in the `purchase page` of the product. 3) Now create a `refund bill` for the above-created vendor from the invoice 4) Don't give the `bill date` and try to add a product from `Catalog` 5) A traceback occurs. Error:- ``` TypeError: '>' not supported between instances of 'datetime.date' and 'bool' ``` As you can see `invoice_date` is not required when creating a refund bill. But here the `invoice_date` is used when selecting a product through catalog. https://github.com/odoo/odoo/blob/c8985212fb4c937b814aaf7fe2ddca992b01735c/addons/account/models/account_move.py#L2168-L2172 So the `invoice_date` value will be `False`. But here only the `None` case is handled for the date in the `_select_seller` method https://github.com/odoo/odoo/blob/c8985212fb4c937b814aaf7fe2ddca992b01735c/addons/product/models/product_product.py#L646-L647 which leads to the above traceback when a comparison is made between bool and DateTime. https://github.com/odoo/odoo/blob/c8985212fb4c937b814aaf7fe2ddca992b01735c/addons/product/models/product_product.py#L659-L662 After applying this commit will resolve this issue by handling the False case also. sentry-5475144539 Forward-Port-Of: odoo/odoo#168840
The current version of lxml (4.9.2) is breaking Odoo on MacOS. This commit upgrades lxml to 4.9.3 which prevents the issue. With the current version, the following error is raised whenever we try to install any module that depends on Mail: lxml.etree.XMLSyntaxError: Char 0x0 out of allowed range This error is due to an emoji that got introduced here: 97ce0844ca0c3d531a7a2e2e47a867d89835b24e Original PR: #165997 (opening a new PR because of inability to reopen closed PRs after force-pus
Original PR description
The current version of lxml (4.9.2) is breaking Odoo on MacOS. This commit upgrades lxml to 4.9.3 which prevents the issue. With the current version, the following error is raised whenever we try to install any module that depends on Mail: lxml.etree.XMLSyntaxError: Char 0x0 out of allowed range This error is due to an emoji that got introduced here: 97ce0844ca0c3d531a7a2e2e47a867d89835b24e Original PR: #165997 (opening a new PR because of inability to reopen closed PRs after force-pushing in the branch 🥴) Forward-Port-Of: odoo/odoo#169164 Forward-Port-Of: odoo/odoo#168872
Before this commit, an error occurred in the following scenario: - Open Point of Sale and sell a product with lot tracking - Close/Post the Point of Sale session - Open the product record and disable tracking in the inventory tab - Start a new session, click on Orders and sort for Paid orders opw-3921893 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168078 Forward-Port-Of: odoo/odoo#166915
Original PR description
Before this commit, an error occurred in the following scenario: - Open Point of Sale and sell a product with lot tracking - Close/Post the Point of Sale session - Open the product record and disable tracking in the inventory tab - Start a new session, click on Orders and sort for Paid orders opw-3921893 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168078 Forward-Port-Of: odoo/odoo#166915
This traceback occurs when the user tries to update a `fiscal position` record by giving either only `from` or `to` value to `zip` range. To reproduce this issue:- 1) Install `Accounting` 2) Create a new `fiscal position` from `Accounting/Configuration` without `Detect Automatically` 3) Now update the record by enabling `Detect Automatically` 4) Select any country and give only the `from` value for `Zip Range` 5) Save the record Error:- ``` TypeError: object of type 'bool'
Original PR description
This traceback occurs when the user tries to update a `fiscal position` record by giving either only `from` or `to` value to `zip` range. To reproduce this issue:- 1) Install `Accounting` 2) Create a…
This traceback occurs when the user tries to update a `fiscal position` record by giving either only `from` or `to` value to `zip` range. To reproduce this issue:- 1) Install `Accounting` 2) Create a new `fiscal position` from `Accounting/Configuration` without `Detect Automatically` 3) Now update the record by enabling `Detect Automatically` 4) Select any country and give only the `from` value for `Zip Range` 5) Save the record Error:- ``` TypeError: object of type 'bool' has no len() ``` When the user updates the `fiscal position` with only `from or to` It triggers `_convert_zip_values` method with one from both. This leads to traceback, as `max()` is used between from and to. https://github.com/odoo/odoo/blob/eb04acf011838d9c8206bedd1908f7a991eb77e3/addons/account/models/partner.py#L143-L144 After applying this commit will resolve this issue by making the code more robust with an additional check. sentry-5284424770 Forward-Port-Of: odoo/odoo#169007 Forward-Port-Of: odoo/odoo#165712
Before this commit, when orders were loaded, if a partner was missing, it wouldn't be loaded. Steps to reproduce: 1. Create a new order and create a new customer related to this order 2. From another device, load the order. The order will appear but with no customer defined. opw-3926662 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168199
Original PR description
Before this commit, when orders were loaded, if a partner was missing, it wouldn't be loaded. Steps to reproduce: 1. Create a new order and create a new customer related to this order 2. From another device, load the order. The order will appear but with no customer defined. opw-3926662 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168199
Problem: When enhancing reports for 16.4 compatibility, a VAT label was added to the followup report. This label will display even when no `vat` value exists. Purpose: Revert line similar to previous versions where if a `vat` value is present, then show the value. Otherwise, show nothing. Steps to Reproduce: 1. Have a contact with no `vat` value 2. Create an invoice for that contact 3. Send a followup report to that contact. opw-3970003 Forward-Port-Of: odoo/enterprise#64614
Original PR description
Problem: When enhancing reports for 16.4 compatibility, a VAT label was added to the followup report. This label will display even when no `vat` value exists. Purpose: Revert line similar to previous versions where if a `vat` value is present, then show the value. Otherwise, show nothing. Steps to Reproduce: 1. Have a contact with no `vat` value 2. Create an invoice for that contact 3. Send a followup report to that contact. opw-3970003 Forward-Port-Of: odoo/enterprise#64614
Create a Vendor Bill with a 0% purchase tax Check Reporting > EC Sales List Issue: Bill is reported This occurs because the system does not filter the tax type opw-3928085 Forward-Port-Of: odoo/enterprise#64574 Forward-Port-Of: odoo/enterprise#63206
Original PR description
Create a Vendor Bill with a 0% purchase tax Check Reporting > EC Sales List Issue: Bill is reported This occurs because the system does not filter the tax type opw-3928085 Forward-Port-Of: odoo/enterprise#64574 Forward-Port-Of: odoo/enterprise#63206
Purpose ======= Fix the appointment type intro message which, if not set yet, wasn't available for edition using the website editor. Specification ============= The "o_appointment_intro" element has been changed from inside, to next to the "o_appointment" element. Changing the selector to match the new "o_appointment_intro" position. Ref commit: https://github.com/odoo/enterprise/commit/4f68079b535c1ea54c42ae8dabae903f88d6e87f Also combining the 2 separate conditions that adds the
Original PR description
Purpose ======= Fix the appointment type intro message which, if not set yet, wasn't available for edition using the website editor. Specification ============= The "o_appointment_intro" element has been changed from inside, to next to the "o_appointment" element. Changing the selector to match the new "o_appointment_intro" position. Ref commit: https://github.com/odoo/enterprise/commit/4f68079b535c1ea54c42ae8dabae903f88d6e87f Also combining the 2 separate conditions that adds the d-none class into 1 single OR-ed condition for readability. Task-3976356 Forward-Port-Of: odoo/enterprise#64447 Forward-Port-Of: odoo/enterprise#64016
Currently, the `employee_cost` of a `mrp.workcenter.productivity` is recomputed each time we try to access its `total_cost`. This means that if you change the cost of the employee related to it some time after a MO was completed, if you end up accessing the `total_cost` field (like by opening the Overview), it will overwrite the previous `employee_cost`, and will alter the Cost Analysis report as well. Forward-Port-Of: odoo/enterprise#64481 Forward-Port-Of: odoo/enterprise#45609
Original PR description
Currently, the `employee_cost` of a `mrp.workcenter.productivity` is recomputed each time we try to access its `total_cost`. This means that if you change the cost of the employee related to it some time after a MO was completed, if you end up accessing the `total_cost` field (like by opening the Overview), it will overwrite the previous `employee_cost`, and will alter the Cost Analysis report as well. Forward-Port-Of: odoo/enterprise#64481 Forward-Port-Of: odoo/enterprise#45609
When a new bike is selected, it raises a traceback when trying to create the bike, because the state_new_request is not assigned if there is no new car. Introduced in: https://github.com/odoo/enterprise/pull/63020 Forward-Port-Of: odoo/enterprise#64585
Original PR description
When a new bike is selected, it raises a traceback when trying to create the bike, because the state_new_request is not assigned if there is no new car. Introduced in: https://github.com/odoo/enterprise/pull/63020 Forward-Port-Of: odoo/enterprise#64585
Problem --- On the order status page, the terms translations are ignored. This happens because it is a 'website=True' routed page, and modules which create website pages with translations need to let the http routing know about them by overloading `_get_translations_modules_name` Note: the page will typically be translated into the browser's preferred language and not the odoo user's. opw-3949394 Forward-Port-Of: odoo/enterprise#63915
Original PR description
Problem --- On the order status page, the terms translations are ignored. This happens because it is a 'website=True' routed page, and modules which create website pages with translations need to let the http routing know about them by overloading `_get_translations_modules_name` Note: the page will typically be translated into the browser's preferred language and not the odoo user's. opw-3949394 Forward-Port-Of: odoo/enterprise#63915
To access the xml, go to General Ledger, and export "Datev with Atch". You need invoices with attachment. This xml has a field date that should in fact contain a datetime! (following format 0001-01-01T00:00:00) opw-3976301 Forward-Port-Of: odoo/enterprise#64439
Original PR description
To access the xml, go to General Ledger, and export "Datev with Atch". You need invoices with attachment. This xml has a field date that should in fact contain a datetime! (following format 0001-01-01T00:00:00) opw-3976301 Forward-Port-Of: odoo/enterprise#64439
A traceback occurs when this specific call to `getReceiptHeaderData` is made without order. ``` Error: TypeError: Cannot read properties of undefined (reading 'l10n_cl_sii_regional_office') ``` To reproduce the error: - With a CL company setup - Open POS session - Click Cash In/Out - Select an amount - Confirm Ticket [link](https://www.odoo.com/web#model=project.task&id=3917776) opw-3917776 Forward-Port-Of: odoo/enterprise#62985
Original PR description
A traceback occurs when this specific call to `getReceiptHeaderData` is made without order. ``` Error: TypeError: Cannot read properties of undefined (reading 'l10n_cl_sii_regional_office') ``` To reproduce the error: - With a CL company setup - Open POS session - Click Cash In/Out - Select an amount - Confirm Ticket [link](https://www.odoo.com/web#model=project.task&id=3917776) opw-3917776 Forward-Port-Of: odoo/enterprise#62985
### Steps to reproduce the issue: 1. Go to _Settings > Technical > Email > Email Templates_ 2. Select a template that applies to a Contact 3. Add a mail address in the Cc field 4. Go to _Accounting > Customers > Follow-up Reports_ select one of the reports 5. Click on "Follow up" 6. Select the template with the Cc in the Content Template field 7. The Cc address is not added to the Email Recipients field 8. Click on Send Message in the chatter 9. Open the full view and add the template
Original PR description
### Steps to reproduce the issue: 1. Go to _Settings > Technical > Email > Email Templates_ 2. Select a template that applies to a Contact 3. Add a mail address in the Cc field 4. Go to _Accounting >…
### Steps to reproduce the issue: 1. Go to _Settings > Technical > Email > Email Templates_ 2. Select a template that applies to a Contact 3. Add a mail address in the Cc field 4. Go to _Accounting > Customers > Follow-up Reports_ select one of the reports 5. Click on "Follow up" 6. Select the template with the Cc in the Content Template field 7. The Cc address is not added to the Email Recipients field 8. Click on Send Message in the chatter 9. Open the full view and add the template with the Cc in the Load template field 10. The Cc address is added to the Recipients field ### Explanation: The field `email_recipient_ids` is not a computed field. Because of it, there is no change called when `template_id` is assigned a new value. ### Suggested fix: We need to change `email_recipients_ids` according to `template_id` while keeping its current properties (stored, writable). The method is adapted from `mail.compose.message._compute_partner_ids`. https://github.com/odoo/odoo/blob/1849b709f1acf0f5546582bf7551129a870e3113/addons/mail/wizard/mail_compose_message.py#L482-L496 opw-3878125 Forward-Port-Of: odoo/enterprise#64397 Forward-Port-Of: odoo/enterprise#61861
Current behavior: When you add a product with an internal note to an order the preparation display is not updated correctly. Steps to reproduce: - Open PoS restaurant session - Add product A, and press Order button - Add product A, add an internal note, and press Order button - Go on the preparation display, there is only one product A opw-3902869 Forward-Port-Of: odoo/enterprise#64023 Forward-Port-Of: odoo/enterprise#63879
Original PR description
Current behavior: When you add a product with an internal note to an order the preparation display is not updated correctly. Steps to reproduce: - Open PoS restaurant session - Add product A, and press Order button - Add product A, add an internal note, and press Order button - Go on the preparation display, there is only one product A opw-3902869 Forward-Port-Of: odoo/enterprise#64023 Forward-Port-Of: odoo/enterprise#63879
Forward-Port-Of: odoo/enterprise#64040
Original PR description
Forward-Port-Of: odoo/enterprise#64040
Steps to reproduce: - Install Accounting and l10n_co_edi - Switch to a Colombian company - Configure the Colombian localization (https://www.odoo.com/documentation/17.0/applications/finance/fiscal_localizations/colombia.html) - Create a vendor bill containing a section or a note - Confirm the bill - Process the bill by E-invoicing service : UBL 2.1 (Colombia) Issue: The generated electronic document is rejected by the E-invoicing service because the input number of lines is also counti
Original PR description
Steps to reproduce: - Install Accounting and l10n_co_edi - Switch to a Colombian company - Configure the Colombian localization (https://www.odoo.com/documentation/17.0/applications/finance/fiscal_localizations/colombia.html) - Create a vendor bill containing a section or a note - Confirm the bill - Process the bill by E-invoicing service : UBL 2.1 (Colombia) Issue: The generated electronic document is rejected by the E-invoicing service because the input number of lines is also counting section and note lines. Solution: Exclude section and note lines from the count as it is done for invoice. opw-3928949 Forward-Port-Of: odoo/enterprise#63588
Problem: When a portal user views a Task they are connected to, if `planned_date_begin` is set (using a date range on the Task rather that just `date_deadline`), 'Planned Date' will appear twice on Portal View. Purpose: We already have 'Planned Date'/'Deadline' shown with `project_enterprise.portal_my_task`, and this edited view comes from `industry_fsm`, which depends on `project_enterprise` anyways. Removing from `industry_fsm` lets the parent module take care of these fields. Steps to R
Original PR description
Problem: When a portal user views a Task they are connected to, if `planned_date_begin` is set (using a date range on the Task rather that just `date_deadline`), 'Planned Date' will appear twice on Portal View. Purpose: We already have 'Planned Date'/'Deadline' shown with `project_enterprise.portal_my_task`, and this edited view comes from `industry_fsm`, which depends on `project_enterprise` anyways. Removing from `industry_fsm` lets the parent module take care of these fields. Steps to Reproduce: 1. Create a SO with Service Product that creates Project/Task, assign portal user as Customer 2. Share Read-only with Portal user from Project 3. On Task, set Deadline start and end. 4. Login as portal User, navigate Projects -> SO -> Task 5. See duplicated 'Planned Date' line opw-3978845 Forward-Port-Of: odoo/enterprise#64306
[ADD] account_accountant_check_printing: Add check number to bank rec desired behavior: If Checks are activated in the Accounting settings, add a new column in the Bank Reconciliation widget for payment_id.check_number, in optional=hide Reason: the Check Number is a very useful information to display in the Bank Reconciliation. solution: create new module dependent on accounting and account_check_printing modules and add the desired column and method there. Task-3869134 Forward-Por
Original PR description
[ADD] account_accountant_check_printing: Add check number to bank rec desired behavior: If Checks are activated in the Accounting settings, add a new column in the Bank Reconciliation widget for payment_id.check_number, in optional=hide Reason: the Check Number is a very useful information to display in the Bank Reconciliation. solution: create new module dependent on accounting and account_check_printing modules and add the desired column and method there. Task-3869134 Forward-Port-Of: odoo/enterprise#60849