Daily updates from Odoo
Wednesday, February 12, 2025
9 changes · master
Enhancements to existing features
Timesheet managers can now view and edit employee billing targets directly from a new Timesheets app menu, without needing HR Officer access. This aligns billing target management with the teams that use timesheet data and moves the billing rate target into a clearer Timesheets section under employee work information.
Original PR description
[IMP] sale_timesheet_enterprise: allow timesheet managers to configur… …e billing targets Before this commit: Currently, billing targets can only be viewed and edited on the employee form view by HR officers. This doesn't make sense as all users can see this information in the timesheets app. After this commit: Timesheet managers are able to edit this information even without having HR Officers via a new menu in Timesheet app. It was done via this menu instead of the employee public form because all fields are readonly and we cannot set an editable field. Billing rate target field was also moved to the 'Work Information' notebook under a dedicated 'timesheets' section. task-4173890
The sales subscription performance test was adjusted to reflect a small extra system check introduced by new default quotation document settings. This keeps automated testing aligned with the updated sales order process without changing the user experience.
Original PR description
A new feature in the community version allows users to set default quotation documents for sales orders. This introduces an additional query in the sale order creation flow. This commit increases the max query count of a performance test to accommodate these new queries. task-4307011
This update streamlines how planning and shift links are created by using one shared method instead of two separate ones. It helps keep Planning access links consistent and easier to maintain, with updated parameters for dates, employees, and access tokens.
Original PR description
In this PR we merge the _planning_get_url and _slot_get_url method and make a single method _planning_get_url. we also change the some parameters 1. date_start 2. date_end 3. employees 4. planning_access_token task-4156813
The Sign app no longer keeps an unused availability marker for signing options. This simplifies internal option handling now that options are created when needed and reused, with no expected change for everyday users.
Original PR description
This commit removes the 'available' field from the 'sign.item.option' model as it is not used anymore neither its logic. After odoo/enterprise#75291 we create options on demand and reuse the previous options for avoiding duplicating it, with the available field being True or False. issue-from: 75291 task-4387560
Mexican payroll now calculates the employment subsidy using the daily UMA value and a configurable percentage parameter. This helps keep payroll computations aligned with the latest subsidy rules and improves accuracy for affected payslips.
Original PR description
The subsidy is now computed based on the daily UMA and a new rule parameter, a percentage. Task: 4465315
The Web Studio editor now displays existing fields in alphabetical order. This makes it quicker and more predictable for users to find the field they need when customizing views.
Original PR description
**Before:** The fields under `Existing Fields` were not displayed in alphabetical order. **After:** The fields under `Existing Fields` are displayed in alphabetical order. task-4544703
Accounting screens and navigation were simplified to make setup and daily use less intimidating for small businesses and self-employed users. Advanced accounting options remain available, but the interface is less cluttered and easier to understand during onboarding.
Original PR description
This commit cleans menu items and forms to clean the interface as much as possible. We want onboarding of small entrepreneurs and self-employed persons to be less daunting, while preserving the usability of features for advances users. Excalidraw: https://link.excalidraw.com/l/65VNwvy7c4X/1BQX1dh6I8x task-4430969
Skill types in project HR skills must now include at least one skill and one level, helping prevent incomplete setup that could affect skill tracking. The related skill widget was adjusted so default levels are sent correctly when saving, improving reliability for users managing skills.
Original PR description
With this commit a skill type need to have at least one skill and one level. With this changes, the widget boolean_toggle_load needs to be changed because it was not possible anymore to save the record to retrieve the right default level's value. To solve this issue, a new field computed, no-readonly, no-stored is introduced. With this compute the frontend send to the backend the default level. task-4467338 Special thanks to @FrancoisGe and @aab-odoo for their help on this task :D
The Sign app now offers a clearer, more dynamic document and template editing flow. Users can manage signers, roles, fields, sharing, and template actions from streamlined sidebars and menus, reducing clutter and making document preparation faster.
Original PR description
This commit introduces significant improvements to the User Interface (UI) and User Experience (UX) of the Sign application. The main focus is on making the Sign Template editing process more dynamic…
This commit introduces significant improvements to the User Interface (UI) and User Experience (UX) of the Sign application. The main focus is on making the Sign Template editing process more dynamic by: - Introducing role assignments in the PDF view sidebar. - Removing the top bar of the Sign Template Edition. - Making the Signer Roles more customizable. Below is a categorized summary of changes: ### Template List View: - Reorganized fields in the template list view for better clarity. - Updated template sharing options; sharing link behavior now follows conditions. - Added a cog menu for template editing actions. - Moved settings from the top bar to the new cog menu. - Removed the top bar from the template edition interface. ### Documents List View: - Reorganized the documents list view; removed the grouping sidebar. - Fixed redirection issue in the template form when selecting "Cancel" in kanban view items. ### Templates Edition: - Added OWL Sidebar to render sign items dynamically. - Displayed a notification suggesting "Create Template" if a document is used at least three times. - Moved inline document name editing to the sidebar. - Transferred "Access Rights" option from the top bar to the cog menu. - Relocated "Save as Template" option from the top bar to the cog menu. - Enabled partner selection in the sidebar when signing an uploaded document. - Enabled role selection in the sidebar for template and document editing. - Allowed dynamic addition and removal of signers in the sidebar. - Added fold/unfold functionality for signers in the sidebar. - Made placeholders for sign items available without debug mode. - Added field icons in the sign items. - Removed employee names from sign items. - Updated the selection field to a dropdown menu when signing. - Introduced the new "Strikethrough" sign item. - Added auto-rendering of sign Signatures during template edition. - Improved selection field edition by adding multiple options then pressing Enter. - Made the dragging of sign items more smooth, fixing the coordinates. ## Discussion about Sign Item Roles new usage (storage-wise): After this PR, we made it easier to customer Sign Item Roles with the new sidebar. It was requested, in the task specification: 1. The removal of the Many2One fields for the signers in the sidebar; 2. The addition of a input field instead for editing the name of the signer; 3. A hamburguer menu with the options of editing the signer variables. For achieving this, we had to create a new Sign Item Role record at each signer addition, for keeping the modifications and making the signer specifically linked to the currently template being edited. This way, a same Sign Item Role record can be edited without any problems on the current template it is linked without affecting other templates. We estimated the amount of storage in PostgreSQL that will be necessary handling millions of Sign Item Role records below. Starting by the estimated size of a row of this respective class in the DB: | Column | Data Type | Size (Bytes) | |------------------|------------|----------------------| | `id` | `bigint` | 8 | | `sequence` | `integer` | 4 | | `create_uid` | `integer` | 4 | | `write_uid` | `integer` | 4 | | `auth_method` | `text` | 24 (20 chars + 4 overhead) | | `name` | `jsonb` | 50 (average) | | `default` | `boolean` | 1 | | `change_authorized` | `boolean` | 1 | | `create_date` | `timestamp` | 8 | | `write_date` | `timestamp` | 8 | | **Total (without overhead)** | | **112 bytes** | Row Size Calculation: Total without padding = 112 bytes, Row overhead = 24 bytes, Aligned total (8-byte boundary) = 136 bytes. This way, following the calculated byte per row, including overheads, we got: | Number of Rows | Total Size (Bytes) | Approximate Size (MB) | |--------------|------------------|-------------------| | 500,000 | 68,000,000 | ≈ 65 MB | | 1,000,000 | 136,000,000 | ≈ 130 MB | | 2,000,000 | 272,000,000 | ≈ 259 MB | | 4,000,000 | 544,000,000 | ≈ 519 MB | Thus, we can conclude that the current approach is not too heavy on a super large use case. If we made a similar behavior using computed fields (i.e. creating the record only when any of the fields is customized), we would have to change the entire behavior of the signers interaction in the sidebar and we would still need to create the record anyway. Co-authored-by: Ahmad <alah@odoo.com> task-4387560