Wednesday, September 6, 2023
21 changes · master
Enhancements to existing features
The sales calendar now shows each sales order based on its next planned activity, giving teams a clearer overview of upcoming customer follow-ups. This helps sales users prioritize work and manage orders more efficiently from a single calendar view.
Original PR description
The goal of this task is to help user manage their sale_order by having a summary view of all their next activities. Sale calendar view is now based on the next activity for each sale_order. task-id: 3463325 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Project users can now convert a task into a subtask, or a subtask into a standalone task, through a standard action instead of needing debug mode. The task interface also shows closed subtasks in the subtask count, and project status information is loaded more safely in task selection dialogs.
Original PR description
Before this commit, the conversion from a subtask to a standalone task or the opposite was possible in debug mode. In order to provide for users a way to convert task to subtask or the opposite…
Before this commit, the conversion from a subtask to a standalone task or the opposite was possible in debug mode. In order to provide for users a way to convert task to subtask or the opposite without polluting the interface, a action is added. Also, when the user clicks on search more on a many2one field pointing on `project.task`, if the active_model and the active_id are defined then if we will try to load the last update status by using `active_id` even if `active_model` is not the `project.project` model. This commit adds a action that opens a form dialog. The user can choose to put a parent task or not. If not, the task becomes a standalone task. Otherwise, the selected parent task becomes the parent. This commit adds also an additional check before loading and displaying the last update status of the project active to be sure the `active_id` is the id of a project, that is, `active_model` has to be equal to `project.project` to be able to load the last project update status. Moreover, a UI change in the stat button showing the number of subtask is modified in order to display also the number of closed sub tasks. task-3251617 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Project Gantt planning now shows matching sale orders even when they do not yet have scheduled tasks. This makes it easier for users to find those orders and schedule new project work from the planning view.
Original PR description
Before this commit, the group by in the gantt view of project didn't allow the user to find records for which there were not scheduled tasks. For example, if a Sale Order didn't have a scheduled task, when grouping by Sale Order, the latter was not displayed. And searching for its name was not displaying it either. After this commit, when a user is searching for a sale order, even if the latter does not have any scheduled task, it is displayed in order to facilitate the scheduling of new tasks. In order to do so, a group expand on sale_order_id for the project.task model have been introduced. TaskId: 3251630 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Users can now remove all link previews from a message in one action instead of deleting each preview individually. This streamlines cleanup for messages with multiple links and reduces repetitive work.
Original PR description
Before this commit, when a message had many link previews, deleting all of them required to delete one by one. This commit improves this aspect by showing a "Delete All" button in the dialog to delete all link previews at once. task-3488054
Odoo now makes standard number and currency formatting available across front-end website applications. This helps prices, amounts, quantities, and totals appear more consistently in customer-facing and operational screens.
Original PR description
Before this commit, formatters like `formatMonetary` and `formatFloat` weren't loaded in the assets front-end. This commit introduces `formatAmount` ( `formatMonetary` calls `formatAmount` but makes some prior processing to deduce the currency from the field) and makes `formatAmount` and `formatFloat` accessible from any front-end application. Note: The currencies were added in the front-end session info because they are needed in `formatAmount`. See also: - https://github.com/odoo/enterprise/pull/46658
The live chat button now reappears and remains available after a visitor closes the chat window, making it easier to restart a conversation. Because the button is always present, visitors can also drag it to a more convenient spot on the page.
Original PR description
Before this commit, the livechat button was not shown anymore after closing the chat window. Since the livechat button is always present from now on, the button is now draggable. task-3358161
Vehicle service records now keep track of their status changes, making it easier to see when work started and when it was completed. This improves visibility for fleet managers and supports better follow-up on maintenance activity.
Original PR description
Purpose: Prior state was not tracked for 'Services for vehicles' and it was not possible to know when service started and when it was done. task-3469567
This update makes shared number and currency formatting available across front-end apps, helping amounts and decimals appear consistently for users. It also provides currency information to the front end so monetary values can be displayed correctly in more places.
Original PR description
Before this commit, formatters like `formatMonetary` and `formatFloat` weren't loaded in the assets front-end. This commit introduces `formatAmount` ( `formatMonetary` calls `formatAmount` but makes some prior processing to deduce the currency from the field) and makes `formatAmount` and `formatFloat` accessible from any front-end application. Note: The currencies were added in the front-end session info because they are needed in `formatAmount`. See also: - https://github.com/odoo/odoo/pull/133824
Incoming Chilean electronic invoices can now better identify and connect to the related purchase order when processed from email or XML attachments. This helps keep vendor bills tied to the right purchasing records, reducing manual matching and improving traceability.
Original PR description
This is an alternative to #45760
The timesheet grid now hides the option to add a new line when the selected period is locked, preventing users from starting an action that would later fail. Administrators can still see and use the button when needed.
Original PR description
**[IMP] timesheet_grid: hide Add line btn for locked periods** **Before this commit:** My/All Timesheets Grid View: Add new line button is displayed when the current period is locked. It's a waste of time and incoherent to let the user click the button and fill the form and finally inform him via an access error that the period is locked. **In this commit:** The button was hidden for locked periods. It Should still be visible to users with the admin access right level. task-2962093
Project Gantt views now make it easier to schedule work by showing relevant assignees, projects, worksheet templates, and customers even when they have no scheduled tasks. Task planning is also clearer, with allocated hours recalculated from planned dates and overdue planned dates highlighted in red.
Original PR description
Before this commit : - The group by in the gantt view of project didn't allow the user to find records for which there were not scheduled tasks. For example, if an Assignee didn't have a scheduled…
Before this commit :
- The group by in the gantt view of project didn't allow the user to
find records for which there were not scheduled tasks.
For example, if an Assignee didn't have a scheduled task, when
grouping by Assignees, the latter was not displayed. And searching
for its name was not displaying it either.
- Moreover, when creating/modifying tasks from the gantt view, the
planned date and had no influence on the number of allocated hours,
and vice versa.
- No visual indication in the task form view to indicate the user
that the planned date is expired.
After this commit :
- when a user is searching for an assignee, even if the latter does
not have any scheduled task, it is displayed in order to facilitate
the scheduling of new tasks. The same logic have been applied for
Assignee, Project, Worksheet Template and Customers.
- When creating a task from the gantt view the number of allocated
hours is automatically computed based on the planned date. When the
task is rescheduled from the gantt view, it is recomputed. However,
it is still possible for the user to change it manually.
- The planned date field in the task form view is displayed in red
when the date is expired.
TaskId: 3251630A new calendar view helps users see upcoming activities across all subscriptions in one place. This makes it easier to plan follow-ups, manage workload, and avoid missing important subscription-related tasks.
Original PR description
The goal of this task is to help user manage multiple subscriptions. We add a view where user can access all the next activities for all subscriptions. task-id: 3463325
Contract signing requests now open only for the people who actually need to act on them: the responsible signer when their signature is required, or the employee being asked to sign. This reduces unnecessary interruptions and helps users focus on relevant signing tasks.
Original PR description
In this PR we'll from now only open sign requests when the current user is either : - The responsible and HAS to sign - The employee being asked to sign task-3354671
Receipt printing with the Skip Preview setting now happens directly from the payment screen, avoiding a brief flash of the receipt or bill screen. This improves the checkout experience for cashiers and customers by making the flow feel cleaner and less distracting.
Original PR description
Currently when the pos.config is set to "Skip Preview", when printing a receipt, the receipt or bill screen shows very quickly and disappears. This is not good UX. Now, the receipt is printed from the payment screen itself. We don't need to show the receipt screen at all. taskId: 3441238
The Documents app now makes the All workspace more useful by enabling common actions like requesting files, adding links, sharing selected documents, and creating spreadsheets with clearer workspace selection. Users also get better guidance and error messages when an action cannot be completed, reducing confusion and extra navigation.
Original PR description
In this commit, we have made the following improvements in the "All" workspace. - When hovering over the "Upload" button, a tooltip is shown explaining that we cannot upload in "All" workspace. - Enable the "Request" button, and set the default workspace to the first one available in the list. - Enable the "Add a link" button, also added the workspace selection in the window. - Enable the "Share" button, only when one or several documents are selected, also show the notification error when the user tries to share the documents of different workspaces. - Enable the "New Spreadsheet" button and added the workspace selection in the dialog, when a user creates a spreadsheet from the "All" workspace, send the new spreadsheet to the spreadsheet workspace. Task-3264696
Resolved issues and error corrections
This fix prevents the Mail and Discuss app from crashing when the same record deletion is triggered more than once, such as during slow network conditions. Users get a more stable messaging experience because repeated delete actions now safely end in the intended deleted state.
Original PR description
Before this commit, calling `record.delete` twice would result in a crash. This is due to `this.Model`being cleared once the delete is done. This commit skips the deletion if it was already done: calling delete will result in the desired state anyway. This can be easily reproduced: - Throttle your network - Send a message on the discuss app - A crash occurs
Point of Sale no longer briefly flashes the receipt preview when the system is configured to skip it. Receipts now print directly from the payment screen, creating a cleaner checkout experience for cashiers and customers.
Original PR description
Currently when the pos.config is set to "Skip Preview", when printing a receipt, the receipt or bill screen shows very quickly and disappears. This is not good UX. Now, the receipt is printed from the payment screen itself. We don't need to show the receipt screen at all. taskId: 3441238
This fixes an issue where time off allocations that started in the past could be counted twice after the scheduled accrual process ran. The change ensures balances stay accurate, reducing the risk of employees receiving incorrect leave amounts.
Original PR description
Before this commit, creating a new allocation based on accruals and setting a start date prior to the creation date would compute the amount of days that should already have been accrued during that time. However, the lastcall field is not updated and running the accrual cron leads to a wrong duration. How to recreate the issue: - create an accrual plan - create an allocation set on that accrual - set a start date in the past for that allocation - the duration should be automatically set to a value above 0 - save and validate - run the accrual cron - the allocation now has its duration doubled After this commit, the lastcall should be set to the allocation creation date. This way, running the cron will correctly keep the value of the amount of days.
Point of Sale orders now use one consistent order date instead of separate creation and validation dates. This reduces confusion in order processing and helps keep order information aligned across the checkout, tickets, loyalty, online payment, restaurant, and self-order flows.
Original PR description
In this commit: =============== Revised parsing of order date flow. Eliminated the confusion caused by separate "creation_date" and "validation_date" by consolidating both into the "date_order" field. This change provides clarity to the parsing of order date process.
Fixed an issue where appointment booking pages displayed “Invalid DateTime” instead of the day for available slots. This ensures customers can clearly see and select appointment dates, avoiding confusion during booking.
Original PR description
Steps to Reproduce =================== 1. On website click on appointment tab from nav bar. 2. Click on any appointment. -> on the slot selection page we can see that the day is not showing and instead of day it is showing 'Invalid DateTime' Technical ========== Changing fromJSDate() to fromISO() because fromJSDate() only takes date object as an argument but slotDate is a string so it is giving error like 'Invalid DateTime' on UI side. This bug is comming after the refactor of moment to luxon https://github.com/odoo/enterprise/pull/44051/commits/f543608428dbc255962bf9b7fecc1de3ebeedb68 task-3491906
This update fixes several manufacturing workflow issues, including starting work orders when no user session is available, simplifying finished goods handling, and adding a quicker way to generate serial or lot numbers during quality checks. It also stabilizes a timesheet timer test to reduce unreliable failures in development.