예제 #1
0
def post_reply(request, slug, topic_id):

    quote = request.GET.get("quote", "")
    author = request.GET.get("author", "")
    if quote:
        quote = "<blockquote>" + quote + "<footer>" + author + "</footer></blockquote>"

    forum = get_object_or_404(Forum, slug=slug)
    posts = Post.objects.filter(topic=topic_id).order_by("created").reverse()[:3]
    topic = Topic.objects.get(pk=topic_id)

    form_title = ""
    if topic.last_post():
        form_title = "Re: " + topic.last_post().title.replace("Re: ", "")

    default_data = {"title": form_title, "body": "Zure erantzuna..."}
    form = PostForm(default_data)

    if request.method == "POST":
        quote = request.POST.get("quote", "")
        form = PostForm(request.POST)

        if form.is_valid():

            post = Post()
            post.topic = topic
            post.title = form.cleaned_data["title"]
            post.body = quote + form.cleaned_data["body"]
            post.creator = request.user
            post.user_ip = request.META["REMOTE_ADDR"]

            post.save()

            l = Log()
            l.mota = "Foroa"
            l.tituloa = "Erantzun berria"
            l.deskripzioa = topic
            l.user = request.user
            l.post_id = post.id
            l.forum_id = forum.id
            l.save()

            return HttpResponseRedirect(reverse("topic-detail", args=(slug, topic.id)))

    return render_to_response(
        "django_simple_forum/reply.html",
        {"form": form, "topic": topic, "forum": forum, "posts": posts, "quote": quote},
        context_instance=RequestContext(request),
    )
예제 #2
0
def new_topic(request, slug):
    form = TopicForm()
    forum = get_object_or_404(Forum, slug=slug)

    if request.method == "POST":
        form = TopicForm(request.POST)

        if form.is_valid():

            topic = Topic()
            topic.title = form.cleaned_data["title"]
            topic.description = ""
            topic.creator = request.user
            topic.save()

            topic.forums.add(forum)
            topic.save()

            post = Post()
            post.title = form.cleaned_data["title"]
            post.body = form.cleaned_data["description"]
            post.creator = request.user
            post.user_ip = request.META["REMOTE_ADDR"]
            post.topic = topic
            post.save()

            l = Log()
            l.mota = "Foroa"
            l.tituloa = "Gai berria"
            l.deskripzioa = post.title
            l.post_id = post.id
            l.user = request.user
            l.forum_id = forum.id
            l.save()

            return HttpResponseRedirect(reverse("topic-detail", args=(slug, topic.id)))

    return render_to_response(
        "django_simple_forum/new-topic.html", {"form": form, "forum": forum}, context_instance=RequestContext(request)
    )