diff options
Diffstat (limited to 'ishtar/furnitures/views.py')
| -rw-r--r-- | ishtar/furnitures/views.py | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/ishtar/furnitures/views.py b/ishtar/furnitures/views.py index 832089ea8..dcf0f28d9 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 file_creation_wizard +from forms import file_creation_wizard, file_modification_wizard import models def index(request): @@ -86,6 +86,26 @@ def autocomplete_town(request): for town in towns]) return HttpResponse(data, mimetype='text/plain') +def autocomplete_file(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(internal_reference__icontains=q) | \ + Q(towns__name__icontains=q) + try: + value = int(q) + extra = extra | Q(year=q) | Q(numeric_reference=q) + except ValueError: + pass + query = query & extra + limit = 15 + files = models.File.objects.filter(query)[:limit] + data = json.dumps([{'id':file.pk, 'value':unicode(file)} + for file in files]) + return HttpResponse(data, mimetype='text/plain') + def autocomplete_organization(request): if not request.GET.get('term'): return HttpResponse(mimetype='text/plain') @@ -120,3 +140,6 @@ def action(request, action_slug, obj_id=None, *args, **kwargs): def file_creation(request, dct, obj_id, *args, **kwargs): return file_creation_wizard(request, *args, **kwargs) +def file_modification(request, dct, obj_id, *args, **kwargs): + return file_modification_wizard(request, *args, **kwargs) + |
