diff options
| 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 | 
| commit | f6f70c2d270644a520c6f2f1bcf718839c5f489c (patch) | |
| tree | 3b319bbd67c031a3710ad925b21b563e9b2aa7b3 /archaeological_operations/views.py | |
| parent | fd4df93e212477cd7bdaa8286f8081138673608e (diff) | |
| download | Ishtar-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.py | 24 | 
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', | 
