def post(self, request, *args, **kwargs): project_obj = get_object_or_404(Project, pk=self.kwargs.get('pk')) project_review_form = ProjectReviewForm(project_obj.pk, request.POST) project_review_status_choice = ProjectReviewStatusChoice.objects.get( name='Pending') if project_review_form.is_valid(): form_data = project_review_form.cleaned_data project_review_obj = ProjectReview.objects.create( project=project_obj, reason_for_not_updating_project=form_data.get('reason'), status=project_review_status_choice) project_obj.force_review = False project_obj.save() domain_url = get_domain_url(self.request) url = '{}{}'.format(domain_url, reverse('project-review-list')) if EMAIL_ENABLED: send_email_template( 'New project review has been submitted', 'email/new_project_review.txt', {'url': url}, EMAIL_SENDER, [EMAIL_DIRECTOR_EMAIL_ADDRESS, ] ) messages.success(request, 'Project reviewed successfully.') return HttpResponseRedirect(reverse('project-detail', kwargs={'pk': project_obj.pk})) else: messages.error( request, 'There was an error in processing your project review.') return HttpResponseRedirect(reverse('project-detail', kwargs={'pk': project_obj.pk}))
def get(self, request, *args, **kwargs): project_obj = get_object_or_404(Project, pk=self.kwargs.get('pk')) project_review_form = ProjectReviewForm(project_obj.pk) context = {} context['project'] = project_obj context['project_review_form'] = project_review_form context['project_users'] = ', '.join(['{} {}'.format(ele.user.first_name, ele.user.last_name) for ele in project_obj.projectuser_set.filter(status__name='Active').order_by('user__last_name')]) return render(request, self.template_name, context)