summaryrefslogtreecommitdiff
path: root/archaeological_files/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_files/views.py')
-rw-r--r--archaeological_files/views.py11
1 files changed, 9 insertions, 2 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]