diff options
Diffstat (limited to 'ishtar/furnitures/views.py')
-rw-r--r-- | ishtar/furnitures/views.py | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/ishtar/furnitures/views.py b/ishtar/furnitures/views.py index ab0a64560..5a2ba12e4 100644 --- a/ishtar/furnitures/views.py +++ b/ishtar/furnitures/views.py @@ -32,8 +32,8 @@ from django.core import serializers from ishtar import settings from menus import menu -from forms import file_creation_wizard, file_modification_wizard,\ - operation_creation_wizard +from forms import file_creation_wizard, file_modification_wizard, \ + operation_creation_wizard, operation_modification_wizard import models def index(request): @@ -122,6 +122,25 @@ def autocomplete_file(request): for file in files]) return HttpResponse(data, mimetype='text/plain') +def autocomplete_operation(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(towns__name__icontains=q) + try: + value = int(q) + extra = extra | Q(year=q) | Q(operation_code=q) + except ValueError: + pass + query = query & extra + limit = 15 + operations = models.Operation.objects.filter(query)[:limit] + data = json.dumps([{'id':operation.pk, 'value':unicode(operation)} + for operation in operations]) + return HttpResponse(data, mimetype='text/plain') + def autocomplete_organization(request): if not request.GET.get('term'): return HttpResponse(mimetype='text/plain') @@ -161,3 +180,6 @@ def file_modification(request, dct, obj_id, *args, **kwargs): def operation_creation(request, dct, obj_id, *args, **kwargs): return operation_creation_wizard(request, *args, **kwargs) + +def operation_modification(request, dct, obj_id, *args, **kwargs): + return operation_modification_wizard(request, *args, **kwargs) |