def form_valid(self, form): project = self.object if '_approve' in self.request.POST: messages.success(self.request, project.title + ' has been approved and is live.') project.approve_project() elif '_stage' in self.request.POST: messages.success(self.request, project.title + ' has been staged to go live.') project.stage_project() elif '_unapprove' in self.request.POST: messages.success(self.request, project.title + ' is no longer live.') project.unapprove_project() elif '_propose' in self.request.POST: messages.success(self.request, project.title + ' is now pending approval.') project.propose_project() elif '_deny' in self.request.POST: messages.info(self.request, project.title + ' has been denied.') project.deny_project() elif '_complete' in self.request.POST: messages.success(self.request, project.title + ' has been completed.') project.complete_project() elif '_incomplete' in self.request.POST: messages.info(self.request, project.title + ' has been marked as active again (not yet completed).') project.mark_as_incomplete_project() elif '_repayment' in self.request.POST: repayment_amount = Decimal(self.request.POST['_repayment_amount']) PaymentService.create_repayment(self.user_profile, repayment_amount, project) messages.success(self.request, '$' + str(repayment_amount) + ' repaid by ' + project.org_name) return redirect(self.get_success_url())