[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-bank] branch master updated: Separating HTML/JSON handlers.
From: |
gnunet |
Subject: |
[taler-bank] branch master updated: Separating HTML/JSON handlers. |
Date: |
Thu, 01 Oct 2020 17:42:47 +0200 |
This is an automated email from the git hooks/post-receive script.
ms pushed a commit to branch master
in repository bank.
The following commit(s) were added to refs/heads/master by this push:
new 26a0dc0 Separating HTML/JSON handlers.
26a0dc0 is described below
commit 26a0dc073d9ca2a3b05a20db3fe93990deb1dc35
Author: MS <ms@taler.net>
AuthorDate: Thu Oct 1 17:42:27 2020 +0200
Separating HTML/JSON handlers.
---
talerbank/app/templates/profile_page.html | 21 +++++------
talerbank/app/templates/public_accounts.html | 21 +++++------
talerbank/app/templates/withdraw_confirm.html | 4 +--
talerbank/app/urls.py | 1 +
talerbank/app/views.py | 50 ++++++++++++++++-----------
5 files changed, 49 insertions(+), 48 deletions(-)
diff --git a/talerbank/app/templates/profile_page.html
b/talerbank/app/templates/profile_page.html
index d43b16b..cdedc7e 100644
--- a/talerbank/app/templates/profile_page.html
+++ b/talerbank/app/templates/profile_page.html
@@ -30,20 +30,15 @@
</section>
<section id="main">
<article>
- {% if fail_message %}
- <div class="notification">
- <p class="informational informational-fail">
- {{ hint }}
- </p>
- </div>
+ <div class="notification">
+ {% if not is_success %}
+ <p class="informational informational-fail">
+ {% else%}
+ <p class="informational informational-ok">
{% endif %}
- {% if success_message %}
- <div class="notification">
- <p class="informational informational-ok">
- {{ hint }}
- </p>
- </div>
- {% endif %}
+ {{ hint }}
+ </p>
+ </div>
</article>
<article>
<div>
diff --git a/talerbank/app/templates/public_accounts.html
b/talerbank/app/templates/public_accounts.html
index a2110fb..61b0c23 100644
--- a/talerbank/app/templates/public_accounts.html
+++ b/talerbank/app/templates/public_accounts.html
@@ -25,20 +25,15 @@
<a href="{{ url('index') }}">Back</a>
<section id="main">
<article>
- {% if fail_message %}
- <div class="notification">
- <p class="informational informational-fail">
- {{ hint }}
- </p>
- </div>
+ <div class="notification">
+ {% if not is_success %}
+ <p class="informational informational-fail">
+ {% else %}
+ <p class="informational informational-ok">
{% endif %}
- {% if success_message %}
- <div class="notification">
- <p class="informational informational-ok">
- {{ hint }}
- </p>
- </div>
- {% endif %}
+ {{ hint }}
+ </p>
+ </div>
<div name="accountMenu" class="pure-menu pure-menu-horizontal">
<ul class="pure-menu-list">
{% for account in public_accounts %}
diff --git a/talerbank/app/templates/withdraw_confirm.html
b/talerbank/app/templates/withdraw_confirm.html
index d4ffcfe..8c81484 100644
--- a/talerbank/app/templates/withdraw_confirm.html
+++ b/talerbank/app/templates/withdraw_confirm.html
@@ -24,7 +24,7 @@
{% endblock %}
{% block content %}
- {% if fail_message %}
+ {% if not is_success %}
<p class="informational informational-fail">
{{ hint }}
</p>
@@ -38,7 +38,7 @@
<p>
What is {{ question }} ?
</p>
- <form method="post" action="{{ url('access-api-withdrawal-abort',
acct_id=account_id, wid=withdraw_id) }}" class="pure-form">
+ <form method="post" action="{{ url('abort-withdrawal',
withdraw_id=withdraw_id) }}" class="pure-form">
<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}" />
<input type="submit" value="Abort" class="pure-button pure-button-primary"
/>
</form>
diff --git a/talerbank/app/urls.py b/talerbank/app/urls.py
index 42dc239..1994542 100644
--- a/talerbank/app/urls.py
+++ b/talerbank/app/urls.py
@@ -102,6 +102,7 @@ urlpatterns = [
views.api_config,
name="api-config",
),
+ path("abort-withdrawal/<str:withdraw_id>", views.abort_withdrawal,
name="abort-withdrawal"),
path("start-withdrawal", views.start_withdrawal, name="start-withdrawal"),
path(
"show-withdrawal/<str:withdraw_id>", views.show_withdrawal,
name="withdraw-show"
diff --git a/talerbank/app/views.py b/talerbank/app/views.py
index 69f610f..937f61f 100644
--- a/talerbank/app/views.py
+++ b/talerbank/app/views.py
@@ -206,21 +206,20 @@ def get_session_hint(request, hintId):
ret = request.session[hintId]
del request.session[hintId]
return ret
+ return False, None
- return False, False, None
-
-def set_profile_hint(request, *, success, failure, hint):
+def set_profile_hint(request, *, success, hint):
set_session_hint(
- request, "profile_hint", success=success, failure=failure, hint=hint
+ request, "profile_hint", success=success, hint=hint
)
-def set_session_hint(request, hintId, *, success, failure, hint):
+def set_session_hint(request, hintId, *, success, hint):
if hintId in request.session:
LOGGER.warning(f"Overriding a non consumed hint: {hintId}")
del request.session[hintId]
- request.session[hintId] = success, failure, hint
+ request.session[hintId] = success, hint
##
@@ -327,18 +326,17 @@ def profile_page(request):
)
set_profile_hint(
- request, failure=False, success=True, hint="Wire transfer
successful!"
+ request, success=True, hint="Wire transfer successful!"
)
return redirect("profile")
wtf = WTForm()
- is_success, is_failure, hint = get_session_hint(request, "profile_hint")
+ is_success, hint = get_session_hint(request, "profile_hint")
context = dict(
name=request.user.username,
balance=request.user.bankaccount.balance,
- fail_message=is_failure,
- success_message=is_success,
+ is_success=is_success,
hint=hint,
precision=settings.TALER_DIGITS,
currency=request.user.bankaccount.balance.amount.currency,
@@ -506,7 +504,7 @@ def register(request):
)
set_profile_hint(
- request, success=True, failure=False, hint="Registration successful!"
+ request, success=True, hint="Registration successful!"
)
django.contrib.auth.login(request, user)
@@ -1225,7 +1223,7 @@ def confirm_withdrawal(request, withdraw_id):
)
set_profile_hint(
- request, success=True, failure=False, hint="Withdrawal successful!"
+ request, success=True, hint="Withdrawal successful!"
)
request.session["just_withdrawn"] = True
@@ -1397,6 +1395,22 @@ def bank_accounts_api_get_withdrawal(request, user,
acct_id, wid):
}
)
+def withdraw_abort_internal(wid):
+ op = TalerWithdrawOperation.objects.get(withdraw_id=wid)
+ if op.confirmation_done:
+ return dict(status=409, hint="can't abort confirmed withdrawal")
+ op.aborted = True
+ op.save()
+ return dict(status=200)
+
+
+@require_POST
+@login_required
+def abort_withdrawal(request, user, wid):
+ internal_status = withdraw_abort_internal(wid)
+ set_profile_hint(request, success=internal_status["status"] == 200,
hint=internal_status["hint"])
+ return redirect("profile")
+
@csrf_exempt
@require_POST
@@ -1408,14 +1422,10 @@ def bank_accounts_api_abort_withdrawal(request, user,
acct_id, wid):
raise Exception(
f"credentials do not match URL ('{acct_id}' vs
'{user_account.username}')"
)
- op = TalerWithdrawOperation.objects.get(withdraw_id=wid)
-
- if op.confirmation_done:
- return JsonResponse(dict(hint="can't abort confirmed withdrawal"),
status=409)
- op.aborted = True
- op.save()
- return JsonResponse(dict(), status=200)
-
+ internal_status = withdraw_abort_internal(wid)
+ return JsonResponse(
+ dict(hint=internal_status["hint"]), status=internal_status["status"]
+ )
@csrf_exempt
@require_POST
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-bank] branch master updated: Separating HTML/JSON handlers.,
gnunet <=