def post(self, request, club_id, *args, **kwargs):
club = Club.objects.get(pk=club_id)
budget_form = self.budget_form_class()
budget_form.fields['did'].queryset = Division.objects.filter(cid=club)
division_form = self.division_form_class
if 'division' in request.POST:
division_form = self.division_form_class(request.POST)
if division_form.is_valid():
division = division_form.save()
division.cid = club
division.save()
messages.add_message(request, messages.SUCCESS, 'You Have Created a New Division!')
return HttpResponseRedirect(reverse('suite:budget', args=[club_id]))
else:
messages.add_message(request, messages.WARNING, 'Cannot Make Division with Same Name')
return HttpResponseRedirect(reverse('suite:budget', args=[club_id]))
elif 'budget' in request.POST:
budget_form = self.budget_form_class(request.POST)
if budget_form.is_valid():
budget = budget_form.save(commit=True)
budget.save()
else:
messages.add_message(request, messages.WARNING, 'Could not create budget.')
books = self.generate_books(club.division_set.all())
total_budget = 0
total_expense = 0
for book in books:
total_budget = total_budget + book['total_budget']
total_expense = total_expense + book['total_expense']
return render(request, self.template_name, { 'books' : books,
'club': club,
'budget_form' : budget_form,
'division_form' : division_form,
'total_budget' : total_budget,
'total_expense' : total_expense})
评论列表
文章目录