def render_to_response(self, context): """ Override render_to_response of view - if ajax then update pjax style! else normal render response.""" logger.info('PjaxMixin, this is the render_to_response function call. The context: %s' % context) if self.request.is_ajax(): logger.info('PjaxMixin, this is a ajax request.%s' % context) q = self.request.GET.get('q') # DSG BIG HACK marked = self.request.GET.get('editor') if marked == 'content-main': context.update({'editor_data': self.get_object().content_markdown}) elif marked == 'content-code-examples': context.update({'editor_data': self.get_object().content_codeexamples}) elif marked == 'content-demo': context.update({'editor_data': self.get_object().content_demo}) elif marked == 'content-design-decisions': context.update({'editor_data': self.get_object().content_designdecisions}) elif marked == 'content-further-learning': context.update({'editor_data': self.get_object().content_furtherlearning}) elif marked == 'content-gotchas': context.update({'editor_data': self.get_object().content_gotchas}) elif marked == 'content-tricks-tips': context.update({'editor_data': self.get_object().content_trickstips}) if marked is not None: return render_to_resp( 'content/editor_update.html', context) else: context.update({'preview': q}) return render_to_resp( self.ajax_template_name, context, context_instance = RequestContext(self.request, { 'pjax': self.request.META.get('HTTP_X_PJAX'),}), mimetype='application/javascript') else: logger.info('PjaxMixin, this is a normal request.') cards = PostCard.objects.filter(main_post=self.get_object()) card_comments = [] card_smiles = [] for card in cards: no_of_comments = beautifyData(len(CommentCard.objects.filter(post=card))) card_comments.append(no_of_comments) no_of_likes = beautifyData(card.likes) card_smiles.append(no_of_likes) zipped_cards = zip(card_comments, card_smiles, cards) context.update({'cards': zipped_cards}) print context return super(PostDetailView, self).render_to_response(context)
def post_ajax(self, request, *args, **kwargs): logger.info('%s, this is the ajax_post function from %s' % (self.__class__.__name__, self.__module__)) slug = self.kwargs['slug'] model = PostCard.objects.get(slug=slug) model.views += 1 model.save() return render_to_resp(self.ajax_template_name, {'card': model}, context_instance=RequestContext(request), mimetype='application/javascript')
def post_ajax(self, request, *args, **kwargs): logger.info('%s, this is the get_ajax function from %s' % (self.__class__.__name__, self.__module__)) slug = self.kwargs['slug'] value = self.request.POST.get('value') card = PostCard.objects.get(slug=slug) user = '******' user_id = auth.get_user_model().objects.get(username=user).id print value, card, user_id com = CommentCard.objects.create(comment=value, post=card, author_id=user_id) com.save() # force save on card to update stats card.save() comments = CommentCard.objects.filter(post=card) shows = [True for x in xrange(0, len(comments))] # Create Flag and set True in hides array to for displaying more load_more = False if len(comments) > self.no_to_display: load_more = True shows[0:self.no_to_display] = [False for x in xrange(0, self.no_to_display)] # zipped data zipped_cards = zip(shows, comments) data = {'comments': zipped_cards, 'load_more': load_more, 'card': card} print "hjhj" return render_to_resp(self.ajax_template_name, data, context_instance=RequestContext(request), mimetype='application/javascript')
def render_to_response(self, context): """ Override render_to_response of view - if ajax then update pjax style! else normal render response.""" logger.info('PjaxResponseMixin, this is the render_to_response function call. The context: %s' % context) if self.request.is_ajax(): logger.info('PjaxResponseMixin, this is a ajax request') return render_to_resp( self.pjax_template_name, context, context_instance = RequestContext(self.request, { 'pjax': self.request.META.get('HTTP_X_PJAX'),}), content_type='application/javascript') else: logger.info('PjaxResponseMixin, this is a normal request') return super(PjaxResponseMixin, self).render_to_response(context)
def post_ajax(self, request, *args, **kwargs): logger.info('%s, this is the ajax_post function from %s' % (self.__class__.__name__, self.__module__)) slug = self.kwargs['slug'] model = PostCard.objects.get(slug=slug) if not Liker.objects.filter(card_id=model.id, author_id=request.user.id).exists(): model.likes += 1 Liker.objects.create(card=model, author_id=request.user.id) else: return HttpResponseNotModified() # Not Modified 304 status code model.save() return render_to_resp(self.ajax_template_name, {'card': model}, context_instance=RequestContext(request), mimetype='application/javascript')
def post(self, request, *args, **kwargs): logger.info('%s, this is the ajax_get function from %s' % (self.__class__.__name__, self.__module__)) #self.object = self.get_object() #context = super(PostEditView, self).get_context_data(**kwargs) content = request.POST.get('foo') print request print request.POST print "content", content preview = cwmarkdown(content) print "preview", preview return HttpResponse(preview) return render_to_resp(self.template_name, context, context_instance=RequestContext(request), mimetype='application/javascript')
def get_ajax(self, request, *args, **kwargs): logger.info('%s, this is the get_ajax function from %s' % (self.__class__.__name__, self.__module__)) slug = self.kwargs['slug'] card = PostCard.objects.get(slug=slug) comments = CommentCard.objects.filter(post=card) shows = [True for x in xrange(0, len(comments))] # Create Flag and set True in hides array to for displaying more load_more = False if len(comments) > self.no_to_display: load_more = True shows[0:self.no_to_display] = [False for x in xrange(0, self.no_to_display)] # zipped data zipped_cards = zip(shows, comments) data = {'comments': zipped_cards, 'load_more': load_more, 'card': card} return render_to_resp(self.ajax_template_name, data, context_instance=RequestContext(request), mimetype='application/javascript')
def post_ajax(self, request, *args, **kwargs): logger.info('%s, this is the ajax_post function from %s' % (self.__class__.__name__, self.__module__)) q = self.request.POST.get('stat') # need to use a load slug = self.kwargs['slug'] model = PostCard.objects.get(slug=slug) if q == 'click': model.views += 1 elif q == 'like': model.likes += 1 model.save() likes = beautifyData(model.likes) views = beautifyData(model.views) data = {'card': model, 'clicks': views, 'likes': likes} return render_to_resp(self.template_name, data, context_instance=RequestContext(request), mimetype='application/javascript')
def show_genres(request): return render_to_resp("content/genres.html", {'nodes':PostNode.objects.all()}, context_instance=RequestContext(request))
def get_ajax(self, request, *args, **kwargs): logger.info('%s, this is the ajax_get function from %s' % (self.__class__.__name__, self.__module__)) summary_stats = request.GET.get('summary_stats') input_placeholder = '' # if empty get template to not display input load_more_text = '' posts = None input_type = 'text' editable=True if summary_stats == 'updates': model = Post.objects.get(slug=kwargs['slug']) posts = Update.objects.filter(post=model) load_more_text = 'See more of Changelog' editable = False if summary_stats == 'dependencies': model = Post.objects.get(slug=kwargs['slug']) posts = Dependency.objects.filter(post=model) load_more_text = 'See more Dependencies' editable = False if summary_stats == 'issues': model = Post.objects.get(slug=kwargs['slug']) posts = Issue.objects.filter(post=model) input_placeholder = 'Search Issues' load_more_text = 'See more Issues' input_type = 'search' if summary_stats == 'troubleshooting': model = Post.objects.get(slug=kwargs['slug']) posts = Troubleshooting.objects.filter(post=model) input_placeholder = 'Search Troubleshooting' load_more_text = 'See more from Troubleshooting' if summary_stats == 'comments': model = Post.objects.get(slug=kwargs['slug']) posts = Comment.objects.filter(post=model, is_reply=False) input_placeholder = 'Say something nice/cynical' load_more_text = 'See more Comments' replyarray=[] for p in posts: p.forceDateAgo() replyarray.append(len(Comment.objects.filter(reply=p))) array = [] i = 0 for p in posts: if i < 5: i = i + 1 array.append(True) else: array.append(False) print array zipped = zip(array,replyarray, posts) context = super(PostTitleView, self).get_context_data(**kwargs) context.update({'input_placeholder': input_placeholder, 'load_more_text': load_more_text, 'posts': zipped, 'editable': editable, 'icon': 'fa fa-clock-o fa-2x', 'input_name': input_type, 'input_type': input_type, }) return render_to_resp(self.template_name, context, context_instance=RequestContext(request), mimetype='application/javascript')