summaryrefslogtreecommitdiff
path: root/archaeological_operations/views.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2013-04-03 18:02:02 +0200
committerÉtienne Loks <etienne.loks@peacefrogs.net>2013-04-03 18:02:02 +0200
commitf6f70c2d270644a520c6f2f1bcf718839c5f489c (patch)
tree3b319bbd67c031a3710ad925b21b563e9b2aa7b3 /archaeological_operations/views.py
parentfd4df93e212477cd7bdaa8286f8081138673608e (diff)
downloadIshtar-f6f70c2d270644a520c6f2f1bcf718839c5f489c.tar.bz2
Ishtar-f6f70c2d270644a520c6f2f1bcf718839c5f489c.zip
OPE: search OPE by PATRIARCHE code (refs #430)
Diffstat (limited to 'archaeological_operations/views.py')
-rw-r--r--archaeological_operations/views.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py
index 9aa2222ba..96fd2efd2 100644
--- a/archaeological_operations/views.py
+++ b/archaeological_operations/views.py
@@ -30,6 +30,30 @@ from wizards import *
from forms import *
import models
+def autocomplete_patriarche(request, non_closed=True):
+ person_types = request.user.ishtaruser.person.person_type
+ if (not request.user.has_perm('ishtar_common.view_operation',
+ models.Operation)
+ and not request.user.has_perm('ishtar_common.view_own_operation',
+ models.Operation)
+ and not person_types.rights.filter(
+ wizard__url_name='operation_search').count()):
+ return HttpResponse(mimetype='text/plain')
+ if not request.GET.get('term'):
+ return HttpResponse(mimetype='text/plain')
+ q = request.GET.get('term')
+ query = Q()
+ for q in q.split(' '):
+ query = query & Q(code_patriarche__startswith=q)
+ if non_closed:
+ query = query & Q(end_date__isnull=True)
+ limit = 15
+ operations = models.Operation.objects.filter(query)[:limit]
+ data = json.dumps([{'id':operation.code_patriarche,
+ 'value':operation.code_patriarche}
+ for operation in operations])
+ return HttpResponse(data, mimetype='text/plain')
+
def autocomplete_operation(request, non_closed=True):
person_types = request.user.ishtaruser.person.person_type
if (not request.user.has_perm('ishtar_common.view_operation',