diff options
| -rw-r--r-- | archaeological_files/views.py | 11 | ||||
| -rw-r--r-- | archaeological_operations/views.py | 3 | 
2 files changed, 11 insertions, 3 deletions
| diff --git a/archaeological_files/views.py b/archaeological_files/views.py index 8498352cf..bd91c1040 100644 --- a/archaeological_files/views.py +++ b/archaeological_files/views.py @@ -17,7 +17,7 @@  # See the file COPYING for details. -import json +import json, re  from django.core.urlresolvers import reverse  from django.db.models import Q @@ -41,6 +41,8 @@ from forms import *  from archaeological_operations.views import generatedoc_administrativeactop +RE_YEAR_INDEX = re.compile(r"([1-2][0-9]{3})-([0-9]+)") # eg.: 2014-123 +  def autocomplete_file(request):      if not request.user.has_perm('ishtar_common.view_file', models.File) and \         not request.user.has_perm('ishtar_common.view_own_file', models.File) \ @@ -52,12 +54,17 @@ def autocomplete_file(request):      query = Q()      for q in q.split(' '):          extra = Q(internal_reference__icontains=q) | \ -                Q(towns__name__icontains=q) +                Q(towns__name__icontains=q) | \ +                Q(address__icontains=q)          try:              value = int(q)              extra = extra | Q(year=q) | Q(numeric_reference=q)          except ValueError:              pass +        m = RE_YEAR_INDEX.match(q) +        if m: +            yr, idx = m.groups() +            extra = extra | Q(year=yr, numeric_reference=idx)          query = query & extra      limit = 20      files = models.File.objects.filter(query)[:limit] diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py index 5e6385de7..182ae115e 100644 --- a/archaeological_operations/views.py +++ b/archaeological_operations/views.py @@ -49,7 +49,8 @@ def autocomplete_patriarche(request, non_closed=True):      if non_closed:          query = query & Q(end_date__isnull=True)      limit = 15 -    operations = models.Operation.objects.filter(query).order_by('code_patriarche')[:limit] +    operations = models.Operation.objects.filter(query +                                ).order_by('code_patriarche')[:limit]      data = json.dumps([{'id':operation.code_patriarche,                          'value':operation.code_patriarche}                           for operation in operations]) | 
