Пример #1
0
def post_detail_sidebar(request, id, slug=None):
    
    reply_to = _get_reply_to(request)
    qs = (request.user.is_staff and Post.all_objects or Post.objects)
    filtr = {'id': id}
       
    post = get_object_or_404(qs, **filtr)
    if post.comments_open():
        Form = (request.user.is_authenticated()
                and CommentForm
                or AnonymousCommentForm)
        form = build_form(Form, request, post=post, user=request.user,
                          remote_ip=request.META.get('REMOTE_ADDR'),
                          initial={'reply_to': reply_to})
        if form.is_valid():
            c, user_is_new = form.save()
            if not request.user.is_authenticated():
                if user_is_new:
                    c.user.backend = 'django.contrib.auth.backends.ModelBackend'
                    message = _('Please look in your mailbox for info about your account.')
                else:
                    ActionRecord.approvals.send_approval(c)
                    message = _('Please look in your mailbox for comment approval link.')
            else:
                message = None
            raise RedirectException(c.get_absolute_url(), notice_message=message)
    else:
        form = None
    return {
            'object': post,
            'form': form,
            'reply_to': reply_to,
            'feedurl': 'comments/%s' % post.id,
            'site': Site.objects.get_current(),
            'post_detail': True}
Пример #2
0
def post_detail(request, year, month, day, slug):
    reply_to = _get_reply_to(request)
    year, month, day = int(year), int(month), int(day)
    post = get_object_or_404(Post.all_objects, slug=slug,
                             date__year=year,
                             date__month=month,
                             date__day=day)
    if post.comments_open():
        Form = (request.user.is_authenticated()
                and CommentForm
                or AnonymousCommentForm)
        form = build_form(Form, request, post=post, user=request.user,
                          remote_ip=request.META.get('REMOTE_ADDR'),
                          initial={'reply_to': reply_to})
        if form.is_valid():
            c, user_is_new = form.save()
            if not request.user.is_authenticated():
                if user_is_new:
                    #FIXED 23.01.2010
                    if SettingsCached.param.ANONYMOUS_COMMENTS_APPROVED:
                        c.user.backend = 'django.contrib.auth.backends.ModelBackend'
                        _login(request, c.user)
                    message = _('Please look in your mailbox for info about your account.')
                else:
                    ActionRecord.approvals.send_approval(c)
                    message = _('Please look in your mailbox for comment approval link.')
            else:
                message = None
            raise RedirectException(c.get_absolute_url(), notice_message=message)
    else:
        form = None
    
    return {
            'object': post,
            'form': form,
            'reply_to': reply_to,
            'feedurl': 'comments/%s' % post.id,
            'site': Site.objects.get_current(),
            'post_detail': True}