Browse Source

PAginateurs sur l'historique

test_david
chirac 10 years ago
parent
commit
5c14ac1f58
  1. 10
      cotisations/views.py
  2. 14
      machines/views.py
  3. 4
      re2o/settings.py
  4. 15
      re2o/templates/re2o/aff_history.html
  5. 13
      topologie/views.py
  6. 10
      users/views.py

10
cotisations/views.py

@ -387,4 +387,14 @@ def history(request, object, id):
messages.error(request, "Objet inconnu") messages.error(request, "Objet inconnu")
return redirect("/cotisations/") return redirect("/cotisations/")
reversions = reversion.get_for_object(object_instance) reversions = reversion.get_for_object(object_instance)
paginator = Paginator(reversions, PAGINATION_NUMBER)
page = request.GET.get('page')
try:
reversions = paginator.page(page)
except PageNotAnInteger:
# If page is not an integer, deliver first page.
reversions = paginator.page(1)
except EmptyPage:
# If page is out of range (e.g. 9999), deliver last page of results.
reversions = paginator.page(paginator.num_pages)
return render(request, 're2o/history.html', {'reversions': reversions, 'object': object_instance}) return render(request, 're2o/history.html', {'reversions': reversions, 'object': object_instance})

14
machines/views.py

@ -22,7 +22,7 @@ import re
from .forms import NewMachineForm, EditMachineForm, EditInterfaceForm, AddInterfaceForm, MachineTypeForm, DelMachineTypeForm, ExtensionForm, DelExtensionForm, BaseEditInterfaceForm, BaseEditMachineForm from .forms import NewMachineForm, EditMachineForm, EditInterfaceForm, AddInterfaceForm, MachineTypeForm, DelMachineTypeForm, ExtensionForm, DelExtensionForm, BaseEditInterfaceForm, BaseEditMachineForm
from .models import Machine, Interface, IpList, MachineType, Extension from .models import Machine, Interface, IpList, MachineType, Extension
from users.models import User from users.models import User
from re2o.settings import PAGINATION_NUMBER from re2o.settings import PAGINATION_NUMBER, PAGINATION_LARGE_NUMBER
def full_domain_validator(request, interface): def full_domain_validator(request, interface):
""" Validation du nom de domaine, extensions dans type de machine, prefixe pas plus long que 63 caractères """ """ Validation du nom de domaine, extensions dans type de machine, prefixe pas plus long que 63 caractères """
@ -315,7 +315,7 @@ def del_extension(request):
@permission_required('cableur') @permission_required('cableur')
def index(request): def index(request):
machines_list = Machine.objects.order_by('pk') machines_list = Machine.objects.order_by('pk')
paginator = Paginator(machines_list, PAGINATION_NUMBER) paginator = Paginator(machines_list, PAGINATION_LARGE_NUMBER)
page = request.GET.get('page') page = request.GET.get('page')
try: try:
machines_list = paginator.page(page) machines_list = paginator.page(page)
@ -375,6 +375,16 @@ def history(request, object, id):
messages.error(request, "Objet inconnu") messages.error(request, "Objet inconnu")
return redirect("/machines/") return redirect("/machines/")
reversions = reversion.get_for_object(object_instance) reversions = reversion.get_for_object(object_instance)
paginator = Paginator(reversions, PAGINATION_NUMBER)
page = request.GET.get('page')
try:
reversions = paginator.page(page)
except PageNotAnInteger:
# If page is not an integer, deliver first page.
reversions = paginator.page(1)
except EmptyPage:
# If page is out of range (e.g. 9999), deliver last page of results.
reversions = paginator.page(paginator.num_pages)
return render(request, 're2o/history.html', {'reversions': reversions, 'object': object_instance}) return render(request, 're2o/history.html', {'reversions': reversions, 'object': object_instance})

4
re2o/settings.py

@ -133,4 +133,6 @@ RIGHTS_LINK = {
'bofh' : ['bureau','trésorier'], 'bofh' : ['bureau','trésorier'],
} }
PAGINATION_NUMBER = 5 PAGINATION_NUMBER = 25
PAGINATION_LARGE_NUMBER = 8

15
re2o/templates/re2o/aff_history.html

@ -1,3 +1,18 @@
{% if reversions.paginator %}
<ul class="pagination nav navbar-nav">
{% if reversions.has_previous %}
<li><a href="?page={{ reversions.previous_page_number }}">Suivants</a></li>
{% endif %}
{% for page in reversions.paginator.page_range %}
<li class="{% if reversions.number == page %}active{% endif %}"><a href="?page={{page }}">{{ page }}</a></li>
{% endfor %}
{% if reversions.has_next %}
<li> <a href="?page={{ reversions.next_page_number }}">Précédents</a></li>
{% endif %}
</ul>
{% endif %}
<table class="table table-striped"> <table class="table table-striped">
<thead> <thead>
<tr> <tr>

13
topologie/views.py

@ -3,12 +3,15 @@ from django.contrib import messages
from django.contrib.auth.decorators import login_required, permission_required from django.contrib.auth.decorators import login_required, permission_required
from django.db import IntegrityError from django.db import IntegrityError
from django.db import transaction from django.db import transaction
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from reversion import revisions as reversion from reversion import revisions as reversion
from topologie.models import Switch, Port, Room from topologie.models import Switch, Port, Room
from topologie.forms import EditPortForm, EditSwitchForm, AddPortForm, EditRoomForm from topologie.forms import EditPortForm, EditSwitchForm, AddPortForm, EditRoomForm
from users.views import form from users.views import form
from re2o.settings import PAGINATION_NUMBER
@login_required @login_required
@permission_required('cableur') @permission_required('cableur')
def index(request): def index(request):
@ -40,6 +43,16 @@ def history(request, object, id):
messages.error(request, "Objet inconnu") messages.error(request, "Objet inconnu")
return redirect("/topologie/") return redirect("/topologie/")
reversions = reversion.get_for_object(object_instance) reversions = reversion.get_for_object(object_instance)
paginator = Paginator(reversions, PAGINATION_NUMBER)
page = request.GET.get('page')
try:
reversions = paginator.page(page)
except PageNotAnInteger:
# If page is not an integer, deliver first page.
reversions = paginator.page(1)
except EmptyPage:
# If page is out of range (e.g. 9999), deliver last page of results.
reversions = paginator.page(paginator.num_pages)
return render(request, 're2o/history.html', {'reversions': reversions, 'object': object_instance}) return render(request, 're2o/history.html', {'reversions': reversions, 'object': object_instance})
@login_required @login_required

10
users/views.py

@ -467,6 +467,16 @@ def history(request, object, id):
messages.error(request, "Objet inconnu") messages.error(request, "Objet inconnu")
return redirect("/users/") return redirect("/users/")
reversions = reversion.get_for_object(object_instance) reversions = reversion.get_for_object(object_instance)
paginator = Paginator(reversions, PAGINATION_NUMBER)
page = request.GET.get('page')
try:
reversions = paginator.page(page)
except PageNotAnInteger:
# If page is not an integer, deliver first page.
reversions = paginator.page(1)
except EmptyPage:
# If page is out of range (e.g. 9999), deliver last page of results.
reversions = paginator.page(paginator.num_pages)
return render(request, 're2o/history.html', {'reversions': reversions, 'object': object_instance}) return render(request, 're2o/history.html', {'reversions': reversions, 'object': object_instance})

Loading…
Cancel
Save