Friday, June 17, 2022
17 changes · master
New functionality added to Odoo
Spreadsheet documents now support scorecard charts, giving users a clearer way to highlight key numbers and performance indicators. Chart linking has also been improved so scorecards can connect more smoothly to Odoo menu actions.
Enhancements to existing features
This update makes the Planning app easier to use by improving labels, field guidance, mobile behavior, and visual readability. It also adds a way to repeat shifts a fixed number of times, helping teams schedule recurring work more precisely.
Original PR description
Purpose of this PR to improve generic UX of planning app. So, in this commit: - show effective hour percentage in Gantt popover. - rename `open` into `add shift`. - show grey color on an alternate row in front-end. - add placeholders for some fields. - hide trash button for mobile in form view. - add a `number of repetitions` option in the `repeat_type` field for the shift. It will generate shifts according to that field. task-2816515
Resolved issues and error corrections
This fix ensures spreadsheet pivot headers keep the selected date grouping when formulas use positional references. Users who adjust pivot formulas manually will now see the correct day-level results instead of mismatched values.
Original PR description
…onal_formula_test Steps to reproduce: - Insert a pivot with a date grouped by day - Replace a PIVOT.HEADER formula with a positional argument (=PIVOT.HEADER(1,"#create_date:day",1)) => Result is not correct Task-id 2885964
Miscellaneous changes
To reproduce ============ L10n_cl installed In CL company Create a journal entry Try and reverse it a User Error is raised Purpose ======= the method `reverse_moves` checks `reason` field and raises the error if it's not provied, but the `reason` field is invisible when `move_type = 'entry'` Specification ============= to solve the issue we raise the error only when `move_type != 'entry'` opw-2861694 Forward-Port-Of: odoo/enterprise#28381
Original PR description
To reproduce ============ L10n_cl installed In CL company Create a journal entry Try and reverse it a User Error is raised Purpose ======= the method `reverse_moves` checks `reason` field and raises the error if it's not provied, but the `reason` field is invisible when `move_type = 'entry'` Specification ============= to solve the issue we raise the error only when `move_type != 'entry'` opw-2861694 Forward-Port-Of: odoo/enterprise#28381
This update adds automated checks for key Field Service processes, including completing tasks, reviewing task reporting measures, and turning task work into sales orders and invoices. It helps reduce the risk of future changes breaking important service-to-invoicing workflows.
Original PR description
Before these changes No unit test for many cases: After theses changes: - Testing Invoicing Flow - Testing Marking task as done - Testing Task analysis measures compute Task-2816818
This update adds automated test coverage to confirm that helpdesk tickets correctly carry project analytic accounts and tags into related timesheets. It helps reduce the risk of reporting or billing inconsistencies when support work is tracked against tickets.
Original PR description
In this commit, added test of helpdesk ticket analytic account and analytic tags
Test Case:
----------
1. Create Analytic Tags
2. Set Project Analytic Tag
3. Create Ticket
4. Check the default analytic account of the project and ticket
5. Check the default analytic tag of the project and ticket
6. Update the analytic_tag_ids of the ticket
7. Create timesheet
8. Check the analytic tag of the timesheet and ticket
task-2878938Journal item lists and manual reconciliation screens are easier to use, with clearer dates, direct access to related entries, and attachment previews that load only when needed. These changes reduce navigation effort for accounting users and make key financial information easier to review.
Original PR description
*reconciliation and Journal Items UX This PR aims to ease the flows around Journal items and Reconciliation by UX improvements. Manual reconciliation: The proposition lines now show the accounting date instead of the Due Date, and are sorted accordingly. As in the reworked reconciliation widget, the AML move name can now be clicked on to show its form view. Journal items: 2 list views were available for the journal items. As these changes make them very similar, the "grouped" view is dropped and only the simple/normal list view is used. As the useful information is now available from the list items, the more complex name that was previously used on the group by lines is not useful anymore. Some columns (Intrastat) were added to the view. Little fix to make sure a filter is set in the correct order. Previewer (in Journal Items list view): Added the previewer in the Journal Items list view. The previewer now loads the attachments only if open. task 2855459
The VoIP app now has a dedicated model to better organize call-related behavior and data. This should make the calling experience more reliable and easier to enhance over time, with limited immediate disruption for users.
Approval forms now refresh through the underlying data model rather than the visual form component. This should make approval screens more consistent and easier to maintain without changing the overall user workflow.
Original PR description
task-2886202
VoIP configuration is now included in each user's settings, making it easier to manage calling preferences from the user profile area. This helps businesses keep phone setup details aligned with individual users and supports smoother VoIP administration.
Original PR description
Community: https://github.com/odoo/odoo/pull/93390
The CRM opportunity screen now shows rental-related buttons consistently, even when there are no rentals yet. Rental quotes and orders are separated from regular sales counts, making pipeline information clearer and reducing confusion for sales teams.
Original PR description
PURPOSE Currently, in crm opportunity form view when rental is installed and if Rental Quotations and Rental Orders are zero than both stat buttons are invisible and name of the stat buttons are not…
PURPOSE Currently, in crm opportunity form view when rental is installed and if Rental Quotations and Rental Orders are zero than both stat buttons are invisible and name of the stat buttons are not fit in the box and if we create `Rental Quotation` then it is also count in `sale Quotation`. SPECIFICATION after this PR, Always display both stat buttons even if rental_quotation_count and rental_order_count is zero and also change the stat buttons name like `Rental Quotations` to `Rental`. override `get_prepared_domain` method in `sale_renting_crm` and add domain for it count and open only that records which is not 'is_rental_orders'. Note : 'sale_renting_crm' is NOT dependent on 'sale_crm'. That means, we can have 'sale_renting_crm' installed without 'sale_crm', and thus using super here to call methods defined in 'sale_crm' is not modular. so we change the dependency of sale_crm from `sale_management` to `sale` and add `sale_crm` as dependent module of `sale_renting_crm`. Task Id: 2627580
Steps to follow: Go to accounting > Bank Click on the three dots View > Statements Click on the only record Click on the reconcile button -> A Traceback appears Cause of the issue: The template checks if the partner_id is set before using the partner_name but that is not always true since https://github.com/odoo/odoo/pull/92364 modified the `_prepare_widget_writeoff_vals` method. opw-2882490 Forward-Port-Of: odoo/enterprise#28529
Original PR description
Steps to follow:
Go to accounting > Bank
Click on the three dots
View > Statements
Click on the only record
Click on the reconcile button
-> A Traceback appears
Cause of the issue:
The template checks if the partner_id is set before
using the partner_name but that is not always true since
https://github.com/odoo/odoo/pull/92364 modified the
`_prepare_widget_writeoff_vals` method.
opw-2882490
Forward-Port-Of: odoo/enterprise#28529Task: 2884593 Add default_asset_type in the context in create() to prevent missing asset_type bug. Forward-Port-Of: odoo/enterprise#28481
Original PR description
Task: 2884593 Add default_asset_type in the context in create() to prevent missing asset_type bug. Forward-Port-Of: odoo/enterprise#28481
Move Plausible part into website_appointment since it needs the website module to work and crashes the validation step with just the appointment module installed. Followup of odoo/enterprise#27911 task-2885762 Forward-Port-Of: odoo/enterprise#28526
Original PR description
Move Plausible part into website_appointment since it needs the website module to work and crashes the validation step with just the appointment module installed. Followup of odoo/enterprise#27911 task-2885762 Forward-Port-Of: odoo/enterprise#28526
currently, changing the employee in a mail template throws an error and it happens because the round function doesn't get the correct value of the 'timesheet_hours' field. in this commit, we fix the issue by checking the value of the field before rounding. after this commit, changing the employee in the mail template does not throw an error task-2877225 Forward-Port-Of: odoo/enterprise#28072
Original PR description
currently, changing the employee in a mail template throws an error and it happens because the round function doesn't get the correct value of the 'timesheet_hours' field. in this commit, we fix the issue by checking the value of the field before rounding. after this commit, changing the employee in the mail template does not throw an error task-2877225 Forward-Port-Of: odoo/enterprise#28072
The helpdesk teams privacy_visibility tooltip doesn't reflect the actual behavior for the "Invited portal users and all internal users" selection. This PR rephrases the tooltip of that field in order to correctly match its behavior. Task-2871771 Forward-Port-Of: odoo/enterprise#28163
Original PR description
The helpdesk teams privacy_visibility tooltip doesn't reflect the actual behavior for the "Invited portal users and all internal users" selection. This PR rephrases the tooltip of that field in order to correctly match its behavior. Task-2871771 Forward-Port-Of: odoo/enterprise#28163
A bug was introduced in the `_create_extra_move_lines` method by using the same overwritten dictionary object to create multiple move lines. By copying the shared dictionary values for each line, the problem is resolved. opw-2861728 Forward-Port-Of: odoo/enterprise#28451
Original PR description
A bug was introduced in the `_create_extra_move_lines` method by using the same overwritten dictionary object to create multiple move lines. By copying the shared dictionary values for each line, the problem is resolved. opw-2861728 Forward-Port-Of: odoo/enterprise#28451