diff options
Diffstat (limited to 'forum/views')
-rwxr-xr-x | forum/views/meta.py | 8 | ||||
-rw-r--r-- | forum/views/readers.py | 33 | ||||
-rwxr-xr-x | forum/views/users.py | 12 | ||||
-rwxr-xr-x | forum/views/writers.py | 14 |
4 files changed, 49 insertions, 18 deletions
diff --git a/forum/views/meta.py b/forum/views/meta.py index 40f3d394..af5fe6df 100755 --- a/forum/views/meta.py +++ b/forum/views/meta.py @@ -14,6 +14,7 @@ def about(request): def faq(request): data = { + 'view_name':'faq', 'gravatar_faq_url': reverse('faq') + '#gravatar', #'send_email_key_url': reverse('send_email_key'), 'ask_question_url': reverse('ask'), @@ -21,7 +22,7 @@ def faq(request): return render_to_response('faq.html', data, context_instance=RequestContext(request)) def feedback(request): - data = {} + data = {'view_name':'feedback'} form = None if request.method == "POST": form = FeedbackForm(request.POST) @@ -43,7 +44,7 @@ def feedback(request): feedback.CANCEL_MESSAGE=_('We look forward to hearing your feedback! Please, give it next time :)') def privacy(request): - return render_to_response('privacy.html', context_instance=RequestContext(request)) + return render_to_response('privacy.html', {'view_name':'privacy'}, context_instance=RequestContext(request)) def logout(request):#refactor/change behavior? #currently you click logout and you get @@ -54,6 +55,7 @@ def logout(request):#refactor/change behavior? #why not just show a message: you are logged out of askbot, but #if you really want to log out -> go to your openid provider return render_to_response('logout.html', { + 'view_name':'logout', 'next' : get_next_url(request), }, context_instance=RequestContext(request)) @@ -66,6 +68,7 @@ def badges(request):#user status/reputation system return render_to_response('badges.html', { 'badges' : badges, + 'view_name': 'badges', 'mybadges' : my_badges, 'feedback_faq_url' : reverse('feedback'), }, context_instance=RequestContext(request)) @@ -85,6 +88,7 @@ def badge(request, id): ).distinct('id') return render_to_response('badge.html', { + 'view_name': badge, 'awards' : awards, 'badge' : badge, }, context_instance=RequestContext(request)) diff --git a/forum/views/readers.py b/forum/views/readers.py index 677cbd67..338da62b 100644 --- a/forum/views/readers.py +++ b/forum/views/readers.py @@ -134,6 +134,8 @@ def questions(request):#a view generating listing of questions, used by 'unanswe #todo: organize variables by type return render_to_response('questions.html', { + 'view_name': 'questions', + 'active_tab': 'questions', 'questions' : questions, 'contributors' : contributors, 'author_name' : meta_data.get('author_name',None), @@ -182,6 +184,8 @@ def search(request): #generates listing of questions matching a search query - i else: raise Http404 +#todo: eliminate this - need to go through templates to make sure +#that there are no urls pointing here def tag(request, tag):#stub generates listing of questions tagged with a single tag return questions(request, tagname=tag) @@ -210,6 +214,7 @@ def tags(request):#view showing a listing of available tags - plain list tags = objects_list.page(objects_list.num_pages) return render_to_response('tags.html', { + "view_name":"tags", "active_tab": "tags", "tags" : tags, "stag" : stag, @@ -341,17 +346,19 @@ def question(request, id):#refactor - long subroutine. display question body, an question_view.save() return render_to_response('question.html', { - "question" : question, - "question_vote" : question_vote, - "question_comment_count":question.comments.count(), - "answer" : answer_form, - "answers" : page_objects.object_list, - "user_answer_votes": user_answer_votes, - "tags" : question.tags.all(), - "tab_id" : view_id, - "favorited" : favorited, - "similar_questions" : Question.objects.get_similar_questions(question), - "context" : { + 'view_name': 'question', + 'active_tab': 'questions', + 'question' : question, + 'question_vote' : question_vote, + 'question_comment_count':question.comments.count(), + 'answer' : answer_form, + 'answers' : page_objects.object_list, + 'user_answer_votes': user_answer_votes, + 'tags' : question.tags.all(), + 'tab_id' : view_id, + 'favorited' : favorited, + 'similar_questions' : Question.objects.get_similar_questions(question), + 'context' : { 'is_paginated' : True, 'pages': objects_list.num_pages, 'page': page, @@ -389,6 +396,8 @@ def question_revisions(request, id): } revisions[i].summary = _('initial version') return render_to_response('revisions_question.html', { + 'view_name':'question_revisions', + 'active_tab':'questions', 'post': post, 'revisions': revisions, }, context_instance=RequestContext(request)) @@ -408,6 +417,8 @@ def answer_revisions(request, id): revisions[i].diff = revisions[i].text revisions[i].summary = _('initial version') return render_to_response('revisions_answer.html', { + 'view_name':'answer_revisions', + 'active_tab':'questions', 'post': post, 'revisions': revisions, }, context_instance=RequestContext(request)) diff --git a/forum/views/users.py b/forum/views/users.py index 113c46e6..76e41008 100755 --- a/forum/views/users.py +++ b/forum/views/users.py @@ -102,6 +102,7 @@ def moderate_user(request, id): response = HttpResponseForbidden(mimetype="application/json") return response +#non-view function def set_new_email(user, new_email, nomessage=False): if new_email != user.email: user.email = new_email @@ -142,6 +143,7 @@ def edit_user(request, id): else: form = EditUserForm(user) return render_to_response('user_edit.html', { + 'active_tab': 'users', 'form' : form, 'gravatar_faq_url' : reverse('faq') + '#gravatar', }, context_instance=RequestContext(request)) @@ -268,6 +270,7 @@ def user_stats(request, user_id, user_view): moderate_user_form = None return render_to_response(user_view.template_file,{ + 'active_tab':'users', 'moderate_user_form': moderate_user_form, "tab_name" : user_view.id, "tab_description" : user_view.tab_description, @@ -533,6 +536,7 @@ def user_recent(request, user_id, user_view): activities.sort(lambda x,y: cmp(y.time, x.time)) return render_to_response(user_view.template_file,{ + 'active_tab':'users', "tab_name" : user_view.id, "tab_description" : user_view.tab_description, "page_title" : user_view.page_title, @@ -686,6 +690,7 @@ def user_responses(request, user_id, user_view): responses.sort(lambda x,y: cmp(y.time, x.time)) return render_to_response(user_view.template_file,{ + 'active_tab':'users', "tab_name" : user_view.id, "tab_description" : user_view.tab_description, "page_title" : user_view.page_title, @@ -748,6 +753,7 @@ def user_votes(request, user_id, user_view): votes.extend(answer_votes) votes.sort(lambda x,y: cmp(y['voted_at'], x['voted_at'])) return render_to_response(user_view.template_file,{ + 'active_tab':'users', "tab_name" : user_view.id, "tab_description" : user_view.tab_description, "page_title" : user_view.page_title, @@ -788,6 +794,7 @@ def user_reputation(request, user_id, user_view): reps = '[%s]' % reps return render_to_response(user_view.template_file, { + 'active_tab':'users', "tab_name": user_view.id, "tab_description": user_view.tab_description, "page_title": user_view.page_title, @@ -839,6 +846,7 @@ def user_favorites(request, user_id, user_view): 'la_user_bronze', 'la_user_reputation') return render_to_response(user_view.template_file,{ + 'active_tab':'users', "tab_name" : user_view.id, "tab_description" : user_view.tab_description, "page_title" : user_view.page_title, @@ -873,6 +881,7 @@ def user_email_subscriptions(request, user_id, user_view): tag_filter_form = TagFilterSelectionForm(instance=user) action_status = None return render_to_response(user_view.template_file,{ + 'active_tab':'users', 'tab_name':user_view.id, 'tab_description':user_view.tab_description, 'page_title':user_view.page_title, @@ -963,7 +972,7 @@ def user(request, id, slug=None): return func(request, id, user_view) @login_required -def account_settings(request): +def account_settings(request):#todo: is this actually used? """ index pages to changes some basic account settings : - change password @@ -980,6 +989,7 @@ def account_settings(request): is_openid = False return render_to_response('account_settings.html', { + 'active_tab':'users', 'msg': msg, 'is_openid': is_openid }, context_instance=RequestContext(request)) diff --git a/forum/views/writers.py b/forum/views/writers.py index 57c8e043..86831ba3 100755 --- a/forum/views/writers.py +++ b/forum/views/writers.py @@ -7,7 +7,7 @@ from django.shortcuts import render_to_response, get_object_or_404 from django.contrib.auth.decorators import login_required from django.http import HttpResponseRedirect, HttpResponse, HttpResponseForbidden, Http404 from django.template import RequestContext -from django.utils.html import * +from django.utils.html import * #todo: remove import * in favor of explicit imports from django.utils import simplejson from django.utils.translation import ugettext as _ from django.core.urlresolvers import reverse @@ -91,7 +91,7 @@ def ask(request):#view used to ask a new question added_at = datetime.datetime.now() #todo: move this to clean_title - title = strip_tags(form.cleaned_data['title'].strip()) + title = form.cleaned_data['title'].strip() wiki = form.cleaned_data['wiki'] #todo: move this to clean_tagnames tagnames = form.cleaned_data['tags'].strip() @@ -131,11 +131,14 @@ def ask(request):#view used to ask a new question question.save() return HttpResponseRedirect(reverse('user_signin_new_question')) else: + #this branch is for the initial load of ask form form = AskForm() if 'title' in request.GET: - raw_title = request.GET['title'] - form.initial['title'] = strip_tags(strip_entities(raw_title)) + #normally this title is inherited from search query + #but it is possible to ask with a parameter title in the url query + form.initial['title'] = request.GET['title'] else: + #attempt to extract title from previous search query search_state = request.session.get('search_state',None) if search_state: query = search_state.query @@ -180,6 +183,7 @@ def _retag_question(request, question):#non-url subview of edit question - just else: form = RetagQuestionForm(question) return render_to_response('question_retag.html', { + 'active_tab': 'questions', 'question': question, 'form' : form, 'tags' : _get_tags_cache_json(), @@ -222,6 +226,7 @@ def _edit_question(request, question):#non-url subview of edit_question - just e revision_form = RevisionForm(question, latest_revision) form = EditQuestionForm(question, latest_revision) return render_to_response('question_edit.html', { + 'active_tab': 'questions', 'question': question, 'revision_form': revision_form, 'form' : form, @@ -265,6 +270,7 @@ def edit_answer(request, id): revision_form = RevisionForm(answer, latest_revision) form = EditAnswerForm(answer, latest_revision) return render_to_response('answer_edit.html', { + 'active_tab': 'questions', 'answer': answer, 'revision_form': revision_form, 'form': form, |