filter streets by verbose name (#6694)

This commit is contained in:
Serghei Mihai 2015-05-18 15:33:02 +02:00 committed by Frédéric Péters
parent b0fc33e094
commit 353bd65f68
1 changed files with 9 additions and 4 deletions

View File

@ -1,4 +1,5 @@
import requests
import unicodedata
from django.views.generic.detail import SingleObjectMixin, DetailView
from django.views.generic.edit import CreateView, UpdateView, DeleteView
@ -86,10 +87,7 @@ class VoiesView(View, SingleObjectMixin):
'VIAD': 'VIADUC',
'VOI': 'VOIE',
}
if 'q' in request.GET:
result = self.get_object().sig_request('commune/' + insee + '/voie/'+ request.GET['q'])
else:
result = self.get_object().sig_request('commune/' + insee + '/voie')
result = self.get_object().sig_request('commune/' + insee + '/voie')
voies = []
for i in result:
voie = i['attributes']['nom_voie']
@ -98,6 +96,13 @@ class VoiesView(View, SingleObjectMixin):
voie = (full + voie[len(prefix):]).strip()
voies.append({'id': i['attributes']['nom_voie'],
'text': voie})
if 'q' in request.GET and request.GET['q']:
q = request.GET['q'].upper()
q = q.replace("'", ' ')
q = unicodedata.normalize('NFKD', q).encode('ascii', 'ignore')
voies = [v for v in voies if q in v['text']]
voies.sort(lambda x, y: cmp(x['id'], y['id']))
return utils.response_for_json(request, {'data': voies})