summaryrefslogtreecommitdiff
path: root/talerbank/app
diff options
context:
space:
mode:
authorMarcello Stanisci <marcello.stanisci@inria.fr>2017-03-23 15:00:13 +0100
committerMarcello Stanisci <marcello.stanisci@inria.fr>2017-03-23 15:00:13 +0100
commit6f7b1f54caac1415c9dcf79fccab4fa6e8c2c53f (patch)
tree1ae5e2d866e13460401d80b16287ea16af8d03e8 /talerbank/app
parent11a7e1ec7db25f5658bd28d26b7f9641b21edf01 (diff)
downloadbank-6f7b1f54caac1415c9dcf79fccab4fa6e8c2c53f.tar.gz
bank-6f7b1f54caac1415c9dcf79fccab4fa6e8c2c53f.tar.bz2
bank-6f7b1f54caac1415c9dcf79fccab4fa6e8c2c53f.zip
Better creation of initial accounts, logging statements.
Diffstat (limited to 'talerbank/app')
-rw-r--r--talerbank/app/management/commands/provide_accounts.py13
-rw-r--r--talerbank/app/views.py22
2 files changed, 26 insertions, 9 deletions
diff --git a/talerbank/app/management/commands/provide_accounts.py b/talerbank/app/management/commands/provide_accounts.py
index 421f896..54d0206 100644
--- a/talerbank/app/management/commands/provide_accounts.py
+++ b/talerbank/app/management/commands/provide_accounts.py
@@ -40,8 +40,10 @@ def demo_accounts():
def ensure_account(name):
+ logger.info("ensuring account '{}'".format(name))
+ user = None
try:
- User.objects.get(username=name)
+ user = User.objects.get(username=name)
except (OperationalError, ProgrammingError):
logger.error("likely causes: non existent DB or unmigrated project\n"
"(try 'taler-bank-manage django migrate' in the latter case)",
@@ -49,13 +51,18 @@ def ensure_account(name):
exc_info=True)
sys.exit(1)
except User.DoesNotExist:
+ logger.info("Creating *user* account '{}'".format(name))
user = User.objects.create_user(username=name, password='')
+
+ try:
+ BankAccount.objects.get(user=user)
+
+ except BankAccount.DoesNotExist:
acc = BankAccount(user=user,
currency=settings.TALER_CURRENCY,
is_public=True)
acc.save()
- logger.info("Creating account '%s', with number %s", name, acc.account_no)
-
+ logger.info("Creating *bank* account number '{}' for user '{}'".format(acc.account_no, name))
def basic_accounts():
ensure_account("Bank")
diff --git a/talerbank/app/views.py b/talerbank/app/views.py
index dfc62d7..8618316 100644
--- a/talerbank/app/views.py
+++ b/talerbank/app/views.py
@@ -111,6 +111,7 @@ def profile_page(request):
just_registered=just_registered,
use_js=use_js,
)
+ logger.info("Profile context: '%s'", json.dumps(context))
if settings.TALER_SUGGESTED_EXCHANGE:
context["suggested_exchange"] = settings.TALER_SUGGESTED_EXCHANGE
@@ -259,11 +260,14 @@ def register(request):
return render(request, "register.html", dict(not_available=True))
with transaction.atomic():
user = User.objects.create_user(username=username, password=password)
+ logger.info("Registering user using '%s' currency", settings.TALER_CURRENCY)
user_account = BankAccount(user=user, currency=settings.TALER_CURRENCY)
user_account.save()
bank_internal_account = BankAccount.objects.get(account_no=1)
amount = dict(value=100, fraction=0, currency=settings.TALER_CURRENCY)
try:
+ logger.info("debit account: '%s', credit account: '%s'" % \
+ (bank_internal_account.user.username, user_account.user.username))
wire_transfer(amount, bank_internal_account, user_account, "Joining bonus")
except DebtLimitExceededException:
logger.info("Debt situation encountered")
@@ -397,22 +401,28 @@ def wire_transfer(amount,
subject=subject)
if debit_account.debit:
- debit_account.balance_obj = amounts.amount_add(debit_account.balance_obj, amount)
+ debit_account.balance_obj = amounts.amount_add(debit_account.balance_obj,
+ amount)
elif -1 == amounts.amount_cmp(debit_account.balance_obj, amount):
debit_account.debit = True
- debit_account.balance_obj = amounts.amount_sub(amount, debit_account.balance_obj)
+ debit_account.balance_obj = amounts.amount_sub(amount,
+ debit_account.balance_obj)
else:
- debit_account.balance_obj = amounts.amount_sub(debit_account.balance_obj, amount)
+ debit_account.balance_obj = amounts.amount_sub(debit_account.balance_obj,
+ amount)
if False == credit_account.debit:
- credit_account.balance_obj = amounts.amount_add(credit_account.balance_obj, amount)
+ credit_account.balance_obj = amounts.amount_add(credit_account.balance_obj,
+ amount)
elif 1 == amounts.amount_cmp(amount, credit_account.balance_obj):
credit_account.debit = False
- credit_account.balance_obj = amounts.amount_sub(amount, credit_account.balance_obj)
+ credit_account.balance_obj = amounts.amount_sub(amount,
+ credit_account.balance_obj)
else:
- credit_account.balance_obj = amounts.amount_sub(credit_account.balance_obj, amount)
+ credit_account.balance_obj = amounts.amount_sub(credit_account.balance_obj,
+ amount)
# Check here if any account went beyond the allowed
# debit threshold.