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
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' %}
url(r'{}'.format(settings.ADMIN_URL), admin.site.urls),

View File

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

View File

@ -7,10 +7,12 @@
<div class="col-md-6">
<ul class="nav nav-pills">
<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 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>
</ul>
</div>