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