def index(request): user = None login(request) home = True if request.user.is_authenticated(): user = request.user topics = Topic.objects.all top_users = [] inactive_users = User.get_inactive temp_users = Feedback.objects.values('user').annotate( user_count=Count('user')).order_by('-user_count').exclude( user__in=inactive_users)[:12] for temp in temp_users: try: top_user = User.objects.get(username=temp['user']) except Exception: top_user = None if top_user: top_users.append(top_user) target = 500000 feedback = Feedback.objects.all().exclude(user__in=inactive_users).count() feedback_ratings = Rating.objects.all().count() article_ratings = ArticleRating.objects.all().count() total = feedback + feedback_ratings + article_ratings top_liked = ArticleDetails.get_top_liked(5) top_disliked = ArticleDetails.get_top_disliked(5) top_commented = ArticleDetails.get_top_commented(5) tags = Tag.objects.all percent = int((float(total) / target) * 100) percent_draw = (float(total) / target) * 10 template_context = { 'settings': settings, 'request': request, 'top_users': top_users, 'home': home, 'topics': topics, 'target': target, 'settings': settings, 'user': user, 'total': total, 'percent_draw': percent_draw, 'percent': percent, 'top_liked': top_liked, 'top_disliked': top_disliked, 'top_commented': top_commented, 'tags': tags } return render_to_response('index.html', template_context, RequestContext(request))
def index(request): user = None login(request) home = True if request.user.is_authenticated(): user = request.user topics = Topic.objects.all top_users = [] inactive_users = User.get_inactive temp_users = Feedback.objects.values('user').annotate(user_count=Count('user')).order_by('-user_count').exclude(user__in=inactive_users)[:12] for temp in temp_users: try: top_user = User.objects.get(username=temp['user']) except Exception: top_user = None if top_user: top_users.append(top_user) target = 500000 feedback = Feedback.objects.all().exclude(user__in=inactive_users).count() feedback_ratings = Rating.objects.all().count() article_ratings = ArticleRating.objects.all().count() total = feedback + feedback_ratings + article_ratings top_liked = ArticleDetails.get_top_liked(5) top_disliked = ArticleDetails.get_top_disliked(5) top_commented = ArticleDetails.get_top_commented(5) tags = Tag.objects.all percent = int((float(total)/target)*100) percent_draw = (float(total)/target)*10 template_context = {'settings':settings, 'request':request, 'top_users':top_users, 'home':home,'topics':topics,'target':target,'settings': settings,'user':user,'total':total,'percent_draw':percent_draw, 'percent':percent, 'top_liked':top_liked, 'top_disliked':top_disliked, 'top_commented':top_commented, 'tags':tags} return render_to_response('index.html', template_context ,RequestContext(request))
def top_commented(request): user = None if request.user.is_authenticated(): user = request.user if not request.user.is_staff: return HttpResponseRedirect(reverse('index')) articles = ArticleDetails.get_top_commented(settings.paginator) title = 'الأكثر مناقشة' return render_to_response('statistics.html', {'type':"comments",'settings': settings,'user':user,'articles': articles, 'title': title} ,RequestContext(request))
def top_commented(request): user = None if request.user.is_authenticated(): user = request.user if not request.user.is_staff: return HttpResponseRedirect(reverse('index')) articles = ArticleDetails.get_top_commented(settings.paginator) title = 'الأكثر مناقشة' return render_to_response( 'statistics.html', { 'type': "comments", 'settings': settings, 'user': user, 'articles': articles, 'title': title }, RequestContext(request))
def profile_likes_dislikes(self, user, is_likes): query = '''SELECT core_articleheader.topic_id, core_articleheader.name, core_topic.slug, core_articleheader.order, core_articledetails.id, core_articledetails.header_id, core_articledetails.slug, core_articledetails.summary, core_articledetails._summary_rendered, core_articledetails.likes, core_articledetails.dislikes, core_articledetails.mod_date, core_articledetails.feedback_count, core_articleheader.chapter_id, core_chapter.name, core_articleheader.branch_id, core_branch.name, core_topic.name, core_branch.slug, core_chapter.slug, core_articledetails.original, original_articledetails.slug FROM core_articleheader INNER JOIN core_articledetails ON core_articleheader.id = core_articledetails.header_id INNER JOIN core_articlerating ON core_articledetails.id = core_articlerating.articledetails_id AND core_articlerating.user = %s AND core_articlerating.vote IS %s INNER JOIN core_articledetails original_articledetails ON original_articledetails.id = core_articledetails.original INNER JOIN core_topic ON core_articleheader.topic_id = core_topic.id LEFT JOIN core_chapter ON core_articleheader.chapter_id = core_chapter.id LEFT JOIN core_branch ON core_articleheader.branch_id = core_branch.id WHERE core_articledetails.current IS TRUE ORDER BY coalesce(core_topic.order, 0), coalesce(core_chapter.order, 0), coalesce(core_branch.order, 0), core_articleheader.order''' cursor = connection.cursor() cursor.execute(query, [user, is_likes]) articles_list = [] for row in cursor.fetchall(): p = ArticleDetails(id=row[4], header_id=row[5], slug=row[6], summary=row[7], _summary_rendered=row[8], likes=row[9], dislikes=row[10], mod_date=row[11], feedback_count=row[12], original=row[20]) p.topic_id = row[0] p.name = row[1] p.topic_slug = row[2] p.order = row[3] p.chapter_id = row[13] p.chapter_name = row[14] p.branch_id = row[15] p.branch_name = row[16] p.topic_name = row[17] p.branch_slug = row[18] p.chapter_slug = row[19] p.original_slug = row[21] articles_list.append(p) cursor.close() return articles_list