Friday, June 14, 2024
35 changes · saas-17.1
Resolved issues and error corrections
This fixes incorrect test data for Mexican POS electronic invoices involving discounts and partial refunds. It helps ensure discount handling is validated correctly and prevents similar invoicing issues from slipping through automated checks.
Original PR description
A bad fw-port caused the xml to be changed wrongly. The test class was deactivated, so it got merged without being seen. runbot-68044
Fixes an error that could occur when a Field Service user removed the planned date from a task while the same assignee had overlapping tasks. This prevents an unexpected crash and lets scheduling changes be saved normally.
Original PR description
When task assignees have more than one task at the same time in field service, and tries to remove the planned date from one of the tasks, A traceback will appear. Steps to reproduce the error: - Go…
When task assignees have more than one task at the same time in field service,
and tries to remove the planned date from one of the tasks,
A traceback will appear.
Steps to reproduce the error:
- Go to Field Service > Create a new task with the planned date and Assignees
- Create another task with the same planned date and Assignees > Save
- Now try to remove the planned date
Traceback:
```
AttributeError: 'bool' object has no attribute 'tzinfo'
File "odoo/http.py", line 2254, in __call__
response = request._serve_db()
File "odoo/http.py", line 1829, in _serve_db
return self._transactioning(_serve_ir_http, readonly=ro)
File "odoo/http.py", line 1849, in _transactioning
return service_model.retrying(func, env=self.env)
File "odoo/service/model.py", line 134, in retrying
result = func()
File "odoo/http.py", line 1827, in _serve_ir_http
return self._serve_ir_http(rule, args)
File "odoo/http.py", line 1834, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 2059, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 220, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 740, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 38, in call_kw
return self._call_kw(model, method, args, kwargs)
File "addons/web/controllers/dataset.py", line 34, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 458, in call_kw
result = getattr(recs, name)(*args, **kwargs)
File "addons/web/models/models.py", line 1011, in onchange
todo = [
File "addons/web/models/models.py", line 1014, in <listcomp>
if field_name not in done and snapshot0.has_changed(field_name)
File "addons/web/models/models.py", line 1127, in has_changed
return self[field_name] != self.record[field_name]
File "odoo/models.py", line 6608, in __getitem__
return self._fields[key].__get__(self, self.env.registry[self._name])
File "odoo/fields.py", line 1261, in __get__
self.compute_value(recs)
File "odoo/fields.py", line 1443, in compute_value
records._compute_field_value(self)
File "addons/mail/models/mail_thread.py", line 416, in _compute_field_value
return super()._compute_field_value(field)
File "odoo/models.py", line 4934, in _compute_field_value
fields.determine(field.compute, self)
File "odoo/fields.py", line 100, in determine
return needle(*args)
File "home/odoo/src/enterprise/saas-17.2/project_enterprise/models/project_task.py", line 227, in _compute_planning_overlap
absolute_min_start = utc.localize(self[0].planned_date_begin)
File "__init__.py", line 257, in localize
if dt.tzinfo is not None:
```
https://github.com/odoo/enterprise/blob/74e8fa829cf17677ddcb29d91a0521d5d5b9a1b6/project_enterprise/models/project_task.py#L229-L230 When the user removes the planned date,
"planned_date_begin" and "date_deadline" will be False.
So it will lead to the above traceback.
sentry-5444639133Miscellaneous changes
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: 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
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
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
## 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
Since 17.0, message unread counter is not reliable. Indeed, it is computed on the client side which is aware of all messages. This PR fixes this issue by backporting the PR that made the unread counter rely on the server state instead. enterprise: https://github.com/odoo/enterprise/pull/63265 Forward-Port-Of: odoo/odoo#165955
Original PR description
Since 17.0, message unread counter is not reliable. Indeed, it is computed on the client side which is aware of all messages. This PR fixes this issue by backporting the PR that made the unread counter rely on the server state instead. enterprise: https://github.com/odoo/enterprise/pull/63265 Forward-Port-Of: odoo/odoo#165955
Previously, if a product had a vendor set with some minimum quantity, it wouldn't be displayed in the BoM Overview if the line quantity didn't match this minimum. This meant that if that vendor was the only one set for this product, then no resupply route would be displayed and no lead time would be found. This is an issue, as it's inconsistent with how it would actually work when creating a MO from that BoM. (i.e. create the PO to that vendor, but with its default price). Instead, when no s
Original PR description
Previously, if a product had a vendor set with some minimum quantity, it wouldn't be displayed in the BoM Overview if the line quantity didn't match this minimum. This meant that if that vendor was the only one set for this product, then no resupply route would be displayed and no lead time would be found. This is an issue, as it's inconsistent with how it would actually work when creating a MO from that BoM. (i.e. create the PO to that vendor, but with its default price). Instead, when no supplier is found for the right quantity, we display the first suitable vendor anyway, but with a different color. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#169150 Forward-Port-Of: odoo/odoo#165573
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:- ```
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
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
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 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
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 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
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
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#168507The 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
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
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#169182Usecase: - 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
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
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
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
Fix for version 17.0 only Problem: In restaurant, when we make a bill, the order is made to the kitchen Steps to reproduce: - Install "Point of Sale" app and "pos_restaurant" module - Open a restaurant session - Select products for a table - Click on "Bill" - The order is now in the kitchen while it should not Cause: The full process for making an order is called with "sendOrderInPreparationUpdateLastChange" while it is not necessary to make a bill Solution: Remove the "sendOr
Original PR description
Fix for version 17.0 only Problem: In restaurant, when we make a bill, the order is made to the kitchen Steps to reproduce: - Install "Point of Sale" app and "pos_restaurant" module - Open a restaurant session - Select products for a table - Click on "Bill" - The order is now in the kitchen while it should not Cause: The full process for making an order is called with "sendOrderInPreparationUpdateLastChange" while it is not necessary to make a bill Solution: Remove the "sendOrderInPreparationUpdateLastChange" for the bill screen when pos_preparation_display is installed opw-3938924 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#168889
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
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
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
opw-3877370 community: https://github.com/odoo/odoo/pull/165955 Forward-Port-Of: odoo/enterprise#63265
Original PR description
opw-3877370 community: https://github.com/odoo/odoo/pull/165955 Forward-Port-Of: odoo/enterprise#63265
**Current behavior:** A product that is tracked via serial will have all of its lots displayed in the Schedule gantt view instead of just the ones which are part of the order. **Expected behavior:** Only the lots corresponding to rented quants of a product will be displayed. **Steps to reproduce:** 1. Enable `Rental Transfers` in settings 2. Create a rental order with 1 of the demo printer products (they are tracked via SN already) and confirm 3. Open the rental schedule view, see
Original PR description
**Current behavior:** A product that is tracked via serial will have all of its lots displayed in the Schedule gantt view instead of just the ones which are part of the order. **Expected behavior:**…
**Current behavior:** A product that is tracked via serial will have all of its lots displayed in the Schedule gantt view instead of just the ones which are part of the order. **Expected behavior:** Only the lots corresponding to rented quants of a product will be displayed. **Steps to reproduce:** 1. Enable `Rental Transfers` in settings 2. Create a rental order with 1 of the demo printer products (they are tracked via SN already) and confirm 3. Open the rental schedule view, see that for the new order, all of the printers in stock with a SN are displayed **Cause of the issue:** Previously, the commit 8c90c7493ec was merged to fix an issue where you could not group by serial numbers in the schedule view for orders that were created while the 'Rental Transfers' setting was enabled. This introducted this bug by not actually specifying which `lot_id`s of a product were part of an order- so it selected ALL `lot_id`s of ANY product in a rental order. **Fix:** Add a join on `StockMove` so we can select `lot_id`s which are exclusively in `StockMoveLine`s that are linked to `StockMoves` which correspond to a rental order. opw-3977685 Forward-Port-Of: odoo/enterprise#64118
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
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
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
Fix for version 17.0 only Problem: In restaurant, when we make a bill, the order is made to the kitchen Steps to reproduce: - Install "Point of Sale" app and "pos_restaurant" module - Open a restaurant session - Select products for a table - Click on "Bill" - The order is now in the kitchen while it should not Cause: The full process for making an order is called with "sendOrderInPreparationUpdateLastChange" while it is not necessary to make a bill Solution: Remove the "sendO
Original PR description
Fix for version 17.0 only Problem: In restaurant, when we make a bill, the order is made to the kitchen Steps to reproduce: - Install "Point of Sale" app and "pos_restaurant" module - Open a restaurant session - Select products for a table - Click on "Bill" - The order is now in the kitchen while it should not Cause: The full process for making an order is called with "sendOrderInPreparationUpdateLastChange" while it is not necessary to make a bill Solution: Remove the "sendOrderInPreparationUpdateLastChange" for the bill screen when pos_preparation_display is installed Linked with https://github.com/odoo/odoo/pull/168889 opw-3938924 Forward-Port-Of: odoo/enterprise#64355
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