]> git.0d.be Git - panikdb.git/blobdiff - panikdb/aa/views.py
add a view to list members
[panikdb.git] / panikdb / aa / views.py
index 90d8513ea50d745b4a2c6f3b4947db32d7cbdf15..63683538be2c0abaaeff674a49175936cb786953 100644 (file)
@@ -1,6 +1,8 @@
 from django.contrib.auth.decorators import login_required
+from django.db.models import Q
 from django.views.generic.base import TemplateView
 from django.views.generic.edit import UpdateView
+from django.views.generic.list import ListView
 from django.core.urlresolvers import reverse_lazy
 
 from .models import User
@@ -23,3 +25,20 @@ class ProfileContactEditView(UpdateView):
 
 
 profile_contact_edit = login_required(ProfileContactEditView.as_view())
+
+
+class MembersListView(ListView):
+    paginate_by = 10
+
+    def get_queryset(self):
+        qs = User.objects.filter(is_active=True)
+        if self.request.GET.get('q'):
+            for part in self.request.GET.get('q').split():
+                part = part.strip()
+                if not part:
+                    continue
+                qs = qs.filter(Q(first_name__icontains=part) | Q(last_name__icontains=part))
+        return qs
+
+
+members_list_view = login_required(MembersListView.as_view())