Changeset - d5c684052ea4
[Not reviewed]
beta
0 1 0
Marcin Kuzminski - 13 years ago 2013-04-15 20:44:18
marcin@python-works.com
fixed migration of empty usergroups created pre-usergroup delegation permissions
1 file changed with 13 insertions and 1 deletions:
0 comments (0 inline, 0 general)
rhodecode/lib/db_manage.py
Show inline comments
 
@@ -34,20 +34,21 @@ from rhodecode import __dbversion__, __p
 

	
 
from rhodecode.model.user import UserModel
 
from rhodecode.lib.utils import ask_ok
 
from rhodecode.model import init_model
 
from rhodecode.model.db import User, Permission, RhodeCodeUi, \
 
    RhodeCodeSetting, UserToPerm, DbMigrateVersion, RepoGroup, \
 
    UserRepoGroupToPerm, CacheInvalidation
 
    UserRepoGroupToPerm, CacheInvalidation, UserGroup
 

	
 
from sqlalchemy.engine import create_engine
 
from rhodecode.model.repos_group import ReposGroupModel
 
#from rhodecode.model import meta
 
from rhodecode.model.meta import Session, Base
 
from rhodecode.model.repo import RepoModel
 
from rhodecode.model.permission import PermissionModel
 
from rhodecode.model.users_group import UserGroupModel
 

	
 

	
 
log = logging.getLogger(__name__)
 

	
 

	
 
def notify(msg):
 
@@ -274,12 +275,13 @@ class DbManage(object):
 
                           'detected for default user. Permissions are now '
 
                           'reset to the default value for default user. '
 
                           'Please validate and check default permissions '
 
                           'in admin panel')
 

	
 
            def step_8(self):
 
                self.klass.create_permissions()
 
                self.klass.populate_default_permissions()
 
                self.klass.create_default_options(skip_existing=True)
 
                Session().commit()
 

	
 
            def step_9(self):
 
                perm_fixes = self.klass.reset_permissions(User.DEFAULT_USER)
 
@@ -296,13 +298,23 @@ class DbManage(object):
 

	
 
            def step_11(self):
 
                self.klass.update_repo_info()
 

	
 
            def step_12(self):
 
                self.klass.create_permissions()
 
                Session().commit()
 

	
 
                self.klass.populate_default_permissions()
 
                Session().commit()
 

	
 
                #fix all usergroups
 
                ug_model = UserGroupModel()
 
                for ug in UserGroup.get_all():
 
                    perm_obj = ug_model._create_default_perms(ug)
 
                    Session().add(perm_obj)
 
                Session().commit()
 

	
 
        upgrade_steps = [0] + range(curr_version + 1, __dbversion__ + 1)
 

	
 
        # CALL THE PROPER ORDER OF STEPS TO PERFORM FULL UPGRADE
 
        _step = None
 
        for step in upgrade_steps:
0 comments (0 inline, 0 general)