Mercurial > kallithea
changeset 747:2f89beda06a1 beta
Added icons with numbers of followers and number of forks
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Tue, 23 Nov 2010 23:49:12 +0100 |
parents | 18a3ca35d501 |
children | 88338675a0f7 |
files | rhodecode/lib/base.py rhodecode/model/scm.py rhodecode/public/css/style.css rhodecode/templates/base/base.html |
diffstat | 4 files changed, 54 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/lib/base.py Tue Nov 23 22:33:59 2010 +0100 +++ b/rhodecode/lib/base.py Tue Nov 23 23:49:12 2010 +0100 @@ -22,14 +22,19 @@ c.backends = BACKENDS.keys() if c.repo_name: - cached_repo = ScmModel().get(c.repo_name) + scm_model = ScmModel() + cached_repo = scm_model.get(c.repo_name) if cached_repo: c.repository_tags = cached_repo.tags c.repository_branches = cached_repo.branches + c.repository_followers = scm_model.get_followers(cached_repo.dbrepo.repo_id) + c.repository_forks = scm_model.get_forks(cached_repo.dbrepo.repo_id) else: c.repository_tags = {} c.repository_branches = {} + c.repository_followers = 0 + c.repository_forks = 0 self.sa = meta.Session()
--- a/rhodecode/model/scm.py Tue Nov 23 22:33:59 2010 +0100 +++ b/rhodecode/model/scm.py Tue Nov 23 23:49:12 2010 +0100 @@ -52,8 +52,8 @@ class RepoTemp(object): def __init__(self, repo_id): self.repo_id = repo_id - - + + class ScmModel(object): """ Mercurial Model @@ -236,13 +236,13 @@ .filter(UserFollowing.user_id == user_id).scalar() if f is not None: - + try: self.sa.delete(f) self.sa.commit() action_logger(UserTemp(user_id), 'stopped_following_repo', - RepoTemp(follow_repo_id)) + RepoTemp(follow_repo_id)) return except: log.error(traceback.format_exc()) @@ -258,7 +258,7 @@ self.sa.commit() action_logger(UserTemp(user_id), 'started_following_repo', - RepoTemp(follow_repo_id)) + RepoTemp(follow_repo_id)) except: log.error(traceback.format_exc()) self.sa.rollback() @@ -310,6 +310,13 @@ return f is not None + def get_followers(self, repo_id): + return self.sa.query(UserFollowing)\ + .filter(UserFollowing.follows_repo_id == repo_id).count() + + def get_forks(self, repo_id): + return self.sa.query(Repository)\ + .filter(Repository.fork_id == repo_id).count() def _should_invalidate(self, repo_name): """
--- a/rhodecode/public/css/style.css Tue Nov 23 22:33:59 2010 +0100 +++ b/rhodecode/public/css/style.css Tue Nov 23 23:49:12 2010 +0100 @@ -302,6 +302,10 @@ padding:0; } +#header #header-inner #quick li span.short { +padding:9px 6px 8px 6px; +} + #header #header-inner #quick li span { top:0; right:0; @@ -328,6 +332,15 @@ padding:8px 8px 4px; } +#header #header-inner #quick li span.icon_short { +top:0; +left:0; +border-left:none; +background:url("../../images/quick_l.png") no-repeat top left; +border-right:1px solid #2e5c89; +padding:9px 4px 4px; +} + #header #header-inner #quick li a:hover { background:#4e4e4e url("../../images/quick_l_selected.png") no-repeat top left; } @@ -337,12 +350,13 @@ background:url("../../images/quick_r_selected.png") no-repeat top right; } -#header #header-inner #quick li a:hover span.icon { +#header #header-inner #quick li a:hover span.icon,#header #header-inner #quick li a:hover span.icon_short { border-left:none; border-right:1px solid #464646; background:url("../../images/quick_l_selected.png") no-repeat top left; } + #header #header-inner #quick ul { top:29px; right:0;
--- a/rhodecode/templates/base/base.html Tue Nov 23 22:33:59 2010 +0100 +++ b/rhodecode/templates/base/base.html Tue Nov 23 23:49:12 2010 +0100 @@ -212,19 +212,30 @@ <li class="last">${h.link_to(_('settings'),h.url('admin_settings'),class_='settings')}</li> </ul> </li> - %endif + %endif - -## %if h.HasRepoPermissionAll('repository.admin')(c.repo_name): -## <li class="last"> -## ${h.link_to(_('delete'),'#',class_='delete')} -## ${h.form(url('repo_settings_delete', repo_name=c.repo_name),method='delete')} -## ${h.submit('remove_%s' % c.repo_name,'delete',class_="delete_icon action_button",onclick="return confirm('Confirm to delete this repository');")} -## ${h.end_form()} -## </li> -## %endif </ul> </li> + + <li> + <a title="${_('Followers')}" href="#"> + <span class="icon_short"> + <img src="/images/icons/heart.png" alt="${_('Followers')}" /> + </span> + <span class="short">${c.repository_followers}</span> + </a> + </li> + <li> + <a title="${_('Forks')}" href="#"> + <span class="icon_short"> + <img src="/images/icons/arrow_divide.png" alt="${_('Forks')}" /> + </span> + <span class="short">${c.repository_forks}</span> + </a> + </li> + + + </ul> %else: ##ROOT MENU