diff options
author | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2012-04-15 18:59:53 -0500 |
---|---|---|
committer | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2012-04-15 18:59:53 -0500 |
commit | 0cc46ac6698f1ae73d31400e2787ea0940b6abec (patch) | |
tree | f76ab96282e46d24ae52bde0d0d738a02f3d98d4 | |
parent | d82b8b2cd182a83cbcc12ec12612495c2e531019 (diff) | |
download | askbot-0cc46ac6698f1ae73d31400e2787ea0940b6abec.tar.gz askbot-0cc46ac6698f1ae73d31400e2787ea0940b6abec.tar.bz2 askbot-0cc46ac6698f1ae73d31400e2787ea0940b6abec.zip |
fixed urls from the tag cloud
-rw-r--r-- | askbot/search/state_manager.py | 5 | ||||
-rw-r--r-- | askbot/skins/common/templates/widgets/related_tags.html | 8 | ||||
-rw-r--r-- | askbot/skins/default/templates/macros.html | 8 | ||||
-rw-r--r-- | askbot/skins/default/templates/tags.html | 2 | ||||
-rw-r--r-- | askbot/views/readers.py | 3 |
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) |