[FIX] purchase: fix workflow for orders based on incoming shipments

Purchase orders Based on incoming shipments never ended in done stage

bzr revid: dle@openerp.com-20140114164804-zhfy9lb308554kp1
This commit is contained in:
Denis Ledoux 2014-01-14 17:48:04 +01:00
parent 7a819ca8d0
commit 8a729c10fa
2 changed files with 20 additions and 1 deletions

View File

@ -1269,4 +1269,22 @@ class mail_compose_message(osv.Model):
wf_service.trg_validate(uid, 'purchase.order', context['default_res_id'], 'send_rfq', cr)
return super(mail_compose_message, self).send_mail(cr, uid, ids, context=context)
class account_invoice(osv.Model):
_inherit = 'account.invoice'
def invoice_validate(self, cr, uid, ids, context=None):
res = super(account_invoice, self).invoice_validate(cr, uid, ids, context=context)
purchase_order_obj = self.pool.get('purchase.order')
# read access on purchase.order object is not required
if not purchase_order_obj.check_access_rights(cr, uid, 'read', raise_exception=False):
user_id = SUPERUSER_ID
else:
user_id = uid
po_ids = purchase_order_obj.search(cr, user_id, [('invoice_ids', 'in', ids)], context=context)
wf_service = netsvc.LocalService("workflow")
for po_id in po_ids:
# Signal purchase order workflow that an invoice has been validated.
wf_service.trg_write(uid, 'purchase.order', po_id, cr)
return res
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -147,7 +147,7 @@
<record id="trans_router_invoice_no_order" model="workflow.transition">
<field name="act_from" ref="act_router"/>
<field name="act_to" ref="act_invoice_end"/>
<field name="condition">invoice_method&lt;&gt;'order' and invoiced</field>
<field name="condition">invoice_method&lt;&gt;'order'</field>
</record>
<record id="trans_except_picking_picking_done" model="workflow.transition">
<field name="act_from" ref="act_except_picking"/>
@ -200,6 +200,7 @@
<record id="trans_invoice_end_done" model="workflow.transition">
<field name="act_from" ref="act_invoice_end"/>
<field name="act_to" ref="act_done"/>
<field name="condition">invoiced</field>
</record>
<!-- Procurement -->