Exemple #1
0
def new_thread(request, slug, template_name="forum/new_thread_form.html"):
    forum = Forum.objects.get(titre_slug=slug)
    
    if request.POST:
        preview = request.POST.get('preview', None)
        editpreview = request.POST.get('editpreview', None)
        new_threadform = ThreadForm(request.POST)
        new_messageform = MessageForm(request.POST)
        if not editpreview and new_threadform.is_valid() and new_messageform.is_valid():
            contenu = request.POST.get('contenu')
            newthread = new_threadform.save(commit=False)
            if not preview:
                newthread.save()
                newthread.generate_slug()
                create_message(auteur=request.user, contenu=contenu, thread=newthread, isnewthread=True)
                return HttpResponseRedirect(newthread.get_absolute_url())
            else:
                newmessage = Message(auteur=request.user, contenu=contenu, date_publication=datetime.datetime.now())
                return internal_view_thread(request, newthread, urlretour=reverse("newthread", kwargs={"slug":slug}), messagesuppl=newmessage)
        else:
            threadform = new_threadform
            messageform = new_messageform
    else:
        threadform = ThreadForm(initial={"forum":forum.pk})
        messageform = MessageForm(initial={"auteur":request.user.pk})

    context = RequestContext(request, {
        'forum': forum,
        'full': True,
        'threadform': threadform,
        'messageform': messageform,
    })
    
    return render_to_response(template_name, context)
Exemple #2
0
def new_message(request, slug, template_name="forum/new_message_form.html"):
    thread = Thread.objects.get(titre_slug=slug)
    if request.POST:
        preview = request.POST.get('preview', None)
        editpreview = request.POST.get('editpreview', None)
        messageform = MessageForm(request.POST)
        if not editpreview and messageform.is_valid():
            contenu = request.POST.get('contenu')
            if not preview:
                create_message(auteur=request.user, contenu=contenu, thread=thread)
            else:
                newmessage = Message(auteur=request.user, contenu=contenu, date_publication=datetime.datetime.now())
                return internal_view_thread(request, thread, urlretour=thread.get_absolute_url(), messagesuppl=newmessage)
    
    return HttpResponseRedirect("%s#commentaires-posting" % thread.get_absolute_url())