From c9c18692410dc993cc85aefeac4163e3e4557b6d Mon Sep 17 00:00:00 2001 From: Rosandra Cuello Date: Thu, 17 Nov 2011 04:49:31 -0400 Subject: url structure changed, some url patterns still missing --- askbot/skins/default/media/js/live_search.js | 21 ++++++++++++---- askbot/skins/default/media/js/utils.js | 25 +++++++++++++------ askbot/skins/default/templates/blocks/header.html | 2 +- .../skins/default/templates/blocks/input_bar.html | 6 ++--- .../skins/default/templates/blocks/paginator.html | 2 +- askbot/skins/default/templates/macros.html | 18 +++++++------- .../default/templates/main_page/headline.html | 8 +++--- .../default/templates/main_page/javascript.html | 18 +++++++++++++- .../default/templates/main_page/nothing_found.html | 8 +++--- .../default/templates/main_page/paginator.html | 2 +- askbot/skins/default/templates/question.html | 5 ++-- askbot/skins/default/templates/tags.html | 2 +- .../default/templates/user_profile/user_stats.html | 3 +-- .../templates/user_profile/users_questions.html | 2 +- askbot/urls.py | 29 ++++++++++++++++++++-- askbot/views/readers.py | 4 +-- 16 files changed, 109 insertions(+), 46 deletions(-) diff --git a/askbot/skins/default/media/js/live_search.js b/askbot/skins/default/media/js/live_search.js index 392320a0..919722dd 100644 --- a/askbot/skins/default/media/js/live_search.js +++ b/askbot/skins/default/media/js/live_search.js @@ -373,8 +373,7 @@ var liveSearch = function(){ var remove_search_tag = function(tag_name){ $.ajax({ - url: askbot['urls']['questions'], - data: {remove_tag: tag_name}, + url: askbot['urls']['questions']+'remove_tag:'+escape(tag_name)+'/', dataType: 'json', success: render_result, complete: try_again @@ -444,7 +443,7 @@ var liveSearch = function(){ render_faces(data['faces']); render_related_tags(data['related_tags'], data['query_string']); render_relevance_sort_tab(data['query_string']); - set_active_sort_tab(sortMethod, query_string); + set_active_sort_tab(sortMethod, data['query_string']); query.focus(); //show new div with a fadeIn effect @@ -465,7 +464,7 @@ var liveSearch = function(){ var post_data = {query: query_text}; $.ajax({ url: search_url, - data: {query: query_text, sort: sort_method}, + //data: {query: query_text, sort: sort_method}, dataType: 'json', success: render_result, complete: try_again @@ -498,7 +497,7 @@ var liveSearch = function(){ query = $('input#keywords'); refresh_main_page(); }, - init: function(mode){ + init: function(mode, query_string){ if (mode === 'main_page'){ //live search for the main page query = $('input#keywords'); @@ -512,6 +511,18 @@ var liveSearch = function(){ sortMethod = 'relevance-desc'; } } + params = query_string.split('/') + for (var i = 0; i < params.length; i++){ + if (params[i] !== ''){ + if (params[i].substring(0, 5) == "sort:"){ //change the sort method + search_url += 'sort:'+sortMethod+'/' + search_url += 'query:'+ cur_text.split(' ').join('+') + '/' //we add the query here + } + else{ + search_url += params[i] + '/'; + } + } + } send_query(cur_text, sortMethod); }; restart_query = function() { diff --git a/askbot/skins/default/media/js/utils.js b/askbot/skins/default/media/js/utils.js index c79d739f..764d6770 100644 --- a/askbot/skins/default/media/js/utils.js +++ b/askbot/skins/default/media/js/utils.js @@ -357,19 +357,30 @@ Tag.prototype.createDom = function(){ if (this.isLinkable()){ var url = askbot['urls']['questions']; if (this._url_params !== null){ - params = this._url_params.split('&') - tag_p = 'tags=' + escape(this.getName()); + params = this._url_params.split('/') for (var i = 0; i < params.length; i++){ - if (params[i] !== tag_p){ - url += params[i] + '&'; + if (params[i] !== ''){ + if (params[i].substring(0, 5) == "tags:"){ + tags = params[i].substr(5).split('+'); + new_tags = '' + for(var j = 0; j < tags.length; j++){ + if(tags[j] !== this.getName()){ + new_tags += tags[j] + '+'; + } + } + new_tags += escape(this.getName()) + url += 'tags:'+new_tags+'/' + } + else{ + url += params[i] + '/'; + } } } - //url += params + '&'; } else{ - url += '?' + url += 'tags:' + escape(this.getName()) + '/'; } - url += 'tags=' + escape(this.getName()); + this._inner_element.attr('href', url); } diff --git a/askbot/skins/default/templates/blocks/header.html b/askbot/skins/default/templates/blocks/header.html index d7359007..f480d3c7 100644 --- a/askbot/skins/default/templates/blocks/header.html +++ b/askbot/skins/default/templates/blocks/header.html @@ -3,7 +3,7 @@
{% if settings.SHOW_LOGO %} - diff --git a/askbot/skins/default/templates/blocks/input_bar.html b/askbot/skins/default/templates/blocks/input_bar.html index bed97eb4..58849ca5 100644 --- a/askbot/skins/default/templates/blocks/input_bar.html +++ b/askbot/skins/default/templates/blocks/input_bar.html @@ -8,7 +8,7 @@ {% elif active_tab == "users" %} action="{% url users %}" {% else %} - action="{% url questions %}" + action="{% url questions %}" id="searchForm" {% endif %} method="get"> {# class was searchInput #} @@ -28,10 +28,10 @@ value="x" name="reset_query" {# todo - make sure it works on Enter keypress #} - onclick="window.location.href='{% url questions %}?reset_query=true'" + onclick="window.location.href='{% url questions %}reset_query:true/'" class="cancelSearchBtn"/> {% endif %} - + {% if active_tab == "tags" %} {% else %} diff --git a/askbot/skins/default/templates/blocks/paginator.html b/askbot/skins/default/templates/blocks/paginator.html index 9782407f..cef84f12 100644 --- a/askbot/skins/default/templates/blocks/paginator.html +++ b/askbot/skins/default/templates/blocks/paginator.html @@ -1,4 +1,4 @@ {% import "macros.html" as macros %} -{{ macros.paginator(paginator_context)}} +{{ macros.paginator(paginator_context, active_tab = active_tab)}} diff --git a/askbot/skins/default/templates/macros.html b/askbot/skins/default/templates/macros.html index 432e6c4c..fd1bcf57 100644 --- a/askbot/skins/default/templates/macros.html +++ b/askbot/skins/default/templates/macros.html @@ -136,17 +136,17 @@
{%- endmacro -%} -{%- macro paginator(p, position='left') -%}{# p is paginator context dictionary #} +{%- macro paginator(p, position='left', active_tab='') -%}{# p is paginator context dictionary #} {% spaceless %} {% if p.is_paginated %}
{% if p.has_previous %} - + « {% trans %}previous{% endtrans %} {% endif %} {% if not p.in_leading_range %} {% for num in p.pages_outside_trailing_range %} - {{ num }} + {{ num }} {% endfor %} ... {% endif %} @@ -155,18 +155,18 @@ {% if num == p.page and p.pages != 1%} {{ num }} {% else %} - {{ num }} + {{ num }} {% endif %} {% endfor %} {% if not p.in_trailing_range %} ... {% for num in p.pages_outside_leading_range|reverse %} - {{ num }} + {{ num }} {% endfor %} {% endif %} {% if p.has_next %} - {% trans %}next page{% endtrans %} » + {% trans %}next page{% endtrans %} » {% endif %}
{% endif %} @@ -181,19 +181,19 @@ {% if p.page_size == 10 %} 10 {% else %} - 10 + 10 {% endif %} {% if p.page_size == 30 %} 30 {% else %} - 30 + 30 {% endif %} {% if p.page_size == 50 %} 50 {% else %} - 50 + 50 {% endif %}
{% endif %} diff --git a/askbot/skins/default/templates/main_page/headline.html b/askbot/skins/default/templates/main_page/headline.html index 130a9bd9..4b92ba35 100644 --- a/askbot/skins/default/templates/main_page/headline.html +++ b/askbot/skins/default/templates/main_page/headline.html @@ -28,16 +28,16 @@

{% trans %}Search tips:{% endtrans %} {% if reset_method_count > 1 %} {% if author_name %} - {% trans %}reset author{% endtrans %} + {% trans %}reset author{% endtrans %} {% endif %} {% if search_tags %}{% if author_name and query %}, {% elif author_name %}{% trans %} or {% endtrans %}{% endif %} - {% trans %}reset tags{% endtrans %} + {% trans %}reset tags{% endtrans %} {% endif %} {% if query %}{% trans %} or {% endtrans %} - {% trans %}start over{% endtrans %} + {% trans %}start over{% endtrans %} {% endif %} {% else %} - {% trans %}start over{% endtrans %} + {% trans %}start over{% endtrans %} {% endif %} {% trans %} - to expand, or dig in by adding more tags and revising the query.{% endtrans %}

diff --git a/askbot/skins/default/templates/main_page/javascript.html b/askbot/skins/default/templates/main_page/javascript.html index deef318c..2232164e 100644 --- a/askbot/skins/default/templates/main_page/javascript.html +++ b/askbot/skins/default/templates/main_page/javascript.html @@ -5,7 +5,7 @@ $(document).ready(function(){ /*var on_tab = '#nav_questions'; $(on_tab).attr('className','on');*/ - liveSearch().init('main_page'); + liveSearch().init('main_page', '{{query_string}}'); Hilite.exact = false; Hilite.elementid = "question-list"; Hilite.debug_referrer = location.href; @@ -43,3 +43,19 @@ {% endif %} +{% if active_tab != "tags" and active_tab != "users" %} + +{% endif %} diff --git a/askbot/skins/default/templates/main_page/nothing_found.html b/askbot/skins/default/templates/main_page/nothing_found.html index 50f2f340..1f590709 100644 --- a/askbot/skins/default/templates/main_page/nothing_found.html +++ b/askbot/skins/default/templates/main_page/nothing_found.html @@ -13,16 +13,16 @@ {% trans %}You can expand your search by {% endtrans %} {% if reset_method_count > 1 %} {% if author_name %} - {% trans %}resetting author{% endtrans %} + {% trans %}resetting author{% endtrans %} {% endif %} {% if search_tags %}{% if author_name and query %}, {% elif author_name %}{% trans %} or {% endtrans %}{% endif %} - {% trans %}resetting tags{% endtrans %} + {% trans %}resetting tags{% endtrans %} {% endif %} {% if query %}{% trans %} or {% endtrans %} - {% trans %}starting over{% endtrans %} + {% trans %}starting over{% endtrans %} {% endif %} {% else %} - {% trans %}starting over{% endtrans %} + {% trans %}starting over{% endtrans %} {% endif %}

{% endif %} diff --git a/askbot/skins/default/templates/main_page/paginator.html b/askbot/skins/default/templates/main_page/paginator.html index cf45cc0c..dd52e019 100644 --- a/askbot/skins/default/templates/main_page/paginator.html +++ b/askbot/skins/default/templates/main_page/paginator.html @@ -1,7 +1,7 @@ {% import "macros.html" as macros %} {% if questions_count > page_size %}{# todo: remove magic number #}
- {{ macros.paginator(context|setup_paginator, position='left') }} + {{ macros.paginator(context|setup_paginator, position='left', active_tab=active_tab) }} {{ macros.pagesize_switch(context, position='right') }}
{% endif %} diff --git a/askbot/skins/default/templates/question.html b/askbot/skins/default/templates/question.html index 282b47b4..f46faa2f 100644 --- a/askbot/skins/default/templates/question.html +++ b/askbot/skins/default/templates/question.html @@ -68,7 +68,8 @@ {{ macros.tag_widget( tag, css_class = 'post-tag', - html_tag = 'li' + html_tag = 'li', + url_params = 'start_over:true', ) }} {% endfor %} @@ -443,7 +444,7 @@ {{ macros.tag_widget( tag, html_tag = 'div', - url_params = 'start_over=true', + url_params = 'start_over:true', extra_content = '× ' ~ tag.used_count|intcomma ~ '' ) diff --git a/askbot/skins/default/templates/tags.html b/askbot/skins/default/templates/tags.html index 7d9026af..19383bb8 100644 --- a/askbot/skins/default/templates/tags.html +++ b/askbot/skins/default/templates/tags.html @@ -37,7 +37,7 @@
  • {{ macros.tag_widget( tag = tag.name, - url_params = 'start_over=true', + url_params = 'start_over:true', html_tag = 'div', extra_content = '× ' ~ tag.used_count|intcomma ~ '' diff --git a/askbot/skins/default/templates/user_profile/user_stats.html b/askbot/skins/default/templates/user_profile/user_stats.html index d9002d30..6e882199 100644 --- a/askbot/skins/default/templates/user_profile/user_stats.html +++ b/askbot/skins/default/templates/user_profile/user_stats.html @@ -73,8 +73,7 @@ tag.name, html_tag = 'div', url_params = - "author=" ~ view_user.id ~ - "&start_over=true", + "/start_over:true/author:" ~ view_user.id, extra_content = '× ' ~ tag.user_tag_usage_count|intcomma ~ diff --git a/askbot/skins/default/templates/user_profile/users_questions.html b/askbot/skins/default/templates/user_profile/users_questions.html index 41809a62..fc7bda60 100644 --- a/askbot/skins/default/templates/user_profile/users_questions.html +++ b/askbot/skins/default/templates/user_profile/users_questions.html @@ -2,7 +2,7 @@ {% import "macros.html" as macros %}
    {% for question in questions %} - {{macros.question_summary(question, extra_class='narrow')}} + {{macros.question_summary(question, extra_class='narrow', query_string="start_over:true/")}} {% endfor %}
    diff --git a/askbot/urls.py b/askbot/urls.py index 60a955f7..0cf36412 100644 --- a/askbot/urls.py +++ b/askbot/urls.py @@ -65,7 +65,7 @@ urlpatterns = patterns('', name='answer_revisions' ), url(#this url works both normally and through ajax - r'^%s/section:(?P\w+)/sort:(?P[\w\-]+)/tags:(?P[\w\-\+]+)/$' % _('questions'), + r'^%s/section:(?P\w+)/sort:(?P[\w\-]+)/tags:(?P[\w\d\-\+\#]+)/$' % _('questions'), views.readers.questions, name='questions' ), @@ -74,7 +74,32 @@ urlpatterns = patterns('', views.readers.questions, name='questions' ), - url(#this url works both normally and through ajax + url( + r'^%s/remove_tag:(?P[\w\d\-\#]+)/$' % _('questions'), + views.readers.questions, + name='questions' + ), + url( + r'^%s/reset_tags:(?P\w+)/$' % _('questions'), + views.readers.questions, + name='questions' + ), + url( + r'^%s/reset_author:(?P\w+)/$' % _('questions'), + views.readers.questions, + name='questions' + ), + url( + r'^%s/reset_query:(?P\w+)/$' % _('questions'), + views.readers.questions, + name='questions' + ), + url( + r'^%s/start_over:(?P\w+)/$' % _('questions'), #Nota: hay start over con mas parametros + views.readers.questions, + name='questions' + ), + url( r'^%s$' % _('questions/'), views.readers.questions, name='questions' diff --git a/askbot/views/readers.py b/askbot/views/readers.py index c5a289ed..3163ce61 100644 --- a/askbot/views/readers.py +++ b/askbot/views/readers.py @@ -94,7 +94,7 @@ def questions(request, scope=const.DEFAULT_POST_SCOPE, sort=const.DEFAULT_POST_S if start_over: params_dict['start_over'] = start_over if remove_tag: - params_dict['remove_tag'] = remove_tag + params_dict['remove_tag'] = remove_tag.decode("utf8") if page_size: params_dict['page_size'] = page_size @@ -151,7 +151,7 @@ def questions(request, scope=const.DEFAULT_POST_SCOPE, sort=const.DEFAULT_POST_S 'has_next': page.has_next(), 'previous': page.previous_page_number(), 'next': page.next_page_number(), - 'base_url' : request.path + search_state.query_string() + '&',#todo in T sort=>sort_method + 'base_url' : search_state.query_string(),#todo in T sort=>sort_method 'page_size' : search_state.page_size,#todo in T pagesize -> page_size 'parameters': search_state.make_parameters(), } -- cgit v1.2.3-1-g7c22