[FIX] purchase: unlink PO

A PO must be in state cancel to be canceled.
Before the fix, it was possible to cancel a draft PO
then if a PO linked to a procurement was deleted with being
canceled, the procurement stayed in running state.

opw:666311
This commit is contained in:
Goffin Simon
2016-01-12 16:28:01 +01:00
parent b24d759036
commit 4142d6ed8e
2 changed files with 10 additions and 6 deletions
+1 -1
View File
@@ -182,7 +182,7 @@ class PurchaseOrder(models.Model):
@api.multi
def unlink(self):
for order in self:
if order.state not in ['draft', 'cancel']:
if not order.state == 'cancel':
raise UserError(_('In order to delete a purchase order, you must cancel it first.'))
return super(PurchaseOrder, self).unlink()
+9 -5
View File
@@ -13,15 +13,19 @@
self.unlink(cr, uid, [ref("purchase_order_1")])
except Exception,e:
pass
-
I delete a cancelled order.
-
!python {model: purchase.order}: |
from openerp.exceptions import UserError
try:
self.unlink(cr, uid, [ref("purchase_order_7")])
except UserError:
pass
-
I delete a draft order.
-
!python {model: purchase.order}: |
self.unlink(cr, uid, [ref("purchase_order_5")])
-
I delete a cancelled order.
-
!python {model: purchase.order}: |
self.unlink(cr, uid, [ref("purchase_order_7")])