@@ -84,6 +84,7 @@ def announcement_approved_hook(request, obj, req):
84
84
85
85
86
86
@login_required
87
+ @deny_restricted
87
88
def request_announcement_view (request ):
88
89
"""The request announcement page."""
89
90
if request .method == "POST" :
@@ -142,7 +143,8 @@ def post_club_announcement_view(request):
142
143
143
144
obj .save ()
144
145
145
- return redirect ("index" )
146
+ messages .success (request , "Successfully posted announcement." )
147
+ return redirect ("club_announcements" )
146
148
else :
147
149
messages .error (request , "Error adding announcement" )
148
150
else :
@@ -151,11 +153,13 @@ def post_club_announcement_view(request):
151
153
152
154
153
155
@login_required
156
+ @deny_restricted
154
157
def request_announcement_success_view (request ):
155
158
return render (request , "announcements/success.html" , {"type" : "request" })
156
159
157
160
158
161
@login_required
162
+ @deny_restricted
159
163
def request_announcement_success_self_view (request ):
160
164
return render (request , "announcements/success.html" , {"type" : "request" , "self" : True })
161
165
@@ -276,11 +280,12 @@ def admin_approve_announcement_view(request, req_id):
276
280
@announcements_admin_required
277
281
@deny_restricted
278
282
def admin_request_status_view (request ):
279
- all_waiting = AnnouncementRequest .objects .filter (posted = None , rejected = False ).this_year ()
283
+ prefetch_fields = ["user" , "teachers_requested" , "teachers_approved" , "posted" , "posted_by" , "rejected_by" ]
284
+ all_waiting = AnnouncementRequest .objects .filter (posted = None , rejected = False ).this_year ().prefetch_related (* prefetch_fields )
280
285
awaiting_teacher = all_waiting .filter (teachers_approved__isnull = True )
281
286
awaiting_approval = all_waiting .filter (teachers_approved__isnull = False )
282
- approved = AnnouncementRequest .objects .exclude (posted = None ).this_year ()
283
- rejected = AnnouncementRequest .objects .filter (rejected = True ).this_year ()
287
+ approved = AnnouncementRequest .objects .exclude (posted = None ).this_year (). prefetch_related ( * prefetch_fields )
288
+ rejected = AnnouncementRequest .objects .filter (rejected = True ).this_year (). prefetch_related ( * prefetch_fields )
284
289
285
290
context = {"awaiting_teacher" : awaiting_teacher , "awaiting_approval" : awaiting_approval , "approved" : approved , "rejected" : rejected }
286
291
0 commit comments