diff --git a/ietf/meeting/tests_views.py b/ietf/meeting/tests_views.py index 8d21db47a..81bbb4f84 100644 --- a/ietf/meeting/tests_views.py +++ b/ietf/meeting/tests_views.py @@ -790,7 +790,7 @@ class InterimTests(TestCase): url = urlreverse('ietf.meeting.views.interim_request_details',kwargs={'number':meeting.number}) login_testing_unauthorized(self,"secretary",url) r = self.client.post(url,{'disapprove':'Disapprove'}) - self.assertEqual(r.status_code, 200) + self.assertRedirects(r, urlreverse('ietf.meeting.views.interim_pending')) for session in meeting.session_set.all(): self.assertEqual(session.status_id,'disappr') diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py index df8339881..cfb5c3fa3 100644 --- a/ietf/meeting/views.py +++ b/ietf/meeting/views.py @@ -1105,14 +1105,17 @@ def interim_request_details(request, number): can_approve = can_approve_interim_request(meeting, request.user) if request.method == 'POST': - if request.POST.get('approve'): + if request.POST.get('approve') and can_approve_interim_request(meeting, request.user): meeting.session_set.update(status_id='scheda') messages.success(request, 'Interim meeting approved') if has_role(request.user, 'Secretariat'): return redirect(interim_send_announcement, number=number) - if request.POST.get('disapprove'): + else: + return redirect(interim_pending) + if request.POST.get('disapprove') and can_approve_interim_request(meeting, request.user): meeting.session_set.update(status_id='disappr') messages.success(request, 'Interim meeting disapproved') + return redirect(interim_pending) return render(request, "meeting/interim_request_details.html", { "meeting": meeting, @@ -1126,7 +1129,7 @@ def interim_request_details(request, number): def interim_request_edit(request, number): '''Edit details of an interim meeting reqeust''' meeting = get_object_or_404(Meeting, number=number) - if not can_view_interim_request(meeting, request.user): + if not can_edit_interim_request(meeting, request.user): return HttpResponseForbidden("You do not have permissions to edit this meeting request") SessionFormset = inlineformset_factory(