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}
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}