Daily updates from Odoo
Wednesday, August 18, 2021
26 changes · master
Enhancements to existing features
The approvals app test setup was improved so messaging features can be accessed without relying on a preset environment. This helps make automated checks more stable and supports ongoing maintenance without changing day-to-day user workflows.
Original PR description
Part of task-2582313
The payroll work entry type form now displays the unpaid structure type field using the full available width. This makes the form easier to read and use when configuring payroll work entry types.
Original PR description
currently, the unpaid structures type input field doesn't take the full width. it happens because the div class is added by the xpath in the unpaid group. so this commit fixes the issue by removing the unnecessary xpath so that the unpaid structures type input field takes a full width TaskID-2611955
Resolved issues and error corrections
Helpdesk dashboards now calculate today's success rate by comparing tickets closed today with the daily target. The helper text for today's and seven-day average success rates is improved, making performance indicators easier for teams to understand.
Original PR description
this commit calculates today's success rate by dividing today's closed ticket by a daily target TaskID-2610915
The timesheet kanban view now keeps the colored status dot properly sized when a task name is very long. This prevents visual confusion and makes status information easier to read for users reviewing timesheet entries.
Original PR description
The status colored dot is squished when the name of the task is too long. Steps to reproduce: https://nimb.ws/aJQF47 go to timesheets > all timesheets create a timesheet entry with a long task name and view this entry in the kanban view The status colored dot has been placed between div tags to avoid being squished. The issue has only been identified on the master branch. Task-2626887
The employee planning view no longer shows sample placeholder data when selected employees have no scheduled shifts. This makes it clearer that the planning is genuinely empty and ready for new schedules to be created.
Original PR description
Purpose of the commit is to fix the view planning action of the employee. An empty line is displayed for the selected employees instead of showing sample even if they don't have any shifts planned. **TaskID: 2608855**
Helpdesk ticket analysis no longer errors when users add the Close Hours measure in pivot reports without Timesheets installed. Ticket forms also now avoid showing a negative related-ticket count when no matching customer tickets exist.
Original PR description
Currently when goto the ticket analysis reporting >> pivot view and add the measure `close hours` gives traceback. Traceback is due to the use of timesheet_uom widget which is defined in the hr_timesheet and when only helpdesk installed at that time it will generate an error. So in this commit use the float_time widget instead of the timesheet_uom. Second, when we create a ticket, and on the form view you can see the stat button showing ticket -1 if not ticket found that linked to same customer so to fix the -1 count if any tickets found for the same customer then do the -1 else count as 0 TaskID: 2619425
The Belgian payroll fleet vehicle form now displays additional company-specific information more cleanly. This makes CO2 fees and local tax details easier to view and reduces layout issues for users managing Belgian company vehicles.
Original PR description
When using a belgian company, more informations are displayed on the vehicle form view, such as co2_fee and local taxation data. However the form would render poorly. This commit fixes it. Task ID: 2627649
The Timesheets settings page now centers the reminder delay values for users and managers. This small display fix improves readability and makes the settings screen look more consistent.
Original PR description
Purpose of this commit is to display the value of reminder_user_delay and reminder_manager_delay fields center in the setting of the timesheet app. So, In this commit add a text-center class for that fields in XML of the setting in the timesheet app. Task ID: 2616165
This fix updates the timesheet forecast report to match a recent change in the underlying time label handling. It prevents an error from interrupting users when viewing forecast-related timesheet information.
Original PR description
_apply_time_label method has been refactored in this commit https://github.com/odoo/odoo/commit/9b53115345e988b5ac49ca5728d4de2dd6af56cd
Bulk editing the sales order line on helpdesk tickets is now disabled to prevent an error in the ticket list view. This avoids confusing failures for users, since changing the same sales order line across many tickets is not a typical business action.
Original PR description
This commit fixes a traceback when mass editing sale_line_id in helpdesk.ticket's tree view. It is caused by the need of `commercial_partner_id` in the domain of `sale_line_id` not being present in the view. Task ID: 1601707
The field service task Gantt popover no longer shows the assigned user and project fields twice. This makes task details cleaner and avoids confusion for field service users reviewing schedules.
Original PR description
Purpose of this commit to fix Gantt view popover of task Gantt view in field service app.In that Gantt view popover user_id and project_id fields display twice. So, In this commit remove extra code showing user_id and project_id fields twice in Gantt view popover of the task. Task Id: 2618278
Code cleanup and technical improvements
Several Odoo Enterprise apps were updated to use the latest shared messaging components. This keeps approvals, documents, signing, VoIP, and Studio aligned with the core platform and helps maintain consistent behavior across communication-related features.
Original PR description
*: approvals, documents, mail_enterprise, sign, voip, web_studio community PR: odoo/odoo#74982
Miscellaneous changes
Currently, when open the kanban view of the ticket and do the quick create it will not display the kanban state label according to the legends of the stage. so in this commit, add the stage_id and legend field in quick create view as invisible so it will get the value in state_selection widget to display it on kanban_state dropdown. PS: legend fields are related field of stage_id so added the stage_id and team_id is used as domain on stage_id field so added team_id too. TaskID: 2531595
Original PR description
Currently, when open the kanban view of the ticket and do the quick create it will not display the kanban state label according to the legends of the stage. so in this commit, add the stage_id and legend field in quick create view as invisible so it will get the value in state_selection widget to display it on kanban_state dropdown. PS: legend fields are related field of stage_id so added the stage_id and team_id is used as domain on stage_id field so added team_id too. TaskID: 2531595 Forward-Port-Of: odoo/enterprise#20188
Missing `alert` class create an unwanted margin inside the form view. Task-ID-2607982 Forward-Port-Of: odoo/enterprise#20085
Original PR description
Missing `alert` class create an unwanted margin inside the form view. Task-ID-2607982 Forward-Port-Of: odoo/enterprise#20085
While multiple days are selected for the shift in the planning calendar view but single day shift is made.it will be fixed. The issue arrived from this commit: https://github.com/odoo/enterprise/commit/242f7ca24ecf50648ea21f098fe78b978a51a5ba TaskID-2566320 Forward-Port-Of: odoo/enterprise#19869
Original PR description
While multiple days are selected for the shift in the planning calendar view but single day shift is made.it will be fixed. The issue arrived from this commit: https://github.com/odoo/enterprise/commit/242f7ca24ecf50648ea21f098fe78b978a51a5ba TaskID-2566320 Forward-Port-Of: odoo/enterprise#19869
Currently when open the form view of a ticket, write gibberish(mainly without domain) in the email field will generate an traceback due to false value of domain. So in this commit, when domain exist then and then combine with '@' else pass the email as it is. TaskID: 2582217 Forward-Port-Of: odoo/enterprise#20184
Original PR description
Currently when open the form view of a ticket, write gibberish(mainly without domain) in the email field will generate an traceback due to false value of domain. So in this commit, when domain exist then and then combine with '@' else pass the email as it is. TaskID: 2582217 Forward-Port-Of: odoo/enterprise#20184
to fix the lay translation buttons layout on stages form view, this commit change the xml to display translation buttons in the alignment of the kanban state label fields Task: 2605763 Forward-Port-Of: odoo/enterprise#19777
Original PR description
to fix the lay translation buttons layout on stages form view, this commit change the xml to display translation buttons in the alignment of the kanban state label fields Task: 2605763 Forward-Port-Of: odoo/enterprise#19777
When clicking on rating in the helpdesk dashboard, the list view would not be available until the user reloads the page. This is because the js client expects `list` instead of `tree` in some cases and the action was handled differently than on simple buttons. Now `tree` will be replaced by `list` in the list of views for the action. Task ID: 2612307 Forward-Port-Of: odoo/enterprise#19890
Original PR description
When clicking on rating in the helpdesk dashboard, the list view would not be available until the user reloads the page. This is because the js client expects `list` instead of `tree` in some cases and the action was handled differently than on simple buttons. Now `tree` will be replaced by `list` in the list of views for the action. Task ID: 2612307 Forward-Port-Of: odoo/enterprise#19890
Users were getting a traceback when an employee had a timeoff and the user's timezone was not set. TaskID: 2605558 Forward-Port-Of: odoo/enterprise#20310
Original PR description
Users were getting a traceback when an employee had a timeoff and the user's timezone was not set. TaskID: 2605558 Forward-Port-Of: odoo/enterprise#20310
With the addition of multi-company rules (https://github.com/odoo/odoo/pull/73654/commits/fca3128babb0910a72d1cacda193c064df58337f), an error was raised during the hr_contract_salary_tour. This is because the vehicle contract was not configured with the same company_id as the vehicle it was linked to. Whenever a user is trying to access the vehicle infos, if he doesn't have access to both of the companies, a multi-company error is raised. This change should assign the vehicle's company_i
Original PR description
With the addition of multi-company rules (https://github.com/odoo/odoo/pull/73654/commits/fca3128babb0910a72d1cacda193c064df58337f), an error was raised during the hr_contract_salary_tour. This is because the vehicle contract was not configured with the same company_id as the vehicle it was linked to. Whenever a user is trying to access the vehicle infos, if he doesn't have access to both of the companies, a multi-company error is raised. This change should assign the vehicle's company_id to the linked contract and avoid that error. opw-2518188 Forward-Port-Of: odoo/enterprise#20295
Since version saas-14.4, bytes object are not render by qweb the same way In saas-14.3, the decoded content of the bytes was rendered In saas-14.4, the repr of the bytes is rendered b'content' The certificate embeded in the cfdi xml file is then not rendered as it should be. Solution: decode the certificate bytes to str before the rendering Forward-Port-Of: odoo/enterprise#20219
Original PR description
Since version saas-14.4, bytes object are not render by qweb the same way In saas-14.3, the decoded content of the bytes was rendered In saas-14.4, the repr of the bytes is rendered b'content' The certificate embeded in the cfdi xml file is then not rendered as it should be. Solution: decode the certificate bytes to str before the rendering Forward-Port-Of: odoo/enterprise#20219
Issue : When planning a slot with repetition, the last day of the repetition is not included even though it should be Steps to reproduce: In the planning module, create a slot with the following config : - Repeat checked - Repeat every *1 week* - Until and select exactly 7 days after the start date of the slot Save, and only 1 occurrence is added on the selected start date, but not the one one week after Why is that a bug: In most calendars, when selecting a end date for
Original PR description
Issue : When planning a slot with repetition, the last day of the repetition is not included even though it should be Steps to reproduce: In the planning module, create a slot with the following config : - Repeat checked - Repeat every *1 week* - Until and select exactly 7 days after the start date of the slot Save, and only 1 occurrence is added on the selected start date, but not the one one week after Why is that a bug: In most calendars, when selecting a end date for a recurrence, the end date is included, and it was also supposed to be like that for the planning module. However there was a conversion between the selected end of recurrence date (the whole day) to a datetime (the first microsecond of the day), so when comparing, the end of the recurrence was always smaller than any time on that same day, which means the recurrence last day was always excluded opw-2560786 Forward-Port-Of: odoo/enterprise#20233 Forward-Port-Of: odoo/enterprise#20094
The method is api.model, it makes no sense to check the length of self. Forward-Port-Of: odoo/enterprise#20285
Original PR description
The method is api.model, it makes no sense to check the length of self. Forward-Port-Of: odoo/enterprise#20285
Forward-Port-Of: odoo/enterprise#20271
Original PR description
Forward-Port-Of: odoo/enterprise#20271
This was causing mirgrations to fail. ``` Traceback (most recent call last): File "/home/odoo/src/odoo/14.0/odoo/service/server.py", line 1199, in preload_registries registry = Registry.new(dbname, update_module=update_module) File "/home/odoo/src/odoo/14.0/odoo/modules/registry.py", line 89, in new odoo.modules.load_modules(registry._db, force_demo, status, update_module) File "/home/odoo/src/odoo/14.0/odoo/modules/loading.py", line 474, in load_modules migrations.mi
Original PR description
This was causing mirgrations to fail. ``` Traceback (most recent call last): File "/home/odoo/src/odoo/14.0/odoo/service/server.py", line 1199, in preload_registries registry = Registry.new(dbname,…
This was causing mirgrations to fail.
```
Traceback (most recent call last):
File "/home/odoo/src/odoo/14.0/odoo/service/server.py", line 1199, in preload_registries
registry = Registry.new(dbname, update_module=update_module)
File "/home/odoo/src/odoo/14.0/odoo/modules/registry.py", line 89, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/home/odoo/src/odoo/14.0/odoo/modules/loading.py", line 474, in load_modules
migrations.migrate_module(package, 'end')
File "/home/odoo/src/odoo/14.0/odoo/modules/migration.py", line 180, in migrate_module
migrate(self.cr, installed_version)
File "/tmp/tmp64dwvjff/migrations/sale_subscription/saas~13.2.1.1/end-migrate.py", line 15, in migrate
util.recompute_fields(cr, "sale.subscription.line", ["price_subtotal"])
File "/tmp/tmp64dwvjff/migrations/util/orm.py", line 113, in recompute_fields
records.recompute()
File "/home/odoo/src/odoo/14.0/odoo/models.py", line 5891, in recompute
process(field)
File "/home/odoo/src/odoo/14.0/odoo/models.py", line 5875, in process
field.recompute(recs)
File "/home/odoo/src/odoo/14.0/odoo/fields.py", line 1153, in recompute
self.compute_value(recs)
File "/home/odoo/src/odoo/14.0/odoo/fields.py", line 1175, in compute_value
records._compute_field_value(self)
File "/home/odoo/src/odoo/14.0/odoo/models.py", line 4057, in _compute_field_value
getattr(self, field.compute)()
File "/home/odoo/src/enterprise/14.0/sale_subscription/models/sale_subscription.py", line 1102, in _compute_amount
amounts = taxes.compute_all(price, line.currency_id, line.quantity, product=line.product_id, partner=self.analytic_account_id.partner_id)
File "/home/odoo/src/odoo/14.0/addons/account/models/account_tax.py", line 570, in compute_all
'name': partner and tax.with_context(lang=partner.lang).name or tax.name,
File "/home/odoo/src/odoo/14.0/odoo/fields.py", line 963, in __get__
record.ensure_one()
File "/home/odoo/src/odoo/14.0/odoo/models.py", line 4987, in ensure_one
raise ValueError("Expected singleton: %s" % self)
ValueError: Expected singleton: res.partner(1742, 1443, 1514, 1618, 1881, 1447, 1652, 1641, 1565, 1426, 1473, 1508, 1869, 1606, 1528, 1689, 1579, 1683, 1630, 1595, 1692, 1559, 1491, 1430, 1779, 1914, 1867, 1989, 2085, 1793, 1526, 1522, 1520, 2166, 1563, 1749, 1622, 1697, 1624, 2135, 1983, 1495, 1837, 2148, 1920, 1891, 2153, 2216, 2273, 1901, 2103, 1811, 1875, 2071, 2162, 2014, 1916, 2141, 2042, 2004, 1839, 2075, 2021, 1938, 2079, 1924, 1936, 1957, 1969, 1877, 2067, 1887, 2027, 2206, 2069, 2151, 2272, 1918, 2221, 2410, 1930, 2062, 2318, 2316, 2292, 2324, 2394, 2392, 2039, 2429)
```
upg-22387
upg-22389
upg-22397
Forward-Port-Of: odoo/enterprise#20244Archived tasks were showing on the grid view, which is not really making any sense. This commit aims at hiding those tasks from the grid view. TaskID: 2588276 Forward-Port-Of: odoo/enterprise#19725
Original PR description
Archived tasks were showing on the grid view, which is not really making any sense. This commit aims at hiding those tasks from the grid view. TaskID: 2588276 Forward-Port-Of: odoo/enterprise#19725