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.py26
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)