summaryrefslogtreecommitdiff
path: root/ishtar_common/lookups.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2019-09-10 12:18:11 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2019-09-10 12:18:11 +0200
commit37234e1423fb4ce64ceafe7bec90960b8da86793 (patch)
treece7a3393b28403e6f053704ac6f8f0b9da028d07 /ishtar_common/lookups.py
parentb39fe8bbbb3330087abf68f0ed7fad68c9ee60f0 (diff)
downloadIshtar-37234e1423fb4ce64ceafe7bec90960b8da86793.tar.bz2
Ishtar-37234e1423fb4ce64ceafe7bec90960b8da86793.zip
Serialization - restore: manage history (or not)
Diffstat (limited to 'ishtar_common/lookups.py')
-rw-r--r--ishtar_common/lookups.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/ishtar_common/lookups.py b/ishtar_common/lookups.py
index 495f69ddd..e2e9251e7 100644
--- a/ishtar_common/lookups.py
+++ b/ishtar_common/lookups.py
@@ -1,6 +1,7 @@
from ajax_select import register, LookupChannel as BaseLookupChannel
from django.conf import settings
+from django.contrib.auth.models import User
from django.db.models import Q
from ishtar_common import models
@@ -42,6 +43,22 @@ class TownLookup(LookupChannel):
return self.model.objects.filter(query).order_by('name')[:20]
+@register('user')
+class UserLookup(LookupChannel):
+ model = User
+
+ def get_query(self, q, request):
+ query = Q()
+ for term in q.strip().split(' '):
+ query &= (
+ Q(username__icontains=term) |
+ Q(first_name__icontains=term) |
+ Q(last_name__icontains=term) |
+ Q(email__icontains=term)
+ )
+ return self.model.objects.filter(query).order_by('username')[:20]
+
+
@register('organization')
class OrganizationLookup(LookupChannel):
model = models.Organization