Change country field from text input to select field
This commit is contained in:
parent
0df185f301
commit
40b08339ae
|
@ -21,7 +21,7 @@ from django import forms
|
|||
from django.conf import settings
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
import re
|
||||
|
||||
import requests
|
||||
|
||||
class NrnField(forms.CharField):
|
||||
def validate(self, value):
|
||||
|
@ -89,7 +89,7 @@ class StreetField(forms.CharField):
|
|||
widget = StreetWidget
|
||||
|
||||
|
||||
class CountryWidget(forms.TextInput):
|
||||
class CountryWidget(forms.Select):
|
||||
class Media:
|
||||
css = {'all': ('xstatic/themes/smoothness/jquery-ui.css',)}
|
||||
js = ('xstatic/jquery-ui.js',
|
||||
|
@ -104,12 +104,13 @@ class CountryWidget(forms.TextInput):
|
|||
else:
|
||||
passerelle_url = settings.KNOWN_SERVICES['passerelle'].values()[0]['url']
|
||||
country_url = '%s/csvdatasource/pays/data' % passerelle_url
|
||||
attrs['data-autocomplete-url'] = country_url
|
||||
super(forms.TextInput, self).__init__(attrs=attrs)
|
||||
self.choices = [(x['id'], x['text']) for x in requests.get(country_url).json()['data']]
|
||||
super(forms.Select, self).__init__(attrs=attrs)
|
||||
|
||||
|
||||
class CountryField(forms.CharField):
|
||||
widget = CountryWidget
|
||||
choices = []
|
||||
|
||||
|
||||
class NumHouseField(forms.CharField):
|
||||
|
|
Loading…
Reference in New Issue