Changeset - 1951c35483ab
[Not reviewed]
beta
0 4 0
Marcin Kuzminski - 15 years ago 2011-02-05 23:58:37
marcin@python-works.com
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
4 files changed with 13 insertions and 8 deletions:
0 comments (0 inline, 0 general)
rhodecode/lib/helpers.py
Show inline comments
 
@@ -387,6 +387,10 @@ def get_changeset_safe(repo, rev):
 
    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()
 

	
 

	
rhodecode/model/scm.py
Show inline comments
 
@@ -319,7 +319,7 @@ class ScmModel(BaseModel):
 
            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 @@ class ScmModel(BaseModel):
 

	
 
        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)\
rhodecode/templates/base/base.html
Show inline comments
 
@@ -348,9 +348,9 @@ var YUC = YAHOO.util.Connect;
 
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 @@ function toggleFollowingUser(fallows_use
 
    },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;
 
}    
rhodecode/templates/summary/summary.html
Show inline comments
 
@@ -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:
0 comments (0 inline, 0 general)