From c2dcc89ef0a1a44dd2b1f20f1c3a882996ec6a0e Mon Sep 17 00:00:00 2001 From: Martin Geubelle <mge@odoo.com> Date: Wed, 20 May 2015 14:42:00 +0200 Subject: [PATCH] [ADD] account, account_voucher, mrp, purchase, stock : new mobile-friendly kanban for one2many in form view --- addons/account/views/account_invoice_view.xml | 33 ++++++++++++++--- .../account_voucher/account_voucher_view.xml | 8 ++--- addons/mrp/mrp_view.xml | 8 ++--- addons/purchase/purchase_view.xml | 8 ++--- addons/stock/stock_view.xml | 35 ++++++++++++++++--- 5 files changed, 72 insertions(+), 20 deletions(-) diff --git a/addons/account/views/account_invoice_view.xml b/addons/account/views/account_invoice_view.xml index 5f6542a700db..665a72602693 100644 --- a/addons/account/views/account_invoice_view.xml +++ b/addons/account/views/account_invoice_view.xml @@ -160,18 +160,18 @@ <div t-attf-class="oe_kanban_card oe_kanban_global_click"> <div class="row"> <div class="col-xs-6"> - <strong><field name="partner_id"/></strong> + <strong><span><t t-esc="record.partner_id.value"/></span></strong> </div> <div class="col-xs-6"> - <strong class="pull-right text-right"><field name="amount_total_signed"/></strong> + <strong><span class="pull-right text-right"><t t-esc="record.amount_total_signed.value"/></span></strong> </div> </div> <div class="row"> <div class="col-xs-6 text-muted"> - <field name="number"/> <field name="date_invoice"/> + <span><t t-esc="record.number.value"/> <t t-esc="record.date_invoice.value"/></span> </div> <div class="col-xs-6"> - <span t-attf-class="pull-right text-right label #{['draft', 'cancel'].indexOf(record.state.raw_value) > -1 ? 'label-default' : ['none'].indexOf(record.state.raw_value) > -1 ? 'label-danger' : ['proforma', 'proforma2', 'open'].indexOf(record.state.raw_value) > -1 ? 'label-warning' : ['paid'].indexOf(record.state.raw_value) > -1 ? 'label-success' : 'label-primary'}"><field name="state"/></span> + <span t-attf-class="pull-right text-right label #{['draft', 'cancel'].indexOf(record.state.raw_value) > -1 ? 'label-default' : ['none'].indexOf(record.state.raw_value) > -1 ? 'label-danger' : ['proforma', 'proforma2', 'open'].indexOf(record.state.raw_value) > -1 ? 'label-warning' : ['paid'].indexOf(record.state.raw_value) > -1 ? 'label-success' : 'label-primary'}"><t t-esc="record.state.value"/></span> </div> </div> </div> @@ -418,6 +418,31 @@ <field name="price_subtotal"/> <field name="currency_id" invisible="1"/> </tree> + <kanban class="o_kanban_mobile o_kanban_one2many"> + <field name="product_id"/> + <field name="price_subtotal"/> + <field name="quantity"/> + <field name="uos_id" groups="product.group_uom"/> + <templates> + <t t-name="kanban-box"> + <div t-attf-class="oe_kanban_card oe_kanban_global_click"> + <div class="row"> + <div class="col-xs-12"> + <strong><span><t t-esc="record.product_id.value or 'None'"/></span></strong> + </div> + </div> + <div class="row"> + <div class="col-xs-8 text-muted"> + <span><t t-esc="record.quantity.value"/> <t t-esc="record.uos_id.value"/></span> + </div> + <div class="col-xs-4 text-muted"> + <span class="text-right"><t t-esc="record.price_subtotal.value"/></span> + </div> + </div> + </div> + </t> + </templates> + </kanban> </field> <group class="oe_subtotal_footer oe_right"> <field name="amount_untaxed"/> diff --git a/addons/account_voucher/account_voucher_view.xml b/addons/account_voucher/account_voucher_view.xml index 0c048ccdc011..46909cb573fb 100644 --- a/addons/account_voucher/account_voucher_view.xml +++ b/addons/account_voucher/account_voucher_view.xml @@ -51,18 +51,18 @@ <div t-attf-class="oe_kanban_card oe_kanban_global_click"> <div class="row"> <div class="col-xs-6"> - <strong><field name="partner_id"/></strong> + <strong><span><t t-esc="record.partner_id.value"/></span></strong> </div> <div class="col-xs-6"> - <strong class="pull-right text-right"><field name="amount"/></strong> + <strong><span class="pull-right text-right"><t t-esc="record.amount.value"/></span></strong> </div> </div> <div class="row"> <div class="col-xs-6 text-muted"> - <field name="number"/> <field name="date"/> + <span><t t-esc="record.number.value"/> <t t-esc="record.date.value"/></span> </div> <div class="col-xs-6"> - <span t-attf-class="pull-right text-right label #{['draft', 'cancel'].indexOf(record.state.raw_value) > -1 ? 'label-default' : ['none'].indexOf(record.state.raw_value) > -1 ? 'label-danger' : ['proforma'].indexOf(record.state.raw_value) > -1 ? 'label-warning' : ['posted'].indexOf(record.state.raw_value) > -1 ? 'label-success' : 'label-primary'}"><field name="state"/></span> + <span t-attf-class="pull-right text-right label #{['draft', 'cancel'].indexOf(record.state.raw_value) > -1 ? 'label-default' : ['none'].indexOf(record.state.raw_value) > -1 ? 'label-danger' : ['proforma'].indexOf(record.state.raw_value) > -1 ? 'label-warning' : ['posted'].indexOf(record.state.raw_value) > -1 ? 'label-success' : 'label-primary'}"><t t-esc="record.state.value"/></span> </div> </div> </div> diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml index 691588c67af5..168276eb2dbd 100644 --- a/addons/mrp/mrp_view.xml +++ b/addons/mrp/mrp_view.xml @@ -639,18 +639,18 @@ <div t-attf-class="oe_kanban_card oe_kanban_global_click"> <div class="row"> <div class="col-xs-6"> - <strong><field name="product_id"/></strong> + <strong><span><t t-esc="record.product_id.value"/></span></strong> </div> <div class="col-xs-6"> - <strong class="pull-right text-right"><field name="product_qty"/> <field name="product_uom"/></strong> + <strong><span class="pull-right text-right"><t t-esc="record.product_qty.value"/> <t t-esc="record.product_uom.value"/></span></strong> </div> </div> <div class="row"> <div class="col-xs-6 text-muted"> - <field name="name"/> <t t-esc="record.date_planned.value and record.date_planned.value.split(' ')[0] or False"/> + <span><t t-esc="record.name.value"/> <t t-esc="record.date_planned.value and record.date_planned.value.split(' ')[0] or False"/></span> </div> <div class="col-xs-6"> - <span t-attf-class="pull-right text-right label #{['draft', 'cancel'].indexOf(record.state.raw_value) > -1 ? 'label-default' : ['none'].indexOf(record.state.raw_value) > -1 ? 'label-danger' : ['confirmed'].indexOf(record.state.raw_value) > -1 ? 'label-warning' : ['done'].indexOf(record.state.raw_value) > -1 ? 'label-success' : 'label-primary'}"><field name="state"/></span> + <span t-attf-class="pull-right text-right label #{['draft', 'cancel'].indexOf(record.state.raw_value) > -1 ? 'label-default' : ['none'].indexOf(record.state.raw_value) > -1 ? 'label-danger' : ['confirmed'].indexOf(record.state.raw_value) > -1 ? 'label-warning' : ['done'].indexOf(record.state.raw_value) > -1 ? 'label-success' : 'label-primary'}"><t t-esc="record.state.value"/></span> </div> </div> </div> diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml index 6db3303b9c39..16a3af089fde 100644 --- a/addons/purchase/purchase_view.xml +++ b/addons/purchase/purchase_view.xml @@ -366,18 +366,18 @@ <div t-attf-class="oe_kanban_card oe_kanban_global_click"> <div class="row"> <div class="col-xs-6"> - <strong><field name="partner_id"/></strong> + <strong><span><t t-esc="record.partner_id.value"/></span></strong> </div> <div class="col-xs-6"> - <strong class="pull-right text-right"><field name="amount_total"/></strong> + <strong><span class="pull-right text-right"><t t-esc="record.amount_total.value"/></span></strong> </div> </div> <div class="row"> <div class="col-xs-6"> - <field name="name"/> <t t-esc="record.date_order.value and record.date_order.value.split(' ')[0] or False"/> + <span><t t-esc="record.name.value"/> <t t-esc="record.date_order.value and record.date_order.value.split(' ')[0] or False"/></span> </div> <div class="col-xs-6"> - <span t-attf-class="pull-right text-right label #{['draft', 'cancel'].indexOf(record.state.raw_value) > -1 ? 'label-default' : ['except_picking', 'except_invoice'].indexOf(record.state.raw_value) > -1 ? 'label-danger' : ['approved'].indexOf(record.state.raw_value) > -1 ? 'label-warning' : ['done'].indexOf(record.state.raw_value) > -1 ? 'label-success' : 'label-primary'}"><field name="state"/></span> + <span t-attf-class="pull-right text-right label #{['draft', 'cancel'].indexOf(record.state.raw_value) > -1 ? 'label-default' : ['except_picking', 'except_invoice'].indexOf(record.state.raw_value) > -1 ? 'label-danger' : ['approved'].indexOf(record.state.raw_value) > -1 ? 'label-warning' : ['done'].indexOf(record.state.raw_value) > -1 ? 'label-success' : 'label-primary'}"><t t-esc="record.state.value"/></span> </div> </div> </div> diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml index e33613e512f7..9780a458deb9 100644 --- a/addons/stock/stock_view.xml +++ b/addons/stock/stock_view.xml @@ -641,15 +641,15 @@ <div t-attf-class="oe_kanban_card oe_kanban_global_click"> <div class="row"> <div class="col-xs-6"> - <strong><field name="name"/></strong> + <strong><span><t t-esc="record.name.value"/></span></strong> </div> <div class="col-xs-6"> - <strong class="pull-right text-right"><span t-attf-class="pull-right text-right label #{['draft', 'cancel'].indexOf(record.state.raw_value) > -1 ? 'label-default' : ['none'].indexOf(record.state.raw_value) > -1 ? 'label-danger' : ['waiting', 'confirmed', 'partially_available'].indexOf(record.state.raw_value) > -1 ? 'label-warning' : ['done'].indexOf(record.state.raw_value) > -1 ? 'label-success' : 'label-primary'}"><field name="state"/></span></strong> + <strong><span t-attf-class="pull-right text-right label #{['draft', 'cancel'].indexOf(record.state.raw_value) > -1 ? 'label-default' : ['none'].indexOf(record.state.raw_value) > -1 ? 'label-danger' : ['waiting', 'confirmed', 'partially_available'].indexOf(record.state.raw_value) > -1 ? 'label-warning' : ['done'].indexOf(record.state.raw_value) > -1 ? 'label-success' : 'label-primary'}"><t t-esc="record.state.value"/></span></strong> </div> </div> <div class="row text-muted"> <div class="col-xs-6"> - <span><field name="partner_id"/></span> + <span><t t-esc="record.partner_id.value"/></span> </div> <div class="col-xs-6"> <span class="pull-right text-right"><t t-esc="record.date.value and record.date.value.split(' ')[0] or False"/></span> @@ -729,7 +729,34 @@ <notebook> <page string="Products"> <separator string="Stock Moves" attrs="{'invisible': [('pack_operation_exist', '=', False)]}"/> - <field name="move_lines" context="{'address_in_id': partner_id, 'form_view_ref':'stock.view_move_picking_form', 'tree_view_ref':'stock.view_move_picking_tree', 'default_picking_type_id': picking_type_id}"/> + <field name="move_lines" context="{'address_in_id': partner_id, 'form_view_ref':'stock.view_move_picking_form', 'tree_view_ref':'stock.view_move_picking_tree', 'default_picking_type_id': picking_type_id}"> + <kanban class="o_kanban_mobile o_kanban_one2many"> + <field name="product_id"/> + <field name="availability"/> + <field name="product_uom_qty"/> + <field name="product_uom"/> + <field name="location_dest_id"/> + <templates> + <t t-name="kanban-box"> + <div t-attf-class="oe_kanban_card oe_kanban_global_click"> + <div class="row"> + <div class="col-xs-12"> + <strong><span><t t-esc="record.product_id.value"/></span></strong> + </div> + </div> + <div class="row"> + <div class="col-xs-8 text-muted"> + <span><t t-esc="record.availability.value"/> on <t t-esc="record.product_uom_qty.value"/> <t t-esc="record.product_uom.value"/></span> + </div> + <div class="col-xs-4 text-muted"> + <span class="pull-right text-right"><t t-esc="record.location_dest_id.value"/></span> + </div> + </div> + </div> + </t> + </templates> + </kanban> + </field> <field name="pack_operation_exist" invisible="1"/> <field name="note" placeholder="Add an internal note..." class="oe_inline"/> </page> -- GitLab