self.write(cr, uid, [o.id], {'state': '2binvoiced'})
else:
self.write(cr, uid, [o.id], {'state': 'confirmed'})
- mrp_line_obj.write(cr, uid, [l.id for l in o.operations], {'state': 'confirmed'})
+ for line in o.operations:
+ if line.product_id.track_production and not line.prodlot_id:
+ raise osv.except_osv(_('Warning'), _("Production lot is required for opration line with product '%s'") % (line.product_id.name))
+ mrp_line_obj.write(cr, uid, [line.id], {'state': 'confirmed'})
return True
def action_cancel(self, cr, uid, ids, context=None):
res = super(stock_picking, self)._get_address_invoice(cr, uid, picking)
if picking.purchase_id:
partner_obj = self.pool.get('res.partner')
- partner = (picking.purchase_id and picking.purchase_id.partner_id) or picking.address_id.partner_id
+ partner = picking.purchase_id.partner_id or picking.address_id.partner_id
data = partner_obj.address_get(cr, uid, [partner.id],
['contact', 'invoice'])
res.update(data)
'sale_id': False
}
- def _get_address_invoice(self, cr, uid, picking):
- """ Gets invoice address of a partner
- @return {'contact': address, 'invoice': address} for invoice
- """
- res = super(stock_picking, self)._get_address_invoice(cr, uid, picking)
- if picking.sale_id:
- partner_obj = self.pool.get('res.partner')
- partner = (picking.sale_id and picking.sale_id.partner_id) or picking.address_id.partner_id
- data = partner_obj.address_get(cr, uid, [partner.id],
- ['contact', 'invoice'])
- res.update(data)
- return res
-
def get_currency_id(self, cursor, user, picking):
if picking.sale_id:
return picking.sale_id.pricelist_id.currency_id.id
address_contact_id, address_invoice_id = \
self._get_address_invoice(cr, uid, picking).values()
- partner_id = address_obj.browse(cr, uid, address_contact_id)
+ address = address_obj.browse(cr, uid, address_contact_id, context=context)
comment = self._get_comment_invoice(cr, uid, picking)
if group and partner.id in invoices_group:
'origin': (picking.name or '') + (picking.origin and (':' + picking.origin) or ''),
'type': inv_type,
'account_id': account_id,
- 'partner_id': partner_id.partner_id.id,
+ 'partner_id': address.partner_id.id,
'address_invoice_id': address_invoice_id,
'address_contact_id': address_contact_id,
'comment': comment,