コード例 #1
0
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))
コード例 #2
0
ファイル: views.py プロジェクト: kimohashem/sharek
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))
コード例 #3
0
ファイル: views.py プロジェクト: kimohashem/sharek
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))
コード例 #4
0
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))
コード例 #5
0
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
コード例 #6
0
ファイル: models.py プロジェクト: amedhat3/sharek
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