def fetch_task(request, contest_id):
contest = Contest.objects.get(pk=contest_id)
if not request.user.has_perm('manage_contest', contest):
raise PermissionDenied
elif request.method == 'POST':
form = TaskFetchForm(request.POST)
if form.is_valid():
fetched_task = copy_task(form)
fetched_task.contest = contest
if save_task(fetched_task):
messages.add_message(
request,
messages.SUCCESS,
'New task has been added to contest %s.' % contest.name)
add_task_to_groups(contest, fetched_task)
else:
messages.add_message(
request,
messages.ERROR,
'Unable to fetch task %s. Please report this accident'
' to administrator.' % fetched_task)
return HttpResponseRedirect(
reverse('contest_details', args=[contest_id]) + '?current_tab=tasks')
评论列表
文章目录