diff options
| author | Kishan Gajjar <kig@odoo.com> | 2017-03-29 15:54:22 +0530 |
|---|---|---|
| committer | Yannick Tivisse <yti@odoo.com> | 2017-05-11 11:38:42 +0200 |
| commit | d2cddd66fbc649a80228653979ea52d55ef9b46a (patch) | |
| tree | f6b5d4a9ceb4a248fd60329046cf8859ab4cc029 /addons | |
| parent | f1d87b37ede9b452ada45f388fee932270f1a48e (diff) | |
[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
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/hr_attendance/views/hr_attendance_view.xml | 32 | ||||
| -rw-r--r-- | addons/hr_contract/views/hr_contract_views.xml | 45 | ||||
| -rw-r--r-- | addons/hr_holidays/views/hr_holidays_views.xml | 50 | ||||
| -rw-r--r-- | addons/hr_recruitment/views/hr_recruitment_views.xml | 27 | ||||
| -rw-r--r-- | addons/hr_timesheet/views/hr_timesheet_views.xml | 53 | ||||
| -rw-r--r-- | addons/lunch/views/lunch_views.xml | 178 | ||||
| -rw-r--r-- | addons/website_event_track/views/event_track_views.xml | 24 |
7 files changed, 397 insertions, 12 deletions
diff --git a/addons/hr_attendance/views/hr_attendance_view.xml b/addons/hr_attendance/views/hr_attendance_view.xml index 2218b2ac98b..16c69ff4919 100644 --- a/addons/hr_attendance/views/hr_attendance_view.xml +++ b/addons/hr_attendance/views/hr_attendance_view.xml @@ -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"> diff --git a/addons/hr_contract/views/hr_contract_views.xml b/addons/hr_contract/views/hr_contract_views.xml index 4b7abbb4296..5c70fd640a5 100644 --- a/addons/hr_contract/views/hr_contract_views.xml +++ b/addons/hr_contract/views/hr_contract_views.xml @@ -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 && 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"/> diff --git a/addons/hr_holidays/views/hr_holidays_views.xml b/addons/hr_holidays/views/hr_holidays_views.xml index d7abe9f285a..54d0c1a79f2 100644 --- a/addons/hr_holidays/views/hr_holidays_views.xml +++ b/addons/hr_holidays/views/hr_holidays_views.xml @@ -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"> diff --git a/addons/hr_recruitment/views/hr_recruitment_views.xml b/addons/hr_recruitment/views/hr_recruitment_views.xml index da2a96d925c..c487180c521 100644 --- a/addons/hr_recruitment/views/hr_recruitment_views.xml +++ b/addons/hr_recruitment/views/hr_recruitment_views.xml @@ -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"> diff --git a/addons/hr_timesheet/views/hr_timesheet_views.xml b/addons/hr_timesheet/views/hr_timesheet_views.xml index d2bac3c2ac0..6807e9ede77 100644 --- a/addons/hr_timesheet/views/hr_timesheet_views.xml +++ b/addons/hr_timesheet/views/hr_timesheet_views.xml @@ -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> diff --git a/addons/lunch/views/lunch_views.xml b/addons/lunch/views/lunch_views.xml index dc34b96e6d4..c192795958c 100644 --- a/addons/lunch/views/lunch_views.xml +++ b/addons/lunch/views/lunch_views.xml @@ -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> diff --git a/addons/website_event_track/views/event_track_views.xml b/addons/website_event_track/views/event_track_views.xml index 1266f0a9d30..e41973404c5 100644 --- a/addons/website_event_track/views/event_track_views.xml +++ b/addons/website_event_track/views/event_track_views.xml @@ -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"> |
