paginate accounts managment
This commit is contained in:
parent
e40adcfba1
commit
421f28f32f
5 changed files with 47 additions and 5 deletions
|
@ -5,6 +5,7 @@ from django.views.decorators.http import require_http_methods
|
|||
from django.contrib import messages
|
||||
from django.db.models import Q
|
||||
from django.core.exceptions import ObjectDoesNotExist
|
||||
from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.forms import PasswordChangeForm
|
||||
from django.forms.models import modelform_factory
|
||||
|
@ -62,8 +63,16 @@ def profile(request):
|
|||
|
||||
@project_perm_required('manage_accounts')
|
||||
def user_list(request):
|
||||
paginator = Paginator(User.objects.all(), settings.ITEMS_PER_PAGE)
|
||||
page = request.GET.get('page')
|
||||
try:
|
||||
users = paginator.page(page)
|
||||
except PageNotAnInteger:
|
||||
users = paginator.page(1)
|
||||
except EmptyPage:
|
||||
users = paginator.page(paginator.num_pages)
|
||||
return render(request, 'accounts/user_list.html', {
|
||||
'users': User.objects.all(),
|
||||
'users': users,
|
||||
'external_auth': settings.EXTERNAL_AUTH,
|
||||
})
|
||||
|
||||
|
@ -282,8 +291,17 @@ def user_remove_team(request, user, team):
|
|||
|
||||
@project_perm_required('manage_accounts')
|
||||
def group_list(request):
|
||||
paginator = Paginator(Group.objects.all(), settings.ITEMS_PER_PAGE)
|
||||
page = request.GET.get('page')
|
||||
try:
|
||||
groups = paginator.page(page)
|
||||
except PageNotAnInteger:
|
||||
groups = paginator.page(1)
|
||||
except EmptyPage:
|
||||
groups = paginator.page(paginator.num_pages)
|
||||
return render(request, 'accounts/group_list.html', {
|
||||
'groups': Group.objects.all(),
|
||||
'groups': groups,
|
||||
'paginator': paginator,
|
||||
})
|
||||
|
||||
|
||||
|
@ -392,8 +410,17 @@ def group_remove_user(request, group, user):
|
|||
|
||||
@project_perm_required('manage_accounts')
|
||||
def team_list(request):
|
||||
paginator = Paginator(Team.objects.all(), settings.ITEMS_PER_PAGE)
|
||||
page = request.GET.get('page')
|
||||
try:
|
||||
teams = paginator.page(page)
|
||||
except PageNotAnInteger:
|
||||
teams = paginator.page(1)
|
||||
except EmptyPage:
|
||||
teams = paginator.page(paginator.num_pages)
|
||||
return render(request, 'accounts/team_list.html', {
|
||||
'teams': Team.objects.all(),
|
||||
'teams': teams,
|
||||
'paginator': paginator,
|
||||
})
|
||||
|
||||
|
||||
|
|
|
@ -170,3 +170,6 @@ RESERVED_PROJECT_URLS = [
|
|||
|
||||
GROUP_MANAGMENT = True
|
||||
EXTERNAL_AUTH = False
|
||||
|
||||
# Pagination
|
||||
ITEMS_PER_PAGE = 25
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
{% block tabcontent %}
|
||||
|
||||
<ul class="list-group">
|
||||
{% if not groups.exists %}
|
||||
{% if not paginator.count %}
|
||||
<li class="list-group-item" style="line-height: 48px;">
|
||||
<em>There are no groups quit yet.</em>
|
||||
</li>
|
||||
|
@ -34,4 +34,8 @@
|
|||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
<div style="text-align: center;">
|
||||
{% bootstrap_pagination groups %}
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
{% block tabcontent %}
|
||||
|
||||
<ul class="list-group">
|
||||
{% if not teams.exists %}
|
||||
{% if not paginator.count %}
|
||||
<li class="list-group-item" style="line-height: 48px;">
|
||||
<em>There are no teams quite yet.</em>
|
||||
</li>
|
||||
|
@ -37,4 +37,8 @@
|
|||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
<div style="text-align: center;">
|
||||
{% bootstrap_pagination teams %}
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -37,4 +37,8 @@
|
|||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
<div style="text-align: center;">
|
||||
{% bootstrap_pagination users %}
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue