diff options
author | Florian Dold <florian.dold@gmail.com> | 2020-01-23 15:05:57 +0100 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2020-01-23 15:05:57 +0100 |
commit | a232ea168a55ef5a61aa3c724617f0c63b866970 (patch) | |
tree | c88d52c94e09e2c30af1f76ecaa016ac6f3587ef | |
parent | 2b9e3608fe308261936694d8571049a07d1777a0 (diff) | |
download | bank-a232ea168a55ef5a61aa3c724617f0c63b866970.tar.gz bank-a232ea168a55ef5a61aa3c724617f0c63b866970.tar.bz2 bank-a232ea168a55ef5a61aa3c724617f0c63b866970.zip |
allow free-form withdrawal amounts
-rw-r--r-- | talerbank/app/templates/profile_page.html | 18 | ||||
-rw-r--r-- | talerbank/app/views.py | 5 | ||||
-rw-r--r-- | talerbank/settings.py | 7 |
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 |