diff --git a/addons/claim_from_delivery/__init__.py b/addons/claim_from_delivery/__init__.py index 5e947ee409d..c21aa0d3c3a 100644 --- a/addons/claim_from_delivery/__init__.py +++ b/addons/claim_from_delivery/__init__.py @@ -18,6 +18,7 @@ # ############################################################################## +import stock_picking # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/claim_from_delivery/claim_delivery_view.xml b/addons/claim_from_delivery/claim_delivery_view.xml index 852d602c269..6f9ca5e4a66 100644 --- a/addons/claim_from_delivery/claim_delivery_view.xml +++ b/addons/claim_from_delivery/claim_delivery_view.xml @@ -18,7 +18,7 @@
diff --git a/addons/claim_from_delivery/stock_picking.py b/addons/claim_from_delivery/stock_picking.py new file mode 100644 index 00000000000..6929809bfe2 --- /dev/null +++ b/addons/claim_from_delivery/stock_picking.py @@ -0,0 +1,30 @@ +from openerp.osv import fields, osv + + +class stock_picking(osv.osv): + _inherit = 'stock.picking' + + def _claim_count_out(self, cr, uid, ids, field_name, arg, context=None): + Claim = self.pool['crm.claim'] + return { + id: Claim.search_count(cr, uid, [('ref', '=',('stock.picking.out,' + str(ids[0])))], context=context) + for id in ids + } + + _columns = { + 'claim_count_out': fields.function(_claim_count_out, string='Claims', type='integer'), + } + +# Because of the way inheritance works in the ORM (bug), and the way stock.picking.out +# is defined (inherit from stock.picking, dispatch read to stock.picking), it is necessary +# to add the field claim_count_out to this class, even though the _claim_count_out method +# in stock_picking_out will not be called (but its existence will be checked). +class stock_picking_out(osv.osv): + _inherit = 'stock.picking.out' + + def _claim_count_out(self, cr, uid, ids, field_name, arg, context=None): + return super(stock_picking_out, self)._claim_count_out(cr, uid, ids, field_name, arg, context=context) + + _columns = { + 'claim_count_out': fields.function(_claim_count_out, string='Claims', type='integer'), + }