Wednesday, February 5, 2025
8 changes · 17.0
Resolved issues and error corrections
This fix ensures that when German localization attachments are detached and renamed, their original file extension is preserved. This helps users keep files recognizable and openable after detaching them from records.
Original PR description
Fixes an issue with the renaming of the attachment after detaching to not change the extension. task-4500319
The mail failure icon has been replaced with a transparent version so it no longer shows an unwanted white box in dark mode. This improves visual consistency for users without changing how mail features work.
Original PR description
Previously, the Mail Failure icon was a .JPG, which lacked transparency. While this was not noticeable in Odoo Light Mode, it resulted in a visible white background in Dark Mode. This commit replaces the JPG with an SVG, ensuring proper transparency. | Current (17.0) | Fix | |--------|--------| |  |  | |  |  | task-4531425 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an error that could occur when updating the departure reason for multiple employees at once. HR teams can now make these updates without the system failing during the employee record update.
Original PR description
Since the function message_post on mail thread has been built to be called on exactly one record and the function write on employee is for multiple records, we need to call it for each employee we are writing on. It has been introduced in: https://github.com/odoo/odoo/pull/143217 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Mexican electronic invoicing module now handles SAT status responses correctly when the returned status code is already plain text. This prevents an error during CFDI status checks and helps users get accurate invoice status information.
Original PR description
The following `response` was being returned when checking the CFDI status:
```
(Pdb++) response {'CodigoEstatus': 'N - 601: La expresión impresa
proporcionada no es válida.', 'EsCancelable': None, 'Estado': 'No
Encontrado', 'EstatusCancelacion': None, 'ValidacionEFOS': None}
```
Since `CodigoEstatus` is already a string, there is no need to parse it again. Removing the extra line prevents the error that occurred when trying to re-parse text from a string and ensures the SAT status is handled correctly.Uruguay electronic invoice PDFs now remove hidden or special characters from copied terms and addenda text. This prevents unexpected question marks from appearing on customer-facing invoice documents, improving document quality and professionalism.
Original PR description
This PR aims to fix an error on PDF reports on UY invoices, that occurs when copy-pasting the addenda text from an editor in Odoo. It happens that sometimes the text has hidden characters inside and those are printed as ? in the pdf. Steps to reproduce: 1) Install l10n_uy_edi 2) Create or duplicate an e-invoice 3) Copy-paste the following text in the "Terms and conditions" section: Estimated Net Weight: 84.000,00 Kg Estimated Gross Weight: 84.240,00 BL Nº: HLCUPN4240969947 BANK DETAILS: TEST12344 4) Confirm, print and send the invoice. 5) Check the pdf is created like this:  Expected behavior after this PR: The text on the "Adenda" section of the pdf should not print hidden characters.
Uruguayan electronic invoices now use the line label as the item name when no product is selected. This prevents invoices from being sent with a placeholder '-' in the official XML, reducing the risk of incorrect invoice details being submitted to DGI.
Original PR description
Description of the issue/feature this PR addresses: This PR prevents creating a CFE XML document with a "-" in the field "NomItem" when the product name is not found but it has a label. Current…
Description of the issue/feature this PR addresses:
This PR prevents creating a CFE XML document with a "-" in the field "NomItem" when the product name is not found but it has a label.
Current behavior before PR:
If an electronic invoice is sent to DGI with a line without product id but with a label, the field "NomItem" in the XML file created is filled with "-".
Desired behavior after PR is merged:
If an electronic invoice is sent to DGI with a line without product id but with a label, the field "NomItem" in the XML file created is filled with the product description.
Steps to reproduce the issue:
- Create an electronic invoice on an uruguayan company.
- Add a line without a product and add a label, a unit price, quantity and tax.
- Confirm the invoice and create CFE.
- Check that the field "NomItem" is field with a "-" instead of the product label like this:
```
<Item>
<NroLinDet>4</NroLinDet>
<IndFact>2</IndFact>
<NomItem>-</NomItem>
<DscItem>PRODUCT X</DscItem>
<Cantidad>1.000</Cantidad>
<UniMed>N/A</UniMed>
<PrecioUnitario>20.000000</PrecioUnitario>
<MontoItem>20.00</MontoItem>
</Item>
```This fix makes Belgian payroll calculations use the intended payroll date when looking up the public transport reimbursement limit. It prevents tests and date-sensitive payroll calculations from accidentally using the real current date, improving consistency and reliability.
Original PR description
Issue: in testing with freeze_time if the date is None in `_get_parameter_from_code` arguments it takes the real today's date - change the `date` argument while getting the `public_transport_max_amount` parameter because if it is None is gets the real date not the freeze one Task: 4509216
The salary configurator now avoids a crash when the Belgium-specific salary package is not installed. This helps HR users generate offers reliably even when optional localization features are absent.
Original PR description
Currently below error occurs when Salary Configurator (Belgium) not installed. Error: `KeyError: 'id_card_filename'` ### Steps to reproduce above error :- - Install 'Salary Configurator' - Employees >> Configuration >> Personal Info >> New - Create a new field, enter required fields, set 'Related Field' to 'ID Card Copy' and 'Display Type' to 'Document' and hit 'Save' - Now go to Employees >> Contracts, click any employee >> Generate Offer >> Salary Configurator - The error appears in the log. The error arises because field `id_card_filename` is present in 'Salary Configurator (Belgium)' module, which was not installed. This commit solves the above issue by checking if field `id_card_filename` is present. sentry-6164311636