fixes #96 you can now view users or members when clicking the tabs

This commit is contained in:
Oliver Marks 2017-04-22 15:55:40 +01:00
parent 42f09e376f
commit 7737058f0f
3 changed files with 13 additions and 6 deletions

View File

@ -56,6 +56,7 @@ urlpatterns = [
# need to be logged in for these urls # need to be logged in for these urls
url(r'^members/$', MemberListView.as_view(), name='members'), url(r'^members/$', MemberListView.as_view(), name='members'),
url(r'^members/(?P<status>[a-zA-Z]+)/$', MemberListView.as_view(), name='members_status'),
# Django Admin, use {% url 'admin:index' %} # Django Admin, use {% url 'admin:index' %}
url(r'{}'.format(settings.ADMIN_URL), admin.site.urls), url(r'{}'.format(settings.ADMIN_URL), admin.site.urls),

View File

@ -1,13 +1,13 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals from __future__ import absolute_import, unicode_literals
from django.core.urlresolvers import reverse from django.views.generic import ListView
from django.views.generic import DetailView, ListView, RedirectView, UpdateView
from django.contrib.auth.mixins import LoginRequiredMixin from django.contrib.auth.mixins import LoginRequiredMixin
from mhackspace.users.models import User from mhackspace.users.models import User
class MemberListView(LoginRequiredMixin, ListView): class MemberListView(LoginRequiredMixin, ListView):
template_name = 'pages/members.html' template_name = 'pages/members.html'
queryset = User.objects.prefetch_related('user', 'groups') queryset = User.objects.prefetch_related('user', 'groups')
@ -15,6 +15,10 @@ class MemberListView(LoginRequiredMixin, ListView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super(MemberListView, self).get_context_data(**kwargs) context = super(MemberListView, self).get_context_data(**kwargs)
if self.kwargs.get('status') == 'registered':
context['members'] = self.get_queryset().filter(groups__name='members')
else:
context['members'] = self.get_queryset() context['members'] = self.get_queryset()
context['total'] = self.get_queryset().filter(groups__name='members').count() context['total_users'] = self.get_queryset().count()
context['total_members'] = self.get_queryset().filter(groups__name='members').count()
return context return context

View File

@ -7,10 +7,12 @@
<div class="col-md-6"> <div class="col-md-6">
<ul class="nav nav-pills"> <ul class="nav nav-pills">
<li class="nav-item"> <li class="nav-item">
<a class="nav-link active" href="#">All users <span class="badge badge-default">{{ paginator.count }}</span></a> <a class="nav-link active" href="{% url 'members_status' 'all' %}">
All users <span class="badge badge-default">{{ total_users }}</span></a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="#">All members <span class="badge badge-success">{{ total }}</span></a> <a class="nav-link" href="{% url 'members_status' 'registered' %}">
All members <span class="badge badge-success">{{ total_members }}</span></a>
</li> </li>
</ul> </ul>
</div> </div>