Tuesday, April 1, 2025
5 changes · 17.0
Resolved issues and error corrections
This update prevents an error when users create a Resource Time Off record and enter a new Time Off Request from that form. By disabling quick creation for that field, the system guides users through the proper creation flow and avoids failed saves.
Original PR description
Currently, An error occurs when quick create an hr leave (Time Off Request). Step to produce: - Install the `hr_holidays` module. - Enable debug mode. - Open Settings / Technical / Resource /…
Currently, An error occurs when quick create an hr leave (Time Off Request).
Step to produce:
- Install the `hr_holidays` module.
- Enable debug mode.
- Open Settings / Technical / Resource / Resource Time Off, Create a new record, and attempt to quick create a 'Time Off Request'.
Traceback:
```
File "/home/odoo/odoo/community/odoo/http.py", line 1788, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "/home/odoo/odoo/community/odoo/service/model.py", line 133, in retrying
result = func()
File "/home/odoo/odoo/community/odoo/http.py", line 1816, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "/home/odoo/odoo/community/odoo/http.py", line 2020, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "/home/odoo/odoo/community/odoo/addons/base/models/ir_http.py", line 221, in _dispatch
result = endpoint(**request.params)
File "/home/odoo/odoo/community/odoo/http.py", line 757, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "/home/odoo/odoo/community/addons/web/controllers/dataset.py", line 24, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/home/odoo/odoo/community/addons/web/controllers/dataset.py", line 20, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/home/odoo/odoo/community/odoo/api.py", line 464, in call_kw
result = _call_kw_model(method, model, args, kwargs)
File "/home/odoo/odoo/community/odoo/api.py", line 435, in _call_kw_model
result = method(recs, *args, **kwargs)
File "/home/odoo/odoo/community/odoo/models.py", line 1708, in name_create
record = self.create({self._rec_name: name})
File "<decorator-gen-165>", line 2, in create
File "/home/odoo/odoo/community/odoo/api.py", line 414, in _model_create_multi
return create(self, [arg])
File "/home/odoo/odoo/community/addons/hr_holidays/models/hr_leave.py", line 937, in create
if mapped_validation_type[leave_type_id] == 'no_validation':
KeyError: None
```
The error occurs because the system attempts to access 'leave_type_id' from the `vals_list` at [1], But vals_list has no data.
Link [1]: https://github.com/odoo/odoo/blob/a1969de6e6a292b14ad1d19c256ead04dc202528/addons/hr_holidays/models/hr_leave.py#L945C17-L945C68
To resolve this issue, remove the `quick_create` option for `Time Off Request` field from the 'Resource Time Off' form view.
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prVendor bills imported from Italian electronic invoices now correctly keep the selected payment method, such as MP01. This prevents missing payment details after exporting and re-importing tax integration XML files, reducing manual corrections for Italian accounting workflows.
Original PR description
- With a IT company, create a vendor bill with a line with the tax 22% G RC and set l10n_it_payment_method to MP01. - Export the bill with "Send Tax Integration". - Import the xml generated. The l10n_it_payment_method field is not set to MP01. In the l10n_it_edi_import_invoice, the l10n_it_payment_method field was not imported opw-4646816 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
The Argentine legal invoice report will no longer show extra tax detail in company currency when an invoice uses a different currency. This keeps the report cleaner and aligned with local reporting expectations without affecting other invoice reports.
Original PR description
### Description of the issue/feature this PR addresses: There is no need to print the tax detail information when the invoice's currency is not the same as the company's currency. This change removes that part of the report, and it only affects the AR Invoice Legal report. This functionality was added to the account module and affects all the invoice reports, but we do not want them to be in the AR legal report. For more information about the extra tax detail in the company's currency, you can check this commit https://github.com/odoo/odoo/commit/8823e01040f9522947e5d11c7312d09c50867cc4 ### Current behavior before PR:  ### Desired behavior after PR is merged:  LATAM task 1329 / Adhoc ticket 88609 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Fixed an issue that could cause the Appraisal app to crash when viewing an employee's raw record data in debug mode. This improves reliability for administrators and support users accessing detailed appraisal records.
Original PR description
[FIX] hr_appraisal: prevent TypeError for raw record data
The read method in hr_appraisal.py was raising a TypeError 'NoneType object is not iterable' when the fields parameter was None.
This occurred because the code attempted to create a set from the None value directly.
Steps to reproduce:
-------------------
* Open Appraisal app and click on an employee's card
* Activate debug mode
* From the bug dropdown click on 'View Raw Record Date' or 'Data' in 18.0+
> Observation:
File "/data/build/enterprise/hr_appraisal/models/hr_appraisal.py", line 539, in read
check_notes = set(fields) & {'note', 'assessment_note'}
^^^^^^^^^^^
TypeError: 'NoneType' object is not iterable
Why the fix:
------------
set() requires an iterable. By adding this condition, we avoid iterating over NoneType. This maintains the intended default functionality while preventing the crash.
opw-4631142Studio no longer offers Knowledge articles as a many-to-many relation because that setup could crash when users opened linked articles from another record. This avoids a broken experience while keeping Studio relation choices limited to models that work safely in embedded views.
Original PR description
Steps to reproduce ================== - Install knowledge,contacts,web_studio - Open a contact record - Open studio - Add a many2many pointing to a knowledge article - Save and exit studio - Link an article and open it => this.env.ensureArticleName is not a function Cause of the issue ================== The knowledge article view uses a js_class and contains widgets that except the custom subenv from the controller. As the js_class isn't used in x2many views, the view crashes. Solution ======== We can simply blacklist that model when searching for relations to add opw-4513295