From c4a714872ed52a8fe66048cbbb402234ff398980 Mon Sep 17 00:00:00 2001 From: hernani Date: Sun, 11 Apr 2010 17:41:15 +0000 Subject: [PATCH] user profile fixes git-svn-id: http://svn.osqa.net/svnroot/osqa/trunk@26 0cfe37f9-358a-4d5e-be75-b63607b5c754 --- forum/skins/default/templates/user_stats.html | 8 ++- forum/templatetags/question_list_tags.py | 4 ++ forum/views/users.py | 52 ++++--------------- log/django.osqa.log | 3 ++ osqa.iml | 6 +-- 5 files changed, 26 insertions(+), 47 deletions(-) diff --git a/forum/skins/default/templates/user_stats.html b/forum/skins/default/templates/user_stats.html index 92b4a74..bcb67e2 100644 --- a/forum/skins/default/templates/user_stats.html +++ b/forum/skins/default/templates/user_stats.html @@ -4,6 +4,7 @@ {% load extra_tags %} {% load extra_filters %} {% load humanize %} +{% load question_list_tags %} {% block usercontent %} @@ -16,7 +17,12 @@ {% endblocktrans %} {% endspaceless %} - {% include "users_questions.html" %} +
+ {% for question in questions %} + {% question_list_item_extended question %} + {% endfor %} +
+
{% spaceless %}

diff --git a/forum/templatetags/question_list_tags.py b/forum/templatetags/question_list_tags.py index 3ebb151..6238bce 100644 --- a/forum/templatetags/question_list_tags.py +++ b/forum/templatetags/question_list_tags.py @@ -9,6 +9,10 @@ register = template.Library() def question_list_item(question): return {'question': question} +@register.inclusion_tag('question_list/item_extended.html') +def question_list_item_extended(question): + return {'question': question} + @register.inclusion_tag('question_list/sort_tabs.html') def question_sort_tabs(sort_context): return sort_context diff --git a/forum/views/users.py b/forum/views/users.py index 9d7df8e..162ba2d 100644 --- a/forum/views/users.py +++ b/forum/views/users.py @@ -145,46 +145,12 @@ def edit_user(request, id): def user_stats(request, user_id, user_view): user = get_object_or_404(User, id=user_id) - questions = Question.objects.extra( - select={ - 'vote_count' : 'question.score', - 'favorited_myself' : 'SELECT count(*) FROM favorite_question f WHERE f.user_id = %s AND f.question_id = question.id', - 'la_user_id' : 'auth_user.id', - 'la_username' : 'auth_user.username', - 'la_user_gold' : 'forum_user.gold', - 'la_user_silver' : 'forum_user.silver', - 'la_user_bronze' : 'forum_user.bronze', - 'la_user_reputation' : 'forum_user.reputation' - }, - select_params=[user_id], - tables=['question', 'auth_user', 'forum_user'], - where=['NOT question.deleted AND question.author_id=%s AND question.last_activity_by_id = auth_user.id AND forum_user.user_ptr_id = auth_user.id'], - params=[user_id], - order_by=['-vote_count', '-last_activity_at'] - ).values('vote_count', - 'favorited_myself', - 'id', - 'title', - 'author_id', - 'added_at', - 'answer_accepted', - 'answer_count', - 'comment_count', - 'view_count', - 'favourite_count', - 'summary', - 'tagnames', - 'vote_up_count', - 'vote_down_count', - 'last_activity_at', - 'la_user_id', - 'la_username', - 'la_user_gold', - 'la_user_silver', - 'la_user_bronze', - 'la_user_reputation')[:100] - answered_questions = Question.objects.extra( + questions = Question.objects.filter(deleted=False, author=user).order_by('-added_at') + + answered_questions = Question.objects.filter(deleted=False, answers__author=user).distinct() + + """answered_questions = Question.objects.extra( select={ 'vote_up_count' : 'answer.vote_up_count', 'vote_down_count' : 'answer.vote_down_count', @@ -207,17 +173,17 @@ def user_stats(request, user_id, user_view): 'vote_count', 'answer_count', 'vote_up_count', - 'vote_down_count')[:100] + 'vote_down_count')[:100]""" up_votes = user.get_up_vote_count() down_votes = user.get_down_vote_count() votes_today = user.get_vote_count_today() votes_total = int(settings.MAX_VOTES_PER_DAY) - question_id_set = set(map(lambda v: v['id'], list(questions))) \ - | set(map(lambda v: v['id'], list(answered_questions))) + #question_id_set = set(map(lambda v: v['id'], list(questions))) \ + # | set(map(lambda v: v['id'], list(answered_questions))) - user_tags = Tag.objects.filter(questions__id__in = question_id_set) + user_tags = Tag.objects.filter(questions__author=user) try: from django.db.models import Count awards = Award.objects.extra( diff --git a/log/django.osqa.log b/log/django.osqa.log index 0a0aab3..c2fd27b 100644 --- a/log/django.osqa.log +++ b/log/django.osqa.log @@ -2646,3 +2646,6 @@ d:\osqa\dev\osqa\forum\models\user.py TIME: 2010-04-09 11:39:45,875 MSG: user.py d:\osqa\dev\osqa\forum\models\user.py TIME: 2010-04-09 11:39:45,881 MSG: user.py:get_profile_link:126 in get profile link Evgeny Fadeev d:\osqa\dev\osqa\forum\models\user.py TIME: 2010-04-09 11:39:45,927 MSG: user.py:get_profile_link:126 in get profile link rickross d:\osqa\dev\osqa\forum\models\user.py TIME: 2010-04-09 11:39:45,943 MSG: user.py:get_profile_link:126 in get profile link Evgeny Fadeev +d:\osqa\fromsvn\forum\models\user.py TIME: 2010-04-11 15:50:54,022 MSG: user.py:get_profile_link:126 in get profile link rickross +d:\osqa\fromsvn\forum\models\user.py TIME: 2010-04-11 15:50:54,124 MSG: user.py:get_profile_link:126 in get profile link DZ_Brandon +d:\osqa\fromsvn\forum\models\user.py TIME: 2010-04-11 18:23:14,994 MSG: user.py:get_profile_link:126 in get profile link DealsVista_com diff --git a/osqa.iml b/osqa.iml index 24046e3..aa15d10 100644 --- a/osqa.iml +++ b/osqa.iml @@ -4,12 +4,12 @@ - + -- 2.39.5