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))
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))
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_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'], }
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'], }
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)