|
|
|
@ -5,13 +5,11 @@ from django.shortcuts import render, get_object_or_404
|
|
|
|
|
|
|
|
|
|
# Create your views here.
|
|
|
|
|
from django.urls import reverse_lazy, reverse
|
|
|
|
|
from django.views import generic
|
|
|
|
|
from django.views.generic import CreateView, UpdateView, RedirectView
|
|
|
|
|
|
|
|
|
|
from django.views.generic import CreateView, UpdateView, RedirectView, DetailView, ListView
|
|
|
|
|
from writingtogether.models import Story, StoryPart, StoryRound
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class IndexView(LoginRequiredMixin, generic.ListView):
|
|
|
|
|
class IndexView(LoginRequiredMixin, ListView):
|
|
|
|
|
template_name = 'writingtogether/index.html'
|
|
|
|
|
context_object_name = 'open_story_round_list'
|
|
|
|
|
|
|
|
|
@ -20,7 +18,7 @@ class IndexView(LoginRequiredMixin, generic.ListView):
|
|
|
|
|
return StoryRound.objects.order_by('-created')[:5]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class DetailView(LoginRequiredMixin, generic.DetailView):
|
|
|
|
|
class StoryRoundDetailView(LoginRequiredMixin, DetailView):
|
|
|
|
|
model = StoryRound
|
|
|
|
|
template_name = 'writingtogether/detail.html'
|
|
|
|
|
|
|
|
|
@ -92,6 +90,15 @@ class RedirectToNextOpenPart(LoginRequiredMixin, RedirectView):
|
|
|
|
|
|
|
|
|
|
story_part = story_round.get_next_story_part(user=self.request.user)
|
|
|
|
|
|
|
|
|
|
kwargs['story_pk'] = story_part.part_of.pk
|
|
|
|
|
kwargs['pk'] = story_part.pk
|
|
|
|
|
if story_part.finished:
|
|
|
|
|
self.pattern_name = 'writing:wait_for_others'
|
|
|
|
|
kwargs['pk'] = kwargs.pop('story_round_pk')
|
|
|
|
|
else:
|
|
|
|
|
kwargs['story_pk'] = story_part.part_of.pk
|
|
|
|
|
kwargs['pk'] = story_part.pk
|
|
|
|
|
return super().get_redirect_url(*args, **kwargs)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class WaitForOthersView(LoginRequiredMixin, DetailView):
|
|
|
|
|
model = StoryRound
|
|
|
|
|
template_name = 'writingtogether/wait_for_others.html'
|
|
|
|
|