66from django .contrib .auth .decorators import login_required
77from django .contrib .auth .models import AnonymousUser
88from django .contrib import messages
9+ from django .core .paginator import Paginator , EmptyPage , PageNotAnInteger
910from django .urls import reverse
1011from django .http import Http404 , HttpResponseRedirect , HttpResponseForbidden
1112from django .shortcuts import render , get_object_or_404 , redirect
@@ -789,9 +790,15 @@ def view_feedback_pending(request, year):
789790 FeedbackFormSet = modelformset_factory (Feedback ,
790791 form = PendingFeedbackForm ,
791792 extra = 0 )
792- feedbacks = Feedback .objects .filter (type__isnull = True , nomcom = nomcom )
793-
794-
793+ feedback_list = Feedback .objects .filter (type__isnull = True , nomcom = nomcom ).order_by ('-time' )
794+ paginator = Paginator (feedback_list , 20 )
795+ page_num = request .GET .get ('page' )
796+ try :
797+ feedback_page = paginator .page (page_num )
798+ except PageNotAnInteger :
799+ feedback_page = paginator .page (1 )
800+ except EmptyPage :
801+ feedback_page = paginator .page (paginator .num_pages )
795802 extra_step = False
796803 if request .method == 'POST' and request .POST .get ('end' ):
797804 extra_ids = request .POST .get ('extra_ids' , None )
@@ -853,7 +860,7 @@ def view_feedback_pending(request, year):
853860 messages .success (request , 'Feedback saved' )
854861 return redirect ('ietf.nomcom.views.view_feedback_pending' , year = year )
855862 else :
856- formset = FeedbackFormSet (queryset = feedbacks )
863+ formset = FeedbackFormSet (queryset = feedback_page . object_list )
857864 for form in formset .forms :
858865 form .set_nomcom (nomcom , request .user )
859866 type_dict = OrderedDict ()
@@ -875,6 +882,7 @@ def view_feedback_pending(request, year):
875882 'types' : FeedbackTypeName .objects .all ().order_by ('pk' ),
876883 'nomcom' : nomcom ,
877884 'is_chair_task' : True ,
885+ 'page' : feedback_page ,
878886 })
879887
880888
0 commit comments