changeset 3012:58f3bba0ddc1 beta

extend helper for better breadcrumbs for repo groups
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 18 Nov 2012 00:38:35 +0100
parents 25d77aef2729
children 83159d73b13b
files rhodecode/lib/helpers.py
diffstat 1 files changed, 9 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/lib/helpers.py	Sat Nov 17 17:14:02 2012 +0100
+++ b/rhodecode/lib/helpers.py	Sun Nov 18 00:38:35 2012 +0100
@@ -45,7 +45,7 @@
     get_changeset_safe, datetime_to_time, time_to_datetime, AttributeDict
 from rhodecode.lib.markup_renderer import MarkupRenderer
 from rhodecode.lib.vcs.exceptions import ChangesetDoesNotExistError
-from rhodecode.lib.vcs.backends.base import BaseChangeset
+from rhodecode.lib.vcs.backends.base import BaseChangeset, EmptyChangeset
 from rhodecode.config.conf import DATE_FORMAT, DATETIME_FORMAT
 from rhodecode.model.changeset_status import ChangesetStatusModel
 from rhodecode.model.db import URL_SEP, Permission
@@ -881,7 +881,7 @@
         return ': ' + _('No Files')
 
 
-def repo_link(groups_and_repos):
+def repo_link(groups_and_repos, last_url=None):
     """
     Makes a breadcrumbs link to repo within a group
     joins &raquo; on each group to create a fancy link
@@ -890,17 +890,20 @@
         group >> subgroup >> repo
 
     :param groups_and_repos:
+    :param last_url:
     """
     groups, repo_name = groups_and_repos
+    last_link = link_to(repo_name, last_url) if last_url else repo_name
 
     if not groups:
+        if last_url:
+            return last_link
         return repo_name
     else:
         def make_link(group):
-            return link_to(group.name, url('repos_group_home',
-                                           group_name=group.group_name))
-        return literal(' &raquo; '.join(map(make_link, groups)) + \
-                       " &raquo; " + repo_name)
+            return link_to(group.name,
+                           url('repos_group_home', group_name=group.group_name))
+        return literal(' &raquo; '.join(map(make_link, groups) + [last_link]))
 
 
 def fancy_file_stats(stats):