summaryrefslogtreecommitdiff
path: root/ishtar/furnitures/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar/furnitures/views.py')
-rw-r--r--ishtar/furnitures/views.py43
1 files changed, 39 insertions, 4 deletions
diff --git a/ishtar/furnitures/views.py b/ishtar/furnitures/views.py
index 995eafea9..bee8a305e 100644
--- a/ishtar/furnitures/views.py
+++ b/ishtar/furnitures/views.py
@@ -31,7 +31,7 @@ from django.core import serializers
from ishtar import settings
from menus import menu
-from forms import Step, FileForm1, FileForm2, FileWizard
+from forms import Step, FileForm1, FileForm2, FileForm3, FileWizard
import models
def index(request):
@@ -60,13 +60,46 @@ def autocomplete_person(request):
return HttpResponseBadRequest()
query = Q()
for q in q.split(' '):
- query = query | Q(name__istartswith=q) | Q(surname__istartswith=q) | \
- Q(email__icontains=q)
+ query = query & (Q(name__istartswith=q) | Q(surname__istartswith=q) | \
+ Q(email__icontains=q))
+ limit = 15
persons = models.Person.objects.filter(query)[:limit]
data = json.dumps([{'id':person.pk, 'value':unicode(person)}
for person in persons])
return HttpResponse(data, mimetype='text/plain')
+def autocomplete_town(request):
+ if not request.GET.get('term'):
+ return HttpResponse(mimetype='text/plain')
+ q = request.GET.get('term')
+ query = Q()
+ for q in q.split(' '):
+ extra = Q(name__icontains=q)
+ if settings.COUNTRY == 'fr':
+ extra = extra | (Q(canton__name__istartswith=q) | \
+ Q(canton__arrondissement__name__istartswith=q) | \
+ Q(canton__arrondissement__department__label__istartswith=q))
+ query = query & extra
+ limit = 15
+ towns = models.Town.objects.filter(query)[:limit]
+ data = json.dumps([{'id':town.pk, 'value':unicode(town)}
+ for town in towns])
+ return HttpResponse(data, mimetype='text/plain')
+
+def autocomplete_organization(request):
+ if not request.GET.get('term'):
+ return HttpResponse(mimetype='text/plain')
+ q = request.GET.get('term')
+ query = Q()
+ for q in q.split(' '):
+ extra = Q(name__icontains=q)
+ query = query & extra
+ limit = 15
+ organizations = models.Organization.objects.filter(query)[:limit]
+ data = json.dumps([{'id':org.pk, 'value':unicode(org)}
+ for org in organizations])
+ return HttpResponse(data, mimetype='text/plain')
+
def action(request, action_slug, obj_id=None, *args, **kwargs):
"""
Action management
@@ -100,7 +133,9 @@ def action(request, action_slug, obj_id=None, *args, **kwargs):
file_creation_wizard = FileWizard([
Step('general', _(u"General"), FileForm1),
- Step('localisation', _(u"Localisation"), FileForm2)])
+ Step('localisation', _(u"Localisation"), FileForm2),
+ Step('preventive', _(u"Preventive informations"), FileForm3)])
+
def file_creation(request, dct, obj_id, *args, **kwargs):
return file_creation_wizard(request, *args, **kwargs)