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 @@
{% 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 #}
{% 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