Skip to Content
मेन्यू
This question has been flagged

Hello, 

I want raise a warning via a wizard in the create function and continue with the transaction when the proceed button is clicked.
What am I missing?


Here is my code which checks whether the overdraft account limit has been exceeded, raises a message/warning and allows a transaction to continue.


@api.model
def create(self, vals):
credit = 0
debit = 0
if "line_ids" in vals.keys():
for line in vals['line_ids']:
if line[2]['credit']:
account = self.env['account.account'].browse(line[2]['account_id'])
account_lines = self.env['account.move.line'].search([('account_id', '=', account.id)])
for lines in account_lines:
credit += lines.credit
debit += lines.debit
new_account_credit_limit = (credit + line[2]['credit'] - debit)
if account.account_credit_limit:
if new_account_credit_limit > account.account_credit_limit:
try:
wizrd_action_id = self.env.ref('overdraft_limit.view_warning_wizard_form')
msg = 'Making this transaction will exceed the Overdraft limit defined for " %s " account.' % account.name
raise RedirectWarning(msg, wizrd_action_id.id, _('Are sure you want to proceed?'), {'active_id': self.id, })
finally:
account.account_credit_limit = new_account_credit_limit
self.state = 'posted'

result = super(AccountMove, self).create(vals)
return result




Avatar
Discard
Related Posts Replies Views Activity
0
फ़र॰ 24
1759
1
फ़र॰ 24
4255
0
जुल॰ 23
2013
1
जून 23
3206
1
अप्रैल 23
128