Files
@ 157231a4fcb7
Branch filter:
Location: kallithea/rhodecode/lib/dbmigrate/versions/008_version_1_5_0.py - annotation
157231a4fcb7
2.0 KiB
text/x-python
move permission check of write access to repo groups inside a form.
- it's runned via create/edit/fork forms
- in case we have disabled repo creation, it will check root location write access for people that are not super admins, or have explicity create repo permission
- in case there's a group value passed to form, it checks just admin or write access
- it's runned via create/edit/fork forms
- in case we have disabled repo creation, it will check root location write access for people that are not super admins, or have explicity create repo permission
- in case there's a group value passed to form, it checks just admin or write access
d3200c58764e d3200c58764e d3200c58764e d3200c58764e d3200c58764e ca2b21819dfd d3200c58764e d3200c58764e d3200c58764e d3200c58764e d3200c58764e d3200c58764e d3200c58764e d3200c58764e b31984972e95 d3200c58764e d3200c58764e d3200c58764e d3200c58764e d3200c58764e d3200c58764e d3200c58764e d3200c58764e d3200c58764e ca2b21819dfd ca2b21819dfd ca2b21819dfd b31984972e95 ca2b21819dfd ca2b21819dfd ca2b21819dfd ca2b21819dfd ca2b21819dfd ca2b21819dfd ca2b21819dfd ca2b21819dfd f9c44f3ed4c6 f9c44f3ed4c6 f9c44f3ed4c6 f9c44f3ed4c6 f9c44f3ed4c6 f9c44f3ed4c6 f9c44f3ed4c6 f9c44f3ed4c6 f9c44f3ed4c6 f9c44f3ed4c6 f9c44f3ed4c6 f9c44f3ed4c6 09e8623362ef 09e8623362ef 09e8623362ef 09e8623362ef 09e8623362ef f9c44f3ed4c6 09e8623362ef 09e8623362ef f9c44f3ed4c6 d3200c58764e 6104dfd35b16 d3200c58764e d3200c58764e d3200c58764e | import logging
import datetime
from sqlalchemy import *
from sqlalchemy.exc import DatabaseError
from sqlalchemy.orm import relation, backref, class_mapper, joinedload
from sqlalchemy.orm.session import Session
from sqlalchemy.ext.declarative import declarative_base
from rhodecode.lib.dbmigrate.migrate import *
from rhodecode.lib.dbmigrate.migrate.changeset import *
from rhodecode.model.meta import Base
from rhodecode.model import meta
from rhodecode.lib.dbmigrate.versions import _reset_base
log = logging.getLogger(__name__)
def upgrade(migrate_engine):
"""
Upgrade operations go here.
Don't create your own engine; bind migrate_engine to your metadata
"""
#==========================================================================
# USER LOGS
#==========================================================================
_reset_base(migrate_engine)
from rhodecode.lib.dbmigrate.schema.db_1_5_0 import UserLog
tbl = UserLog.__table__
username = Column("username", String(255, convert_unicode=False,
assert_unicode=None), nullable=True,
unique=None, default=None)
# create username column
username.create(table=tbl)
_Session = Session()
## after adding that column fix all usernames
users_log = _Session.query(UserLog)\
.options(joinedload(UserLog.user))\
.options(joinedload(UserLog.repository)).all()
for entry in users_log:
entry.username = entry.user.username
_Session.add(entry)
_Session.commit()
#alter username to not null
from rhodecode.lib.dbmigrate.schema.db_1_5_0 import UserLog
tbl_name = UserLog.__tablename__
tbl = Table(tbl_name,
MetaData(bind=migrate_engine), autoload=True,
autoload_with=migrate_engine)
col = tbl.columns.username
# remove nullability from revision field
col.alter(nullable=False)
def downgrade(migrate_engine):
meta = MetaData()
meta.bind = migrate_engine
|