changeset 2185:eac0d6194783 beta

fixed repo_create hooks for forks
author Marcin Kuzminski <marcin@python-works.com>
date Fri, 13 Apr 2012 00:30:06 +0200
parents 79e4d6b9c1f0
children 7b52c2351231
files rhodecode/lib/celerylib/tasks.py rhodecode/model/repo.py
diffstat 2 files changed, 8 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/lib/celerylib/tasks.py	Thu Apr 12 22:49:13 2012 +0200
+++ b/rhodecode/lib/celerylib/tasks.py	Fri Apr 13 00:30:06 2012 +0200
@@ -47,6 +47,7 @@
 from rhodecode.lib.rcmail.smtp_mailer import SmtpMailer
 from rhodecode.lib.utils import add_cache, action_logger
 from rhodecode.lib.compat import json, OrderedDict
+from rhodecode.lib.hooks import log_create_repository
 
 from rhodecode.model.db import Statistics, Repository, User
 
@@ -372,7 +373,8 @@
 
     base_path = Repository.base_path()
 
-    RepoModel(DBS).create(form_data, cur_user, just_db=True, fork=True)
+    fork_repo = RepoModel(DBS).create(form_data, cur_user,
+                                      just_db=True, fork=True)
 
     alias = form_data['repo_type']
     org_repo_name = form_data['org_path']
@@ -387,6 +389,8 @@
     backend(safe_str(destination_fork_path), create=True,
             src_url=safe_str(source_repo_path),
             update_after_clone=update_after_clone)
+    log_create_repository(fork_repo.get_dict(), created_by=cur_user.username)
+
     action_logger(cur_user, 'user_forked_repo:%s' % fork_name,
                    org_repo_name, '', DBS)
 
@@ -395,6 +399,7 @@
     # finally commit at latest possible stage
     DBS.commit()
 
+
 def __get_codes_stats(repo_name):
     from rhodecode.config.conf import  LANGUAGES_EXTENSIONS_MAP
     repo = Repository.get_by_repo_name(repo_name).scm_instance
--- a/rhodecode/model/repo.py	Thu Apr 12 22:49:13 2012 +0200
+++ b/rhodecode/model/repo.py	Fri Apr 13 00:30:06 2012 +0200
@@ -286,12 +286,12 @@
                 self.__create_repo(repo_name, form_data['repo_type'],
                                    form_data['repo_group'],
                                    form_data['clone_uri'])
+                log_create_repository(new_repo.get_dict(),
+                                      created_by=cur_user.username)
 
             # 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())