Mercurial > kallithea
changeset 999:1951c35483ab beta
fixed following js snipet. It' can be called multiple times now next to each repository
added helper method for checking if user is following repository
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sat, 05 Feb 2011 23:58:37 +0100 |
parents | b79e720bac0c |
children | 229437211bef |
files | rhodecode/lib/helpers.py rhodecode/model/scm.py rhodecode/templates/base/base.html rhodecode/templates/summary/summary.html |
diffstat | 4 files changed, 13 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/lib/helpers.py Fri Feb 04 17:47:02 2011 +0100 +++ b/rhodecode/lib/helpers.py Sat Feb 05 23:58:37 2011 +0100 @@ -387,6 +387,10 @@ return cs +def is_following_repo(repo_name, user_id): + from rhodecode.model.scm import ScmModel + return ScmModel().is_following_repo(repo_name, user_id) + flash = _Flash()
--- a/rhodecode/model/scm.py Fri Feb 04 17:47:02 2011 +0100 +++ b/rhodecode/model/scm.py Sat Feb 05 23:58:37 2011 +0100 @@ -319,7 +319,7 @@ self.sa.rollback() raise - def is_following_repo(self, repo_name, user_id): + def is_following_repo(self, repo_name, user_id, cache=False): r = self.sa.query(Repository)\ .filter(Repository.repo_name == repo_name).scalar() @@ -329,7 +329,7 @@ return f is not None - def is_following_user(self, username, user_id): + def is_following_user(self, username, user_id, cache=False): u = UserModel(self.sa).get_by_username(username) f = self.sa.query(UserFollowing)\
--- a/rhodecode/templates/base/base.html Fri Feb 04 17:47:02 2011 +0100 +++ b/rhodecode/templates/base/base.html Sat Feb 05 23:58:37 2011 +0100 @@ -348,9 +348,9 @@ var YUD = YAHOO.util.Dom; var YUE = YAHOO.util.Event; -function onSuccess(){ +function onSuccess(target){ - var f = YUD.get('follow_toggle'); + var f = YUD.get(target.id); if(f.getAttribute('class')=='follow'){ f.setAttribute('class','following'); f.setAttribute('title',"${_('Stop following this repository')}"); @@ -371,12 +371,13 @@ },args); return false; } -function toggleFollowingRepo(fallows_repo_id,token){ +function toggleFollowingRepo(target,fallows_repo_id,token){ + args = 'follows_repo_id='+fallows_repo_id; args+= '&auth_token='+token; YUC.asyncRequest('POST',base_url,{ success:function(o){ - onSuccess(); + onSuccess(target); } },args); return false; }
--- a/rhodecode/templates/summary/summary.html Fri Feb 04 17:47:02 2011 +0100 +++ b/rhodecode/templates/summary/summary.html Sat Feb 05 23:58:37 2011 +0100 @@ -47,11 +47,11 @@ %if c.rhodecode_user.username != 'default': %if c.following: <span id="follow_toggle" class="following" title="${_('Stop following this repository')}" - onclick="javascript:toggleFollowingRepo(${c.repo_info.dbrepo.repo_id},'${str(h.get_token())}')"> + onclick="javascript:toggleFollowingRepo(this,${c.repo_info.dbrepo.repo_id},'${str(h.get_token())}')"> </span> %else: <span id="follow_toggle" class="follow" title="${_('Start following this repository')}" - onclick="javascript:toggleFollowingRepo(${c.repo_info.dbrepo.repo_id},'${str(h.get_token())}')"> + onclick="javascript:toggleFollowingRepo(this,${c.repo_info.dbrepo.repo_id},'${str(h.get_token())}')"> </span> %endif %endif: