Daily updates from Odoo
Navigate
Branch
Friday, May 24, 2019
10 changes
Enhancements to existing features
Projects can now connect more directly to analytic accounting so businesses can track costs and revenues even when timesheets are not used. Project dashboards and cards now provide clearer access to profitability, purchase orders, vendor bills, sales orders, and related financial activity.
Original PR description
Impacted modules: hr_timesheet, project, sale_timesheet and sale_timesheet_purchase Currently, the link between the Analytic Account and the Project is non existant if Timesheets is not installed,…
Impacted modules: hr_timesheet, project, sale_timesheet and sale_timesheet_purchase Currently, the link between the Analytic Account and the Project is non existant if Timesheets is not installed, and we track any cost linked to the AA set on the Project, but we only track the revenues linked to Timesheets. The purpose of this merge is to allow simple project (no timesheet installed or activated) to track their costs and revenues. This is done through the analytic account; indeed, all purchase order, sales order, invoices and vendor bills can generate analytic entries. It could then be interessting for user to see the costs and revenues for a project. We decided to redirect user from the project dashboard to the "costs/revenues" action of the analytic account itself, or (if timesheet is allowed on project) to the overview. This commit also integrates purchase orders on the project overview. Implementation: This PR aims to improve the link between Project and Analytic Accounting, by several actions: * Move all the analytic account business to project * Add an Other Revenues field in Project Overview, which represent the positive analytic entries from the AA set on the Project AND that are not linked to a Timesheet * Add two smart buttons on Project Overview to Purchase Orders and Vendor Bill of the project's AA * Add the results (Sales Orders and Timesheets) linked to the project's AA in the respective smart buttons of Project Overview * Add a "Profitability" link on the Kanban card of the Project bringing to the Costs & Revenues of the AA set on the Project to allow profitability tracking when there are no Timesheets. To do so, it was required to move back the analytic dependency from hr_timesheet to project, like before 3dd3e2648329995ddc309081787e19005d48ccd0 (but without the inheritS). Limitation: This will only make sense for project having a "one-to-one" relation with analytic account. If 2 projects are linked to the same AA, we have no way to deduce from which project the cost entry is linked. Task-1975022
The search panel is now available in mobile kanban views, making it easier for users to filter and navigate records on phones and tablets. Category navigation was also simplified so tapping a parent category expands or collapses its children, reducing extra steps for mobile users.
Original PR description
Enable SearchPanel on mobile. Task ID: 1917277
EasyPost shipment requests now include an Odoo reference so EasyPost can identify and track Odoo-related customers more easily. This is a small backend improvement that supports better partner visibility without changing the user workflow.
Original PR description
**Task**: https://www.odoo.com/web#id=1963111&model=project.task&menu_id=4720 **Pad**: https://pad.odoo.com/p/r.a45c918a59774685fb203a1965a8a40f --
Phone and mobile numbers shown on follow-up reports can now be clicked to start a call. If the VoIP app is installed, the call can be placed directly through Odoo, helping users contact customers faster during collections follow-up.
Original PR description
Purpose of this task is, On the follow-up reports, the phone and mobile numbers of the contact are indicated. It'd be nice if the user could directly call those numbers by clicking on them So, I make the phone number clickable on follow-up reports Task ID: 1965862 Pad link: https://pad.odoo.com/p/r.19fcea72ddaba07a569920484e08132e
The grid view can now display and organize records using fields that include both date and time, not just dates or simple categories. This helps users work more accurately with time-based planning and reporting, including cases affected by timezone or daylight saving changes.
Original PR description
This commit makes the grid view supporting `datetime` fields. Before, only `date`, `selection` and `many2one` were supported. To do so, some technical choices has been made: 1/ To fully support DST (Daylight Saving Time) and avoid timezone problem, we use `rrule` lib to generate the grid column period 2/ `read_grid_domain`still return an inclusive domain for the complete grid range: [start, stop], while the column period are [start, stop[ 3/ grid server still return dates in UTC, and are displayed in user TZ by the webclient Task-1982087
Mobile users can now use the Documents app with the same key filtering and navigation tools available on desktop. Search filters, document details, discussions, and action buttons have been redesigned for small screens, making document management practical from phones and tablets.
Original PR description
This merge introduces the SearchPanel widget and Documents application on mobile. The SearchPanel widget in kanban views has been introduced in commit odoo/odoo@25c9355. It allows to refine search according to specific dimensions. This widget is displayed as a sidebar to the left of the kanban view. But it's also missing a representation for small screens, and then disabled on mobile. This commit enables it on mobile giving the same features as the desktop version but displayed as an additional row at the top of the kanban records. Until this merge the custom kanban view of Documents was disabled on mobile because it missed some features (like the SearchPanel). Now that it is implemented we can enable the custom kanban of Documents on mobile. It includes : - rendering the DocumentsInspector as a modal - rendering the chatter (when available) also as a modal - merging the ControlPanel's buttons into a dropdown Task ID: 1917277
Resolved issues and error corrections
Product sales counts now include sales completed through the Point of Sale app, not only standard sales orders. This gives users a more accurate view of product performance across sales channels.
Original PR description
The sales count was wrong when sales where done in the POS app. We added the product in the count so now we have both sales and pos sales product. 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
The point-of-sale print button now prints daily sales only for the specific POS configuration being used, instead of mixing in sales from other registers. Access is also tightened so cashiers can print only their current session details, helping managers keep broader daily sales reports controlled and accurate.
Original PR description
PURPOSE
If the printer icon inside a PoS session is clicked, a ticket will be printed with a report of all sales of today for the curent PoS Config.
SPECIFICATIONS
- At the moment If clicked on the icon a report will be printed for all sales of the day, including all other PoS configs. This is not wanted behaviour.
original pr with fix: https://github.com/odoo/odoo/pull/32789
- Only managers should be able to print this reportCode cleanup and technical improvements
This change updates the web module to use Odoo's shared content caching setting for menu loading instead of a separate hardcoded value. It keeps caching behavior more consistent across the platform and reduces future maintenance risk, with no expected visible change for users.
Original PR description
use CONTENT_MAXAGE to define the max-age instead -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change avoids cleaning up the same interface component children twice when a component is closed or removed. It reduces unnecessary background work and slightly improves performance without changing user-facing behavior.
Original PR description
This commit prevent from going through the widget's children twice when `destroy()` is called : * once in `ParentedMixin` * once in `Widget`