Changeset - 27abf546aa8a
[Not reviewed]
beta
0 3 0
Marcin Kuzminski - 14 years ago 2012-01-31 03:41:00
marcin@python-works.com
#348 added post-create repository hook
3 files changed with 34 insertions and 3 deletions:
0 comments (0 inline, 0 general)
docs/changelog.rst
Show inline comments
 
@@ -36,6 +36,7 @@ news
 
- added linking of changesets in commit messages  
 
- new compact changelog with expandable commit messages
 
- firstname and lastname are optional in user creation
 
- #348 added post-create repository hook
 
    
 
fixes
 
-----
rhodecode/lib/hooks.py
Show inline comments
 
@@ -123,3 +123,33 @@ def log_push_action(ui, repo, **kwargs):
 
                  commit=True)
 

	
 
    return 0
 

	
 

	
 
def log_create_repository(repository_dict, created_by, **kwargs):
 
    """
 
    Post create repository Hook. This is a dummy function for admins to re-use
 
    if needed
 

	
 
    :param repository: dict dump of repository object 
 
    :param created_by: username who created repository
 
    :param created_date: date of creation
 

	
 
    available keys of repository_dict:
 

	
 
     'repo_type',
 
     'description',
 
     'private',
 
     'created_on',
 
     'enable_downloads',
 
     'repo_id',
 
     'user_id',
 
     'enable_statistics',
 
     'clone_uri',
 
     'fork_id',
 
     'group_id',
 
     'repo_name'
 

	
 
    """
 

	
 

	
 
    return 0
 
\ No newline at end of file
rhodecode/model/repo.py
Show inline comments
 
@@ -33,6 +33,7 @@ from vcs.backends import get_backend
 

	
 
from rhodecode.lib import safe_str
 
from rhodecode.lib.caching_query import FromCache
 
from rhodecode.lib.hooks import log_create_repository
 

	
 
from rhodecode.model import BaseModel
 
from rhodecode.model.db import Repository, UserRepoToPerm, User, Permission, \
 
@@ -70,7 +71,6 @@ class RepoModel(BaseModel):
 
                                          "get_repo_%s" % repo_name))
 
        return repo.scalar()
 

	
 

	
 
    def get_users_js(self):
 

	
 
        users = self.sa.query(User).filter(User.active == True).all()
 
@@ -131,7 +131,6 @@ class RepoModel(BaseModel):
 

	
 
        return defaults
 

	
 

	
 
    def update(self, repo_name, form_data):
 
        try:
 
            cur_repo = self.get_by_repo_name(repo_name, cache=False)
 
@@ -262,7 +261,6 @@ class RepoModel(BaseModel):
 

	
 
                self.sa.add(repo_to_perm)
 

	
 

	
 
            if fork:
 
                if form_data.get('copy_permissions'):
 
                    repo = Repository.get(fork_parent_id)
 
@@ -291,6 +289,8 @@ class RepoModel(BaseModel):
 
            # now automatically start following this repository as owner
 
            ScmModel(self.sa).toggle_following_repo(new_repo.repo_id,
 
                                                    cur_user.user_id)
 
            log_create_repository(new_repo.get_dict(),
 
                                  created_by=cur_user.username)
 
            return new_repo
 
        except:
 
            log.error(traceback.format_exc())
0 comments (0 inline, 0 general)