Pular para o conteúdo
Menu
Esta pergunta foi sinalizada
2257 Visualizações

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
Cancelar
Publicações relacionadas Respostas Visualizações Atividade
0
fev. 24
1918
1
fev. 24
4473
0
jul. 23
2208
1
jun. 23
3379
1
abr. 23
128