[IMP] hr_*,lunch: Add kanban views for all menuitems used in mobile

Purpose
=======

Improve readability on mobile

Specification
=============

Activate Kanban view on those so it could be displayed by default on mobile instead of view list

List of impacted modules:

- hr_holidays: kanban for leaves summary

- hr_holidays: kanban for allocation request(reuse  leaves summary)

- hr_holidays: kanban for leave details(reuse leaves summary)

- hr_attendance: kanban for attendances

- hr_timesheet: kanban for activities

- hr_contract: kanban for contracts

- hr_recruitment: kanban for Stages

- hr_recruitment: kanban for Job Positions(reuse Job Positions dashboard)

- lunch : kanban for previous order

- lunch : kanban for employee payment

- lunch : kanban for control accounts reuse kanban of employee payment

- lunch : kanban for control vendors reuse previous order

- lunch : kanban for product

- lunch : kanban for alerts

- lunch : kanban for today's orders(reuse previous order)

- website_event_track: kanban for track stages
This commit is contained in:
Kishan Gajjar
2017-05-11 11:38:42 +02:00
committed by Yannick Tivisse
parent f1d87b37ed
commit d2cddd66fb
7 changed files with 397 additions and 12 deletions
@@ -15,6 +15,36 @@
</field>
</record>
<record id="view_hr_attendance_kanban" model="ir.ui.view">
<field name="name">hr.attendance.kanban</field>
<field name="model">hr.attendance</field>
<field name="arch" type="xml">
<kanban class="o_kanban_mobile">
<field name="employee_id"/>
<field name="check_in"/>
<field name="check_out"/>
<templates>
<t t-name="kanban-box">
<div t-attf-class="oe_kanban_global_click">
<div>
<img t-att-src="kanban_image('hr.employee', 'image_small', record.employee_id.raw_value)" t-att-title="record.employee_id.value" width="24" height="24" class="oe_kanban_avatar pull-right"/>
<span class="ml8">
<strong><t t-esc="record.employee_id.value"/></strong>
</span>
</div>
<hr class="mt4 mb4"/>
<div>
<i class="fa fa-calendar" aria-hidden="true"></i>
<t t-esc="record.check_in.value"/>
- <t t-esc="record.check_out.value"/>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record id="hr_attendance_view_form" model="ir.ui.view">
<field name="name">hr.attendance.form</field>
<field name="model">hr.attendance</field>
@@ -83,7 +113,7 @@
<field name="name">Attendances</field>
<field name="res_model">hr.attendance</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_mode">tree,kanban,form</field>
<field name="context">{"search_default_today":1}</field>
<field name="search_view_id" ref="hr_attendance_view_filter" />
<field name="help" type="html">
+44 -1
View File
@@ -156,11 +156,54 @@
</field>
</record>
<record id="view_hr_contract_kanban" model="ir.ui.view">
<field name="name">hr.contract.kanban</field>
<field name="model">hr.contract</field>
<field name="arch" type="xml">
<kanban>
<field name="employee_id"/>
<field name="date_end"/>
<field name="date_start"/>
<templates>
<t t-name="kanban-box">
<div class="oe_kanban_global_click">
<div class="row mb4">
<div class="col-xs-8">
<span>
<strong><field name="name"/></strong>
</span>
</div>
<div class="col-xs-4">
<span class="pull-right">
<field name="state" widget="kanban_label_selection" options="{'classes': {'pending': 'warning', 'close': 'danger', 'draft': 'default'}}"/>
</span>
</div>
</div>
<div class="o_kanban_image mt8">
<img t-att-src="kanban_image('hr.employee', 'image_medium', record.employee_id.raw_value)"/>
</div>
<div class="oe_kanban_details">
<ul>
<li><strong><field name="employee_id"/></strong></li>
<li><field name="job_id"/></li>
<li><field name="department_id"/></li>
<li><field name="type_id"/></li>
<li t-if="record.date_end.value &amp;&amp; record.date_start.value"><i class="fa fa-calendar"/> <field name="date_start"/> - <field name="date_end"/></li>
</ul>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record id="action_hr_contract" model="ir.actions.act_window">
<field name="name">Contracts</field>
<field name="res_model">hr.contract</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_mode">tree,kanban,form</field>
<field name="domain">[]</field>
<field name="context">{'search_default_current':1}</field>
<field name="search_view_id" ref="hr_contract_view_search"/>
+48 -2
View File
@@ -194,6 +194,51 @@
</field>
</record>
<record id="view_hr_holidays_kanban" model="ir.ui.view">
<field name="name">hr.holidays.kanban</field>
<field name="model">hr.holidays</field>
<field name="arch" type="xml">
<kanban class="o_kanban_mobile">
<field name="employee_id"/>
<field name="date_from"/>
<field name="date_to"/>
<field name="name"/>
<field name="number_of_days"/>
<templates>
<t t-name="kanban-box">
<div t-attf-class="oe_kanban_global_click">
<div>
<span>
<img t-att-src="kanban_image('hr.employee', 'image_small', record.employee_id.raw_value)" t-att-title="record.employee_id.value" width="40" height="40" class="oe_kanban_avatar pull-left"/>
</span>
<span>
<div>
<strong><t t-esc="record.employee_id.value"/></strong>
</div>
<div class="text-muted">
<t t-esc="record.name.value"/>
</div>
</span>
<span class="pull-right mt8">
<field name="state" widget="kanban_label_selection" options="{'classes': {'draft': 'default', 'validate': 'success','confirm': 'default', 'cancel': 'danger'}}"/>
</span>
</div>
<hr class="mt4 mb4"/>
<div t-if="record.date_from.value">
<i class="fa fa-calendar" aria-hidden="true"></i>
<t t-esc="record.date_from.value"/>
- <t t-esc="record.date_to.value"/>
</div>
<div>
<t t-esc="record.number_of_days.value"/> days
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record id="view_holiday_employee" model="ir.ui.view">
<field name="name">hr.holidays.report_employee_tree</field>
<field name="model">hr.holidays</field>
@@ -374,6 +419,7 @@
<field name="name">Allocation Request</field>
<field name="res_model">hr.holidays</field>
<field name="view_type">form</field>
<field name="view_mode">tree,kanban,form</field>
<field name="context">{
'default_type':'add',
'search_default_my_leaves': 1,
@@ -448,7 +494,7 @@
<field name="name">Leaves Summary</field>
<field name="res_model">hr.holidays</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_mode">tree,kanban,form</field>
<field name="view_id" eval="view_holiday_simple"/>
<field name="context">{
'search_default_group_type': 1,
@@ -482,7 +528,7 @@
<field name="name">Leave Details</field>
<field name="res_model">hr.holidays</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar</field>
<field name="view_mode">tree,kanban,form,calendar</field>
<field name="view_id" eval="view_holiday_employee"/>
<field name="context">{'default_type': 'remove', 'search_default_todo': 1}</field>
<field name="help" type="html">
@@ -509,7 +509,7 @@
<field name="name">Job Positions</field>
<field name="res_model">hr.job</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_mode">tree,kanban,form</field>
<field name="context">{'search_default_in_recruitment': 1}</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
@@ -662,6 +662,30 @@
</field>
</record>
<record id="view_hr_recruitment_stage_kanban" model="ir.ui.view">
<field name="name">hr.recruitment.stage.kanban</field>
<field name="model">hr.recruitment.stage</field>
<field name="arch" type="xml">
<kanban>
<field name="name"/>
<field name="fold"/>
<templates>
<t t-name="kanban-box">
<div t-attf-class="oe_kanban_global_click">
<div>
<field name="name"/>
</div>
<div>
<strong>Folded in Recruitment Pipe: </strong>
<field name="fold" widget="boolean"/>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<!-- Stage Form View -->
<record model="ir.ui.view" id="hr_recruitment_stage_form">
<field name="name">hr.recruitment.stage.form</field>
@@ -690,6 +714,7 @@
<field name="name">Stages</field>
<field name="res_model">hr.recruitment.stage</field>
<field name="view_type">form</field>
<field name="view_mode">tree,kanban,form</field>
<field name="view_id" ref="hr_recruitment_stage_tree"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
@@ -140,6 +140,49 @@
</search>
</field>
</record>
<record id="view_kanban_account_analytic_line" model="ir.ui.view">
<field name="name">account.analytic.line.kanban</field>
<field name="model">account.analytic.line</field>
<field name="arch" type="xml">
<kanban class="o_kanban_mobile">
<field name="date"/>
<field name="user_id"/>
<field name="name"/>
<field name="project_id"/>
<field name="task_id" context="{'default_project_id': project_id}" domain="[('project_id', '=', project_id)]"/>
<field name="unit_amount"/>
<templates>
<t t-name="kanban-box">
<div t-attf-class="oe_kanban_global_click">
<div class="row">
<div class="col-xs-2">
<img t-att-src="kanban_image('res.users', 'image_small', record.user_id.raw_value)" t-att-title="record.user_id.value" width="40" height="40" class="oe_kanban_avatar pull-left"/>
</div>
<div class="col-xs-10">
<div>
<strong><t t-esc="record.project_id.value"/></strong>
</div>
<div class="text-muted">
<span>
<t t-esc="record.name.value"/>
</span>
</div>
</div>
</div>
<hr class="mt4 mb4"/>
<span>
<i class="fa fa-calendar" aria-hidden="true"></i>
<t t-esc="record.date.value"/>
</span>
<span class="pull-right">
<strong>Duration: </strong><field name="unit_amount" widget="float_time"/>
</span>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<!--
Menus and Actions
@@ -176,6 +219,13 @@
<field name="act_window_id" ref="act_hr_timesheet_line"/>
</record>
<record id="act_hr_timesheet_line_view_kanban" model="ir.actions.act_window.view">
<field name="view_mode">kanban</field>
<field name="sequence">3</field>
<field name="view_id" ref="hr_timesheet.view_kanban_account_analytic_line"/>
<field name="act_window_id" ref="act_hr_timesheet_line"/>
</record>
<record id="timesheet_action_view_calendar" model="ir.actions.act_window.view">
<field name="sequence" eval="8"/>
<field name="view_mode">calendar</field>
@@ -222,5 +272,8 @@
parent="menu_hr_time_tracking"
action="timesheet_action_all"/>
<menuitem id="menu_hr_working_hours" parent="menu_hr_time_tracking" action="act_hr_timesheet_line"
name="Detailed Activities"/>
</data>
</odoo>
+171 -7
View File
@@ -85,6 +85,46 @@
</field>
</record>
<record id="view_lunch_cashmove_kanban" model="ir.ui.view">
<field name="name">lunch.cashmove.kanban</field>
<field name="model">lunch.cashmove</field>
<field name="arch" type="xml">
<kanban class="o_kanban_mobile">
<field name="date"/>
<field name="user_id"/>
<field name="description"/>
<field name="amount"/>
<templates>
<t t-name="kanban-box">
<div t-attf-class="oe_kanban_global_click">
<div class="row mb4">
<div class="col-xs-8">
<span>
<strong><t t-esc="record.description.value"/></strong>
</span>
</div>
<div class="col-xs-4 text-right">
<span class="badge">
<strong><i class="fa fa-money"/> <field name="amount"/></strong>
</span>
</div>
</div>
<div class="row">
<div class="col-xs-6">
<i class="fa fa-clock-o"/>
<t t-esc="record.date.value"/>
</div>
<div class="col-xs-6">
<img t-att-src="kanban_image('res.users', 'image_small', record.user_id.raw_value)" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar pull-right"/>
</div>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record id="lunch_cashmove_view_form" model="ir.ui.view">
<field name="name">lunch.cashmove.form</field>
<field name="model">lunch.cashmove</field>
@@ -115,7 +155,7 @@
<record id="lunch_order_line_action" model="ir.actions.act_window">
<field name="name">Your Orders</field>
<field name="res_model">lunch.order.line</field>
<field name="view_mode">tree,form</field>
<field name="view_mode">tree,kanban,form</field>
<field name="search_view_id" ref="lunch_order_line_view_search"/>
<field name="context">{"search_default_is_mine":1}</field>
<field name="help" type="html">
@@ -160,7 +200,7 @@
<record id="lunch_order_line_action_by_supplier" model="ir.actions.act_window">
<field name="name">Orders by Vendor</field>
<field name="res_model">lunch.order.line</field>
<field name="view_mode">tree</field>
<field name="view_mode">tree,kanban</field>
<field name="search_view_id" ref="lunch_order_line_view_search"/>
<field name="context">{"search_default_group_by_supplier":1, "search_default_today":1}</field>
<field name="help" type="html">
@@ -180,7 +220,7 @@
<record id="lunch_order_line_action_control_suppliers" model="ir.actions.act_window">
<field name="name">Control Vendors</field>
<field name="res_model">lunch.order.line</field>
<field name="view_mode">tree</field>
<field name="view_mode">tree,kanban</field>
<field name="search_view_id" ref="lunch_order_line_view_search"/>
<field name="context">{"search_default_group_by_date":1, "search_default_group_by_supplier":1}</field>
<field name="help" type="html">
@@ -200,7 +240,7 @@
<record id="lunch_cashmove_action_control_accounts" model="ir.actions.act_window">
<field name="name">Control Accounts</field>
<field name="res_model">lunch.cashmove</field>
<field name="view_mode">tree,form</field>
<field name="view_mode">tree,kanban,form</field>
<field name="search_view_id" ref="lunch_cashmove_view_search_2"/>
<field name="context">{"search_default_group_by_user":1}</field>
<field name="view_id" ref="lunch_cashmove_view_tree"/>
@@ -221,7 +261,7 @@
<record id="lunch_cashmove_action_payment" model="ir.actions.act_window">
<field name="name">Register Cash Moves</field>
<field name="res_model">lunch.cashmove</field>
<field name="view_mode">tree,form</field>
<field name="view_mode">tree,kanban,form</field>
<field name="search_view_id" ref="lunch_cashmove_view_search"/>
<field name="context">{"search_default_is_payment":1}</field>
<field name="view_id" ref="lunch_cashmove_view_tree"/>
@@ -240,7 +280,7 @@
<record id="lunch_product_action" model="ir.actions.act_window">
<field name="name">Products</field>
<field name="res_model">lunch.product</field>
<field name="view_mode">tree,form</field>
<field name="view_mode">tree,kanban,form</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a product for lunch.
@@ -285,7 +325,7 @@
<record id="lunch_alert_action" model="ir.actions.act_window">
<field name="name">Alerts</field>
<field name="res_model">lunch.alert</field>
<field name="view_mode">tree,form</field>
<field name="view_mode">tree,kanban,form</field>
<field name="search_view_id" ref="lunch_alert_view_search"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
@@ -325,6 +365,64 @@
</field>
</record>
<record id='lunch_order_line_view_kanban' model='ir.ui.view'>
<field name="name">lunch.order.line.kanban</field>
<field name="model">lunch.order.line</field>
<field name="arch" type="xml">
<kanban>
<field name='product_id'/>
<field name='note'/>
<field name='state'/>
<field name='user_id'/>
<field name='date'/>
<field name="price"/>
<templates>
<t t-name="kanban-box">
<div class="oe_kanban_global_click">
<div class="row mb4">
<div class="col-xs-6">
<strong><field name="product_id"/></strong>
</div>
<div class="col-xs-6">
<span class="pull-right">
<field name="state" widget="kanban_label_selection" options="{'classes': {'new': 'default', 'confirmed': 'success', 'cancelled':'danger'}}"/>
</span>
</div>
</div>
<div>
<field name="note"/>
</div>
<div class="row">
<div class="col-xs-6">
<i class="fa fa-money"/> <field name="price"/>
</div>
<div class="col-xs-6 text-right">
<i class="fa fa-clock-o"/> <field name="date"/>
</div>
</div>
<div class="row mt4">
<div class="col-xs-6">
<a class="btn btn-sm btn-success" name="order" string="Order" type="object" attrs="{'invisible': ['|',('state','=','confirmed'),('state','=','ordered')]}" groups="lunch.group_lunch_manager">
<i class="fa fa-phone"/>
</a>
<a class="btn btn-sm btn-info" name="confirm" string="Receive" type="object" attrs="{'invisible': [('state','!=','ordered')]}" groups="lunch.group_lunch_manager">
<i class="fa fa-check"/>
</a>
<a class="btn btn-sm btn-danger" name="cancel" string="Cancel" type="object" attrs="{'invisible': [('state','=','cancelled')]}" groups="lunch.group_lunch_manager">
<i class="fa fa-times"/>
</a>
</div>
<div class="col-xs-6">
<img t-att-src="kanban_image('res.users', 'image_small', record.user_id.raw_value)" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar pull-right"/>
</div>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<!--View for Your orders-->
<record id="lunch_order_view_tree" model="ir.ui.view">
<field name="name">lunch.order.tree</field>
@@ -413,6 +511,39 @@
</field>
</record>
<record id="view_lunch_product_kanban" model="ir.ui.view">
<field name="name">lunch.product.kanban</field>
<field name="model">lunch.product</field>
<field name="arch" type="xml">
<kanban class="o_kanban_mobile">
<field name="name"/>
<field name="category_id"/>
<field name="supplier"/>
<field name="description"/>
<field name="price"/>
<templates>
<t t-name="kanban-box">
<div t-attf-class="oe_kanban_global_click">
<div class="row mb4">
<div class="col-xs-8">
<strong><t t-esc="record.name.value"/></strong>
</div>
<div class="col-xs-4">
<span class="badge pull-right">
Price: <t t-esc="record.price.value"/>
</span>
</div>
</div>
<div>
<t t-esc="record.description.value"/>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record id="action_server_lunch_archive_product" model="ir.actions.server">
<field name="name">Lunch: Archive/Restore products</field>
<field name="type">ir.actions.server</field>
@@ -496,6 +627,39 @@
</field>
</record>
<record id="view_lunch_alert_kanban" model="ir.ui.view">
<field name="name">lunch.alert.kanban</field>
<field name="model">lunch.alert</field>
<field name="arch" type="xml">
<kanban class="o_kanban_mobile">
<field name="message"/>
<field name="alert_type"/>
<field name='start_hour'/>
<field name='end_hour'/>
<templates>
<t t-name="kanban-box">
<div t-attf-class="oe_kanban_global_click">
<div>
<strong><t t-esc="record.message.value"/></strong>
</div>
<div class="row mb4">
<div class="col-xs-6">
Between: <t t-esc="record.start_hour.value"/> -
<t t-esc="record.end_hour.value"/>
</div>
<div class="col-xs-6">
<span class="badge pull-right">
<t t-esc="record.alert_type.value"/>
</span>
</div>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record id="lunch_alert_view_form" model="ir.ui.view">
<field name="name">lunch.alert.form</field>
<field name="model">lunch.alert</field>
@@ -405,10 +405,34 @@
</field>
</record>
<record id="view_event_track_stage_kanban" model="ir.ui.view">
<field name="name">event.track.stage.kanban</field>
<field name="model">event.track.stage</field>
<field name="arch" type="xml">
<kanban>
<field name="name"/>
<field name="fold"/>
<templates>
<t t-name="kanban-box">
<div t-attf-class="oe_kanban_global_click">
<div>
<strong><field name="name"/></strong>
<span class="pull-right" title="Folded or not?">
<field name="fold" widget="boolean"/>
</span>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record id="event_track_stage_action" model="ir.actions.act_window">
<field name="name">Track Stages</field>
<field name="res_model">event.track.stage</field>
<field name="view_type">form</field>
<field name="view_mode">tree,kanban,form</field>
<field name="view_id" ref="event_track_stage_view_tree"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">