Daily updates from Odoo
Friday, December 7, 2018
4 changes · master
Code cleanup and technical improvements
This change reorganizes how Odoo’s web interface builds and manages the control panel and search tools. It should make the interface easier to maintain and extend, especially for dashboards, favorites, spreadsheets, attendance, mail, point of sale, and accounting workflows that rely on these shared controls.
Original PR description
This branch introduces a large-scale reorganization of the component tree generated by the web client. The short version is that now, the control panel is a child of the view controller and no longer…
This branch introduces a large-scale reorganization of the
component tree generated by the web client. The short version is
that now, the control panel is a child of the view controller and
no longer a sibling. Graphically (and simplified), we go from
this:
webClient
/ | \
... ... actionManager
/ \
controlPanel viewController
/ \
to this:
webClient
/ | \
... ... actionManager
|
viewController
/ | \
ControlPanelController
/ \
CPRenderer CPModel
The motivation is that this work moves the code where it should be.
Before this commit, it was kind of weird to have code in the
controllers to render buttons outside of their root node (in
renderButtons). Also, the action manager had to take care of
coordinating search view states between view transitions.
So, this work simplifies the code. It also makes it easier to
extend. We see day after day that Odoo needs to take care of more
complex UI needs, and in many cases, these needs were quite
difficult to implement (we prefer spaghettis in our plates, not in
our code). The changes in this branch should open the way to
implement these features.
For example,
- it will now be easy to add the possibility of views (for example,
the search view or a new ControlPanel view) to add custom buttons
(of type action or object) in the control panel.
- Another need will be to serialize/ restore the state of the
search view across action boundaries (needed by the dashboard).
- Another example is the possibility for views to customize easily
the presence/absence of sub menus (filters/groupbys/favorites/
time range/...)
- Another need is an easier way for views/client action to customize
their control panel.
This commit also contains a large rewrite of the search view (so it
is more inline with our architecture and easier to maintain).
Part of task 1893568
Co-authored-by: Aaron Bohy <aab@odoo.com>
Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Co-authored-by: Martin Geubelle <mge@odoo.com>
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThis update streamlines how outgoing emails are prepared and sent across Mail-related features. It removes unnecessary internal steps, making email delivery code easier to maintain while preserving existing business workflows for mail, mass mailing, and website channels.
Original PR description
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
Document management has been separated from the general attachment system, making attachments simpler and documents easier to manage as their own business object. The update also restores the attachment button for records without chatter, so users can still find related files where expected.
Original PR description
The first implementation of `documents` was based on `ir_attachment`, adding fields only useful when the attachment was a document. This task splits documents in a new model called documents.documents, and clean the logic accordingly. This task also recovers the "attachment" action button, to list attachments on a model without chatter. related to: odoo/enterprise#3048 task: #1908896
This update restructures how page controls and search options are embedded inside Odoo screens, aligning Enterprise apps with a broader web client change. Users should see the same functionality, while teams benefit from a cleaner foundation for maintaining Studio, reports, dashboards, barcode flows, documents, and other custom actions.
Original PR description
This PR is the enterprise version of PR https://github.com/odoo/odoo/pull/29106. This PR contains the necessary adaptations to the new component structure. The code most impacted is certainly web_studio and custom client actions.