summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeny Fadeev <evgeny.fadeev@gmail.com>2012-04-15 18:59:53 -0500
committerEvgeny Fadeev <evgeny.fadeev@gmail.com>2012-04-15 18:59:53 -0500
commit0cc46ac6698f1ae73d31400e2787ea0940b6abec (patch)
treef76ab96282e46d24ae52bde0d0d738a02f3d98d4
parentd82b8b2cd182a83cbcc12ec12612495c2e531019 (diff)
downloadaskbot-0cc46ac6698f1ae73d31400e2787ea0940b6abec.tar.gz
askbot-0cc46ac6698f1ae73d31400e2787ea0940b6abec.tar.bz2
askbot-0cc46ac6698f1ae73d31400e2787ea0940b6abec.zip
fixed urls from the tag cloud
-rw-r--r--askbot/search/state_manager.py5
-rw-r--r--askbot/skins/common/templates/widgets/related_tags.html8
-rw-r--r--askbot/skins/default/templates/macros.html8
-rw-r--r--askbot/skins/default/templates/tags.html2
-rw-r--r--askbot/views/readers.py3
5 files changed, 21 insertions, 5 deletions
diff --git a/askbot/search/state_manager.py b/askbot/search/state_manager.py
index ee46501e..8096cbdd 100644
--- a/askbot/search/state_manager.py
+++ b/askbot/search/state_manager.py
@@ -241,8 +241,13 @@ class SearchState(object):
class DummySearchState(object): # Used for caching question/thread summaries
+
def add_tag(self, tag):
self.tag = tag
return self
+
+ def change_scope(self, new_scope):
+ return self
+
def full_url(self):
return '<<<%s>>>' % self.tag
diff --git a/askbot/skins/common/templates/widgets/related_tags.html b/askbot/skins/common/templates/widgets/related_tags.html
index 39873437..05520998 100644
--- a/askbot/skins/common/templates/widgets/related_tags.html
+++ b/askbot/skins/common/templates/widgets/related_tags.html
@@ -16,7 +16,13 @@
{% endfor %}
</ul>
{% else %}
- {{ macros.tag_cloud(tags = tags, font_sizes = font_size) }}
+ {{
+ macros.tag_cloud(
+ tags = tags,
+ font_sizes = font_size,
+ search_state = search_state
+ )
+ }}
{% endif %}
</div>
{% endcache %}
diff --git a/askbot/skins/default/templates/macros.html b/askbot/skins/default/templates/macros.html
index 20e2055c..1c6b925c 100644
--- a/askbot/skins/default/templates/macros.html
+++ b/askbot/skins/default/templates/macros.html
@@ -137,10 +137,14 @@ poor design of the data or methods on data objects #}
{%- endif -%}
{%- endmacro -%}
-{%- macro tag_cloud(tags = None, font_sizes = None) -%}
+{%- macro tag_cloud(tags = None, font_sizes = None, search_state = None) -%}
{% for tag in tags %}
<span class="tag-size-{{ font_sizes[tag.name] }}">
- <a class="link-typeA" title="Number of entries: {{ tag.used_count }}" href="{% url questions %}?tags={{ tag.name }}">{{ tag.name }}</a>
+ <a
+ class="link-typeA"
+ title="Number of entries: {{ tag.used_count }}"
+ href="{{ search_state.add_tag(tag.name).full_url() }}"
+ >{{ tag.name }}</a>
</span>
{% endfor %}
{%- endmacro -%}
diff --git a/askbot/skins/default/templates/tags.html b/askbot/skins/default/templates/tags.html
index 0f0c1fc6..2bd4b2ec 100644
--- a/askbot/skins/default/templates/tags.html
+++ b/askbot/skins/default/templates/tags.html
@@ -55,7 +55,7 @@
{% if not tags %}
<span>{% trans %}Nothing found{% endtrans %}</span>
{% endif %}
- {{ macros.tag_cloud(tags = tags, font_sizes = font_size) }}
+ {{ macros.tag_cloud(tags = tags, font_sizes = font_size, search_state = search_state) }}
{% endif %}
{% endblock %}
diff --git a/askbot/views/readers.py b/askbot/views/readers.py
index 7886439c..2a81f5c2 100644
--- a/askbot/views/readers.py
+++ b/askbot/views/readers.py
@@ -34,7 +34,7 @@ from askbot.models.tag import Tag
from askbot import const
from askbot.utils import functions
from askbot.utils.decorators import anonymous_forbidden, ajax_only, get_only
-from askbot.search.state_manager import SearchState
+from askbot.search.state_manager import SearchState, DummySearchState
from askbot.templatetags import extra_tags
import askbot.conf
from askbot.conf import settings as askbot_settings
@@ -295,6 +295,7 @@ def tags(request):#view showing a listing of available tags - plain list
'stag' : stag,
'tab_id' : sortby,
'keywords' : stag,
+ 'search_state': SearchState(*[None for x in range(7)])
}
return render_into_skin('tags.html', data, request)