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  | 
