def new_thread(request, pk): """Start a new thread.""" if request.method == 'POST': form = ThreadForm(request.POST) if form.is_valid(): p = form.cleaned_data forum = Forum.objects.get(pk=pk) """ save the thread in table Thread""" thread = Thread.objects.create(forum=forum, title=p["title"], creator=request.user) """ save the thread in table Post, too """ Post.objects.create(thread=thread, title=p["title"], body=p["body"], creator=request.user) return HttpResponseRedirect(reverse("forum", args=[pk]))
def thread_dir(request, forum_id): thread_list = Thread.objects.filter(forum=forum_id) forum_info = Forum.objects.get(id=forum_id) if request.method == "POST": form = ThreadForm(request.POST) thread = form.save(commit=False) thread.utilisateur = request.user thread.forum = forum_info thread.save() return HttpResponseRedirect(reverse("forum.views.thread_dir", args=(forum_id,))) else: form = ThreadForm() return render_to_response( "forum/thread.html", {"thread_list": thread_list, "forum_info": forum_info, "form": form}, context_instance=RequestContext(request), )
def post(request, ptype, pk): """Display a post form.""" action = reverse("%s" % ptype, args=[pk]) if ptype == "new_thread": title = "Start New Topic" subject = '' form = ThreadForm() elif ptype == "reply": title = "Reply to " + "\""+ Thread.objects.get(pk=pk).title + "\"" subject = "Re: " + Thread.objects.get(pk=pk).title form = PostForm(initial={'title': subject}) return render_to_response("forum/post.html", add_csrf(request, subject=subject, action=action, title=title, form=form, searchForm= ModelSearchForm()))
def thread_dir(request, forum_id): thread_list = Thread.objects.filter(forum=forum_id) forum_info = Forum.objects.get(id=forum_id) if request.method == "POST": # If the form has been submitted... form = ThreadForm(request.POST) # A form bound to the POST data if form.is_valid(): # All validation rules pass forum = Thread(forum=forum_info) form = ThreadForm(request.POST, instance=forum) form.save() return HttpResponseRedirect(reverse("forum.views.thread_dir", args=(forum_id,))) else: form = ThreadForm() # An unbound form return render_to_response( "forum/thread.html", {"thread_list": thread_list, "forum_info": forum_info, "form": form}, context_instance=RequestContext(request), )