[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-bank] branch master updated: implement wire-transfer form
From: |
gnunet |
Subject: |
[taler-bank] branch master updated: implement wire-transfer form |
Date: |
Wed, 02 Jun 2021 17:31:57 +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 df1a91c implement wire-transfer form
df1a91c is described below
commit df1a91c06fffe37f9ba99963829b35cfdb874450
Author: ms <ms@taler.net>
AuthorDate: Wed Jun 2 17:31:48 2021 +0200
implement wire-transfer form
---
talerbank/app/templates/payto_wiretransfer.html | 1 -
talerbank/app/templates/profile_page.html | 2 +-
.../{payto_wiretransfer.html => wiretransfer.html} | 27 +++++++------
talerbank/app/urls.py | 1 +
talerbank/app/views.py | 44 ++++++++++++++++++++++
5 files changed, 62 insertions(+), 13 deletions(-)
diff --git a/talerbank/app/templates/payto_wiretransfer.html
b/talerbank/app/templates/payto_wiretransfer.html
index b435248..06a2fd5 100644
--- a/talerbank/app/templates/payto_wiretransfer.html
+++ b/talerbank/app/templates/payto_wiretransfer.html
@@ -59,7 +59,6 @@
type="submit"
value={{ _("Confirm") }} />
</form>
- <p><a href=" {{ url('profile') }}">Cancel</a></p>
</div>
</article>
</section>
diff --git a/talerbank/app/templates/profile_page.html
b/talerbank/app/templates/profile_page.html
index b62e4fb..0abecc4 100644
--- a/talerbank/app/templates/profile_page.html
+++ b/talerbank/app/templates/profile_page.html
@@ -75,7 +75,7 @@
</article>
<article>
<h2>{{ _("Transactions for") }} {{ name }}</h2>
- <p><a href={{ url('payto-form') }}>{{_("Transfer money manually")
}}</a></p>
+ <p><a href={{ url('wiretransfer-form') }}>{{_("Transfer money manually")
}}</a></p>
<div id="transactions-history">
{% if history %}
<table class="pure-table">
diff --git a/talerbank/app/templates/payto_wiretransfer.html
b/talerbank/app/templates/wiretransfer.html
similarity index 69%
copy from talerbank/app/templates/payto_wiretransfer.html
copy to talerbank/app/templates/wiretransfer.html
index b435248..0813d97 100644
--- a/talerbank/app/templates/payto_wiretransfer.html
+++ b/talerbank/app/templates/wiretransfer.html
@@ -43,23 +43,28 @@
<article>
<div>
<h2>{{ _("Wire transfer") }}</h2>
- <p>{{ _("Transfer money via the payto system:") }}
+ <p>{{ _("Transfer money to another account of this bank:") }}
<br>
<br>
- <tt style="font-size:
15px">payto://x-taler-bank/[bank-hostname]/[receiver-username]?message=[subject]&amount=[{{
currency }}:X.Y]</tt>
</p>
- <form action="{{ url('payto-transfer') }}"
+ <form action="{{ url('wiretransfer-form') }}"
method="POST"
- name="payto-form">
+ name="wire-transfer-form">
<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token
}}" />
- <input name="address"
- placeholder={{ _("payto address") }}
-
pattern="payto://x-taler-bank/[a-z\.]+(:[0-9]+)?/[0-9a-zA-Z]+\?message=[a-zA-Z0-9
]+&amount={{ currency }}:[0-9]+(\.[0-9]+)?" />
- <input class="pure-button pure-button-primary"
- type="submit"
- value={{ _("Confirm") }} />
+ <input name="receiver" placeholder={{ _("receiver") }} />
+ <br>
+ <br>
+ <input name="subject" placeholder={{ _("subject") }} />
+ <br>
+ <br>
+ <input name="amount"
+ placeholder={{ _("amount (CURRENCY:X.YY)") }}
+ pattern="{{ currency }}:[0-9]+(\.[0-9]+)?"/>
+ <br>
+ <br>
+ <input class="pure-button pure-button-primary" type="submit" value={{
_("Confirm") }} />
</form>
- <p><a href=" {{ url('profile') }}">Cancel</a></p>
+ <p><a href="{{ url('payto-form') }}">Want to try the raw
payto://-format?</a></p>
</div>
</article>
</section>
diff --git a/talerbank/app/urls.py b/talerbank/app/urls.py
index a27c6d5..9a41a13 100644
--- a/talerbank/app/urls.py
+++ b/talerbank/app/urls.py
@@ -117,6 +117,7 @@ urlpatterns += i18n_patterns(
path("register", views.register, name="register"),
path("profile", views.profile_page, name="profile"),
path("payto-form", views.payto_form, name="payto-form"),
+ path("wiretransfer-form", views.wiretransfer_form,
name="wiretransfer-form"),
path(
"login",
auth_views.LoginView.as_view(
diff --git a/talerbank/app/views.py b/talerbank/app/views.py
index c0f0303..6a9b3a2 100644
--- a/talerbank/app/views.py
+++ b/talerbank/app/views.py
@@ -294,6 +294,50 @@ class PaytoTransferForm(forms.Form):
address = forms.CharField()
+@login_required
+def wiretransfer_form(request):
+ if request.method == "GET":
+ is_success, hint = get_session_hint(request)
+ context = dict(
+ currency=request.user.bankaccount.balance.amount.currency,
+ is_success=is_success,
+ hint=hint,
+ )
+ return render(request, "wiretransfer.html", context)
+
+ # A payment was submitted.
+ try:
+ amount = Amount.parse(request.POST.get("amount"))
+ except Exception:
+ set_session_hint(request, success=False, hint="Wrong amount
specified.")
+ return redirect("wiretransfer-form")
+ try:
+ receiver_user = User.objects.get(username=request.POST.get("receiver"))
+ except User.DoesNotExist:
+ set_session_hint(request, success=False, hint="Money receiver was not
found")
+ return redirect("wiretransfer-form")
+
+ try:
+
+ wire_transfer(
+ amount,
+ request.user.bankaccount,
+ receiver_user.bankaccount,
+ request.POST.get("subject", "not given")
+ )
+ except Exception as exception:
+ hint = str(exception)
+ if hasattr(exception, "hint"):
+ hint = exception.hint
+ set_session_hint(request, success=False, hint=hint)
+ return redirect("wiretransfer-form")
+
+ set_session_hint(request, success=True, hint=gettext("Wire transfer
successful!"))
+ return redirect("profile")
+
+
+
+
@login_required
def payto_form(request):
is_success, hint = get_session_hint(request)
--
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: implement wire-transfer form,
gnunet <=