From f1d87b37ede9b452ada45f388fee932270f1a48e Mon Sep 17 00:00:00 2001 From: Kishan Gajjar <kig@odoo.com> Date: Fri, 24 Mar 2017 11:52:01 +0530 Subject: [PATCH] [IMP] account: 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: - account : kanban for purchases payments - account : kanban for journal entries - account : kanban for chart of accounts - account : kanban for budgets - account_analytic_default : kanban for analytic defaults - account_asset : kanban for assets - account_asset : kanban for asset types - account_budget : kanban for Budgetary Positions - account : kanban for fiscal positions - account : kanban for taxes - account : kanban for payment terms - account : kanban for bank accounts - account : kanban for journals(reuse Accounting Dashboard) - analytic : kanban for analytic accounts - analytic : kanban for analytic entries --- addons/account/views/account_payment_view.xml | 41 +++++- addons/account/views/account_view.xml | 122 +++++++++++++++++- addons/account/views/partner_view.xml | 2 +- .../views/account_analytic_default_view.xml | 30 ++++- .../views/account_asset_views.xml | 67 +++++++++- .../views/account_budget_views.xml | 43 +++++- .../analytic/views/analytic_account_views.xml | 77 ++++++++++- 7 files changed, 367 insertions(+), 15 deletions(-) diff --git a/addons/account/views/account_payment_view.xml b/addons/account/views/account_payment_view.xml index 9f9e49ecd055..3d245ff1384e 100644 --- a/addons/account/views/account_payment_view.xml +++ b/addons/account/views/account_payment_view.xml @@ -40,6 +40,43 @@ </field> </record> + <record id="view_account_payment_kanban" model="ir.ui.view"> + <field name="name">account.payment.kanban</field> + <field name="model">account.payment</field> + <field name="arch" type="xml"> + <kanban class="o_kanban_mobile"> + <field name="name"/> + <field name="partner_id"/> + <field name="payment_date"/> + <field name="state"/> + <templates> + <t t-name="kanban-box"> + <div t-attf-class="oe_kanban_global_click"> + <div class="row mb4"> + <div class="col-xs-6"> + <strong><span><field name="name"/></span></strong> + </div> + <div class="col-xs-6 text-right"> + <strong><i class="fa fa-clock-o"/> <t t-esc="record.payment_date.value"/></strong> + </div> + </div> + <div class="row"> + <div class="col-xs-6"> + <span><field name="partner_id"/></span> + </div> + <div class="col-xs-6"> + <span class="pull-right"> + <field name="state" widget="kanban_label_selection" options="{'classes': {'draft': 'default', 'sent': 'success'}}"/> + </span> + </div> + </div> + </div> + </t> + </templates> + </kanban> + </field> + </record> + <record id="view_account_payment_search" model="ir.ui.view"> <field name="name">account.payment.search</field> <field name="model">account.payment</field> @@ -145,7 +182,7 @@ <field name="name">Payments</field> <field name="res_model">account.payment</field> <field name="view_type">form</field> - <field name="view_mode">tree,form,graph</field> + <field name="view_mode">tree,kanban,form,graph</field> <field name="context">{'default_payment_type': 'inbound'}</field> <field name="domain">[('partner_type', '=', 'customer')]</field> <field name="view_id" ref="view_account_payment_tree"/> @@ -163,7 +200,7 @@ <field name="name">Payments</field> <field name="res_model">account.payment</field> <field name="view_type">form</field> - <field name="view_mode">tree,form,graph</field> + <field name="view_mode">tree,kanban,form,graph</field> <field name="context">{'default_payment_type': 'outbound'}</field> <field name="domain">[('partner_type', '=', 'supplier')]</field> <field name="view_id" ref="view_account_supplier_payment_tree"/> diff --git a/addons/account/views/account_view.xml b/addons/account/views/account_view.xml index e92b0b734433..73edb2208c54 100644 --- a/addons/account/views/account_view.xml +++ b/addons/account/views/account_view.xml @@ -100,6 +100,36 @@ </tree> </field> </record> + + <record id="view_account_account_kanban" model="ir.ui.view"> + <field name="name">account.account.kanban</field> + <field name="model">account.account</field> + <field name="arch" type="xml"> + <kanban class="o_kanban_mobile"> + <field name="name"/> + <field name="code"/> + <field name="user_type_id"/> + <templates> + <t t-name="kanban-box"> + <div t-attf-class="oe_kanban_global_click"> + <div class="row"> + <div class="col-xs-6"> + <strong><field name="name"/></strong> + </div> + <div class="col-xs-6 text-right"> + <span class="badge"><t t-esc="record.code.value"/></span> + </div> + </div> + <div> + <strong>Type: </strong><t t-esc="record.user_type_id.value"/> + </div> + </div> + </t> + </templates> + </kanban> + </field> + </record> + <record id="view_account_search" model="ir.ui.view"> <field name="name">account.account.search</field> <field name="model">account.account</field> @@ -119,7 +149,7 @@ <field name="name">Chart of Accounts</field> <field name="res_model">account.account</field> <field name="view_type">form</field> - <field name="view_mode">tree,form</field> + <field name="view_mode">tree,kanban,form</field> <field name="search_view_id" ref="view_account_search"/> <field name="view_id" ref="view_account_list"/> <field name="help" type="html"> @@ -332,7 +362,7 @@ <record id="action_account_bank_journal_form" model="ir.actions.act_window"> <field name="name">Bank Accounts</field> <field name="res_model">account.journal</field> - <field name="view_mode">tree,form</field> + <field name="view_mode">tree,kanban,form</field> <field name="view_ids" eval="[(5, 0, 0), (0, 0, {'view_mode': 'tree', 'view_id': ref('view_account_bank_journal_tree')}), (0, 0, {'view_mode': 'form', 'view_id': ref('view_account_bank_journal_form')})]"/> @@ -350,7 +380,7 @@ <field name="name">Journals</field> <field name="res_model">account.journal</field> <field name="view_type">form</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 add a journal. @@ -892,6 +922,30 @@ </tree> </field> </record> + <record id="view_tax_kanban" model="ir.ui.view"> + <field name="name">account.tax.kanban</field> + <field name="model">account.tax</field> + <field name="arch" type="xml"> + <kanban class="o_kanban_mobile"> + <field name="name"/> + <field name="type_tax_use"/> + <templates> + <t t-name="kanban-box"> + <div t-attf-class="oe_kanban_card oe_kanban_global_click"> + <div class="row mb4"> + <div class="col-xs-6"> + <strong><span><t t-esc="record.name.value"/></span></strong> + </div> + <div class="col-xs-6 pull-right text-right"> + <span class="badge"><t t-esc="record.type_tax_use.value"/></span> + </div> + </div> + </div> + </t> + </templates> + </kanban> + </field> + </record> <record id="view_account_tax_search" model="ir.ui.view"> <field name="name">account.tax.search</field> <field name="model">account.tax</field> @@ -977,7 +1031,7 @@ <field name="name">Taxes</field> <field name="res_model">account.tax</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" eval="False"/> <!-- Force empty --> <field name="context">{'search_default_sale': True, 'search_default_purchase': True}</field> <field name="view_id" ref="view_tax_tree"/> @@ -1259,6 +1313,44 @@ </tree> </field> </record> + + <record id="view_account_move_kanban" model="ir.ui.view"> + <field name="name">account.move.kanban</field> + <field name="model">account.move</field> + <field name="arch" type="xml"> + <kanban class="o_kanban_mobile"> + <field name="journal_id"/> + <field name="ref"/> + <field name="date"/> + <field name="state"/> + <templates> + <t t-name="kanban-box"> + <div t-attf-class="oe_kanban_global_click"> + <div class="row mb4"> + <div class="col-xs-6"> + <strong><span><field name="journal_id"/></span></strong> + </div> + <div class="col-xs-6 text-right"> + <strong><i class="fa fa-clock-o"/> <t t-esc="record.date.value"/></strong> + </div> + </div> + <div class="row"> + <div class="col-xs-6"> + <span><field name="ref"/></span> + </div> + <div class="col-xs-6"> + <span class="pull-right"> + <field name="state" widget="kanban_label_selection" options="{'classes': {'draft': 'default', 'posted': 'success'}}"/> + </span> + </div> + </div> + </div> + </t> + </templates> + </kanban> + </field> + </record> + <record id="view_move_form" model="ir.ui.view"> <field name="name">account.move.form</field> <field name="model">account.move</field> @@ -1355,7 +1447,7 @@ <field name="name">Journal Entries</field> <field name="res_model">account.move</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" ref="view_move_tree"/> <field name="search_view_id" ref="view_account_move_filter"/> <field name="context">{'search_default_misc_filter':1, 'view_no_maturity': True}</field> @@ -1487,11 +1579,29 @@ </form> </field> </record> + <record id="view_account_payment_term_kanban" model="ir.ui.view"> + <field name="name">account.payment.term.kanban</field> + <field name="model">account.payment.term</field> + <field name="arch" type="xml"> + <kanban class="o_kanban_mobile"> + <field name="name"/> + <field name="note"/> + <templates> + <t t-name="kanban-box"> + <div t-attf-class="oe_kanban_global_click"> + <div><strong><t t-esc="record.name.value"/></strong></div> + <div t-if="record.note.value"><strong>Note: </strong><t t-esc="record.note.value"/></div> + </div> + </t> + </templates> + </kanban> + </field> + </record> <record id="action_payment_term_form" model="ir.actions.act_window"> <field name="name">Payment Terms</field> <field name="res_model">account.payment.term</field> <field name="view_type">form</field> - <field name="view_mode">tree,form</field> + <field name="view_mode">tree,kanban,form</field> <field name="search_view_id" ref="view_payment_term_search"/> </record> diff --git a/addons/account/views/partner_view.xml b/addons/account/views/partner_view.xml index 84607ad971d9..16b664951eab 100644 --- a/addons/account/views/partner_view.xml +++ b/addons/account/views/partner_view.xml @@ -139,7 +139,7 @@ <field name="name">Fiscal Positions</field> <field name="res_model">account.fiscal.position</field> <field name="view_type">form</field> - <field name="view_mode">tree,form</field> + <field name="view_mode">tree,kanban,form</field> </record> <menuitem diff --git a/addons/account_analytic_default/views/account_analytic_default_view.xml b/addons/account_analytic_default/views/account_analytic_default_view.xml index f4b40b931689..6e60de7178f8 100644 --- a/addons/account_analytic_default/views/account_analytic_default_view.xml +++ b/addons/account_analytic_default/views/account_analytic_default_view.xml @@ -37,6 +37,34 @@ </field> </record> + <record id="view_account_analytic_default_kanban" model="ir.ui.view"> + <field name="name">account.analytic.default.kanban</field> + <field name="model">account.analytic.default</field> + <field name="arch" type="xml"> + <kanban class="o_kanban_mobile"> + <field name="analytic_id"/> + <field name="date_start"/> + <field name="date_stop"/> + <field name="product_id"/> + <field name="partner_id"/> + <field name="user_id"/> + <templates> + <t t-name="kanban-box"> + <div t-attf-class="oe_kanban_card oe_kanban_global_click"> + <div> + <strong><span><field name="analytic_id"/></span></strong> + <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 t-if="record.date_start.value"><i class="fa fa-calendar"></i> From <field name="date_start"/> <t t-if="record.date_stop.value">to <field name="date_stop"/></t></div> + <div t-if="record.product_id.value"><strong>Product</strong> <field name="product_id"/> </div> + <div t-if="record.partner_id.value"><strong>Customer</strong> <field name="partner_id"/> </div> + </div> + </t> + </templates> + </kanban> + </field> + </record> + <record id="view_account_analytic_default_form_search" model="ir.ui.view"> <field name="name">account.analytic.default.search</field> <field name="model">account.analytic.default</field> @@ -63,7 +91,7 @@ <field name="name">Analytic Defaults</field> <field name="res_model">account.analytic.default</field> <field name="view_type">form</field> - <field name="view_mode">tree,form</field> + <field name="view_mode">tree,kanban,form</field> <field name="search_view_id" ref="view_account_analytic_default_form_search"/> <field name="context">{"search_default_current":1}</field> </record> diff --git a/addons/account_asset/views/account_asset_views.xml b/addons/account_asset/views/account_asset_views.xml index f3279ffd8e68..0ef33267a019 100644 --- a/addons/account_asset/views/account_asset_views.xml +++ b/addons/account_asset/views/account_asset_views.xml @@ -65,6 +65,33 @@ </field> </record> + <record id="view_account_asset_asset_category_kanban" model="ir.ui.view"> + <field name="name">account.asset.category.kanban</field> + <field name="model">account.asset.category</field> + <field name="arch" type="xml"> + <kanban class="o_kanban_mobile"> + <field name="name"/> + <field name="journal_id"/> + <field name="method"/> + <templates> + <t t-name="kanban-box"> + <div t-attf-class="oe_kanban_card oe_kanban_global_click"> + <div class="row mb4"> + <div class="col-xs-6"> + <strong><span><t t-esc="record.name.value"/></span></strong> + </div> + <div class="col-xs-6 text-right"> + <span class="badge"><strong><t t-esc="record.method.value"/></strong></span> + </div> + </div> + <div> <t t-esc="record.journal_id.value"/></div> + </div> + </t> + </templates> + </kanban> + </field> + </record> + <record model="ir.ui.view" id="view_account_asset_category_tree"> <field name="name">account.asset.category.tree</field> <field name="model">account.asset.category</field> @@ -191,6 +218,43 @@ </field> </record> + <record id="view_account_asset_asset_kanban" model="ir.ui.view"> + <field name="name">account.asset.asset.kanban</field> + <field name="model">account.asset.asset</field> + <field name="arch" type="xml"> + <kanban class="o_kanban_mobile"> + <field name="name"/> + <field name="category_id"/> + <field name="date"/> + <field name="state"/> + <templates> + <t t-name="kanban-box"> + <div t-attf-class="oe_kanban_global_click"> + <div class="row mb4"> + <div class="col-xs-6"> + <strong><span><t t-esc="record.name.value"/></span></strong> + </div> + <div class="col-xs-6 pull-right text-right"> + <strong><t t-esc="record.date.value"/></strong> + </div> + </div> + <div class="row"> + <div class="col-xs-6 text-muted"> + <span><t t-esc="record.category_id.value"/></span> + </div> + <div class="col-xs-6"> + <span class="pull-right text-right"> + <field name="state" widget="kanban_label_selection" options="{'classes': {'draft': 'primary', 'open': 'success', 'close': 'default'}}"/> + </span> + </div> + </div> + </div> + </t> + </templates> + </kanban> + </field> + </record> + <record model="ir.ui.view" id="view_account_asset_asset_purchase_tree"> <field name="name">account.asset.asset.purchase.tree</field> <field name="model">account.asset.asset</field> @@ -234,6 +298,7 @@ <field name="name">Assets</field> <field name="res_model">account.asset.asset</field> <field name="view_type">form</field> + <field name="view_mode">tree,kanban,form</field> <field name="view_id" ref="view_account_asset_asset_purchase_tree"/> <field name="domain">[('category_id.type', '=', 'purchase')]</field> </record> @@ -250,7 +315,7 @@ <field name="res_model">account.asset.category</field> <field name="domain">[('type', '=', 'purchase')]</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">{'default_type': 'purchase'}</field> </record> diff --git a/addons/account_budget/views/account_budget_views.xml b/addons/account_budget/views/account_budget_views.xml index 21635db40a4d..e27602d94c0d 100644 --- a/addons/account_budget/views/account_budget_views.xml +++ b/addons/account_budget/views/account_budget_views.xml @@ -29,6 +29,7 @@ <field name="name">Budgetary Positions</field> <field name="res_model">account.budget.post</field> <field name="view_type">form</field> + <field name="view_mode">tree,kanban,form</field> <field name="view_id" ref="view_budget_post_tree"/> <field name="search_view_id" ref="view_budget_post_search"/> </record> @@ -150,6 +151,46 @@ </field> </record> + <record id="view_crossovered_budget_kanban" model="ir.ui.view"> + <field name="name">crossovered.budget.kanban</field> + <field name="model">crossovered.budget</field> + <field name="arch" type="xml"> + <kanban class="o_kanban_mobile"> + <field name="name"/> + <field name="date_from"/> + <field name="date_to"/> + <field name="creating_user_id"/> + <field name="state"/> + <templates> + <t t-name="kanban-box"> + <div t-attf-class="oe_kanban_global_click"> + <div class="row mb4"> + <div class="col-xs-8"> + <strong><field name="name"/></strong> + </div> + <div class="col-xs-4"> + <span class="pull-right"> + <field name="state" widget="kanban_label_selection" options="{'classes': {'draft': 'default', 'done': 'success'}}"/> + </span> + </div> + </div> + <div class="row"> + <div class="col-xs-10"> + <i class="fa fa-clock-o"/> <t t-esc="record.date_from.value"/>-<t t-esc="record.date_to.value"/> + </div> + <div class="col-xs-2"> + <span class="pull-right"> + <img t-att-src="kanban_image('res.users', 'image_small', record.creating_user_id.raw_value)" t-att-title="record.creating_user_id.value" width="24" height="24" class="oe_kanban_avatar pull-right"/> + </span> + </div> + </div> + </div> + </t> + </templates> + </kanban> + </field> + </record> + <record id="view_crossovered_budget_search" model="ir.ui.view"> <field name="name">crossovered.budget.search</field> <field name="model">crossovered.budget</field> @@ -169,7 +210,7 @@ <field name="name">Budgets</field> <field name="res_model">crossovered.budget</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" ref="crossovered_budget_view_tree"/> <field name="search_view_id" ref="view_crossovered_budget_search"/> <field name="help" type="html"> diff --git a/addons/analytic/views/analytic_account_views.xml b/addons/analytic/views/analytic_account_views.xml index f061e1c5133e..83ef8ae2347c 100644 --- a/addons/analytic/views/analytic_account_views.xml +++ b/addons/analytic/views/analytic_account_views.xml @@ -136,6 +136,39 @@ </field> </record> + <record id="view_account_analytic_account_kanban" model="ir.ui.view"> + <field name="name">account.analytic.account.kanban</field> + <field name="model">account.analytic.account</field> + <field name="arch" type="xml"> + <kanban class="o_kanban_mobile"> + <field name="display_name"/> + <field name="tag_ids"/> + <field name="balance"/> + <field name="debit"/> + <field name="credit"/> + <field name="currency_id"/> + <templates> + <t t-name="kanban-box"> + <div t-attf-class="oe_kanban_card oe_kanban_global_click"> + <div class="text-center"> + <strong><span><field name="display_name"/></span></strong> + </div> + <hr class="mt8 mb8"/> + <div class="row"> + <div class="col-xs-4 text-center text-success"><strong>Credit</strong></div> + <div class="col-xs-4 text-center text-danger"><strong>Debit</strong></div> + <div class="col-xs-4 text-center"><strong>Balance</strong></div> + <div class="col-xs-4 text-center text-success"><field name="credit" widget="monetary"/></div> + <div class="col-xs-4 text-center text-danger"><field name="debit" widget="monetary"/></div> + <div class="col-xs-4 text-center"><field name="balance" widget="monetary"/></div> + </div> + </div> + </t> + </templates> + </kanban> + </field> + </record> + <record id="view_account_analytic_account_search" model="ir.ui.view"> <field name="name">account.analytic.account.search</field> <field name="model">account.analytic.account</field> @@ -156,7 +189,7 @@ <field name="name">Chart of Analytic Accounts</field> <field name="res_model">account.analytic.account</field> <field name="view_type">form</field> - <field name="view_mode">tree,form</field> + <field name="view_mode">tree,kanban,form</field> <field name="search_view_id" ref="view_account_analytic_account_search"/> <field name="context">{'search_default_active':1}</field> <field name="view_id" ref="view_account_analytic_account_list"/> @@ -174,7 +207,7 @@ <field name="search_view_id" ref="view_account_analytic_account_search"/> <field name="context">{'search_default_active':1}</field> <field name="view_type">form</field> - <field name="view_mode">tree,form</field> + <field name="view_mode">tree,kanban,form</field> </record> @@ -241,10 +274,48 @@ </field> </record> + <record id="view_account_analytic_line_kanban" 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="name"/> + <field name="account_id"/> + <field name="currency_id"/> + <field name="amount"/> + <templates> + <t t-name="kanban-box"> + <div t-attf-class="oe_kanban_card oe_kanban_global_click"> + <div class="row"> + <div class="col-xs-6"> + <strong><span><t t-esc="record.name.value"/></span></strong> + </div> + <div class="col-xs-6 pull-right text-right"> + <strong><t t-esc="record.date.value"/></strong> + </div> + </div> + <div class="row"> + <div class="col-xs-6 text-muted"> + <span><t t-esc="record.account_id.value"/></span> + </div> + <div class="col-xs-6"> + <span class="pull-right text-right"> + <field name="amount" widget="monetary"/> + </span> + </div> + </div> + </div> + </t> + </templates> + </kanban> + </field> + </record> + <record model="ir.actions.act_window" id="account_analytic_line_action_entries"> <field name="name">Analytic Entries</field> <field name="res_model">account.analytic.line</field> - <field name="view_mode">tree,form,graph,pivot</field> + <field name="view_mode">tree,kanban,form,graph,pivot</field> <field name="view_id" ref="view_account_analytic_line_tree"/> <field name="view_type">form</field> <field name="search_view_id" ref="analytic.view_account_analytic_line_filter"/> -- GitLab