add finished view
This commit is contained in:
parent
a59354693c
commit
7277fc7b5c
|
@ -70,7 +70,7 @@ class StoryPart(models.Model):
|
|||
user = models.ForeignKey(User, on_delete=CASCADE)
|
||||
previous_part = models.ForeignKey('StoryPart', on_delete=CASCADE, null=True, blank=True)
|
||||
text = models.TextField(null=True, blank=True)
|
||||
part_of = models.ForeignKey('Story', on_delete=CASCADE)
|
||||
part_of = models.ForeignKey('Story', on_delete=CASCADE, related_name='parts')
|
||||
turn_number = models.IntegerField()
|
||||
|
||||
@property
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title></title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Fertig!</h1>
|
||||
|
||||
{% for story in stories %}
|
||||
{% for story_part in story.parts.all %}
|
||||
|
||||
<div>{{ story_part.text }} <i>({{ story_part.user }})</i></div>
|
||||
{% endfor %}
|
||||
<br>
|
||||
<br>
|
||||
{% endfor %}
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -6,6 +6,10 @@
|
|||
</head>
|
||||
<body>
|
||||
<h1>Runde {{ current_round }} / {{ total_rounds }}</h1>
|
||||
|
||||
{% if previous_part %}
|
||||
<div>Letzter Satz: {{ previous_part.text }}</div>
|
||||
{% endif %}
|
||||
<form action="{% url 'writing:update_story_part' story_round_pk=story_round_pk story_pk=story_pk pk=pk %}" method="post">
|
||||
{% csrf_token %}
|
||||
{{ form.as_p }}
|
||||
|
|
|
@ -11,4 +11,5 @@ urlpatterns = [
|
|||
path('open/<int:story_round_pk>/<int:story_pk>/<int:pk>/', views.StoryPartUpdate.as_view(), name='update_story_part'),
|
||||
path('open/<int:pk>/waiting/', views.WaitForOthersView.as_view(), name='wait_for_others'),
|
||||
path('open/<int:story_round_pk>/', views.RedirectToNextOpenPart.as_view(), name='redirect_story_part'),
|
||||
path('finished/<int:pk>/', views.RoundFinishedView.as_view(), name ='finished'),
|
||||
]
|
||||
|
|
|
@ -67,7 +67,8 @@ class StoryPartUpdate(LoginRequiredMixin, UpdateView):
|
|||
context = super(StoryPartUpdate, self).get_context_data(**kwargs)
|
||||
context.update({
|
||||
'current_round': self.object.turn_number + 1,
|
||||
'total_rounds': self.object.part_of.part_of_round.number_of_rounds
|
||||
'total_rounds': self.object.part_of.part_of_round.number_of_rounds,
|
||||
'previous_part': self.object.previous_part,
|
||||
})
|
||||
context.update(self.kwargs)
|
||||
return context
|
||||
|
@ -110,3 +111,12 @@ class RedirectToNextOpenPart(LoginRequiredMixin, RedirectView):
|
|||
class WaitForOthersView(LoginRequiredMixin, DetailView):
|
||||
model = StoryRound
|
||||
template_name = 'writingtogether/wait_for_others.html'
|
||||
|
||||
|
||||
class RoundFinishedView(LoginRequiredMixin, ListView):
|
||||
model = Story
|
||||
context_object_name = 'stories'
|
||||
template_name = 'writingtogether/finished.html'
|
||||
|
||||
def get_queryset(self):
|
||||
return Story.objects.filter(part_of_round_id=self.kwargs['pk']).prefetch_related('parts')
|
Loading…
Reference in New Issue