summaryrefslogtreecommitdiff
path: root/ishtar_common/views.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-10-17 17:33:30 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-10-24 12:06:09 +0200
commite98b1dc6156eda6261e158f02868d9f8d51b2913 (patch)
treec8c33449dc1ad25f195839068fa1fdd6125931ec /ishtar_common/views.py
parent359a43054add412d143d66b5e41cf1d2058fd4fe (diff)
downloadIshtar-e98b1dc6156eda6261e158f02868d9f8d51b2913.tar.bz2
Ishtar-e98b1dc6156eda6261e158f02868d9f8d51b2913.zip
Find: search last modified and modified by
Diffstat (limited to 'ishtar_common/views.py')
-rw-r--r--ishtar_common/views.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/ishtar_common/views.py b/ishtar_common/views.py
index 55b5fce1e..e4b55cae2 100644
--- a/ishtar_common/views.py
+++ b/ishtar_common/views.py
@@ -485,6 +485,30 @@ def autocomplete_person_permissive(request, person_types=None,
is_ishtar_user=is_ishtar_user, permissive=True)
+def autocomplete_user(request):
+ if not request.user.has_perm('ishtar_common.view_person', models.Person):
+ return HttpResponse('[]', content_type='text/plain')
+ q = request.GET.get('term')
+ limit = request.GET.get('limit', 20)
+ try:
+ limit = int(limit)
+ except ValueError:
+ return HttpResponseBadRequest()
+ query = Q()
+ for q in q.split(' '):
+ qu = (Q(ishtaruser__person__name__icontains=q) |
+ Q(ishtaruser__person__surname__icontains=q) |
+ Q(first_name__icontains=q) |
+ Q(last_name__icontains=q))
+ query = query & qu
+ users = models.User.objects.filter(query)[:limit]
+ data = json.dumps([
+ {'id': user.pk,
+ 'value': unicode(user.ishtaruser)}
+ for user in users if user and user.ishtaruser])
+ return HttpResponse(data, content_type='text/plain')
+
+
def autocomplete_person(request, person_types=None, attached_to=None,
is_ishtar_user=None, permissive=False):
all_items = request.user.has_perm('ishtar_common.view_person',