def continue_story(request, story_id):
s = get_object_or_404(Story.objects, id=story_id)
if s.is_finished:
return HttpResponseBadRequest("Story already finished")
if not s.participates_in(request.user):
raise PermissionDenied
t = get_object_or_404(s.tellers, user=request.user)
if s.whose_turn != t.position:
return HttpResponseBadRequest("Not your turn")
finish = 'finish' in request.POST
form = ExtendStoryForm(request.POST)
if form.is_valid():
if 'finish' in form.data:
if form.cleaned_data['nextSentence']:
s.continue_story(form.cleaned_data['nextSentence'])
s.finish()
return redirect('show_story', story_id=s.id)
else:
s.continue_story(form.cleaned_data['nextSentence'])
messages.success(request, u"Geschichte „%s“ weitergeführt" % s.title)
return redirect('overview')
else:
context = {
'story': s,
'form': form
}
return render(request, 'umklapp/extend_story.html', context)
评论列表
文章目录