예제 #1
0
파일: user.py 프로젝트: xuweiwei2011/cmdb-1
    def add(cls, **kwargs):
        existed = User.get_by(username=kwargs['username'],
                              email=kwargs['email'])
        existed and abort(
            400, "User <{0}> is already existed".format(kwargs['username']))

        kwargs['nickname'] = kwargs.get('nickname') or kwargs['username']
        kwargs['block'] = 0
        kwargs['key'], kwargs['secret'] = cls._gen_key_secret()

        user = User.create(**kwargs)

        RoleCRUD.add_role(user.username, uid=user.uid)

        return user
예제 #2
0
def clean_db():
    """clean all data but not drop table"""
    for table in reversed(db.metadata.sorted_tables):
        if table.fullname in ["users"]:
            continue
        db.session.execute(table.delete())
        db.session.commit()

    if not User.get_by(email="*****@*****.**"):
        print("hello world xxxxx")
        u = User.create(flush=True,
                        username="******",
                        nickname="测试",
                        email="*****@*****.**",
                        key="",
                        secret="")
        u._set_password("123456")
        u.save()
예제 #3
0
파일: user.py 프로젝트: russellPanda/cmdb-2
    def add(cls, **kwargs):
        existed = User.get_by(username=kwargs['username'],
                              email=kwargs['email'])
        existed and abort(
            400, "User <{0}> is already existed".format(kwargs['username']))

        is_admin = kwargs.pop('is_admin', False)
        kwargs['nickname'] = kwargs.get('nickname') or kwargs['username']
        kwargs['block'] = 0
        kwargs['key'], kwargs['secret'] = cls._gen_key_secret()

        user = User.create(**kwargs)

        role = RoleCRUD.add_role(user.username, uid=user.uid)

        if is_admin:
            from api.lib.perm.acl.cache import AppCache
            from api.lib.perm.acl.role import RoleRelationCRUD
            admin_r = Role.get_by(name='admin', first=True, to_dict=False) or \
                      RoleCRUD.add_role('admin', AppCache.get('cmdb').id, True)

            RoleRelationCRUD.add(admin_r.id, role.id)

        return user