diff --git a/stories/writingtogether/templates/writingtogether/story_part.html b/stories/writingtogether/templates/writingtogether/story_part.html
new file mode 100644
index 0000000..0dd732e
--- /dev/null
+++ b/stories/writingtogether/templates/writingtogether/story_part.html
@@ -0,0 +1,16 @@
+
+
+
+
+ Title
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/stories/writingtogether/urls.py b/stories/writingtogether/urls.py
index 337c0d1..ccb2f63 100644
--- a/stories/writingtogether/urls.py
+++ b/stories/writingtogether/urls.py
@@ -7,6 +7,7 @@ app_name = 'writing'
urlpatterns = [
path('', views.IndexView.as_view(), name='index'),
path('/', views.DetailView.as_view(), name='detail'),
- path('create', views.StoryRoundCreate.as_view(), name='create_story_round'),
- path('//', views.StoryPartCreate, name='create_story_part'),
+ path('create/', views.StoryRoundCreate.as_view(), name='create_story_round'),
+ path('open////', views.StoryPartUpdate.as_view(), name='update_story_part'),
+ path('open//', views.RedirectToNextOpenPart.as_view(), name='redirect_story_part'),
]
diff --git a/stories/writingtogether/views.py b/stories/writingtogether/views.py
index e709d2b..4207023 100644
--- a/stories/writingtogether/views.py
+++ b/stories/writingtogether/views.py
@@ -1,10 +1,11 @@
from django import forms
from django.http import HttpResponseRedirect
-from django.shortcuts import render
+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
+from django.views.generic import CreateView, UpdateView, RedirectView
from writingtogether.models import Story, StoryPart, StoryRound, Participant
@@ -50,12 +51,28 @@ class StoryUpdate(UpdateView):
fields = ['name']
-class StoryPartCreate(CreateView):
+class StoryPartUpdate(UpdateView):
model = StoryPart
fields = ['text']
+ template_name = 'writingtogether/story_part.html'
- def form_valid(self, form):
- form.instance.created_by = self.request.user
- form.instance.previous_part_id = self.kwargs['previous']
- form.instance.part_of_id = self.kwargs['pk']
- return super().form_valid(form)
+ #def form_valid(self, form):
+ # form.instance.created_by = self.request.user
+ # form.instance.previous_part_id = self.kwargs['previous']
+ # form.instance.part_of_id = self.kwargs['story_pk']
+ # return super().form_valid(form)
+
+
+class RedirectToNextOpenPart(RedirectView):
+ permanent = False
+ query_string = True
+ pattern_name = 'writing:update_story_part'
+
+ def get_redirect_url(self, *args, **kwargs):
+ story_round = get_object_or_404(StoryRound, pk=kwargs['story_round_pk'])
+
+ story_part = story_round.get_next_story_part(user=self.request.user)
+
+ kwargs['story_pk'] = story_part.part_of.pk
+ kwargs['story_part_pk'] = story_part.pk
+ return super().get_redirect_url(*args, **kwargs)