[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [taler-bank] branch master updated: autocompleting input fi
From: |
gnunet |
Subject: |
[GNUnet-SVN] [taler-bank] branch master updated: autocompleting input field |
Date: |
Tue, 19 Dec 2017 13:45:11 +0100 |
This is an automated email from the git hooks/post-receive script.
marcello pushed a commit to branch master
in repository bank.
The following commit(s) were added to refs/heads/master by this push:
new ecb3a19 autocompleting input field
ecb3a19 is described below
commit ecb3a1980b3e2363698a1060919158b1106cfdf6
Author: Marcello Stanisci <address@hidden>
AuthorDate: Tue Dec 19 13:44:31 2017 +0100
autocompleting input field
---
talerbank/app/views.py | 31 +++++++++++++++++++++++++++----
1 file changed, 27 insertions(+), 4 deletions(-)
diff --git a/talerbank/app/views.py b/talerbank/app/views.py
index c8c6ccb..7ad8f45 100644
--- a/talerbank/app/views.py
+++ b/talerbank/app/views.py
@@ -94,7 +94,7 @@ def get_session_flag(request, name):
return False
-def predefined_accounts_dropdown():
+def predefined_accounts_list():
account = 2
ret = []
for i in settings.TALER_PREDEFINED_ACCOUNTS[1:]:
@@ -102,13 +102,33 @@ def predefined_accounts_dropdown():
account += 1
return ret
+# Thanks to [1]
+class InputDatalist(forms.TextInput):
+
+ def __init__(self, datalist, name, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+ self._name = name
+ self._datalist = datalist()
+ self.attrs.update(
+ {"list": "%slist" % name,
+ "pattern": "[1-9]+"})
+
+ def render(self, name, value, attrs=None):
+ html = super().render(name, value, attrs=attrs)
+ datalist = '<datalist id="%slist">' % self._name
+ for value, text in self._datalist:
+ datalist += '<option value="%s">%s</option>' \
+ % (value, text)
+ datalist += "</datalist>"
+ return html + datalist
+
+
class WTForm(forms.Form):
'''Form used to wire transfer money internally in the bank.'''
amount = forms.FloatField(min_value=0.1,
widget=forms.NumberInput(attrs={"class": "currency-input"}))
- receiver = forms.TypedChoiceField(
- choices=predefined_accounts_dropdown,
- coerce=int)
+ receiver = forms.IntegerField(min_value=1,
+ widget=InputDatalist(predefined_accounts_list, "receiver"))
subject = forms.CharField()
# Check if user's logged in. Check if he/she has withdrawn or
@@ -734,3 +754,6 @@ def wire_transfer(amount,
{"error": "sender account == receiver account",
"ec": settings.TALER_EC_BANK_TRANSFER_SAME_ACCOUNT},
status=422))
+
+
+# [1]
https://stackoverflow.com/questions/24783275/django-form-with-choices-but-also-with-freetext-option
--
To stop receiving notification emails like this one, please contact
address@hidden
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] [taler-bank] branch master updated: autocompleting input field,
gnunet <=