def new_story(request): if request.method == 'POST': storyform = StoryForm(data=request.POST) if storyform.is_valid(): storyform.save(request.user) return redirect('author', request.user.username) return redirect(request.META.get('HTTP_REFERER'))
def post(request, id=None): form = StoryForm(request.user, request.POST) if form.is_valid(): if id: story = get_object_or_404(StoryModel, id=id) story.title = form.cleaned_data['title'] story.text = form.cleaned_data['text'] story.track = form.cleaned_data['track'] story.event = form.cleaned_data['event'] story.tags.set(*form.cleaned_data['tags']) else: story = form.save(commit=False) story.user = request.user story.save() form.save_m2m() if not id else None return HttpResponseRedirect(reverse('story:stories')) return render(request, 'story-editor.html', {'title': form['title'].value(), 'form': form})
def get(request, id=None): story = get_object_or_404(StoryModel, id=id) if id else None if story and story.user != request.user and story.is_active: return HttpResponseForbidden() form = StoryForm(request.user, instance=story) return render(request, 'story-editor.html', {'title': story.title if story else 'New story', 'form': form})