def show_story(request, story_id):
s = get_object_or_404(Story.objects, id=story_id)
if s.is_finished:
if not s.participates_in(request.user) and not s.is_public:
raise PermissionDenied
anonym = not s.participates_in(request.user)
if request.user.is_authenticated() and not request.user in s.read_by.all():
s.read_by.add(request.user)
context = {
'story': s,
'anonymized' : anonym,
'has_upvoted' : s.has_upvoted(request.user),
'upvote_count' : s.upvote_count(),
}
return render(request, 'umklapp/show_story.html', context)
else:
# unfinished business
assert not s.is_finished
if not s.participates_in(request.user):
raise PermissionDenied
form = None
t = get_object_or_404(s.tellers, user=request.user)
if s.whose_turn == t.position:
# only show form if its the user's turn
form = ExtendStoryForm()
context = {
'story': s,
'form': form,
'always_skip' : s.does_always_skip(request.user),
}
return render(request, 'umklapp/extend_story.html', context)
评论列表
文章目录