[WIP] stock: packaging

bzr revid: qdp-launchpad@openerp.com-20130627144212-7r90vmcsurghwnc3
This commit is contained in:
Quentin (OpenERP) 2013-06-27 16:42:12 +02:00
parent 3ab3c78ec2
commit 6ebe58eb4f
1 changed files with 8 additions and 2 deletions

View File

@ -917,7 +917,7 @@ class stock_picking(osv.osv):
select=True, required=True, readonly=True, track_visibility='onchange', states={'draft': [('readonly', False)]}),
'company_id': fields.many2one('res.company', 'Company', required=True, select=True, states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}),
'pack_operation_ids': fields.one2many('stock.pack.operation', 'picking_id', string='Related Packing Operations'),
'package_ids': fields.one2many('stock.quant.package', 'picking_id', string='Related Packing Operations'),
#'package_ids': fields.one2many('stock.quant.package', 'picking_id', string='Related Packing Operations'),
}
_defaults = {
'name': lambda self, cr, uid, context: '/',
@ -1675,6 +1675,12 @@ class stock_picking(osv.osv):
included_package_ids = package_obj.search(cr, uid, [('parent_id', 'child_of', matching_package_ids[0])], context=context)
included_quant_ids = quant_obj.search(cr, uid, [('package_id', 'in', included_package_ids)], context=context)
todo_on_moves, todo_on_operations = self._deal_with_quants(cr, uid, picking_id, included_quant_ids, context=context)
#write remaining qty on stock.move, to ease the treatment server side
for todo in todo_on_moves:
if todo[0] == 1:
self.pool.get('stock.move').write(cr, uid, todo[1], todo[2], context=context)
elif todo[0] == 0:
self.pool.get('stock.move').create(cr, uid, todo[2], context=context)
return {'warnings': error_msg, 'moves_to_update': todo_on_moves, 'operations_to_update': todo_on_operations}
@ -3701,7 +3707,7 @@ class stock_package(osv.osv):
'children_ids': fields.one2many('stock.quant.package', 'parent_id', 'Packaged Content'),
'location_id': fields.related('quant_ids', 'location_id', type='many2one', relation='stock.location', string='Location', readonly=True),
'pack_operation_id': fields.many2one('stock.pack.operation', string="Package Operation", help="The pack operation that built this package"),
'picking_id': fields.related('pack_operation_id', 'picking_id', type='many2one', relation="stock.picking", string='Related Picking'),
# 'picking_id': fields.related('pack_operation_id', 'picking_id', type='many2one', relation="stock.picking", string='Related Picking'),
}
def _check_location(self, cr, uid, ids, context=None):