Mercurial > kallithea
changeset 1972:27abf546aa8a beta
#348 added post-create repository hook
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Tue, 31 Jan 2012 04:41:00 +0200 |
parents | 3dd89d30cd28 |
children | 0a46e8f1b7aa |
files | docs/changelog.rst rhodecode/lib/hooks.py rhodecode/model/repo.py |
diffstat | 3 files changed, 34 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/docs/changelog.rst Sat Jan 28 19:57:52 2012 +0200 +++ b/docs/changelog.rst Tue Jan 31 04:41:00 2012 +0200 @@ -36,6 +36,7 @@ - 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 -----
--- a/rhodecode/lib/hooks.py Sat Jan 28 19:57:52 2012 +0200 +++ b/rhodecode/lib/hooks.py Tue Jan 31 04:41:00 2012 +0200 @@ -123,3 +123,33 @@ 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
--- a/rhodecode/model/repo.py Sat Jan 28 19:57:52 2012 +0200 +++ b/rhodecode/model/repo.py Tue Jan 31 04:41:00 2012 +0200 @@ -33,6 +33,7 @@ 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 @@ "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 @@ 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 @@ self.sa.add(repo_to_perm) - if fork: if form_data.get('copy_permissions'): repo = Repository.get(fork_parent_id) @@ -291,6 +289,8 @@ # 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())