Пример #1
0
def content_comment_add(request, content_type, content_id, parent_id=None):
    """ Create or save a freecomment form """

    content_type = get_object_or_404(ContentType, id=int(content_type))
    content = content_type.get_object_for_this_type(id=content_id)

    if request.POST:
        form = CaptchaFreeThreadedCommentForm(user=request.user, data=request.POST)
    else:
        if request.is_ajax():
            return content_comment_form(request, content, parent_id)
        else:
            return content_comment_form(request, content, parent_id,
                              template='feedback/content_comment_preview.html')

    if form.is_valid():
        new_comment = form.save(commit=False)
        new_comment.ip_address = request.META.get('REMOTE_ADDR', None)
        new_comment.content_type = content_type
        new_comment.object_id = int(content_id)
        if parent_id:
            new_comment.parent = get_object_or_404(FreeThreadedComment, id=int(parent_id))
        new_comment.save()

        if request.is_ajax():
            moderation = request.user and request.user.is_staff
            return render_to_response('feedback/content_comment.html',
                                      {'content': content,
                                       'content_id': content_id,
                                       'content_type_id': content_type.id,
                                       'parent_id': parent_id,
                                       'show_links': True,
                                       'moderation': moderation,
                                       'show_children': False,
                                       'comment': new_comment},
                                       context_instance=RequestContext(request))

        else:
            if request.user and not request.user.is_anonymous():
                request.user.message_set.create(message=_("Your message has been posted successfully."))
            else:
                request.session['successful_data'] = {
                    'name': form.cleaned_data['name'],
                    'website': form.cleaned_data['website'],
                    'email': form.cleaned_data['email'],
                }
            return HttpResponseRedirect(content.get_absolute_url())
    else:
        template = 'feedback/content_comment_preview.html'
        if request.is_ajax():
            template = 'feedback/content_comment_add.html'

        return content_comment_form(request, content, parent_id, template=template, form=form)
Пример #2
0
def content_comment_add(request, content_type, content_id, parent_id=None):
    """ Create or save a freecomment form """

    content_type = get_object_or_404(ContentType, id=int(content_type))
    content = content_type.get_object_for_this_type(id=content_id)

    if request.POST:
        form = CaptchaFreeThreadedCommentForm(user=request.user,
                                              data=request.POST)
    else:
        if request.is_ajax():
            return content_comment_form(request, content, parent_id)
        else:
            return content_comment_form(
                request,
                content,
                parent_id,
                template='feedback/content_comment_preview.html')

    if form.is_valid():
        new_comment = form.save(commit=False)
        new_comment.ip_address = request.META.get('REMOTE_ADDR', None)
        new_comment.content_type = content_type
        new_comment.object_id = int(content_id)
        if parent_id:
            new_comment.parent = get_object_or_404(FreeThreadedComment,
                                                   id=int(parent_id))
        new_comment.save()

        if request.is_ajax():
            moderation = request.user and request.user.is_staff
            return render_to_response('feedback/content_comment.html', {
                'content': content,
                'content_id': content_id,
                'content_type_id': content_type.id,
                'parent_id': parent_id,
                'show_links': True,
                'moderation': moderation,
                'show_children': False,
                'comment': new_comment
            },
                                      context_instance=RequestContext(request))

        else:
            if request.user and not request.user.is_anonymous():
                request.user.message_set.create(
                    message=_("Your message has been posted successfully."))
            else:
                request.session['successful_data'] = {
                    'name': form.cleaned_data['name'],
                    'website': form.cleaned_data['website'],
                    'email': form.cleaned_data['email'],
                }
            return HttpResponseRedirect(content.get_absolute_url())
    else:
        template = 'feedback/content_comment_preview.html'
        if request.is_ajax():
            template = 'feedback/content_comment_add.html'

        return content_comment_form(request,
                                    content,
                                    parent_id,
                                    template=template,
                                    form=form)