Daily updates from Odoo
Navigate
Branch
Tuesday, November 30, 2021
20 changes
New functionality added to Odoo
Gantt views now show progress bars that compare planned or allocated hours against available working hours for resources, tasks, sales order lines, and related planning views. This helps managers quickly spot workload levels and capacity issues without opening detailed records.
Original PR description
Purpose ====== The progressbar showing planned hours compared to working hours in the gantt title column when the gantt view is grouped by resource already exists in the Planning module. This task aims to add an equivalent progress bar in the gantt view of Project Tasks showing the number of hours planned on tasks compared to the working hours of the user. Specification ========== In order to take advantage of the implementation made in the planning, this task factorizes both server and client implementation : - Server : The resource methods are factorized and defined in the resource module. - Client : The progressbar definition is factorized and defined in the web_gantt module in order to take advantage of its definition in both project and planning modules See also : odoo/odoo#77362 task-2646630
Enhancements to existing features
Project task schedule popovers now show allocated hours based on each assignee's working calendar. This helps managers quickly understand planned workload directly from the Gantt view, including totals across multiple assignees.
Original PR description
This PR adds the allocated hours information on the gantt popover. The allocated hours are computed based on the user's working calendar information. If there are multiple assignees, the working hours is the sum of the allocated hours for each user. This commit takes advantage of the PR #21135 and copy the way the allocated hours are computed in planning slots. task-2664117
The option to buy SMS credits for Sign is now available from the Sign settings page instead of a role form that users rarely access. This makes the credit purchase action easier to find in the normal configuration flow.
Original PR description
In the role form view there is, currently, a button for adding sms credits to the account. However, the role form view is never accessed, since the tree view is directly editable. This PR removes the button from the form view and adds it to the settings page of sign. task-2679754
Project and task views have been refined to make everyday planning and forecasting workflows easier to use. These updates help teams navigate project information more smoothly and reduce friction when working with forecasts and timesheets.
Original PR description
Purpose of the commit is to improve the generic UX of project task and project views. Related Community PR: odoo/odoo#75509 task-2590412
Employee appraisal planning now shows the next planned appraisal date before the appraisal is created. When Employee Contracts is installed, the first appraisal is scheduled from the employee's first contract start date when available, making appraisal timelines better aligned with actual employment start dates.
Original PR description
In the following commits: 1) next_appraisal_date_display is added in order to show upcoming (planed and not yet created) appraisal date from employee app 2) Appraisal plan domain is modified so that when 'Employee Contracts' is installed, the date of the first appraisal will be based on the start date of the first contract, rather then create_date of the employee. task - 2667125
Event attendee screens now open with overview-focused views first, making it easier to monitor registrations and event fill levels. Attendee reporting now starts with a graph instead of a pivot table, giving business users a clearer visual snapshot at a glance.
Original PR description
PURPOSE Change the view sequence of the attendees in Event. SPECIFICATIONS In this commit we have changed the sequence of the view, after this commit if the attendees opened from stat button or kanban button it will display the list view before the kanban view, purpose is that this is not the path to register or confirm attendance, you just want to keep an eye on how well your event is filling up and need an overview. We have also changed the sequence of attendees reporting view, after this if we opens attendees reporting, instead of displaying the stern looking pivot table it will display the graph view. LINKS PR #21976 Task 2670765
This change updates internal approval and signing components so their styling can be passed in a more flexible way. It supports upcoming technical upgrades in the messaging area without changing the visible business workflow for users.
Original PR description
In preparation to use OWL v2 in discuss code Task-2694196 community: https://github.com/odoo/odoo/pull/80060
Portal pages for appointments, helpdesk tickets, and signatures now show table headers once at the top instead of repeating them for every grouped section. This makes grouped lists easier to read and reduces visual clutter for users navigating portal records.
Original PR description
Currently, the header display above every group when the group by is applied. In this commit, we move the header with the fields labels at the top of the table. task-2655707 Related PR: odoo/odoo#77408
Resolved issues and error corrections
Tasks shown together in the Gantt view are now sorted by their start date instead of unrelated model settings like priority or sequence. This makes schedules easier to read and ensures users see work in the correct chronological order within each time period.
Original PR description
This PR purpose is to ensure that the records displayed in the gantt view are chronogically displayed when being part of a same cell. Let's say we have the following: - Task 1: sequence = 1, starts…
This PR purpose is to ensure that the records displayed in the gantt view
are chronogically displayed when being part of a same cell.
Let's say we have the following:
- Task 1: sequence = 1, starts on 2021-02-04 and ends 2021-02-05
- Task 2: sequence = 2, starts on 2021-02-03 and ends 2021-02-04
- Task 3: sequence = 3, starts on 2021-02-01 and ends 2021-02-15
All tasks are assigned to you and the gantt view is in month mode over the period
feb 2021
Current behavior:
- In the february cell of your user, you see, considering top to bottom order:
- Task 1
- Task 2
- Task 3
Expected behavior:
- In the february cell of your user, you should see, considering top to bottom order:
- Task 3
- Task 2
- Task 1
Reason:
The search performed by the rpc returns records according to the order set on the model.
As such, they are treated in that order and this causeis the chronological order not to be respected
when pills are part of the same cell. At the time of this commit the order in task
is "priority desc, sequence, id desc" which is obviously not chronological.
task-2516896Creating a field service shift now chooses a more relevant default date based on the current planning period. This helps users avoid accidentally scheduling work on the wrong day, while preserving the selected time slot when using the Gantt view plus button.
Original PR description
**Current behavior before PR:** Today's date is selected by default in industry_fsm. **Desired behavior after PR is merged:** If a shift is created through the 'ADD' button: - Set today's date by default if it falls during the current period. - Set the first working day of the period if it doesn't include today's date (i.e. it is in the past or in the future). If the user creates a shift through the (+) button of the Gantt view, the selected timeframe should bypass today's date. **LINKS:** Task-2627052
Code cleanup and technical improvements
This refactor simplifies how project task auto-shifting calculates employee availability and planned dates. It makes scheduling behavior more consistent by using the company calendar whenever an employee is unavailable or not covered by a valid work calendar, reducing module-specific custom logic.
Original PR description
Purpose ======= The auto-shift functionnality shifts the tasks backward or forward thanks to two triggers : - Manual trigger : User clicks on an arrow in the gantt view - Auto trigger : User plans a…
Purpose ======= The auto-shift functionnality shifts the tasks backward or forward thanks to two triggers : - Manual trigger : User clicks on an arrow in the gantt view - Auto trigger : User plans a task in conflict with a depending task that should be shifted in order to keep a waterfall order. This functionnality may be summarized as : 1) When a forward (resp. backward) shift is triggered, find the first datetime in the future (resp. the past) where the assignee is available. 2) Starting from this datetime, allocate the planned hours based on user's calendar availabilities. Analysis ======== Currently the implementation takes a big advantage of caching the work intervals information for a given calendar and resource and fill efficiently the dict in order to limit the number of calls to work_intervals_batch. However efficient, the current implementation can be factorized in order to have : 1) a unique method responsible of the work intervals caching which is handled two times currently. 2) a unique method responsible of giving the new begin and end planned dates, whatever there are or not planned hours on task 3) an efficient way to use the 'calendar validity' API of resource introduced in PR #21135. Which allows to remove overrides in project_enterprise_hr and project_enterprise_hr_contract. task-2643752
Miscellaneous changes
There is no reason not to return the current app on mobile. Steps to reproduce: * Open Odoo on tablet * Select an App => BUG opw-2687424 opw-2688832 Forward-Port-Of: odoo/enterprise#22478
Original PR description
There is no reason not to return the current app on mobile. Steps to reproduce: * Open Odoo on tablet * Select an App => BUG opw-2687424 opw-2688832 Forward-Port-Of: odoo/enterprise#22478
Steps: - Create an Analytic Account AA. - Create an Analytic Item for AA. - Timesheet > To validate (menu) > Last Week/Last Month. Issue: - Grid does not display any data. Cause: - The displayed week/month is when the first Analytic Line (Item) happened, whether it is a Timesheet (has a Project) or not. - Yet, the displayed Analytic Lines are only Timesheets. - So, for this week/month, there is nothing to display. Fix: - The displayed week/month is when the first Analytic Line
Original PR description
Steps: - Create an Analytic Account AA. - Create an Analytic Item for AA. - Timesheet > To validate (menu) > Last Week/Last Month. Issue: - Grid does not display any data. Cause: - The displayed week/month is when the first Analytic Line (Item) happened, whether it is a Timesheet (has a Project) or not. - Yet, the displayed Analytic Lines are only Timesheets. - So, for this week/month, there is nothing to display. Fix: - The displayed week/month is when the first Analytic Line (Item) that is a Timesheet happened. opw-2649089 Forward-Port-Of: odoo/enterprise#22563 Forward-Port-Of: odoo/enterprise#22547
- Install Chile localization - Create an invoice and post it - Go to Accounting > Reporting > Balance Tributario (8 columnas) "Resultado del Ejercicio" and "Total" lines are incorrect. In "Resultado del Ejercicio" line, the positive difference between Perdida subtotal and Ganancia subtotal is put in the column with the greater value to show the difference and is not taken into account in the Total. It should be the opposite. The "Resultado del Ejercicio" line should contain the posit
Original PR description
- Install Chile localization - Create an invoice and post it - Go to Accounting > Reporting > Balance Tributario (8 columnas) "Resultado del Ejercicio" and "Total" lines are incorrect. In "Resultado del Ejercicio" line, the positive difference between Perdida subtotal and Ganancia subtotal is put in the column with the greater value to show the difference and is not taken into account in the Total. It should be the opposite. The "Resultado del Ejercicio" line should contain the positive difference between Perdida subtotal and Ganancia subtotal in the column with the lower value to balance both Perdida and Ganancia in Total line. opw-267926 Forward-Port-Of: odoo/enterprise#22572 Forward-Port-Of: odoo/enterprise#22460
There is a zip with the 2 XML we need so we are unziping them and inside the CDR there is a response that contains a base64 zip, so, we are decoding-unziping-reading that data and attaching it to the email we are going to send as XML. The logic is as follows: datas(zip(xml(base64(zip(xml))))) there is no method that can handle this. So, we are making a specific method for this and adding a new one that will get the attachments inside of a given base64 zipfile like data. With the loop we
Original PR description
There is a zip with the 2 XML we need so we are unziping them and inside the CDR there is a response that contains a base64 zip, so, we are decoding-unziping-reading that data and attaching it to the email we are going to send as XML. The logic is as follows: datas(zip(xml(base64(zip(xml))))) there is no method that can handle this. So, we are making a specific method for this and adding a new one that will get the attachments inside of a given base64 zipfile like data. With the loop we can get all the attachments in a dict. Forward-Port-Of: odoo/enterprise#22445
Forward-Port-Of: odoo/enterprise#22600
Original PR description
Forward-Port-Of: odoo/enterprise#22600
Actually we don't get the type of card used with terminal because we don't add this value in the line.card_type With this commit we add the line.card_type from the data send by the terminal (data.Card) Forward-Port-Of: odoo/enterprise#22545
Original PR description
Actually we don't get the type of card used with terminal because we don't add this value in the line.card_type With this commit we add the line.card_type from the data send by the terminal (data.Card) Forward-Port-Of: odoo/enterprise#22545
Current behavior : A user with fields service administrator access right and administration access rights can't access worksheet in field service worksheet template from smart button. Steps to reproduce : Setup user (demo not admin user) access a described above Go to worksheet template in Fields Service Go in any of the template available Click on worksheet smart button Access error appears opw-2658755 Forward-Port-Of: odoo/enterprise#22550 Forward-Port-Of: odoo/enterprise#22542
Original PR description
Current behavior : A user with fields service administrator access right and administration access rights can't access worksheet in field service worksheet template from smart button. Steps to reproduce : Setup user (demo not admin user) access a described above Go to worksheet template in Fields Service Go in any of the template available Click on worksheet smart button Access error appears opw-2658755 Forward-Port-Of: odoo/enterprise#22550 Forward-Port-Of: odoo/enterprise#22542
Previously, the expiration panel would unblock the UI in a bunch of flows even when it did not block it previously, this means that it can unblock the UI that was blocked by unrelated code. This commit makes it so that the expiration panel only unblocks the UI if it blocked it previously. Forward-Port-Of: odoo/enterprise#22576
Original PR description
Previously, the expiration panel would unblock the UI in a bunch of flows even when it did not block it previously, this means that it can unblock the UI that was blocked by unrelated code. This commit makes it so that the expiration panel only unblocks the UI if it blocked it previously. Forward-Port-Of: odoo/enterprise#22576
For VAT sales and purchase report pdf who print we complete with the name of each ones. Before this change the name of both reports it was "General Report". Forward-Port-Of: odoo/enterprise#22523 Forward-Port-Of: odoo/enterprise#21793
Original PR description
For VAT sales and purchase report pdf who print we complete with the name of each ones. Before this change the name of both reports it was "General Report". Forward-Port-Of: odoo/enterprise#22523 Forward-Port-Of: odoo/enterprise#21793