diff options
| author | Krupal Oza <koz@odoo.com> | 2020-04-16 13:55:32 +0000 |
|---|---|---|
| committer | Yannick Tivisse <yti@odoo.com> | 2020-05-18 12:11:22 +0000 |
| commit | 6d17897dffd97ad52ad933f3e95ac1236f605806 (patch) | |
| tree | f7aef6d7d1ca6dbfe40df7473f2debe664f6ba05 | |
| parent | ec29deb02445e237fb53f3106849f7ab327dd597 (diff) | |
[IMP] various: Clean the kanban view design
PURPOSE
=========================
The goal of this task is to set up some kind of guidelines to make
kanban views consistent.
It is fine having different kanban views, but if a UI element is shared
among several kanban views, it should behave/look the same so the user
knows what to expect.
Kanban views can be split into two types:
==> 'documents' kanbans, such as res.partner, crm.lead, etc.
- those records are created/edited often, numerous
- 'opening' the card means accessing the record
==> 'dashboard' kanbans,such as stock.picking.type,account.journal, etc.
- those records are not created/edited often, there are much less numerous
- usually presented as dashboard, where 'opening' the card means
accessing a set of related 'documents' (clicking on a account.journal
to access account.move, or stock.picking.type to access stock.picking)
- configuration of the 'card record' is done through a dropdown to
access configuration
Here are some guidelines for consistency. Bear in mind that those are
not rules, but guidelines for consistency that we'd like to keep in
mind when designing.
==> 'documents' kanbans
- the record is accessed through global click
- the user avatar is at the bottom right
- the activity widget is at the bottom left (in last position if
there are other elements)
==> 'dashboard' kanbans
- the record is accessed through a 'Configuration' option in the card dropdown
- there is no global click, and therefore no focus shadow
- the dropdown icon (o_kanban_manage_toggle_button) is always visible,
with icon fa-ellipsis-v
- the listview counterpart should be presented as a dedicated
configuration menu, and shouldn't be in the 'dashboard action'
- links in the body of the card are structured as follows: link with
<count>+label, then any additional aggregated metrics (not link) to the right
example https://drive.google.com/file/d/1ZP6HDHTtC7cQ6rDWgqLoPs6U8JCeNVkW/view?usp=sharing
==> global guidelines
- the title font color is #212529, with 500 weight
- the subtitle font color is #666666, with 400 weight
- the font size is 1.083rem
- text overflow is handled through linebreak, not ellipsis
- numerical values are aligned to the right
- the kanban state widget is at the bottom right
SPECIFICATION
=================
AS per guidelines Improved follwing kanban/dashbaord view
- hr_job
- hr_department
- hr_work_entry
- hr_appraisal
- fleet_vehicle
- product_template
- sale_subscription_template
- crm_team
- res_partner
- event
- stock_picking_type
- mrp_eco_type
- maintenance_team
- quality_alert_team
- account_journal
Added the department menu on employee with default kanban view
Added sequence in hr_work_entry list view
TaskID: 2206372
Related Enterprise PR: https://github.com/odoo/enterprise/pull/10341
Closes: #50536
24 files changed, 158 insertions, 235 deletions
diff --git a/addons/account/views/account_journal_dashboard_view.xml b/addons/account/views/account_journal_dashboard_view.xml index b70357f607e..51f8e22230a 100644 --- a/addons/account/views/account_journal_dashboard_view.xml +++ b/addons/account/views/account_journal_dashboard_view.xml @@ -202,8 +202,8 @@ <div class="col-6"> <field name="show_on_dashboard" widget="boolean_favorite" /> </div> - <div class="col-6 text-right"> - <a t-if="widget.editable" type="edit">Settings</a> + <div class="col-6 text-right mt-1"> + <a class="dropdown-item" t-if="widget.editable" type="edit">Configuration</a> </div> </div> </t> diff --git a/addons/crm/views/res_partner_views.xml b/addons/crm/views/res_partner_views.xml index a96d704f9e5..22c454df051 100644 --- a/addons/crm/views/res_partner_views.xml +++ b/addons/crm/views/res_partner_views.xml @@ -53,7 +53,7 @@ <field name="opportunity_count"/> <field name="meeting_count"/> </field> - <xpath expr="//div[hasclass('oe_kanban_partner_links')]" position="inside"> + <xpath expr="//span[hasclass('oe_kanban_partner_links')]" position="inside"> <span class="badge badge-pill" t-if="record.opportunity_count.value>0"><i class="fa fa-fw fa-star" aria-label="Favorites" role="img" title="Favorites"/><t t-esc="record.opportunity_count.value"/></span> <span class="badge badge-pill" t-if="record.meeting_count.value>0"><i class="fa fa-fw fa-calendar" aria-label="Meetings" role="img" title="Meetings"/><t t-esc="record.meeting_count.value"/></span> </xpath> diff --git a/addons/event/static/src/scss/event.scss b/addons/event/static/src/scss/event.scss index ad32c3cf5db..821ad23e09c 100644 --- a/addons/event/static/src/scss/event.scss +++ b/addons/event/static/src/scss/event.scss @@ -3,10 +3,6 @@ min-height: 140px; } .o_kanban_content { - .o_event_fontweight_500 { - font-weight: 500; - } - .o_event_fontsize_09 { font-size: .9rem; } diff --git a/addons/event/views/event_views.xml b/addons/event/views/event_views.xml index beb1d455f43..a8c925c1226 100644 --- a/addons/event/views/event_views.xml +++ b/addons/event/views/event_views.xml @@ -344,7 +344,9 @@ </div> <div class="col-9 py-2 px-3 d-flex flex-column justify-content-between pt-3"> <div> - <h4 class="o_event_fontweight_500 mb-0 o_text_overflow" t-att-title="record.name.value"><field name="name"/></h4> + <div class="o_kanban_record_title o_text_overflow" t-att-title="record.name.value"> + <field name="name"/> + </div> <div><i class="fa fa-map-marker" title="Location"/> <span class="o_text_overflow o_event_kanban_location" t-esc="record.address_id.value"/></div> </div> <h5 class="o_event_fontsize_11 p-0"> @@ -358,12 +360,14 @@ </a> </div> </h5> - <div class="text-right"> - <div class="float-left"><field name="activity_ids" widget="kanban_activity"/></div> - <field name="kanban_state" widget="state_selection"/> - <span class="ml-2"> + <div class="o_kanban_record_bottom"> + <div class="oe_kanban_bottom_left"> + <field name="activity_ids" widget="kanban_activity"/> + </div> + <div class="oe_kanban_bottom_right"> + <field name="kanban_state" widget="state_selection"/> <field name="user_id" widget="many2one_avatar_user"/> - </span> + </div> </div> </div> </div> diff --git a/addons/fleet/views/fleet_vehicle_views.xml b/addons/fleet/views/fleet_vehicle_views.xml index 2c43e859abc..07e40d1e0b6 100644 --- a/addons/fleet/views/fleet_vehicle_views.xml +++ b/addons/fleet/views/fleet_vehicle_views.xml @@ -213,9 +213,7 @@ <templates> <t t-name="kanban-box"> <div class="oe_kanban_global_click o_kanban_record_has_image_fill"> - <div class="o_kanban_image"> - <img t-att-src="kanban_image('fleet.vehicle', 'image_128', record.id.raw_value)" alt="Vehicle"/> - </div> + <div class="o_kanban_image" t-attf-style="background-image:url('#{kanban_image('fleet.vehicle', 'image_128', record.id.raw_value)}')"/> <div class="oe_kanban_details"> <strong class="o_kanban_record_title"> <t t-if="license_plate"><field name="license_plate"/> :</t> <field name="model_id"/> @@ -234,23 +232,23 @@ <t t-if="record.location.raw_value"><field name="location"/></t> </li> </ul> - </div> - <div class="o_kanban_button" t-if="!selection_mode"> - <a t-if="record.contract_count.raw_value>0" data-type="object" - data-name="return_action_to_open" href="#" class="oe_kanban_action oe_kanban_action_a" - data-context='{"xml_id":"fleet_vehicle_log_contract_action"}'> - <field name="contract_count"/> - Contract(s) - <span t-if="record.contract_renewal_due_soon.raw_value and !record.contract_renewal_overdue.raw_value" - class="fa fa-exclamation-triangle" t-att-style="'color:orange'" role="img" aria-label="Warning: renewal due soon" title="Warning: renewal due soon"> - </span> - <span t-if="record.contract_renewal_overdue.raw_value" - class="fa fa-exclamation-triangle" t-att-style="'color:red;'" role="img" aria-label="Attention: renewal overdue" title="Attention: renewal overdue"> - </span> - </a> - </div> - <div class="o_kanban_inline_block" t-if="!selection_mode"> - <field name="activity_ids" widget="kanban_activity"/> + <div class="o_kanban_record_bottom" t-if="!selection_mode"> + <div class="oe_kanban_bottom_left"> + <a t-if="record.contract_count.raw_value>0" data-type="object" + data-name="return_action_to_open" href="#" class="oe_kanban_action oe_kanban_action_a" + data-context='{"xml_id":"fleet_vehicle_log_contract_action"}'> + <field name="contract_count"/> + Contract(s) + <span t-if="record.contract_renewal_due_soon.raw_value and !record.contract_renewal_overdue.raw_value" + class="fa fa-exclamation-triangle" t-att-style="'color:orange'" role="img" aria-label="Warning: renewal due soon" title="Warning: renewal due soon"> + </span> + <span t-if="record.contract_renewal_overdue.raw_value" + class="fa fa-exclamation-triangle" t-att-style="'color:red;'" role="img" aria-label="Attention: renewal overdue" title="Attention: renewal overdue"> + </span> + </a> + <field name="activity_ids" widget="kanban_activity"/> + </div> + </div> </div> </div> </t> diff --git a/addons/hr/views/hr_department_views.xml b/addons/hr/views/hr_department_views.xml index 906e9a6956b..a3816851d09 100644 --- a/addons/hr/views/hr_department_views.xml +++ b/addons/hr/views/hr_department_views.xml @@ -73,42 +73,25 @@ </div> </div> <div class="container o_kanban_card_content" t-if="!selection_mode"> - <div class="row"> - <div class="col-6 o_kanban_primary_left"> + <div class="row o_kanban_card_upper_content"> + <div class="col-4 o_kanban_primary_left"> <button class="btn btn-primary" name="%(act_employee_from_department)d" type="action">Employees</button> </div> - <div class="col-6 o_kanban_primary_right"> + <div class="col-8 o_kanban_primary_right"> </div> </div> - </div><div class="container o_kanban_card_manage_pane dropdown-menu" role="menu"> - <div class="row"> - <div role="menuitem" class="col-4 o_kanban_card_manage_section o_kanban_manage_to_do"> - <div class="o_kanban_card_manage_title"> - <span>To Do</span> - </div> - </div> - <div role="menuitem" class="col-4 o_kanban_card_manage_section o_kanban_manage_to_approve"> - <div class="o_kanban_card_manage_title"> - <span>To Approve</span> - </div> - </div> - <div role="menuitem" class="col-4 o_kanban_card_manage_section o_kanban_manage_reports"> + </div> + <div class="o_kanban_card_manage_pane dropdown-menu" role="menu"> + <div class="o_kanban_card_manage_section"> + <div role="menuitem" class="o_kanban_card_manage_section o_kanban_manage_reports"> <div class="o_kanban_card_manage_title"> - <span>Reporting</span> + <strong><span>Reporting</span></strong> </div> </div> </div> - - <div t-if="widget.editable" class="o_kanban_card_manage_settings row"> - <div role="menuitem" aria-haspopup="true" class="col-8"> - <ul class="oe_kanban_colorpicker" data-field="color" role="menu"/> - </div> - <div class="col-4 text-right"> - <a role="menuitem" type="edit">Settings</a> - </div> - </div> + <a t-if="widget.editable" role="menuitem" class="dropdown-item" type="edit">Configuration</a> + <ul t-if="widget.editable" class="oe_kanban_colorpicker" data-field="color" role="menu"/> </div> - </div> </t> </templates> @@ -116,7 +99,7 @@ </field> </record> - <record id="open_module_tree_department" model="ir.actions.act_window"> + <record id="hr_department_kanban_action" model="ir.actions.act_window"> <field name="name">Departments</field> <field name="res_model">hr.department</field> <field name="view_mode">kanban,tree,form</field> @@ -131,5 +114,20 @@ </p> </field> </record> + <record id="hr_department_tree_action" model="ir.actions.act_window"> + <field name="name">Departments</field> + <field name="res_model">hr.department</field> + <field name="view_mode">tree,form,kanban</field> + <field name="search_view_id" ref="view_department_filter"/> + <field name="help" type="html"> + <p class="o_view_nocontent_smiling_face"> + Create a new department + </p><p> + Odoo's department structure is used to manage all documents + related to employees by departments: expenses, timesheets, + leaves, recruitments, etc. + </p> + </field> + </record> </data> </odoo> diff --git a/addons/hr/views/hr_views.xml b/addons/hr/views/hr_views.xml index 892bfd7c6c4..483caf54d83 100644 --- a/addons/hr/views/hr_views.xml +++ b/addons/hr/views/hr_views.xml @@ -79,12 +79,18 @@ <menuitem id="menu_hr_department_tree" - action="open_module_tree_department" + action="hr_department_tree_action" parent="menu_human_resources_configuration" sequence="2" groups="group_hr_user"/> <menuitem + id="menu_hr_department_kanban" + action="hr_department_kanban_action" + parent="menu_hr_root" + groups="group_hr_user"/> + + <menuitem id="menu_config_plan" name="Activity Planning" parent="menu_human_resources_configuration" diff --git a/addons/hr_attendance/views/hr_department_view.xml b/addons/hr_attendance/views/hr_department_view.xml index c066e0fd3ba..4b5fc67c9de 100644 --- a/addons/hr_attendance/views/hr_department_view.xml +++ b/addons/hr_attendance/views/hr_department_view.xml @@ -10,13 +10,9 @@ <data> <xpath expr="//div[hasclass('o_kanban_manage_reports')]" position="inside"> - <div class="row"> - <div class="col-12 text-left"> - <a name="%(hr_attendance_action_graph_filtered)d" type="action"> - Attendances - </a> - </div> - </div> + <a role="menuitem" class="dropdown-item" name="%(hr_attendance_action_graph_filtered)d" type="action"> + Attendances + </a> </xpath> </data> diff --git a/addons/hr_expense/views/hr_department_views.xml b/addons/hr_expense/views/hr_department_views.xml index b603ee9b776..7ee559b9afc 100644 --- a/addons/hr_expense/views/hr_department_views.xml +++ b/addons/hr_expense/views/hr_department_views.xml @@ -12,38 +12,23 @@ </xpath> <xpath expr="//div[hasclass('o_kanban_primary_right')]" position="inside"> - <div t-if="record.expense_sheets_to_approve_count.raw_value > 0" class="row"> + <div t-if="record.expense_sheets_to_approve_count.raw_value > 0" class="row ml16"> <div class="col-9"> <a name="%(action_hr_expense_sheet_department_to_approve)d" type="action"> Expense Reports </a> </div> - <div class="col-3"> + <div class="col-3 text-right"> <t t-esc="record.expense_sheets_to_approve_count.raw_value"/> </div> </div> </xpath> - <xpath expr="//div[hasclass('o_kanban_manage_to_approve')]" position="inside"> - <div class="row"> - <div class="col-12 text-left"> - <a name="%(action_hr_expense_sheet_department_to_approve)d" type="action"> - <t t-esc="record.expense_sheets_to_approve_count.raw_value or 0"/> Expense Reports - </a> - </div> - </div> - </xpath> - <xpath expr="//div[hasclass('o_kanban_manage_reports')]" position="inside"> - <div class="row"> - <div class="col-12 text-left"> - <a name="%(action_hr_expense_sheet_department_filtered)d" type="action"> - Expense Reports - </a> - </div> - </div> + <a role="menuitem" class="dropdown-item" name="%(action_hr_expense_sheet_department_filtered)d" type="action"> + Expenses + </a> </xpath> - </data> </field> </record> diff --git a/addons/hr_holidays/views/hr_views.xml b/addons/hr_holidays/views/hr_views.xml index f323bfdaf11..1c9a7690e52 100644 --- a/addons/hr_holidays/views/hr_views.xml +++ b/addons/hr_holidays/views/hr_views.xml @@ -29,69 +29,44 @@ </xpath> <xpath expr="//div[hasclass('o_kanban_primary_right')]" position="inside"> - <div t-if="record.leave_to_approve_count.raw_value > 0" class="row"> + <div t-if="record.leave_to_approve_count.raw_value > 0" class="row ml16"> <div class="col-9"> <a name="%(hr_leave_action_action_approve_department)d" type="action"> Time Off Requests </a> </div> - <div class="col-3"> + <div class="col-3 text-right"> <field name="leave_to_approve_count"/> </div> </div> - <div t-if="record.allocation_to_approve_count.raw_value > 0" class="row"> + <div t-if="record.allocation_to_approve_count.raw_value > 0" class="row ml16"> <div class="col-9"> <a name="%(hr_leave_allocation_action_approve_department)d" type="action"> Allocation Requests </a> </div> - <div class="col-3"> + <div class="col-3 text-right"> <field name="allocation_to_approve_count"/> </div> </div> </xpath> - <xpath expr="//div[hasclass('o_kanban_primary_right')]" position="after"> - <div class="col-12 o_kanban_primary_bottom bottom_block"> - <div class="row"> - <div class="col-3"> - <a name="%(hr_employee_action_from_department)d" type="action" title="Absent Employee(s), Whose time off request are either confirmed or validated on today">Absence</a> - </div> - <div class="col-9"> - <field name="absence_of_today" widget="progressbar" options="{'current_value': 'absence_of_today', 'max_value': 'total_employee', 'editable': false}"/> - </div> - </div> - </div> - </xpath> - - <xpath expr="//div[hasclass('o_kanban_manage_to_approve')]" position="inside"> - <div class="row"> - <div class="col-12 text-left"> - <a name="%(hr_leave_action_action_approve_department)d" type="action"> - <t t-esc="record.leave_to_approve_count.raw_value or 0"/> Time Off Requests - </a> + <xpath expr="//div[hasclass('o_kanban_card_upper_content')]" position="after"> + <div class="row o_kanban_primary_bottom bottom_block"> + <div class="col-3"> + <a name="%(hr_employee_action_from_department)d" type="action" title="Absent Employee(s), Whose time off requests are either confirmed or validated on today">Absence</a> </div> - </div> - - <div class="row"> - <div class="col-12 text-left"> - <a name="%(hr_leave_allocation_action_approve_department)d" type="action"> - <t t-esc="record.allocation_to_approve_count.raw_value or 0"/> Allocation Requests - </a> + <div class="col-9"> + <field name="absence_of_today" widget="progressbar" options="{'current_value': 'absence_of_today', 'max_value': 'total_employee', 'editable': false}"/> </div> </div> </xpath> <xpath expr="//div[hasclass('o_kanban_manage_reports')]" position="inside"> - <div class="row"> - <div class="col-12 text-left"> - <a name="%(hr_leave_action_action_department)d" type="action"> - Time Off - </a> - </div> - </div> + <a role="menuitem" class="dropdown-item" name="%(hr_leave_action_action_department)d" type="action"> + Time Off + </a> </xpath> - </data> </field> </record> diff --git a/addons/hr_recruitment/views/hr_department_views.xml b/addons/hr_recruitment/views/hr_department_views.xml index 9d054dac385..d2225293f8f 100644 --- a/addons/hr_recruitment/views/hr_department_views.xml +++ b/addons/hr_recruitment/views/hr_department_views.xml @@ -14,38 +14,23 @@ </xpath> <xpath expr="//div[hasclass('o_kanban_primary_right')]" position="inside"> - <div t-if="record.new_applicant_count.raw_value > 0" class="row"> + <div t-if="record.new_applicant_count.raw_value > 0" class="row ml16"> <div class="col-9"> <a name="%(hr_applicant_action_from_department)d" type="action"> New Applicants </a> </div> - <div class="col-3"> + <div class="col-3 text-right"> <field name="new_applicant_count"/> </div> </div> </xpath> - <xpath expr="//div[hasclass('o_kanban_manage_to_do')]" position="inside"> - <div class="row"> - <div class="col-12 text-left"> - <a name="%(hr_applicant_action_from_department)d" type="action"> - <t t-esc="record.new_applicant_count.raw_value or 0"/> New Applicants - </a> - </div> - </div> - </xpath> - <xpath expr="//div[hasclass('o_kanban_manage_reports')]" position="inside"> - <div class="row"> - <div class="col-12 text-left"> - <a name="%(action_hr_recruitment_report_filtered_department)d" type="action"> - Recruitments - </a> - </div> - </div> + <a role="menuitem" class="dropdown-item" name="%(action_hr_recruitment_report_filtered_department)d" type="action"> + Recruitments + </a> </xpath> - </data> </field> </record> diff --git a/addons/hr_timesheet/views/hr_views.xml b/addons/hr_timesheet/views/hr_views.xml index 683b6320df4..d4c43ad53d5 100644 --- a/addons/hr_timesheet/views/hr_views.xml +++ b/addons/hr_timesheet/views/hr_views.xml @@ -61,16 +61,10 @@ <field name="arch" type="xml"> <data> <xpath expr="//div[hasclass('o_kanban_manage_reports')]" position="inside"> - <div class="row"> - <div class="col-12 text-left"> - <a name="%(act_hr_timesheet_report)d" type="action" - context="{ 'search_default_department_id': [active_id], 'default_department_id': active_id}"> - Timesheets - </a> - </div> - </div> + <a name="%(act_hr_timesheet_report)d" type="action" context="{ 'search_default_department_id': [active_id], 'default_department_id': active_id}"> + Timesheets + </a> </xpath> - </data> </field> </record> diff --git a/addons/hr_work_entry/views/hr_work_entry_views.xml b/addons/hr_work_entry/views/hr_work_entry_views.xml index b04e84e644f..74ee454589a 100644 --- a/addons/hr_work_entry/views/hr_work_entry_views.xml +++ b/addons/hr_work_entry/views/hr_work_entry_views.xml @@ -123,7 +123,7 @@ <record id="hr_work_entry_type_action" model="ir.actions.act_window"> <field name="name">Work Entry Types</field> <field name="res_model">hr.work.entry.type</field> - <field name="view_mode">kanban,tree,form</field> + <field name="view_mode">tree,kanban,form</field> <field name="search_view_id" ref="hr_work_entry_type_view_search"/> </record> @@ -132,6 +132,7 @@ <field name="model">hr.work.entry.type</field> <field name="arch" type="xml"> <tree> + <field name="sequence" widget="handle"/> <field name="name"/> <field name="code"/> </tree> @@ -173,7 +174,7 @@ <div t-attf-class="#{!selection_mode ? kanban_color(record.color.raw_value) : ''} oe_kanban_global_click"> <div class="o_dropdown_kanban dropdown" t-if="!selection_mode"> <a class="dropdown-toggle o-no-caret btn" role="button" data-toggle="dropdown" href="#" aria-label="Dropdown menu" title="Dropdown menu"> - <span class="fa fa-bars fa-lg"/> + <span class="fa fa-ellipsis-v"/> </a> <div class="dropdown-menu" role="menu"> <ul class="oe_kanban_colorpicker" data-field="color"/> diff --git a/addons/mail/views/res_partner_views.xml b/addons/mail/views/res_partner_views.xml index 77f4efef7cd..b23897f03df 100644 --- a/addons/mail/views/res_partner_views.xml +++ b/addons/mail/views/res_partner_views.xml @@ -36,10 +36,8 @@ <field name="type" position="after"> <field name="activity_state"/> </field> - <xpath expr="//div[hasclass('oe_kanban_details')]" position="inside"> - <div class="mt-auto"> - <field name="activity_ids" widget="kanban_activity"/> - </div> + <xpath expr="//span[hasclass('oe_kanban_partner_links')]" position="after"> + <field name="activity_ids" widget="kanban_activity"/> </xpath> </field> </record> diff --git a/addons/maintenance/views/maintenance_views.xml b/addons/maintenance/views/maintenance_views.xml index 22d5233ecd8..58e80c56c6d 100644 --- a/addons/maintenance/views/maintenance_views.xml +++ b/addons/maintenance/views/maintenance_views.xml @@ -840,39 +840,29 @@ </button> </div> <div class="col-6 o_kanban_primary_right"> - <div class="row"> - <div class="col-9"> - <a name="%(hr_equipment_request_action_cal)d" type="action"> - Scheduled - </a> - </div> - <div class="col-3"> + <div t-if="record.todo_request_count_date.raw_value > 0"> + <a name="%(hr_equipment_request_action_cal)d" type="action"> <t t-esc="record.todo_request_count_date.value"/> - </div> - <div class="col-9"> - <a name="%(hr_equipment_todo_request_action_from_dashboard)d" type="action" context="{'search_default_high_priority': 1}"> - Top Priorities - </a> - </div> - <div class="col-3"> + Scheduled + </a> + </div> + <div t-if="record.todo_request_count_high_priority.raw_value > 0"> + <a name="%(hr_equipment_todo_request_action_from_dashboard)d" type="action" context="{'search_default_high_priority': 1}"> <t t-esc="record.todo_request_count_high_priority.value"/> - </div> - <div class="col-9"> - <a name="%(hr_equipment_todo_request_action_from_dashboard)d" type="action" context="{'search_default_kanban_state_block': 1}"> - Blocked - </a> - </div> - <div class="col-3"> + Top Priorities + </a> + </div> + <div t-if="record.todo_request_count_block.raw_value > 0"> + <a name="%(hr_equipment_todo_request_action_from_dashboard)d" type="action" context="{'search_default_kanban_state_block': 1}"> <t t-esc="record.todo_request_count_block.value"/> - </div> - <div class="col-9"> - <a name="%(hr_equipment_todo_request_action_from_dashboard)d" type="action" context="{'search_default_unscheduled': 1}"> - Unscheduled - </a> - </div> - <div class="col-3"> + Blocked + </a> + </div> + <div t-if="record.todo_request_count_unscheduled.raw_value > 0"> + <a name="%(hr_equipment_todo_request_action_from_dashboard)d" type="action" context="{'search_default_unscheduled': 1}"> <t t-esc="record.todo_request_count_unscheduled.value"/> - </div> + Unscheduled + </a> </div> </div> </div> @@ -880,7 +870,7 @@ <div class="row"> <div class="col-6 o_kanban_card_manage_section o_kanban_manage_view"> <div role="menuitem" class="o_kanban_card_manage_title"> - <span>View</span> + <span>Requests</span> </div> <div role="menuitem"> <a name="%(hr_equipment_todo_request_action_from_dashboard)d" type="action"> @@ -918,8 +908,8 @@ <div class="col-8" role="menuitem" aria-haspopup="true"> <ul role="menu" class="oe_kanban_colorpicker" data-field="color"/> </div> - <div role="menuitem" class="col-4 text-right"> - <a type="edit">Settings</a> + <div role="menuitem" class="col-4"> + <a type="edit" class="dropdown-item">Configuration</a> </div> </div> </div> diff --git a/addons/mrp/views/stock_picking_views.xml b/addons/mrp/views/stock_picking_views.xml index 215c2368208..d5ed2bd00b7 100644 --- a/addons/mrp/views/stock_picking_views.xml +++ b/addons/mrp/views/stock_picking_views.xml @@ -16,11 +16,13 @@ <div> <div t-attf-class="o_kanban_card_header"> <div class="o_kanban_card_header_title"> - <a type="object" name="get_mrp_stock_picking_action_picking_type" class="o_primary" t-if="!selection_mode"> - <field name="name"/> - </a> + <div class="o_primary" t-if="!selection_mode"> + <a type="object" name="get_mrp_stock_picking_action_picking_type"> + <field name="name"/> + </a> + </div> <span class="o_primary" t-if="selection_mode"><field name="name"/></span> - <div class="o_secondary"><field class="o_secondary" name="warehouse_id" readonly="1"/></div> + <div class="o_secondary"><field class="o_secondary" name="warehouse_id" readonly="1" groups="stock.group_stock_multi_warehouses"/></div> </div> <div class="o_kanban_manage_button_section" t-if="!selection_mode"> <a class="o_kanban_manage_toggle_button" href="#"><i class="fa fa-ellipsis-v" role="img" aria-label="Manage" title="Manage"/></a> @@ -60,7 +62,7 @@ <div class="row"> <div class="col-6 o_kanban_card_manage_section o_kanban_manage_view" name="picking_left_manage_pane"> <div role="menuitem" class="o_kanban_card_manage_title"> - <span>View</span> + <span>Orders</span> </div> <div role="menuitem"> <a name="%(mrp_production_action_picking_deshboard)d" type="action">All</a> @@ -77,7 +79,7 @@ <span>New</span> </div> <div role="menuitem"> - <a name="%(action_mrp_production_form)d" context="{'default_picking_type_id': active_id}" type="action">Production Order</a> + <a name="%(action_mrp_production_form)d" context="{'default_picking_type_id': active_id}" type="action">Manufacturing Order</a> </div> </div> </div> @@ -86,8 +88,8 @@ <div role="menuitem" aria-haspopup="true" class="col-8"> <ul role="menu" class="oe_kanban_colorpicker" data-field="color"/> </div> - <div role="menuitem" class="col-4 text-right"> - <a type="edit">Settings</a> + <div class="col-4"> + <a class="dropdown-item" role="menuitem" type="edit">Configuration</a> </div> </div> </div> diff --git a/addons/point_of_sale/views/res_partner_view.xml b/addons/point_of_sale/views/res_partner_view.xml index 0da6074cf83..2a35f808651 100644 --- a/addons/point_of_sale/views/res_partner_view.xml +++ b/addons/point_of_sale/views/res_partner_view.xml @@ -32,7 +32,7 @@ <field name="state_id" position="before"> <field name="pos_order_count"/> </field> - <xpath expr="//div[hasclass('oe_kanban_partner_links')]" position="inside"> + <xpath expr="//span[hasclass('oe_kanban_partner_links')]" position="inside"> <span t-if="record.pos_order_count.value>0" class="badge badge-pill"><i class="fa fa-fw fa-shopping-bag" role="img" aria-label="Shopping cart" title="Shopping cart"/><t t-esc="record.pos_order_count.value"/></span> </xpath> </field> diff --git a/addons/product/views/product_template_views.xml b/addons/product/views/product_template_views.xml index 3a39693d1d6..b5e3df764df 100644 --- a/addons/product/views/product_template_views.xml +++ b/addons/product/views/product_template_views.xml @@ -85,18 +85,16 @@ <div class="oe_kanban_details"> <strong class="o_kanban_record_title"> <field name="name"/> - <small t-if="record.default_code.value">[<field name="default_code"/>]</small> </strong> + <t t-if="record.default_code.value">[<field name="default_code"/>]</t> <div t-if="record.product_variant_count.value > 1" groups="product.group_product_variant"> <strong> <t t-esc="record.product_variant_count.value"/> Variants </strong> </div> - <div name="tags"/> - <ul> - <li>Price: <field name="lst_price" widget="monetary" options="{'currency_field': 'currency_id', 'field_digits': True}"></field></li> - </ul> - <div name="tags"/> + <div name="product_lst_price" class="mt-1"> + Price: <field name="lst_price" widget="monetary" options="{'currency_field': 'currency_id', 'field_digits': True}"></field> + </div> </div> </div> </t> diff --git a/addons/purchase/views/res_partner_views.xml b/addons/purchase/views/res_partner_views.xml index 14265d174a0..05b46795a76 100644 --- a/addons/purchase/views/res_partner_views.xml +++ b/addons/purchase/views/res_partner_views.xml @@ -40,7 +40,7 @@ <field name="mobile" position="after"> <field name="purchase_order_count"/> </field> - <xpath expr="//div[hasclass('oe_kanban_partner_links')]" position="inside"> + <xpath expr="//span[hasclass('oe_kanban_partner_links')]" position="inside"> <span t-if="record.purchase_order_count.value>0" class="badge badge-pill"><i class="fa fa-fw fa-shopping-cart" role="img" aria-label="Shopping cart" title="Shopping cart"/><t t-esc="record.purchase_order_count.value"/></span> </xpath> </field> diff --git a/addons/sale/views/res_partner_views.xml b/addons/sale/views/res_partner_views.xml index b96265e62fa..cbfa2b17a04 100644 --- a/addons/sale/views/res_partner_views.xml +++ b/addons/sale/views/res_partner_views.xml @@ -26,7 +26,7 @@ <field name="mobile" position="after"> <field name="sale_order_count"/> </field> - <xpath expr="//div[hasclass('oe_kanban_partner_links')]" position="inside"> + <xpath expr="//span[hasclass('oe_kanban_partner_links')]" position="inside"> <span t-if="record.sale_order_count.value>0" class="badge badge-pill"><i class="fa fa-fw fa-usd" role="img" aria-label="Sale orders" title="Sales orders"/><t t-esc="record.sale_order_count.value"/></span> </xpath> </field> diff --git a/addons/sales_team/views/crm_team_views.xml b/addons/sales_team/views/crm_team_views.xml index f495e5cd62d..7fadf58c4b3 100644 --- a/addons/sales_team/views/crm_team_views.xml +++ b/addons/sales_team/views/crm_team_views.xml @@ -135,10 +135,10 @@ </div> <div class="container o_kanban_card_content"> <div class="row o_kanban_card_upper_content"> - <div class="col-5 o_kanban_primary_left" name="to_replace_in_sale_crm"> + <div class="col-4 o_kanban_primary_left" name="to_replace_in_sale_crm"> <button type="object" class="btn btn-primary" name="action_primary_channel_button"><field name="dashboard_button_name"/></button> </div> - <div class="col-7 o_kanban_primary_right" style="padding-bottom:0;"> + <div class="col-8 o_kanban_primary_right" style="padding-bottom:0;"> <t name="first_options"/> <t name="second_options"/> <t name="third_options"/> @@ -174,8 +174,8 @@ <div role="menuitem" aria-haspopup="true" class="col-8"> <ul class="oe_kanban_colorpicker" data-field="color" role="menu"/> </div> - <div role="menuitem" class="col-4 text-right"> - <a type="edit">Settings</a> + <div role="menuitem" class="col-4"> + <a class="dropdown-item" type="edit">Configuration</a> </div> </div> </div> diff --git a/addons/stock/views/product_views.xml b/addons/stock/views/product_views.xml index e45dc39c3e4..f1d99f0e1b4 100644 --- a/addons/stock/views/product_views.xml +++ b/addons/stock/views/product_views.xml @@ -148,9 +148,9 @@ <xpath expr="//kanban" position="inside"> <field name="type"/> </xpath> - <ul position="inside"> - <li t-if="record.type.raw_value == 'product'">On hand: <field name="qty_available"/> <field name="uom_id"/></li> - </ul> + <xpath expr="//div[@name='product_lst_price']" position="after"> + <div t-if="record.type.raw_value == 'product'">On hand: <field name="qty_available"/> <field name="uom_id"/></div> + </xpath> </field> </record> diff --git a/addons/stock/views/stock_picking_views.xml b/addons/stock/views/stock_picking_views.xml index a53d1848cb2..61a5c9b345f 100644 --- a/addons/stock/views/stock_picking_views.xml +++ b/addons/stock/views/stock_picking_views.xml @@ -654,7 +654,7 @@ <div class="o_primary" t-if="selection_mode"> <field name="name"/> </div> - <div class="o_secondary"><field class="o_secondary" name="warehouse_id" readonly="1"/></div> + <div class="o_secondary"><field class="o_secondary" name="warehouse_id" readonly="1" groups="stock.group_stock_multi_warehouses"/></div> </div> <div class="o_kanban_manage_button_section" t-if="!selection_mode"> <a class="o_kanban_manage_toggle_button" href="#"><i class="fa fa-ellipsis-v" role="img" aria-label="Manage" title="Manage"/></a> @@ -674,36 +674,30 @@ </div> <div t-if="record.count_picking_waiting.raw_value > 0" class="row"> - <div class="col-9"> + <div class="col-12"> <a name="get_action_picking_tree_waiting" type="object"> + <field name="count_picking_waiting"/> Waiting </a> </div> - <div class="col-3"> - <field name="count_picking_waiting"/> - </div> </div> <div t-if="record.count_picking_late.raw_value > 0" class="row"> - <div class="col-9"> + <div class="col-12"> <a class="oe_kanban_stock_picking_type_list" name="get_action_picking_tree_late" type="object"> + <field name="count_picking_late"/> Late </a> </div> - <div class="col-3"> - <field name="count_picking_late"/> - </div> </div> <div t-if="record.count_picking_backorders.raw_value > 0" class="row"> - <div class="col-9"> + <div class="col-12"> <a class="oe_kanban_stock_picking_type_list" name="get_action_picking_tree_backorder" type="object"> + <field name="count_picking_backorders"/> Back Orders </a> </div> - <div class="col-3"> - <field name="count_picking_backorders"/> - </div> </div> </div> </div> @@ -711,7 +705,8 @@ <div class="row"> <div class="col-6 o_kanban_card_manage_section o_kanban_manage_view"> <div role="menuitem" class="o_kanban_card_manage_title"> - <span>View</span> + <span t-if="record.code.raw_value == 'internal'">Transfers</span> + <span t-else="">View</span> </div> <div role="menuitem"> <a name="get_stock_picking_action_picking_type" type="object">All</a> @@ -740,8 +735,8 @@ <div class="col-8" role="menuitem" aria-haspopup="true"> <ul class="oe_kanban_colorpicker" data-field="color" role="menu"/> </div> - <div role="menuitem" class="col-4 text-center"> - <a type="edit">Settings</a> + <div role="menuitem" class="col-4"> + <a class="dropdown-item" role="menuitem" type="edit">Configuration</a> </div> </div> </div> diff --git a/odoo/addons/base/views/res_partner_views.xml b/odoo/addons/base/views/res_partner_views.xml index 65187748f9f..6b5efa41746 100644 --- a/odoo/addons/base/views/res_partner_views.xml +++ b/odoo/addons/base/views/res_partner_views.xml @@ -475,7 +475,9 @@ <li t-if="record.city.raw_value and record.country_id.raw_value"><field name="city"/>, <field name="country_id"/></li> <li t-if="record.email.raw_value" class="o_text_overflow"><field name="email"/></li> </ul> - <div class="oe_kanban_partner_links"/> + <div class="o_row"> + <span class="oe_kanban_partner_links"/> + </div> </div> </div> </t> |
