[IMP] stock_account: on picking type kanban card add
an indicator for pickings to be invoiced + action + filter.
This commit is contained in:
committed by
Thibault Delavallée
parent
32fb2f0940
commit
633c166c77
@@ -1417,7 +1417,7 @@
|
||||
<field name="count_picking_waiting"/> Waiting Availability
|
||||
</a>
|
||||
</t>
|
||||
<a class="col-md-9 oe_kanban_stock_picking_type_list" name="%(action_picking_tree)d" type="action">Transfers</a>
|
||||
<a class="col-md-9 oe_kanban_stock_picking_type_list" id="transfers" name="%(action_picking_tree)d" type="action">Transfers</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
@@ -319,3 +319,20 @@ class stock_picking(osv.osv):
|
||||
if op.linked_move_operation_ids:
|
||||
res.update({'price_unit': op.linked_move_operation_ids[-1].move_id.price_unit})
|
||||
return res
|
||||
|
||||
|
||||
class stock_picking_type(osv.Model):
|
||||
_inherit = "stock.picking.type"
|
||||
|
||||
def _compute_count_picking_invoiced(self, cr, uid, ids, field_name, arg, context=None):
|
||||
result = dict.fromkeys(ids, 0)
|
||||
picking_data = self.pool['stock.picking'].read_group(
|
||||
cr, uid, [('picking_type_id', 'in', ids), ('invoice_state', '=', '2binvoiced')],
|
||||
['picking_type_id'], ['picking_type_id'], context=context)
|
||||
for data in picking_data:
|
||||
result[data['picking_type_id'][0]] = data['picking_type_id_count']
|
||||
return result
|
||||
|
||||
_columns = {
|
||||
'count_picking_invoiced': fields.function(_compute_count_picking_invoiced, type='integer'),
|
||||
}
|
||||
|
||||
@@ -26,6 +26,17 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_picking_search_inherit" model="ir.ui.view">
|
||||
<field name="name">stock.picking.internal.search</field>
|
||||
<field name="model">stock.picking</field>
|
||||
<field name="inherit_id" ref="stock.view_picking_internal_search"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//filter[@name='waiting']" position="after">
|
||||
<filter name="to_be_invoiced" string="To Be Invoiced" domain="[('invoice_state','=', '2binvoiced')]" help="To Be Invoiced Moves"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_picking_inherit_tree2" model="ir.ui.view">
|
||||
<field name="name">stock.picking.tree.inherit</field>
|
||||
<field name="model">stock.picking</field>
|
||||
@@ -95,5 +106,36 @@
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_picking_tree_invoice" model="ir.actions.act_window">
|
||||
<field name="name">To Be Invoiced</field>
|
||||
<field name="res_model">stock.picking</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form,calendar</field>
|
||||
<field name="domain"></field>
|
||||
<field name="context">{
|
||||
'search_default_picking_type_id': [active_id],
|
||||
'default_picking_type_id': active_id,
|
||||
'contact_display': 'partner_address',
|
||||
'search_default_to_be_invoiced': 1,
|
||||
}
|
||||
</field>
|
||||
<field name="search_view_id" ref="view_picking_search_inherit"/>
|
||||
</record>
|
||||
|
||||
<record id="view_stock_picking_kanban_inherit" model="ir.ui.view">
|
||||
<field name="name">stock.picking.type.kanban</field>
|
||||
<field name="model">stock.picking.type</field>
|
||||
<field name="inherit_id" ref="stock.stock_picking_type_kanban"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//a[@id='transfers']" position="before">
|
||||
<a name="%(action_picking_tree_invoice)d" type="action" class="col-md-12" t-if="record.count_picking_invoiced.raw_value > 0">
|
||||
<field name="count_picking_invoiced"/> To Be Invoiced
|
||||
</a>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
Reference in New Issue
Block a user