diff options
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 |