gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [taler-bank] 02/02: UI fixes due to #5222.


From: gnunet
Subject: [GNUnet-SVN] [taler-bank] 02/02: UI fixes due to #5222.
Date: Sat, 23 Dec 2017 11:08:19 +0100

This is an automated email from the git hooks/post-receive script.

marcello pushed a commit to branch master
in repository bank.

commit cb0ec0ada59f71a4327a13e9775fcb3814e53247
Author: Marcello Stanisci <address@hidden>
AuthorDate: Sat Dec 23 11:07:25 2017 +0100

    UI fixes due to #5222.
---
 talerbank/app/templates/login.html    |  9 +++---
 talerbank/app/templates/pin_tan.html  |  4 +--
 talerbank/app/templates/register.html |  1 +
 talerbank/app/tests.py                |  2 +-
 talerbank/app/views.py                | 53 ++++++++++++++++++++++++-----------
 5 files changed, 44 insertions(+), 25 deletions(-)

diff --git a/talerbank/app/templates/login.html 
b/talerbank/app/templates/login.html
index 5a45aad..40a5a5b 100644
--- a/talerbank/app/templates/login.html
+++ b/talerbank/app/templates/login.html
@@ -27,15 +27,14 @@
     <article>
       <div class="login-form">
         <h2>Please login!</h2>
-        {% if form.errors %}
+        {% if fail_message %}
         <p class="informational informational-fail">
-          Your username and password didn't match. Please try again.
+          {{ hint }}
         </p>
         {% endif %}
-
-        {% if just_logged_out %}
+        {% if success_message %}
         <p class="informational informational-ok">
-          You were logged out successfully.
+          {{ hint }}
         </p>
         {% endif %}
 
diff --git a/talerbank/app/templates/pin_tan.html 
b/talerbank/app/templates/pin_tan.html
index f8f8188..de836c0 100644
--- a/talerbank/app/templates/pin_tan.html
+++ b/talerbank/app/templates/pin_tan.html
@@ -24,9 +24,9 @@
 {% endblock %}
 
 {% block content %}
-  {% if previous_failed %}
+  {% if fail_message %}
   <p class="informational informational-fail">
-    The captcha wasn't solved correctly.  Please try again.
+    {{ hint }}
   </p>
   {% endif %}
   <p>
diff --git a/talerbank/app/templates/register.html 
b/talerbank/app/templates/register.html
index b7423e7..f01b5d9 100644
--- a/talerbank/app/templates/register.html
+++ b/talerbank/app/templates/register.html
@@ -29,6 +29,7 @@
     <article>
       <a href="{{ url('index') }}">Back</a>
       <div class="notification">
+        <!-- To be flag-ified -->
         {% if wrong %}
           <p class="informational informational-fail">
           Some fields were either not filled or filled incorrectly.
diff --git a/talerbank/app/tests.py b/talerbank/app/tests.py
index 442888a..a7d68f3 100644
--- a/talerbank/app/tests.py
+++ b/talerbank/app/tests.py
@@ -138,7 +138,7 @@ class InternalWireTransferTestCase(TestCase):
             Amount(settings.TALER_CURRENCY, 3),
             take_money.amount),
                          msg=self.take_money.amount.stringify(2))
-        self.assertEqual(200, response.status_code)
+        self.assertEqual(302, response.status_code)
 
 
 class RegisterTestCase(TestCase):
diff --git a/talerbank/app/views.py b/talerbank/app/views.py
index 7f6093d..52e49ca 100644
--- a/talerbank/app/views.py
+++ b/talerbank/app/views.py
@@ -77,24 +77,37 @@ def ignore(request):
     return HttpResponse()
 
 def login_view(request):
-    just_logged_out = get_session_flag(request, "just_logged_out")
+    fail_message, success_message, hint = get_session_hint(request, 
"login_hint")
     response = django.contrib.auth.views.login(
         request,
         authentication_form=MyAuthenticationForm,
         template_name="login.html",
         extra_context={"user": request.user})
     if hasattr(response, "context_data"):
-        response.context_data["just_logged_out"] = just_logged_out
+        response.context_data["fail_message"] = fail_message
+        response.context_data["success_message"] = success_message
+        response.context_data["hint"] = hint
     return response
 
 def get_session_flag(request, name):
+  """
+  Get a flag from the session and clear it.
+  """
+  if name in request.session:
+      ret = request.session[name]
+      del request.session[name]
+      return ret
+  return False
+
+def get_session_hint(request, name):
     """
-    Get a flag from the session and clear it.
+    Get a hint from the session and clear it.
     """
     if name in request.session:
         ret = request.session[name]
         del request.session[name]
         return ret
+    # Fail message, success message, hint.
     return False, False, None
 
 
@@ -140,7 +153,6 @@ class WTForm(forms.Form):
 
 @login_required
 def profile_page(request):
-    info_bar = None
     if request.method == "POST":
         wtf = WTForm(request.POST)
         if wtf.is_valid():
@@ -151,8 +163,10 @@ def profile_page(request):
                 BankAccount.objects.get(user=request.user),
                 
BankAccount.objects.get(account_no=wtf.cleaned_data.get("receiver")),
                 wtf.cleaned_data.get("subject"))
+            request.session["profile_hint"] = False, True, "Wire transfer 
successful!"
+            return redirect("profile")
     wtf = WTForm()
-    fail_message, success_message, hint = get_session_flag(request, 
"profile_hint")
+    fail_message, success_message, hint = get_session_hint(request, 
"profile_hint")
     context = dict(
         name=request.user.username,
         balance=request.user.bankaccount.amount.stringify(
@@ -215,19 +229,20 @@ def pin_tan_question(request):
                     int(request.GET["amount_fraction"]))
     request.session["amount"] = amount.dump()
     request.session["reserve_pub"] = request.GET["reserve_pub"]
-    request.session["sender_wiredetails"] = dict(
-        type="test",
-        bank_uri=request.build_absolute_uri(reverse("index")),
-        account_number=user_account.account_no
-    )
-    previous_failed = get_session_flag(request, "captcha_failed")
+    request.session["sender_wiredetails"] = {
+        "type": "test",
+        "bank_uri": request.build_absolute_uri(reverse("index")),
+        "account_number": user_account.account_no}
+    fail_message, success_message, hint = get_session_hint(request, 
"captcha_failed")
     question, hashed_answer = make_question()
     context = dict(
         question=question,
         hashed_answer=hashed_answer,
         amount=amount.stringify(settings.TALER_DIGITS),
-        previous_failed=previous_failed,
-        exchange=request.GET["exchange"])
+        exchange=request.GET["exchange"],
+        fail_message=fail_message,
+        success_message=success_message,
+        hint=hint)
     return render(request, "pin_tan.html", context)
 
 
@@ -240,7 +255,7 @@ def pin_tan_verify(request):
         LOGGER.warning("Wrong CAPTCHA answer: %s vs %s",
                        type(hashed_attempt),
                        type(request.POST.get("pin_1")))
-        request.session["captcha_failed"] = True
+        request.session["captcha_failed"] = True, False, "Wrong CAPTCHA 
answer."
         return redirect(request.POST.get("question_url", "profile"))
     # Check the session is a "pin tan" one
     validate_data(request, request.session)
@@ -269,12 +284,16 @@ def register(request):
     form = UserReg(request.POST)
     if not form.is_valid():
         return render(request, "register.html",
-                      dict(wrong_field=True))
+                      {"fail_message": True,
+                       "success_message": False,
+                       "hint": "Wrong field(s): %s." % ", 
".join(form.errors.keys())})
     username = form.cleaned_data["username"]
     password = form.cleaned_data["password"]
     if User.objects.filter(username=username).exists():
         return render(request, "register.html",
-                      dict(not_available=True))
+                      {"fail_message": True,
+                       "success_message": False,
+                       "hint": "Username not available."})
     with transaction.atomic():
         user = User.objects.create_user(
             username=username,
@@ -298,7 +317,7 @@ def logout_view(request):
     Log out the user and redirect to index page.
     """
     django.contrib.auth.logout(request)
-    request.session["just_logged_out"] = True
+    request.session["login_hint"] = False, True, "Logged out!"
     return redirect("index")
 
 

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]