diff options
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 |
commit | 04bdc9d57ba7c2ece4c138c9dcb4072bb45a1608 (patch) | |
tree | ce7a3393b28403e6f053704ac6f8f0b9da028d07 /ishtar_common/lookups.py | |
parent | 30d147bff5a2202f4d752c11596fd7f3f8939dd4 (diff) | |
download | Ishtar-04bdc9d57ba7c2ece4c138c9dcb4072bb45a1608.tar.bz2 Ishtar-04bdc9d57ba7c2ece4c138c9dcb4072bb45a1608.zip |
Serialization - restore: manage history (or not)
Diffstat (limited to 'ishtar_common/lookups.py')
-rw-r--r-- | ishtar_common/lookups.py | 17 |
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 |