# HG changeset patch # User Mads Kiilerich # Date 1364309591 -3600 # Node ID 8087731920d81ee1b2f6b648592988c65b4a5212 # Parent 7d774f09dba5bb2cef583b45ba09675f20fef581 breadcrumbs: make repo names link to summary pages diff -r 7d774f09dba5 -r 8087731920d8 rhodecode/lib/helpers.py --- a/rhodecode/lib/helpers.py Tue Mar 26 01:23:35 2013 +0100 +++ b/rhodecode/lib/helpers.py Tue Mar 26 15:53:11 2013 +0100 @@ -917,7 +917,7 @@ return ': ' + _('No Files') -def repo_link(groups_and_repos, last_url=None): +def repo_link(groups_and_repos): """ Makes a breadcrumbs link to repo within a group joins » on each group to create a fancy link @@ -928,18 +928,14 @@ :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 + groups, just_name, repo_name = groups_and_repos + last_url = url('summary_home', repo_name=repo_name) + last_link = link_to(just_name, last_url) - if not groups: - if last_url: - return literal('%s' % last_link) - return literal('%s' % repo_name) - else: - def make_link(group): - return link_to(group.name, - url('repos_group_home', group_name=group.group_name)) - return literal(' » '.join(map(make_link, groups) + ['' + last_link + ''])) + def make_link(group): + return link_to(group.name, + url('repos_group_home', group_name=group.group_name)) + return literal(' » '.join(map(make_link, groups) + ['%s' % last_link])) def fancy_file_stats(stats): diff -r 7d774f09dba5 -r 8087731920d8 rhodecode/model/db.py --- a/rhodecode/model/db.py Tue Mar 26 01:23:35 2013 +0100 +++ b/rhodecode/model/db.py Tue Mar 26 15:53:11 2013 +0100 @@ -887,7 +887,7 @@ @property def groups_and_repo(self): - return self.groups_with_parents, self.just_name + return self.groups_with_parents, self.just_name, self.repo_name @LazyProperty def repo_path(self): diff -r 7d774f09dba5 -r 8087731920d8 rhodecode/model/repo.py --- a/rhodecode/model/repo.py Tue Mar 26 01:23:35 2013 +0100 +++ b/rhodecode/model/repo.py Tue Mar 26 15:53:11 2013 +0100 @@ -240,7 +240,7 @@ return None defaults = repo_info.get_dict() - group, repo_name = repo_info.groups_and_repo + group, repo_name, repo_name_full = repo_info.groups_and_repo defaults['repo_name'] = repo_name defaults['repo_group'] = getattr(group[-1] if group else None, 'group_id', None) diff -r 7d774f09dba5 -r 8087731920d8 rhodecode/templates/base/base.html --- a/rhodecode/templates/base/base.html Tue Mar 26 01:23:35 2013 +0100 +++ b/rhodecode/templates/base/base.html Tue Mar 26 15:53:11 2013 +0100 @@ -106,7 +106,7 @@
## TODO: this check feels wrong, it would be better to have a check for permissions