Daily updates from Odoo
Wednesday, July 16, 2025
6 changes · saas-18.3
Resolved issues and error corrections
When a Sign template layout is reused on a new document, grouped radio buttons now remain connected. This keeps single-choice fields working as expected for signers and avoids broken form behavior after applying a template layout.
Original PR description
If applied, this commit will make so that when a user uses the layout of a template document on a new document, the radio buttons will stay linked.…
If applied, this commit will make so that when a user uses the layout of a template document on a new document, the radio buttons will stay linked. _____________________________________________________ Using the layout of a template document, containing radio buttons, on a new document will unlink radio buttons, making them useless. 1. Go to the Sign module, and click on the Templates tab. 2. Click on the "Upload PDF" purple button, and upload a PDF of your choice. 3. On the left side of the screen, there's a panel where we can drag and drop sign items. Drag and drop a Radio button. 2 buttons will automatically show, and a yellow link will appear between the buttons. This link indicates that, when a user opens the document to sign, when clicking on a radio button, the other one will automatically be unselected if previously selected. 4. Save and return to the Templates window. 5. A new row has appeared with the name of the document. On the right side of this row, hover the house next to the share button and click on the 3 dots. Then, click on Use Layout. 6. Upload a PDF of your choice. 7. When the PDF shows, there's no yellow link between the radio buttons, unlike on the template from which the layout was used. In the file sign/models/sign_document.py, in the method _copy_sign_items_to(self, new_document), we copy every sign item from the template to the new document. However, the copy method we call doesn't take into consideration the special link between radio buttons, replicating the buttons correctly but not the link. This link is expressed by the radio set to which the radio buttons belong: indeed, after the copy of sign items, each radio button belongs to a different radio set, separating them. ### Explanation of the fix The fix consists of a rework of the _copy_sign_items_to method and a brand-new method specifically used to copy radio buttons. To keep the link between them, we assign all the buttons of the same set on the original documents to the same brand new radio set. The first button is copied normally: this creates a new radio set. Then, for the remaining buttons, we call copy_radio_item, to which we pass the button created first to use the information the next buttons will share with it. ______________________________________________________________ opw-4842590 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix corrects how accident-related salary days are calculated in Swiss payroll. It helps ensure payroll reports and employee compensation figures are accurate, reducing the risk of incorrect payroll processing.
Original PR description
Forward-Port-Of: odoo/enterprise#90191 Forward-Port-Of: odoo/enterprise#90153
The quality control worksheet test setup now assigns an email address to the administrator account. This prevents a sender email configuration error during automated tour testing, helping keep release validation stable.
Original PR description
Set the admin user's email explicitly to prevent "Please configure the sender's email address" error when running the tour with login='admin'. build_error-226779 Forward-Port-Of: odoo/enterprise#88283
Renaming an employee now succeeds even when the user does not have permission to rename the related document folder. This prevents administrative updates from being blocked by document access rights.
Original PR description
When an employee is renamed, it tries to rename the folder but if you don't have the rights on the folder, it raises an error and prevent you from renaming.
This fix prevents an error when users open the depreciation schedule for draft assets whose calculation board has not been generated yet. The system now uses the available draft entry date when no existing asset date is present, allowing the schedule to open normally.
Original PR description
Issue: https://github.com/odoo/odoo/issues/219112 Steps to reproduce:- - Minimum 1 asset in draft - Computation board not computed yet - Opening the depreciation schedule with draft entries. Cause:- - When asset is in draft and computation board is not computed yet no Journal Entries are created for that asset. - `asset_date` is minimum value among dates of related moves. - In this case there are no moves yet so `asset_date` is 'NoneType' - `asset_date = min([asset_date, move_vals['date']])` - In above line when we try to compare 'datetime.date' and 'NoneType' it gives rpc error. Fix: `min([asset_date, move_vals['date']]) if asset_date else move_vals['date']` Followup on commit: https://github.com/odoo/enterprise/commit/eb57a9bc4066ece08059384742d70705a646bbdc Forward-Port-Of: odoo/enterprise#90308
Facebook deprecated the data source used for the stories activity metric, which caused API errors and made other statistics show as zero. This update removes that unavailable Facebook stories statistic so remaining social dashboard metrics can load reliably.
Original PR description
Bug === `page_content_activity` has been deprecated, so the API return an error and the other statistics are set to zero. https://developers.facebook.com/docs/pages-api/changelog Now, the only equivalent is `post_activity_by_action_type`, but it needs to be called on all posts, and it does not support periods (so even if we call it for each post, we won't be able to compute the trend). So we simply removed the `stories` statistics for Facebook. Task-4914555 Forward-Port-Of: odoo/enterprise#89524 Forward-Port-Of: odoo/enterprise#89230