def post(self, request, course_run_id): state = request.POST.get('state') try: course_run = CourseRun.objects.get(id=course_run_id) if not mixins.check_view_permission(request.user, course_run.course): return HttpResponseForbidden() course_run.change_state(target=state, user=self.request.user) # pylint: disable=no-member messages.success( request, _('Content moved to `{state}` successfully.').format(state=course_run.current_state) ) return HttpResponseRedirect(reverse('publisher:publisher_course_run_detail', kwargs={'pk': course_run_id})) except (CourseRun.DoesNotExist, TransitionNotAllowed): messages.error(request, _('There was an error in changing state.')) return HttpResponseRedirect(reverse('publisher:publisher_course_run_detail', kwargs={'pk': course_run_id}))
def post(self, request, course_run_id): state = request.POST.get('state') try: course_run = CourseRun.objects.get(id=course_run_id) if not mixins.check_view_permission(request.user, course_run.course): return HttpResponseForbidden() course_run.change_state(target=state, user=self.request.user) # pylint: disable=no-member messages.success( request, _('Content moved to `{state}` successfully.').format( state=course_run.current_state)) return HttpResponseRedirect( reverse('publisher:publisher_course_run_detail', kwargs={'pk': course_run_id})) except (CourseRun.DoesNotExist, TransitionNotAllowed): messages.error(request, _('There was an error in changing state.')) return HttpResponseRedirect( reverse('publisher:publisher_course_run_detail', kwargs={'pk': course_run_id}))
def has_object_permission(self, request, view, obj): return check_view_permission(request.user, obj.course)