Added pagination to the nomcom pending-feedback page, to reduce load time.
- Legacy-Id: 15534
This commit is contained in:
parent
8a5e302745
commit
b984422471
|
@ -6,6 +6,7 @@ from django.conf import settings
|
|||
from django.contrib.auth.decorators import login_required
|
||||
from django.contrib.auth.models import AnonymousUser
|
||||
from django.contrib import messages
|
||||
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
|
||||
from django.urls import reverse
|
||||
from django.http import Http404, HttpResponseRedirect, HttpResponseForbidden
|
||||
from django.shortcuts import render, get_object_or_404, redirect
|
||||
|
@ -789,9 +790,15 @@ def view_feedback_pending(request, year):
|
|||
FeedbackFormSet = modelformset_factory(Feedback,
|
||||
form=PendingFeedbackForm,
|
||||
extra=0)
|
||||
feedbacks = Feedback.objects.filter(type__isnull=True, nomcom=nomcom)
|
||||
|
||||
|
||||
feedback_list = Feedback.objects.filter(type__isnull=True, nomcom=nomcom).order_by('-time')
|
||||
paginator = Paginator(feedback_list, 20)
|
||||
page_num = request.GET.get('page')
|
||||
try:
|
||||
feedback_page = paginator.page(page_num)
|
||||
except PageNotAnInteger:
|
||||
feedback_page = paginator.page(1)
|
||||
except EmptyPage:
|
||||
feedback_page = paginator.page(paginator.num_pages)
|
||||
extra_step = False
|
||||
if request.method == 'POST' and request.POST.get('end'):
|
||||
extra_ids = request.POST.get('extra_ids', None)
|
||||
|
@ -853,7 +860,7 @@ def view_feedback_pending(request, year):
|
|||
messages.success(request, 'Feedback saved')
|
||||
return redirect('ietf.nomcom.views.view_feedback_pending', year=year)
|
||||
else:
|
||||
formset = FeedbackFormSet(queryset=feedbacks)
|
||||
formset = FeedbackFormSet(queryset=feedback_page.object_list)
|
||||
for form in formset.forms:
|
||||
form.set_nomcom(nomcom, request.user)
|
||||
type_dict = OrderedDict()
|
||||
|
@ -875,6 +882,7 @@ def view_feedback_pending(request, year):
|
|||
'types': FeedbackTypeName.objects.all().order_by('pk'),
|
||||
'nomcom': nomcom,
|
||||
'is_chair_task' : True,
|
||||
'page': feedback_page,
|
||||
})
|
||||
|
||||
|
||||
|
|
|
@ -150,12 +150,34 @@
|
|||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="pagination text-center col-md-12 col-sm-12">
|
||||
<span class="step-links">
|
||||
{% if page.has_previous %}
|
||||
<a href="?page={{ page.previous_page_number }}">< </a>
|
||||
{% else %}
|
||||
|
|
||||
{% endif %}
|
||||
|
||||
<span class="current">
|
||||
Page {{ page.number }} of {{ page.paginator.num_pages }}
|
||||
</span>
|
||||
|
||||
{% if page.has_next %}
|
||||
<a href="?page={{ page.next_page_number }}"> ></a>
|
||||
{% else %}
|
||||
|
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
{% buttons %}
|
||||
<input class="btn btn-primary" type="submit" value="Classify">
|
||||
{% endbuttons %}
|
||||
{% endif %}
|
||||
</form>
|
||||
|
||||
|
||||
{% else %}
|
||||
<p>There is no pending feedback.</p>
|
||||
{% endif %}
|
||||
|
|
Loading…
Reference in a new issue