Exemplo n.º 1
0
 def test_user_add(self):
     user = User(username='******')
     user.hash_password('123456')
     db.session.add(user)
     db.session.commit()
     user1 = User.query.filter_by(username='******').first()
     print(UserSchema().dump(user1).data)
     self.assertIsNotNone(user1)
     self.assertEqual(user.username, user1.username)
Exemplo n.º 2
0
    def create_user(self):
        from app.modules.auth.models import User

        user = User(username=self.username, email=self.email, active=self.is_active,)
        user.password = self.password
        user.create_userinfo(avator_info=self.avator_info)
        user.set_roles(self.rolename)
        user.save()
def test_group_children_query(flask_app):
    from app.modules.users.models import Group, db, groups_users
    from app.modules.auth.models import Role, User
    from app.services.users.groups import GroupFactory
    from app.services.users import create_user

    r1 = Role(name="role1").save(False)
    r2 = Role(name="role2").save(False)
    r3 = Role(name="role3").save(False)

    u1 = User(username="******", email="test1", password="******")
    u2 = User(username="******", email="test2", password="******")
    u3 = User(username="******", email="test3", password="******")
    for u in [u1, u2, u3]:
        create_user(u)

    grp1 = Group(name="父1", roles=[r1], users=[u1])
    grpfc1 = GroupFactory(grp1)
    grpfc1.add_group()

    grp2 = Group(name="子1-1", roles=[r2], parent=grp1, users=[u2, u3])
    grpfc2 = GroupFactory(grp2)
    grpfc2.add_group()

    grp3 = Group(name="子1-1-1", roles=[r3], parent=grp2, users=[u3, u1])
    grpfc3 = GroupFactory(grp3)
    grpfc3.add_group()
    assert grpfc3.check_soft_delete() is False

    db.session.commit()
    assert r1 in u1.roles
    assert r2 in u2.roles
    assert r2 in u3.roles
    assert r3 in u1.roles
    assert r3 in u3.roles

    grp3.deleted = True
    grpfc3 = GroupFactory(grp3)
    assert grpfc3.check_soft_delete() is True
    db.session.commit()

    grpfc1.delete_group(soft_delete=False)
    db.session.commit()

    assert r3 not in u3.roles
    assert r2 not in u2.roles
    assert r1 not in u3.roles
    db.session.rollback()
Exemplo n.º 4
0
def sampledata(output=True):
    """Populate the database with some sample data"""
    db.create_all()
    user = User(name="Administrator",
                username="******",
                email="*****@*****.**",
                password="******")
    if output:
        print(user)
    db.session.add(user)
    db.session.commit()
Exemplo n.º 5
0
def create_user():
    app = current_app
    config = app.config
    email = config.get('USER_EMAIL')
    username = config.get('USER_NAME')
    password = config.get('USER_PASSWORD')
    confirmed = True
    try:
        user = User.query.filter_by(email=email).first()
        if not user:
            user = User(email=email,
                        username=username,
                        password=password,
                        confirmed=confirmed)
        else:
            user.password = password
            user.confirmed = True
        db.session.add(user)
        db.session.commit()
    except Exception:
        pass
Exemplo n.º 6
0
def confirm_token(jti, token_type, revoked=True):
    """
    验证token

    :param jti: str jti字符串
    :param token_type: str token类型
    :param revoked 是否撤销token
    :return (state, user)
    """
    try:
        token = TokenBlackList.query.filter_by(jti=jti,
                                               token_type=token_type).one()
        token.update(revoked=revoked)
        user = User.get_by_email(token.user_identity)
        return True, user
    except NoResultFound:
        abort(403, message="token无效")
Exemplo n.º 7
0
def create_user(context, username, email, is_admin=True, is_active=True):
    """
    新建用户
    """
    from app.modules.auth.models import User, Role
    from app.modules.users.models import UserInfo
    from app.modules.auth import ROLES
    from app.modules.storages.models import Storages
    from flask_security.utils import encrypt_password

    password = input("Enter password: "******"AdminAvator.jpg",
            storetype="avator",
            saved=True,
            filetype="image/jpeg",
            path="default/AdminAvator.jpg",
            uid=1,
        )
    else:
        role = Role.get_by_name(ROLES.User)
        new_user.roles.append(role)
        avator = Storages(
            name="DefaultAvator.jpg",
            storetype="avator",
            saved=True,
            filetype="image/jpeg",
            path="default/DefaultAvator.jpg",
            uid=1,
        )
    UserInfo(user=new_user, avator=avator).save()
Exemplo n.º 8
0
def init():
    """
    初始化数据
    """
    from app.modules.auth.models import User, Role, Permission
    from app.modules.users.models import UserInfo
    from app.modules.storages.models import Storages
    from app.utils import local

    su_permission = Permission.create(name="SuperPriviledge",
                                      description="超级用户权限")
    user_permission = Permission.create(name="UserPriviledge",
                                        description="普通用户权限")
    su_role = Role.create(name="SuperUser", description="超级用户角色")
    user_role = Role.create(name="User", description="用户角色")
    user_role.permissions.append(user_permission)
    su_role.permissions.append(su_permission)

    # create super user
    root = User.create(
        username="******",
        password=encrypt_password("zerotoany"),
        email="*****@*****.**",
        active=True,
        confirmed_at=local.localnow(),
    )
    avator = Storages(
        name="AdminAvator.jpg",
        storetype="avator",
        saved=True,
        filetype="image/jpeg",
        path="default/AdminAvator.jpg",
        uid=1,
    )
    UserInfo.create(user=root, avator=avator)
    root.roles.append(su_role)
    root.save()
Exemplo n.º 9
0
def get_user(identity):
    from app.modules.auth.models import User

    return User.get_by_email(identity)
Exemplo n.º 10
0
def signup():
    form = RegistrationForm(request.form)
    if request.method == 'GET':
        return render_template("auth/signup.html", form=form)

    if form.validate_on_submit():
        if not User.objects(email=form.email.data):
            if not User.objects(username=form.username.data):
                new_user = User()
                new_user.user_id = User.objects().count() + 1
                new_user.email = form.email.data
                new_user.username = form.username.data
                new_user.password_hash = generate_password_hash(form.password.data)
                new_user.save()
                flash('You have been registered!')
                return redirect(url_for('.signin'))
            flash('User with this username is already exist', 'error-message')
        flash('User with this email is already exist', 'error-message')

    return render_template("auth/signup.html", form=form)
Exemplo n.º 11
0
def load_user(userid):
    return User.get(int(userid))