From: matt Date: Mon, 10 May 2010 18:03:36 +0000 (+0000) Subject: Fixed OSQA-150: "tags pages" and "unanswered questions" pages have proper titles... X-Git-Tag: live~933 X-Git-Url: https://git.openstreetmap.org/osqa.git/commitdiff_plain/f241c71f15e002848cf9527c7141063c6c5e5bf8 Fixed OSQA-150: "tags pages" and "unanswered questions" pages have proper titles. As a bonus, user pages now have specific titles instead of a generic one for all users. git-svn-id: http://svn.osqa.net/svnroot/osqa/trunk@196 0cfe37f9-358a-4d5e-be75-b63607b5c754 --- diff --git a/forum/skins/default/templates/questions.html b/forum/skins/default/templates/questions.html index ddf4f69..9eea455 100644 --- a/forum/skins/default/templates/questions.html +++ b/forum/skins/default/templates/questions.html @@ -4,7 +4,7 @@ {% load i18n %} {% load extra_tags %} -{% block title %}{% spaceless %}{% trans "Questions" %}{% endspaceless %}{% endblock %} +{% block title %}{% spaceless %}{{ page_title }}{% endspaceless %}{% endblock %} {% block content %}
{% question_list_title %} diff --git a/forum/views/readers.py b/forum/views/readers.py index beb3744..bac3c0c 100644 --- a/forum/views/readers.py +++ b/forum/views/readers.py @@ -49,20 +49,20 @@ def index(request): def unanswered(request): return question_list(request, Question.objects.filter(extra_ref=None), _('Open questions without an accepted answer'), - sort='active') + 'active', None, _("Unanswered questions")) @decorators.render('questions.html', 'questions') def questions(request): - return question_list(request, Question.objects.all(), sort='active') + return question_list(request, Question.objects.all(), _('questions'), 'active') @decorators.render('questions.html') def tag(request, tag): return question_list(request, Question.objects.filter(tags__name=unquote(tag)), mark_safe(_('Questions tagged %(tag)s') % {'tag': tag}), - sort='active') + 'active', None, mark_safe(_('Questions tagged %(tag)s') % {'tag': tag})) @decorators.list('questions', QUESTIONS_PAGE_SIZE) -def question_list(request, initial, list_description=_('questions'), sort=None, base_path=None): +def question_list(request, initial, list_description=_('questions'), sort=None, base_path=None, page_title=None): questions = initial.filter(deleted=None, in_moderation=None) if request.user.is_authenticated(): @@ -79,12 +79,16 @@ def question_list(request, initial, list_description=_('questions'), sort=None, questions=questions.order_by(view_dic.get(sort, '-added_at')) + if page_title is None: + page_title = _("Questions") + return { "questions" : questions, "questions_count" : questions.count(), #"tags_autocomplete" : _get_tags_cache_json(), "list_description": list_description, "base_path" : base_path, + "page_title" : page_title, } diff --git a/forum/views/users.py b/forum/views/users.py index 8acd5d6..c55b792 100644 --- a/forum/views/users.py +++ b/forum/views/users.py @@ -121,17 +121,20 @@ def user_view(template, tab_name, tab_description, page_title, private=False): if private and not user == request.user: return HttpResponseForbidden() context = fn(request, user) + + rev_page_title = user.username + " - " + page_title + context.update({ "tab_name" : tab_name, "tab_description" : tab_description, - "page_title" : page_title, + "page_title" : rev_page_title, }) return render_to_response(template, context, context_instance=RequestContext(request)) return decorated return decorator -@user_view('users/stats.html', 'stats', _('user profile'), _('user profile overview')) +@user_view('users/stats.html', 'stats', _('user profile'), _('user overview')) def user_stats(request, user): questions = Question.objects.filter(author=user, deleted=None).order_by('-added_at') answers = Answer.objects.filter(author=user, deleted=None).order_by('-added_at') @@ -161,21 +164,21 @@ def user_stats(request, user): "total_awards" : len(awards), } -@user_view('users/recent.html', 'recent', _('recent user activity'), _('profile - recent activity')) +@user_view('users/recent.html', 'recent', _('recent user activity'), _('recent activity')) def user_recent(request, user): activities = user.actions.exclude(action_type__in=("voteup", "votedown", "voteupcomment", "flag")).order_by('-action_date')[:USERS_PAGE_SIZE] return {"view_user" : user, "activities" : activities} -@user_view('users/votes.html', 'votes', _('user vote record'), _('profile - votes'), True) +@user_view('users/votes.html', 'votes', _('user vote record'), _('votes'), True) def user_votes(request, user): votes = user.votes.filter(node__deleted=None).order_by('-voted_at')[:USERS_PAGE_SIZE] return {"view_user" : user, "votes" : votes} -@user_view('users/reputation.html', 'reputation', _('user reputation in the community'), _('profile - user reputation')) +@user_view('users/reputation.html', 'reputation', _('user reputation in the community'), _('user reputation')) def user_reputation(request, user): rep = list(user.reputes.order_by('date')) values = [r.value for r in rep] @@ -188,13 +191,13 @@ def user_reputation(request, user): return {"view_user": user, "reputation": reversed(rep), "graph_data": graph_data} -@user_view('users/questions.html', 'favorites', _('favorite questions'), _('profile - favorite questions')) +@user_view('users/questions.html', 'favorites', _('favorite questions'), _('favorite questions')) def user_favorites(request, user): favorites = FavoriteAction.objects.filter(user=user) return {"favorites" : favorites, "view_user" : user} -@user_view('users/subscriptions.html', 'subscriptions', _('subscription settings'), _('profile - subscriptions'), True) +@user_view('users/subscriptions.html', 'subscriptions', _('subscription settings'), _('subscriptions'), True) def user_subscriptions(request, user): if request.method == 'POST': form = SubscriptionSettingsForm(request.POST)