示例#1
0
文件: manage.py 项目: ruitian/UNAMS
def deploy():
    db.drop_all()
    db.create_all()

    try:
        RoleModel.insert_roles()
        r = RoleModel.query.filter_by(role_name='管理员').first()
        u = UserModel()
        u.user_name = 'admin'
        u.nick_name = 'admin'
        u.password = '******'
        u.role = r
        db.session.add(u)
        db.session.commit()
    except Exception, e:
        print e
        db.session.rollback()
示例#2
0
def configure_db():
    """Populate static tables with values"""
    def add_rows(rows_list):
        for i in rows_list:
            try:
                db.session.add(i)
                db.session.commit()
            except IntegrityError:
                db.session.rollback()

    with app.app_context():
        current_app.logger.info('======= START configuring DB =======')

        ## add roles
        roles = [
            RoleModel(id=app_constants.ROLE_USER,
                      name='user',
                      description='role user'),
            RoleModel(id=app_constants.ROLE_ADMIN,
                      name='admin',
                      description='admin user'),
            RoleModel(id=app_constants.ROLE_PLATFORM,
                      name='platform',
                      description='platform user'),
            RoleModel(id=app_constants.ROLE_PLATFORM_TWITTER,
                      name='platformTwitter',
                      description='platform twitter user')
        ]
        add_rows(roles)
        current_app.logger.info('Roles added')

        ## add permissions
        permissions = [
            PermissionModel(id=1, name='createPost', description='add posts'),
            PermissionModel(id=2, name='viewPost', description='view posts'),
            PermissionModel(id=3,
                            name='deletePost',
                            description='delete posts'),
            PermissionModel(id=4,
                            name='publishTwitterPost',
                            description='publish twitter posts'),
            PermissionModel(id=5,
                            name='administration',
                            description='performa administration tasks')
        ]
        add_rows(permissions)
        current_app.logger.info('Permission  added')

        ##add permissions to roles
        sql_truncate = f"delete from {cfg_db_schema}.role_permission;"  ##TODO: should use ORM
        r = execute_change(sql_truncate)
        permissions_roles_map = {
            RoleModel.query.get(app_constants.ROLE_USER): [2],
            RoleModel.query.get(app_constants.ROLE_ADMIN): [1, 2, 3, 4],
            RoleModel.query.get(app_constants.ROLE_PLATFORM): [4],
            RoleModel.query.get(app_constants.ROLE_PLATFORM_TWITTER): [4],
        }
        for role, permissions in permissions_roles_map.items():
            permissions = PermissionModel.query.filter(
                PermissionModel.id.in_(permissions)).all()
            role.permissions.extend(permissions)
            db.session.add(role)
            db.session.commit()
        current_app.logger.info('Permission for role added')

        ## add post_types
        post_types = [
            PostTypeModel(id=app_constants.POST_TYPE_IMAGE, name="Image post"),
            PostTypeModel(id=app_constants.POST_TYPE_TEXT, name="Text post")
        ]
        add_rows(post_types)
        current_app.logger.info('Post types added')

        ## add platforms
        paltforms = [
            PlatformModel(id=app_constants.PLATFORM_TWITTER_ID, name='Twitter')
        ]
        add_rows(paltforms)
        current_app.logger.info('Platforms added')

        ## add configs to platforms
        platforms_configs = [
            ## id_config column is used when i retrieve the specific config
            PlatformConfigModel(
                platform_id=app_constants.PLATFORM_TWITTER_ID,
                id_config=1,
                name='last reply(tweet_id) checked for reaction',
                value=''),
            PlatformConfigModel(
                platform_id=app_constants.PLATFORM_TWITTER_ID,
                id_config=2,
                name='last tweet_id checked for hastags(from logged user)',
                value=''),
        ]
        add_rows(platforms_configs)
        current_app.logger.info('Platforms configs added')

        current_app.logger.info('======= END configuring DB =======')
示例#3
0
def index():
    page_data = {}
    if 'current_role' in session:
        page_data['menu'] = RoleModel.get_menu(session['current_role'])
    return render_template('index.html', **page_data)
示例#4
0
文件: index.py 项目: ttop5/Acm_Show
def coach():
    role = RoleModel.objects(name="coach").first()
    users = UserModel.objects(roles=role).all()
    return render_template("coach.html", users=users)
示例#5
0
def generate_role():
    fake_roles = ['普通用户', '项目管理员', '用户管理员', '超级管理员']
    for fake_role in fake_roles:
        role = RoleModel(name=fake_role, remark=fake_role)
        db.session.add(role)
    db.session.commit()