Monday, December 1, 2025
4 changes · 19.0
Enhancements to existing features
This update enhances the emails sent for equity transactions and UBO form requests, making them more professional and user-friendly. Specifically, the email design has been modernized, and the ability to send to both subscriber and seller parties has been added for greater flexibility. This improves communication and streamlines processes related to equity management.
Original PR description
This commit improves the emails sent for equity notice and UBO form request. The following improvements are applied: 1. Make the equity/UBO button fixed at the top of the email without being editable for the user (to not mess up the token) 2. Make the rendered email look more odooish (used mail_notification_light) 3. Allow for sending to subscriber and seller at the same time in an equity transaction task-5123366
This update improves the equity tracking application by refining the email sending wizard. The changes include new unit tests for UBO records, UI/UX enhancements for a better user experience, and fixes for previously identified issues. This results in more reliable and user-friendly equity valuation communication.
This update automatically notifies users when invoices are canceled due to DGI rejections, ensuring someone is responsible for correcting and reissuing them. It also addresses a previous inconsistency where rejected invoices could unexpectedly change state, now allowing users to manually update the DGI status and maintain accurate invoice records.
Original PR description
Added 3 improvements to the process of updating the state of an invoice in Odoo, according to the state in DGI: **For invoices that have been rejected by DGI:** - Added logic to automatically notify…
Added 3 improvements to the process of updating the state of an invoice in Odoo, according to the state in DGI: **For invoices that have been rejected by DGI:** - Added logic to automatically notify relevant users when an electronic invoice (CFE) is rejected by the DGI and, as a result, canceled in the system. The goal is to ensure that there is always someone responsible who is informed to correct and resend the receipt. - Added logs in the terminal to make the debug easier in case we want to identify rejected invoices. **Particular case of an invoice that had been rejected by DGI but the user somehow fixes it and then DGI accepts it:** - Added logic to verify both DGI state and Invoice state and adjust it accordingly when updating invoice DGI status. - Make 'Update DGI status' button always visible to be able to adjust invoices states. **== Context of the Problem ==** Previously, when Odoo detected that a CFE had been rejected by the DGI, the system proceeded to cancel the invoice automatically. However, this process was carried out silently, without generating any notification. This could mean that if no user or salesperson was actively monitoring the status of the receipts, the cancellation would go unnoticed, resulting in invoices that were never corrected or reissued. For the case of a previously rejected and then accepted invoice, we always thought that 'Rejected' state in DGI was a definite state and could not suffer any change. But recently it has been a case that this state changed, creating inconsistencies in Odoo invoices states as they appear as cancelled. With these changes, the user can adjust the invoices state by clicking 'Update DGI status' button. **== Automatic Notification Logic ==** With the new functionality, every time an invoice is automatically canceled due to a DGI rejection, the system posts a message in the document chatter to report the situation. The logic for determining who is notified is as follows: _Scenario 1: Invoice with Internal Followers_ - If the canceled invoice has at least one internal follower (an Odoo user), the system will perform the following actions: - It will post a message in the invoice chatter. - It will tag (@) all internal followers to notify them directly. _Scenario 2: Invoice without Internal Followers_ - If the invoice does not have any internal followers, the system will search for a more general but relevant audience to ensure that the notification is addressed: - It will post a message in the invoice chat. - It will tag (@) all users who belong to the “Accounting Manager” permission group (technical name: group_account_manager). Task ODOO: #[1362](https://latam-localizations.odoo.com/web?debug=1#id=1362&cids=1&menu_id=88&action=131&active_id=16&model=project.task&view_type=form) Task ADHOC: #[54799](https://www.adhoc.inc/odoo//project.task/54799) Forward-Port-Of: odoo/enterprise#100523 Forward-Port-Of: odoo/enterprise#94502
This update improves the look and feel of the website builder's floating toolbars by unifying their design and functionality. This creates a more polished and consistent user experience, making the editor easier to use and more professional-looking.
Original PR description
<h1><strong>Standardize Floating Toolbar Layout </strong></h1> <p>This PR unifies the look and feel of the floating toolbars inside the website builder.<br> Over time, subtle inconsistencies slipped…
<h1><strong>Standardize Floating Toolbar Layout </strong></h1> <p>This PR unifies the look and feel of the floating toolbars inside the website builder.<br> Over time, subtle inconsistencies slipped in — animation dropdowns looked different from font popovers, highlight pickers used custom layouts, scrollbars behaved differently depending on the browser, and sublevel options in highlight configuration had no hierarchy.</p> <p>This work brings all those elements together into <strong>one cohesive design</strong>, improving usability and giving the editor a more mature, polished visual identity.</p> <hr> <h1><strong>Key Changes Before and After </strong></h1> 1. Animation Dropdown Styling <img width="290" height="290" alt="image" src="https://github.com/user-attachments/assets/35f31160-1ece-4bc6-9d2a-6ac055ef80ca" />|<img width="290" height="290" alt="image" src="https://github.com/user-attachments/assets/5cf42575-cb6b-4480-a665-505aeb022f24" /> 2. Highlight Picker Grid & Scroll Behavior <img width="270" height="299" alt="image" src="https://github.com/user-attachments/assets/da732527-03ea-42b0-8a46-514eabfa66b0" />|<img width="269" height="304" alt="image" src="https://github.com/user-attachments/assets/9a55eba5-7c2f-4441-9699-847e276938aa" /> 3. Highlight Configurator Sublevels <img width="266" height="123" alt="image" src="https://github.com/user-attachments/assets/5aa7422c-e07c-476f-a770-aa3290cdd728" />|<img width="271" height="125" alt="image" src="https://github.com/user-attachments/assets/35a80c61-ce23-45f8-af36-ea6a6709a10e" /> 4. Row Labels alignment <img width="312" height="231" alt="image" src="https://github.com/user-attachments/assets/4d014c03-1e81-44eb-8980-69f7cd065577" /> <img width="305" height="228" alt="image" src="https://github.com/user-attachments/assets/7056700e-71a2-4b05-b6ae-a07d7fec5b23" /> <hr> <h1><strong> What This PR Solves</strong></h1> <h3><strong>Before</strong></h3> <ul> <li> <p>Floating toolbar components each had their own styling quirks.</p> </li> <li> <p>The animation dropdown looked visually disconnected from other popovers.</p> </li> <li> <p>Highlight picker used a custom popover with inconsistent scroll behavior.</p> </li> <li> <p>Nested highlight options lacked indentation or visual hierarchy.</p> </li> <li> <p>Font size selector didn’t use the system font.</p> </ul> <h3><strong>After</strong></h3> <ul> <li> <p>All floating toolbar dropdowns now share a <strong>standardized design</strong>.</p> </li> <li> <p>Animation options match the layout and behavior of the <strong>font style popover</strong>.</p> </li> <li> <p>Highlight picker now uses <code inline="">dropdown-menu</code> styling with consistent scrollbars.</p> </li> <li> <p>Sublevel rows in highlight configurator now show a clear hierarchy.</p> </li> <li> <p>Font size selector uses system fonts for typographic consistency.</p> </li> <li> <p>Scrollbars are thin, predictable, and uniform.</p> </li> </ul> <hr> <h1><strong> Technical Breakdown</strong></h1> <h3><strong>1. Unified Dropdown & Popover Styling</strong></h3> <ul> <li> <p>Added thin-scrollbar styling at the web level for consistent behavior.</p> </li> </ul> <h3><strong>2. Floating Toolbar Awareness</strong></h3> <ul> <li> <p>Introduced <code inline="">dropdownClass</code> logic to let floating toolbars override default select styling.</p> </li> <li> <p>Removed the <code inline="">o-hb-select-dropdown</code> class when not needed to match the font popover.</p> </li> </ul> <h3><strong>3. Sublevel Rows in Highlight Configurator</strong></h3> <ul> <li> <p>Added <code inline="">hb-row-sublevel-1</code> to represent nested highlight styles.</p> </li> <li> <p>Updated <code inline="">--o-hb-row-bg-color</code> to align with sidebar styling and improve contrast.</p> </li> </ul> <h3><strong>4. System Font in Font Size Selector</strong></h3> <ul> <li> <p>Font size preview now uses the system font defined in CSS variables.</p> </li> </ul> <h3><strong>5. Improved Test Coverage</strong></h3> <ul> <li> <p>Ensures highlight picker grid scrolls correctly.</p> </li> <li> <p>Confirms animation dropdown matches the font popover visually.</p> </li> <li> <p>Verifies correct indentation of nested highlight configurations.</p> </li> </ul> <hr> <h1><strong>Affected Modules</strong></h1> <ul> <li> <p><code inline="">website</code></p> </li> <li> <p><code inline="">web</code></p> </li> <li> <p><code inline="">html_builder</code></p> </li> <li> <p><code inline="">html_editor</code></p> </li> </ul> <hr> <h1><strong>Task</strong></h1> <p><strong>task-5075191</strong></p>