def modifyPost(request, slug): post = Post.objects.get(slug=slug) if request.user.username is not post.author: return redirect(f"/post/{{post.slug}}") if request.POST: form = PostForm(request.POST) if form.is_valid(): title = form.cleaned_data['title'] body = form.cleaned_data['body'] post.title = title post.body = body post.save() return redirect(f'/post/{post.slug}') form = PostForm({'title': post.title, 'body': post.body}) return render(request, 'editor.html', {'form': form})
def newPost(request): if request.method == "POST": form = PostForm(request.POST) if form.is_valid(): new_save = form.save(commit=False) new_save.member_organization = request.user.profile.member_organization if len(new_save.body) > 200: new_save.excerpt = new_save.body[:197] + '...' else: new_save.excerpt = new_save.body new_save.created_by = request.user new_save.save() return HttpResponseRedirect(reverse('posts:detailpost', args=(new_save.id,))) else: return render(request, 'posts/new_post.html', {'form':form, 'error':'Your Member Organization Form Was Not Valid'}) else: form = PostForm() return render(request, 'posts/new_post.html', {'form':form})
def editor(request): if request.POST: form = PostForm(request.POST) if form.is_valid(): title = form.cleaned_data['title'] author = request.user.username slug = ''.join(random.choice(string.ascii_letters + \ string.digits) for x in range(10)) body = form.cleaned_data['body'] pub_date = timezone.now() post = Post.objects.create(title=title, author=author, slug=slug, body=body, pub_date=pub_date) return redirect(f'/post/{slug}') form = PostForm() return render(request, 'editor.html', locals())
def editPost(request, post_id): post = get_object_or_404(Post, pk=post_id) if post != request.user.profile.member_organization and not request.user.has_perm('posts.uniauth'): return HttpResponseRedirect(reverse('posts:post', args=(post.id,))) if request.method == "POST": form = PostForm(request.POST) if form.is_valid(): new_save = form.save(commit=False) new_save.id = post_id new_save.datetime = post.datetime new_save.member_organization = request.user.profile.member_organization if len(new_save.body) > 200: new_save.excerpt = new_save.body[:197] + '...' else: new_save.excerpt = new_save.body new_save.created_by = request.user new_save.save() return HttpResponseRedirect(reverse('posts:index')) else: return render(request, 'posts/edit_post.html', {'form':form, 'post':post, 'error':'form needs some work', 'editmode':True}) form = PostForm(instance = post) return render(request, 'posts/edit_post.html', {'form':form, 'post':post, 'editmode':True})