##// END OF EJS Templates
permissions: handle more cases for invalidating permission caches...
permissions: handle more cases for invalidating permission caches - invalidate user permissions on chaning the global permissions - invalidate all users in case of creating new object with "copy permissions" flag - invalidate all users permissions in case of repo/repo group renames - invalidate all user permissions in forked repo with copy flag

File last commit:

r1543:4acfe019 default
r3411:2e06ebce stable
Show More
050_version_4_0_0.py
37 lines | 867 B | text/x-python | PythonLexer
# -*- coding: utf-8 -*-
import logging
from sqlalchemy.orm.attributes import flag_modified
from rhodecode.lib.dbmigrate.versions import _reset_base
from rhodecode.model import init_model_encryption, meta
log = logging.getLogger(__name__)
def upgrade(migrate_engine):
"""
Upgrade operations go here.
Don't create your own engine; bind migrate_engine to your metadata
"""
_reset_base(migrate_engine)
from rhodecode.lib.dbmigrate.schema import db_3_7_0_0
init_model_encryption(db_3_7_0_0)
fixups(db_3_7_0_0, meta.Session)
def downgrade(migrate_engine):
pass
def fixups(models, Session):
for repo in models.Repository.get_all():
if repo.clone_uri:
log.info('Encrypting clone uri in repo %s', repo)
flag_modified(repo, 'clone_uri')
Session().add(repo)
Session().commit()