Selecting records in a list view will trigger the display of UI elements
that will allow users to manage the selection and run actions on the
selected records.
Prior to this commit, this UI section was displayed within the
'additional actions' slot of the CP, but for UI consistency when
switching to/from mobile view (where the searchbar is usually hidden),
a new slot for 'selection-actions' is added to the control panel, in the
same place as the searchbar (indeed the searchbar is hidden when a
selection occurs, so sharing the same space seems like a good idea as it
avoids clipping/overflow issues)
Part-of: odoo/odoo#116641
- Avoid isSmall in template and use bootstrap display classes for
better responsiveness
- Re-order items to preserve order between size transitions as much as possible
- Change several breakpoints:
- Viewswitcher collaspses faster (lg instead of sm)
- Create 'always' buttons collapse in dropdown faste (lg instead of sm)
Make the searchabr appear/disappear based on sizing for better
responsiveness.
Hide the searhbar by default once we go under the LG breakpoint,
so that it does not cause re-flows when a user selects a record's
checkbox in list view.
'always buttons' that are meant to always be included in the control
panel are collapsed into a dropdown attached to the 'new' button when
the size drops below a specific breakpoint.
This commit ensure these breakpoints are correctly mirrored between the
JS code and the XML template, and also make sure the 'btn-group' class
is removed when there is no button to display in the dropdown (otherwise
the 'new' button is styled as-if some buton is supposed to be next to
it).
Part-of: odoo/odoo#116641
*: hr_holidays, stock, sale, product, web, sale, purchase, stock,
website, survey
Adapt some custom control panels (mainly for custom reports) to the
milk controlpanel.
hr_holidays:
Move the buttons to create a new time off or a new allocation to the
"create button" slot and transform it into a dropdown (creating
allocation requests is clearly a secondary action, not a primary one)
stock:
3 lines does not fit, must be on 2 lines
Part-of: odoo/odoo#116641
Properly styled search input.
Use the correct slot for "save/discard" buttons, as they should never collapse
even in mobile mode.
Part-of: odoo/odoo#116641
The collapsed breadcrumb should list its older entry at the bottom, so
that the reading direction is somewhat linear (start from bottom of
dropdown, go up, then go right - instead if going down the breadcrumb
then go back up before moving right).
Part-of: odoo/odoo#116641
This commit brings the ControlPanel into a single line with 3 main
sections:
- buttons & breadcrumb
- layout related actions (ie. the SearchBar in multirecord view or
ButtonBox in formView)
- navigation (pager, switch view...)
Add new search bar menu, this is a merge of the following components
into one big component display in column:
* comparison_menu
* favorite_menu
* filter_menu
* group_by_menu
Also adapt navigation hook.
Part-of: odoo/odoo#116641
hr_recruitment: switch smart button value and label
- Switching applicant's name with "Employee" label to be consistent with
the rest of smart button's format
mass_mailing: adapt status bar layout
- Removed excessive margin between the status bar and the content
- Added no padding between status bar and the control panel
- Removed a useless border before the status
- Improved margin between alert and buttons
project: right side panel stats buttons alignment
hr_skills: fix `::before` alignment
== ISSUE ==
Before this commit, the :before line in Employee resume is not aligned
with the dots. This is due to the fact that the variable
$o-hrs-timeline-entry-padding used in the mixin isn't the right value we
should use.
There was also an issue with responsive.
== After this commit ==
We now use a calc, which process the half of the circle plus the padding
minus the border-width. The $o-horizontal-padding is the variable used
to define the padding of the line inside the form view.
We adapt this in a smaller media query since the $o-horizontal-padding
value is different.
task-2818586
Part-of: odoo/odoo#116641
*: onboarding, account, account_payment, sale.
Currently used in the appointment module (See c1cf8bfb).
Related Task-3297572
task-2818586
Part-of: odoo/odoo#116641
Depending on Milk, this commit adds some missing borders.
Also adapts default `border-radius` to apply milk design.
task-2818586
Part-of: odoo/odoo#116641
- ButtonBox is moved to the ControlPanel's actions section (center).
- StatusBarField, ButtonBox and PercentPieField design.
- Chatter is moved below the ControlPanel (aka "in the view")
task-2818586
Part-of: odoo/odoo#116641
Co-authored-by: Pierre Paridans <app@odoo.com>
Co-authored-by: Pierre Rousseau <pro@odoo.com>
Co-authored-by: luvi <luvi@odoo.com>
*: account, gamification, mail, mrp, note, project, website_blog,
website_event_track.
Uniform design defining a common element shared across different
modules.
task-2818586
Part-of: odoo/odoo#116641
Uniform measures for spacing elements.
Round up the buttons' paddings: prior to this commit, `.btn` had
unrounded padding that created a blurred effect when we used UI Icons in
it.
task-3280695
task-2818586
Part-of: odoo/odoo#116641
This commit changes the way the identification questions (name,
email, phone) are asked when registering to an event. They aren't
hardcoded anymore and can be created per event the same way other
questions can be. They can be set as mandatory or not and the order
can be changed. One can now also ask for the attendee company name.
Task-3056380
closesodoo/odoo#112164
Related: odoo/upgrade#4313
Signed-off-by: Warnon Aurélien (awa) <awa@odoo.com>
This commit moves the code from website_event_questions to
website_event and from website_event_crm_questions to
website_event_crm module.
Task-3056380
Part-of: odoo/odoo#112164
With a slow network, make a new search in the search bar of a graph view
would lead the graph renderer to be rendered twice. This was due to the
fact that in the graph controller template an arrow function is passed
as a prop to the graph renderer. The reactivity system treats that prop
as changing at each graph controller rendering and ask unnecessarily (in
this case) the graph renderer to render.
closesodoo/odoo#121292
X-original-commit: dab0187e382e5f93dd5ccc78ecbd7e2f47f5c75e
Signed-off-by: Géry Debongnie <ged@odoo.com>
Since e6415be5ce6077702836779cf784e16f7e72a9c7, it is
forbidden to use taxes on Sales Order Lines from another company
than the Sales Order one (it was breaking later in the flows anyway).
Nevertheless, in some flows, modifying the company of an existing SO
can make sense, but you wouldn't be able to save the change if taxes
were set on the lines (unless you trigger the 'Update Taxes' button).
This commit will make sure that taxes are automatically recomputed
on company change, s.t. the user doesn't face multi-company errors.
It'll magically change taxes & amounts, but we consider that it's
an expected behavior when modifying the order company (and an
advanced flow for which users must be aware of the consequences).
Anyway, the user will always be able to discard the changes (company
& company-based recomputations) if needed.
opw-3234905
closesodoo/odoo#121258
X-original-commit: e37386a14430174961126ec1b8caf24d67011730
Related: odoo/enterprise#40991
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
With this commit, all hotkeyOptions are accepted when defining a command
with hotkey.
In the hotkey service, to unify the API with the command service, we will
rename validate to isAvailable and remove the target param because
it is never used.
closesodoo/odoo#121257
Signed-off-by: Bruno Boi (boi) <boi@odoo.com>
Currently, the field `analytic_distribution` does not appear in
the filters, while it should (to be able to filter `account_move_line`
for example).
We added Json to the filterable fields. If not overriden, it will
search on it like a String.
We also have to add a non-stored field to be able to define a search
function for `analytic_distribution`, to be able to search based
on the keys of the json.
closesodoo/odoo#121223
X-original-commit: 3d3e6847230d5cc9cd61a9bf83bef403a5b4b3ec
Signed-off-by: William André (wan) <wan@odoo.com>
Currently, Fields Sales are struggling to create quotations or sale
orders directly from the customer place. One of the issues is that it
is not easy to quickly add products to the SO. Products must be added
one by one and, in mobile, it requires completing a form with
quantities, ... for each new line.
This commit introduces a catalog view that allows users to select
products in a faster and easier way than before, both in desktop and
mobile view.
Task - 3062080
closesodoo/odoo#106382
Related: odoo/enterprise#37915
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Co-authored-by: chevalierv <vcr@odoo.com>
When tracked changes happen on a sale order, they are logged in the
chatter. These changes are not relevant to be shown in the chatter as
they can be excessive when the sale order is in a draft state,
especially for e-commerce orders since they are modified step-by-step
by the customer.
After this commit, changes will be logged only if the sale order is not
in a draft state.
Task - 3062080
Part-of: odoo/odoo#106382
Change the rules for the activation of the unwanted replenish warning.
Before :
Verification for unwanted replenish were only done if the
stock_orderpoint have a max qty >= 1
After :
Verification for unwanted replenish are done if the
stock_orderpoint have a max qty >= 0
task : 2918947
closesodoo/odoo#121144
Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
*: im_livechat, website_livechat.
Before this commit, the `thread.insert` method received an arbitrary
`serverData` key. This was cumbersome since we needed to create this
key manually at each insertion.Moreover some attributes where coming from
dedicated keys, some from the serverData key, some from both which led
to a bug-prone, hard to maintain code.
This commit removes the `serverData` key in order to solve those
issues.
closesodoo/odoo#121117
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
*: l10n_ae_pos, l10n_co_pos, l10n_fr_pos_cert, l10n_gcc_pos,
l10n_in_pos, point_of_sale, pos_discount, pos_hr, pos_loyalty,
pos_mercury, pos_restaurant, pos_sale, pos_six
The code of the pos was one of the first adopters of owl 1, as such, the
code was not initially written to take full advantage of the owl
reactivity system that would eventually make its way into owl 2. In
order to convert the code quickly when migrating to owl 2, a big
shortcut was taken: whenever something in the state of the pos changed,
the entire UI would be rerendered. While this works decently well in
practice, it can create confusing situations because the mental model
needed to understand how components work in the pos is different from
the rest of the code base.
This commit changes the existing code to use the typical fine-grained
reactivity model used everywhere else: components individually subscribe
to the pieces of state that they use and will rerender on their own when
this state changes. In order to achieve this, the pos global state has
been removed from the environment and should now be access through the
use of the custom hook `usePos` which will subscribe the component to
the state that it reads. This also has some minor performance benefits
as we only render the parts of the UI that actually need to update
whenever there is a state mutation, instead of the entire UI which can
be expensive in some cases (eg, the product screen will filter all
products during rendering to find only the products that match the
search, which is expensive when there are a lot of loaded products)
closesodoo/odoo#120992
Related: odoo/enterprise#40873
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
The attendee count was moved with the preview button. We make it a stat button
as it makes more sense for the purpose it serves, and will prevent further
unintended re-locations of the button.
task-3300746
closesodoo/odoo#120760
Signed-off-by: Warnon Aurélien (awa) <awa@odoo.com>
Before this commit, when the list view is rendered and is empty then
the state and priority columns are relatively big just to display a
button.
This commit fixes the width of those columns to 40px when the list
view is empty. If the list view is not empty then those columns will
have a min-width set to 40px.
task-3248592
closesodoo/odoo#120508
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Before this commit, when the user goes to the form view of a task
and when to add a subtask into it. When he clicks on `Add a line`
on the subtree view of subtasks the state field is focused because
it is the first field focusable in that list view.
This commit removes the state field in focusable elements to directly
focus the next focusable element who is the name field.
task-3248592
Part-of: odoo/odoo#120508