Ejemplo n.º 1
0
    def items(self, obj):
        self.title = obj.title
        self.description = markup(obj.text, obj.parser)

        thread_list = Post.get_rated_users_post_comments(obj)

        self.paginator = Paginator(thread_list, settings.PAGE_LIMITATIONS["FORUM_COMMENTS"])
        return thread_list[:settings.PAGE_LIMITATIONS["FORUM_COMMENTS"]]
Ejemplo n.º 2
0
def reply(request, post_id):
    reply_to = get_object_or_404(Post, pk=post_id)

    if reply_to.thread.closed:
        raise Http404

    if reply_to.draft or reply_to.thread.draft:
        return error(request, "You can't comment draft's :)")

    if not request.user.profile.can_create_comment():
        return error(request, "COMMENT_CREATE")

    if request.method == 'POST':
        form = PostForm(request.POST)
        if form.is_valid():
            if request.POST['submit'] == _("Reply"):
                post = form.save(commit=False)
                post.reply_to = reply_to
                post.thread = post.reply_to.thread
                post.owner = request.user
                from taverna.parsers.templatetags.markup import markup
                post.text = markup(post.text, post.parser)

                post.save()

                request.user.profile.use_force("COMMENT_CREATE")
                request.user.profile.save()

                paginator = ExtendedPaginator(
                                Post.objects.filter(thread=post.thread)[1:],
                                settings.PAGE_LIMITATIONS["FORUM_COMMENTS"]
                            )
                last_page = paginator.num_pages

                return HttpResponseRedirect(
                           "%s?offset=%s#post_%s" % (
                               reverse(
                                   "forum.views.thread",
                                   args=[post.thread.pk]
                               ),
                               last_page, post.pk
                           )
                       )
    else:
        form = PostForm()

    return { 'form': form, 'post': reply_to}
Ejemplo n.º 3
0
 def item_description(self, item):
     return markup(item.text, item.parser)
Ejemplo n.º 4
0
 def item_description(self, item):
     if item.reply_to:
         return item.text
     else:
         return markup(item.text, item.parser)