Пример #1
0
def content_comment_form(request, content, parent_id, form=None, template='feedback/content_comment_add.html'):
    if not form:
        if request.POST:
            form = CaptchaFreeThreadedCommentForm(user=request.user, data=request.POST)
        else:
            form = CaptchaFreeThreadedCommentForm(user=request.user)

    if request.user:
        name = ''
        if hasattr(request.user, 'get_full_name'):
            name = request.user.get_full_name()
        if not name:
            name = getattr(request.user, 'username', '')
        form.initial = {'name': name,
                        'email': getattr(request.user, 'email', '')}

    content_type = ContentType.objects.get_for_model(content)

    return render_to_response(template,
                              {'content_id': content.id,
                               'content_type_id': content_type.id,
                               'content': content,
                               'comment': form.instance,
                               'parent_id': parent_id,
                               'form': form,
                               'errors': form.errors,
                              },
                              context_instance=RequestContext(request))
Пример #2
0
def content_comment_form(request,
                         content,
                         parent_id,
                         form=None,
                         template='feedback/content_comment_add.html'):
    if not form:
        if request.POST:
            form = CaptchaFreeThreadedCommentForm(user=request.user,
                                                  data=request.POST)
        else:
            form = CaptchaFreeThreadedCommentForm(user=request.user)

    if request.user:
        name = ''
        if hasattr(request.user, 'get_full_name'):
            name = request.user.get_full_name()
        if not name:
            name = getattr(request.user, 'username', '')
        form.initial = {
            'name': name,
            'email': getattr(request.user, 'email', '')
        }

    content_type = ContentType.objects.get_for_model(content)

    return render_to_response(template, {
        'content_id': content.id,
        'content_type_id': content_type.id,
        'content': content,
        'comment': form.instance,
        'parent_id': parent_id,
        'form': form,
        'errors': form.errors,
    },
                              context_instance=RequestContext(request))
Пример #3
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)
Пример #4
0
def content_comment_add_form(context, content, parent_id=None):
    form = context.get('form', None)
    if not form or form.content._get_real_instance() != content:
        form = CaptchaFreeThreadedCommentForm(context['request'].user)
        form.content = content
    request = context['request']
    if request.user:
        form.initial = {'name': request.user.username}
    content_type = ContentType.objects.get_for_model(content)
    return {'content_id': content.id,
            'content_type_id': content_type.id,
            'parent_id': parent_id,
            'form': form,
            'MEDIA_URL': context['MEDIA_URL'],
            'request': context['request'],
           }
Пример #5
0
def content_comment_add_form(context, content, parent_id=None):
    form = context.get('form', None)
    if not form or form.content._get_real_instance() != content:
        form = CaptchaFreeThreadedCommentForm(context['request'].user)
        form.content = content
    request = context['request']
    if request.user:
        form.initial = {'name': request.user.username}
    content_type = ContentType.objects.get_for_model(content)
    return {
        'content_id': content.id,
        'content_type_id': content_type.id,
        'parent_id': parent_id,
        'form': form,
        'MEDIA_URL': context['MEDIA_URL'],
        'THEME_MEDIA_URL': context['THEME_MEDIA_URL'],
        'request': context['request'],
    }
Пример #6
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)