summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2020-01-23 15:05:57 +0100
committerFlorian Dold <florian.dold@gmail.com>2020-01-23 15:05:57 +0100
commita232ea168a55ef5a61aa3c724617f0c63b866970 (patch)
treec88d52c94e09e2c30af1f76ecaa016ac6f3587ef
parent2b9e3608fe308261936694d8571049a07d1777a0 (diff)
downloadbank-a232ea168a55ef5a61aa3c724617f0c63b866970.tar.gz
bank-a232ea168a55ef5a61aa3c724617f0c63b866970.tar.bz2
bank-a232ea168a55ef5a61aa3c724617f0c63b866970.zip
allow free-form withdrawal amounts
-rw-r--r--talerbank/app/templates/profile_page.html18
-rw-r--r--talerbank/app/views.py5
-rw-r--r--talerbank/settings.py7
3 files changed, 21 insertions, 9 deletions
diff --git a/talerbank/app/templates/profile_page.html b/talerbank/app/templates/profile_page.html
index cea85ce..d43b16b 100644
--- a/talerbank/app/templates/profile_page.html
+++ b/talerbank/app/templates/profile_page.html
@@ -56,13 +56,17 @@
name="tform">
<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}" />
Amount to withdraw:
- <select id="reserve-amount" name="kudos_amount" class="amount" autofocus>
- <option value="{{ currency }}:5.00">5.00</option>
- <option value="{{ currency }}:10.00">10.00</option>
- <option value="{{ currency }}:15.00">15.00</option>
- <option value="{{ currency }}:20.00">20.00</option>
- </select><!--
- --><input type="text" readonly class="currency-indicator" size="{{ currency|length }}" tabindex="-1" value="{{ currency }}">
+ {% if settings_value("SHOW_FREEFORM_WITHDRAWAL") %}
+ <input type="number" name="withdraw-amount" class="amount" />
+ {%- else -%}
+ <select id="reserve-amount" name="withdraw-amount" class="amount" autofocus>
+ <option value="5.00">5.00</option>
+ <option value="10.00">10.00</option>
+ <option value="15.00">15.00</option>
+ <option value="20.00">20.00</option>
+ </select>
+ {%- endif -%}
+ <input type="text" readonly class="currency-indicator" size="{{ currency|length }}" tabindex="-1" value="{{ currency }}">
<input id="select-exchange"
class="pure-button pure-button-primary"
diff --git a/talerbank/app/views.py b/talerbank/app/views.py
index 35a503d..16a4b06 100644
--- a/talerbank/app/views.py
+++ b/talerbank/app/views.py
@@ -968,7 +968,7 @@ def withdraw_headless(request, user):
exchange_payto = data.get("exchange_payto_uri")
if not exchange_payto:
- return JsonResponse(dict(hint="exchange_payto_uri missig")
+ return JsonResponse(dict(hint="exchange_payto_uri missig"))
exchange_accno = get_acct_from_payto(exchange_payto)
try:
@@ -1059,7 +1059,8 @@ def start_withdrawal(request):
the withdrawal protocol
"""
user_account = BankAccount.objects.get(user=request.user)
- amount = Amount.parse(request.POST.get("kudos_amount", "not-given"))
+ amount_num_str = request.POST.get("withdraw-amount")
+ amount = Amount.parse(f"{settings.TALER_CURRENCY}:{amount_num_str}")
withdraw_amount = SignedAmount(True, amount)
debt_threshold = SignedAmount.parse(settings.TALER_MAX_DEBT)
user_balance = user_account.balance
diff --git a/talerbank/settings.py b/talerbank/settings.py
index 8e4c104..ba880e3 100644
--- a/talerbank/settings.py
+++ b/talerbank/settings.py
@@ -215,3 +215,10 @@ if _allow_reg.lower() == "yes":
ALLOW_REGISTRATIONS = True
else:
ALLOW_REGISTRATIONS = False
+
+
+_show_freeform_withdrawal = TC.value_string("bank", "SHOW_FREEFORM_WITHDRAWAL", default="no")
+if _show_freeform_withdrawal.lower() == "yes":
+ SHOW_FREEFORM_WITHDRAWAL = True
+else:
+ SHOW_FREEFORM_WITHDRAWAL = False