def edit_category(request, contest_id, category_id):
contest = get_object_or_404(models.TaskBasedContest, pk=contest_id)
if contest.tasks_grouping != models.TasksGroping.ByCategories:
return HttpResponseNotFound()
category = get_object_or_404(categories_models.Category, pk=category_id)
if not contest.categories_list.categories.filter(id=category.id).exists():
return HttpResponseNotFound()
if request.method == 'POST':
form = forms.CategoryForm(data=request.POST)
if form.is_valid():
new_category = categories_models.Category(
name=form.cleaned_data['name'],
description=form.cleaned_data['description']
)
new_category.id = category.id
new_category.save()
return redirect(urlresolvers.reverse('contests:tasks', args=[contest.id]))
else:
form = forms.CategoryForm(initial=category.__dict__)
return render(request, "contests/edit_category.html", {
'current_contest': contest,
'contest': contest,
'category': category,
'form': form,
})
评论列表
文章目录