[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [taler-bank] branch master updated: fixing #5889
From: |
gnunet |
Subject: |
[GNUnet-SVN] [taler-bank] branch master updated: fixing #5889 |
Date: |
Mon, 16 Sep 2019 21:14:06 +0200 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a commit to branch master
in repository bank.
The following commit(s) were added to refs/heads/master by this push:
new 4043cac fixing #5889
4043cac is described below
commit 4043cac59d8aac105663432a33a162f8546cb3f5
Author: Christian Grothoff <address@hidden>
AuthorDate: Mon Sep 16 21:14:03 2019 +0200
fixing #5889
---
talerbank/app/views.py | 30 ++++++++++++++++++++++++++++--
1 file changed, 28 insertions(+), 2 deletions(-)
diff --git a/talerbank/app/views.py b/talerbank/app/views.py
index 3762ddf..a5e7b26 100644
--- a/talerbank/app/views.py
+++ b/talerbank/app/views.py
@@ -803,8 +803,34 @@ def reject(request, user_account):
user_account.bankaccount.account_no:
raise RejectNoRightsException()
trans.cancelled = True
- trans.debit_account.amount.add(trans.amount)
- trans.credit_account.amount.subtract(trans.amount)
+ if trans.debit_account.debit:
+ # balance is negative
+ if 1 > Amount.cmp(trans.debit_account.amount, trans.amount):
+ # debit_account.amount <= trans.amount
+ trans.debit_account.debit = False
+ tmp = Amount(**trans.amount.dump())
+ tmp.subtract (trans.debit_account.amount)
+ trans.debit_account.amount.set (**tmp.dump())
+ else:
+ # debit_account > trans.amount
+ trans.debit_account.amount.subtract (trans.amount)
+ else:
+ # balance is positive, simply add
+ trans.debit_account.amount.add(trans.amount)
+ if trans.credit_account.debit:
+ # credit account balance is already negative
+ trans.credit_account.amount.add(trans.amount)
+ else:
+ if -1 == Amount.cmp(trans.credit_account.amount, trans.amount):
+ # credit_account.amount < trans.amount
+ trans.credit_account.debit = True
+ tmp = Amount(**trans.amount.dump())
+ tmp.subtract (trans.credit_account.amount)
+ trans.credit_account.amount.set (**tmp.dump())
+ else:
+ # credit_account.amount >= trans.amount
+ trans.credit_account.amount.subtract(trans.amount)
+
trans.save()
return HttpResponse(status=204)
--
To stop receiving notification emails like this one, please contact
address@hidden.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] [taler-bank] branch master updated: fixing #5889,
gnunet <=