def get(self, request, *args, **kwargs): """Flag a particular comment.""" try: models.CommentFlag.objects.report( request.user, self.kwargs['pk'], ) except IntegrityError: if request.is_ajax(): return core_utils.respond_with_json({ 'success': False, 'reason': 'You have already reported this comment' }) messages.error(request, 'You have already reported this comment') return redirect(request.META['HTTP_REFERER']) if request.is_ajax(): return core_utils.respond_with_json({ 'success': True }) messages.success(request, 'This comment has been reported') return redirect(request.META['HTTP_REFERER'])
def ajax_form_invalid(self, form): """Redirect if form invalid.""" return core_utils.respond_with_json({ 'success': False, 'reason': str(form.errors) })
def form_valid(self, form): """ If the form is valid and no duplicate votes have been cast, save the form. """ cookie_name = 'poll_%s_voted' % self.kwargs['pk'] form.save(self.request, cookie_name, self.kwargs['pk']) if self.request.is_ajax(): response = core_utils.respond_with_json({ 'success': True, 'results': render_to_string( self.ajax_template_name, RequestContext(self.request, { 'object_list': self.poll.answers\ .get_poll_percentages() }) ) }) else: response = self.render_to_response( self.get_context_data( object_list=self.poll.answers.get_poll_percentages() ) ) response.set_cookie(cookie_name, True) return response
def form_valid(self, form): """Validate and save form.""" image_ids = form.save() return core_utils.respond_with_json({ 'success': True, 'image_ids': image_ids })
def form_valid(self, form): """Save new tags.""" form.save(self.request.POST.getlist('tags', [])) return core_utils.respond_with_json({ 'success': True })
def post(self, request, *args, **kwargs): slug = request.POST.get('slug') content = request.POST.get('content') content_block = get_object_or_404(models.ContentModel, slug=slug) content_block.content = content content_block.save() return utils.respond_with_json({'success': True})
def form_valid(self, form): """Ensure form is valid and return response.""" obj = form.save(self.request) return core_utils.respond_with_json({ 'success': True, 'message': 'You have been successfully \ subscribed to our newsletter' })
def form_invalid(self, form): """ Return a list of errors of items that didn't pass validation. """ return core_utils.respond_with_json({ 'success': False, 'reason': str(form.errors) })
def ajax_form_valid(self, form): """Allow for ajax form posts and check if form is valid.""" try: comment = form.save(self.request) num_comments = models.CommentModel.objects.permitted().count() return core_utils.respond_with_json({ 'success': True, 'comment': render_to_string( self.template_name, RequestContext(self.request, {'comment': comment}) ), 'num_comments': num_comments }) except exceptions.RapidCommentingError as e: return core_utils.respond_with_json({ 'success': False, 'reason': e.value })
def post(self, request, *args, **kwargs): """Record the user removing their like.""" try: throttle_key = _like(request, 'remove') except (exceptions.RapidLikingError, exceptions.UnauthorizedLikingError), e: return core_utils.respond_with_json({ 'success': False, 'reason': str(e) })
def get(self, request, *args, **kwargs): """Get tags.""" term = request.GET.get('term', '') return core_utils.respond_with_json( [tag.title for tag in models.Tag.objects\ .for_current_site()\ .filter(title__icontains=term) ] )
def dispatch(self, request, *args, **kwargs): """Handle request and return response.""" if self.partial_template_name is None: raise ImproperlyConfigured( _("'AjaxMorePaginationMixin' requires " "'partial_template_name' attribute to be set.") ) page = request.GET.get('page', None) if page is not None: if hasattr(self, 'get_object'): self.object = self.get_object() self.queryset = self.get_queryset() paginate_by = request.GET.get('paginate_by', self.paginate_by) paginator = Paginator(self.queryset, paginate_by) object_list= paginator.page(page) has_previous = object_list.has_previous() has_next = object_list.has_next() return core_utils.respond_with_json({ 'success': True, 'content': render_to_string( self.partial_template_name, RequestContext( request, { 'object_list': object_list } ) ), 'has_previous': has_previous, 'has_next': has_next, 'previous_page_number': object_list.previous_page_number() \ if has_previous else 0, 'next_page_number': object_list.next_page_number() \ if has_next else 0, 'page_number': object_list.number, 'start_index': object_list.start_index(), 'end_index': object_list.end_index() }) return super(AjaxMorePaginationMixin, self)\ .dispatch(request, *args, **kwargs)
def form_invalid(self, form): """Return to browser if unsuccessful.""" return core_utils.respond_with_json({ 'success': False })
return response def post(self, request, *args, **kwargs): """Record what the user has liked.""" try: throttle_key = _like(request, 'add') except (exceptions.RapidLikingError, exceptions.UnauthorizedLikingError), e: return core_utils.respond_with_json({ 'success': False, 'reason': str(e) }) response = core_utils.respond_with_json({ 'success': True }) response.set_cookie(throttle_key, True) return response class RemoveLike(core_mixins.DeterministicLoginRequiredMixin, generic_views.View): """Allow users to remove their likes.""" def deterministic_function(self): """Determine if annonymous liking is allowed.""" return settings.ANONYMOUS_LIKES_ALLOWED def get(self, request, *args, **kwargs):
def form_invalid(self, form): """Fail form validation and render form again.""" return core_utils.respond_with_json({ 'success': False })