Allow only deleting cancelled workflowed models
review317001
This commit is contained in:
1 parent
6e6fcda9d3
commit
76934fd20f
1 file changed
+14
-2
+14
-2
@@ -65,8 +65,10 @@ class Statement(Workflow, ModelSQL, ModelView):
|
||||
super(Statement, self).__init__()
|
||||
self._order[0] = ('id', 'DESC')
|
||||
self._error_messages.update({
|
||||
'wrong_end_balance': 'End Balance must be %s!',
|
||||
})
|
||||
'wrong_end_balance': 'End Balance must be %s!',
|
||||
'delete_cancel': 'Statement "%s" must be cancelled before ' \
|
||||
'deletion!',
|
||||
})
|
||||
self._transitions |= set((
|
||||
('draft', 'validated'),
|
||||
('validated', 'posted'),
|
||||
@@ -273,6 +275,16 @@ class Statement(Workflow, ModelSQL, ModelView):
|
||||
amount_to_pay - abs(line['amount'])
|
||||
return res
|
||||
|
||||
def delete(self, ids):
|
||||
if isinstance(ids, (int, long)):
|
||||
ids = [ids]
|
||||
# Cancel before delete
|
||||
self.cancel(ids)
|
||||
for statement in self.browse(ids):
|
||||
if statement.state != 'cancel':
|
||||
self.raise_user_error('delete_cancel', statement.rec_name)
|
||||
return super(Statement, self).delete(ids)
|
||||
|
||||
@ModelView.button
|
||||
@Workflow.transition('draft')
|
||||
def draft(self, ids):
|
||||
|
||||
Reference in new issue
Block a user