summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_files/views.py11
-rw-r--r--archaeological_operations/views.py3
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])