コード例 #1
0
 def setUp(self) -> None:
     self.app = create_app('testing')
     self.app_context = self.app.app_context()
     self.app_context.push()
     db.create_all()
     Role.insert_roles()
     self.client = self.app.test_client(use_cookies=True)
コード例 #2
0
 def setUp(self):
     self.app = create_app('testing')
     self.app_context = self.app.app_context()
     self.app_context.push()
     db.create_all()
     Role.insert_roles()
     self.client = self.app.test_client()
コード例 #3
0
ファイル: manage.py プロジェクト: Deteriorator/Book.Flask.Web
def deploy():
    """Run deployment tasks."""
    from flask_migrate import upgrade
    from apps.models import Role, User

    # migrate database to latest revision
    upgrade()

    # create user roles
    Role.insert_roles()

    # create self-follows for all users
    User.add_self_follows()
コード例 #4
0
def test_group_user():
    roles = ['FrontUser', 'Operator', 'Administrator', 'Super']
    msg = {}
    for r in roles:
        role = Role(group=r)
        u = User()
        u.telephone = fake.phone_number()
        u.username = r + '-test'
        u.email = fake.ascii_free_email()
        u.password = '******'
        u.confirm = True
        u.realname = fake.name()
        with open('mxavatar.json', 'r') as f:
            avatar_list = json.load(f)
        u.avatar = choice(avatar_list)
        u.signature = fake.paragraph(nb_sentences=3,
                                     variable_nb_sentences=True)
        u.gender = GenderEnum(randint(1, 3))
        u.join_time = fake.date_this_year(before_today=True, after_today=False)
        u.role = role
        db.session.add(u)
        msg[r] = u.telephone
    try:
        db.session.commit()
    except Exception as e:
        print(e)
        db.session.rollback()
        print('测试用户生成失败!')
        return
    print('测试用户生成成功!')
    print(msg)
コード例 #5
0
def test_permission_user():
    ps = [
        'LOGIN', 'VIEW_POST', 'PUBLISH_POST', 'PUBLISH_COMMENT', 'LOGIN_CMS',
        'MANAGE_POST', 'MANAGE_COMMENTE', 'BOARDER', 'BANNER', 'FRONTUSER',
        'CMSUSER', 'ADMINER'
    ]
    msg = {}
    for p in ps:
        permissions = Permission.ALL_PERMISSION - getattr(Permission, p)
        role = Role(name='FrontUser', permissions=permissions)
        u = User()
        u.telephone = fake.phone_number()
        u.username = '******' + p
        u.email = fake.ascii_free_email()
        u.password = '******'
        u.confirm = True
        u.realname = 'NOT-' + p
        with open('mxavatar.json', 'r') as f:
            avatar_list = json.load(f)
        u.avatar = choice(avatar_list)
        u.signature = fake.paragraph(nb_sentences=3,
                                     variable_nb_sentences=True)
        u.gender = GenderEnum(randint(1, 4))
        u.join_time = fake.date_this_year(before_today=True, after_today=False)
        u.role = role
        db.session.add(u)
        msg[u.username] = u.telephone
    try:
        db.session.commit()
    except Exception:
        db.session.rollback()
    print('测试用户生成成功!')
    print(msg)
コード例 #6
0
def front_user(count=10):
    fake = Faker(locale='zh_CN')
    n = 0
    for i in range(count):
        u = User()
        u.telephone = fake.phone_number()
        u.username = fake.user_name()
        u.email = fake.ascii_free_email()
        u.password = '******'
        u.confirm = choice([True, False])
        u.realname = fake.name()
        with open('mxavatar.json', 'r') as f:
            avatar_list = json.load(f)
        u.avatar = choice(avatar_list)
        u.signature = fake.paragraph(nb_sentences=3,
                                     variable_nb_sentences=True)
        u.gender = GenderEnum(randint(1, 4))
        u.join_time = fake.date_this_year(before_today=True, after_today=False)
        role = Role()
        u.role = role
        db.session.add(u)
        try:
            db.session.commit()
            n += 1
        except Exception:
            db.session.rollback()
    print('Front用户添加成功,共同添加%d个用户' % n)
コード例 #7
0
def role_add():
    form = RoleForm()
    if form.validate_on_submit():
        data = form.data
        role = Role(name=data["name"],
                    auths=",".join(map(lambda x: str(x), data["auths"])))
        db.session.add(role)
        db.session.commit()
        flash("添加角色成功", "ok")
        return redirect(url_for("admin.role_add"))
    return render_template('admin/role_add.html', form=form)
コード例 #8
0
    def setUpClass(cls):
        # start Firefox
        try:
            cls.client = webdriver.Firefox()
        except:
            pass

        # skip these tests if the browser could not be started
        if cls.client:
            # create the application
            cls.app = create_app('testing')
            cls.app_context = cls.app.app_context()
            cls.app_context.push()

            # suppress logging to keep unittest output clean
            import logging
            logger = logging.getLogger('werkzeug')
            logger.setLevel("ERROR")

            # create the database and populate with some fake data
            db.create_all()
            Role.insert_roles()
            User.generate_fake(10)
            Post.generate_fake(10)

            # add an administrator user
            admin_role = Role.query.filter_by(permissions=0xff).first()
            admin = User(email='*****@*****.**',
                         username='******',
                         password='******',
                         role=admin_role,
                         confirmed=True)
            db.session.add(admin)
            db.session.commit()

            # start the Flask server in a thread
            threading.Thread(target=cls.app.run).start()

            # give the server a second to ensure it is up
            time.sleep(1)
コード例 #9
0
def set_permission():

    all_users = User.query.all()
    n = 0
    for u in all_users:
        if not u.role:
            r = Role()
            u.role = r
            db.session.add(u)
            n += 1
    try:
        db.session.commit()
        print('设置成功,%d个' % n)
    except Exception:
        db.session.rollback()
        print('设置失败')
コード例 #10
0
ファイル: stodo_server.py プロジェクト: caitinggui/stodo
def createSuperUser():
    from apps.models import User, Role
    from apps.forms import checkEmail, checkUsername, checkPassword
    # 从数据库绑定admin id
    role_admin = Role.select(Role.id).where(Role.name == "admin").get().id
    if not role_admin:
        return ("必须先在Role表中创建管理员角色")
    email = click.prompt("请输入邮箱")
    checkEmail(email)
    name = click.prompt("请输入用户名")
    checkUsername(name)
    password = click.prompt("请输入密码", hide_input=True, confirmation_prompt=True)
    checkPassword(password)
    password = User.generalPassword(password)
    User.create(email=email,
                name=name,
                password=password,
                sex=User.sex.choices.unknown,
                role_id=role_admin,
                signature="I am super admin")
    print("成功创建超级管理员账户;%s" % name)
コード例 #11
0
ファイル: stodo_server.py プロジェクト: caitinggui/stodo
def initdb():
    from apps.models import S, Role
    S.createAllTables()
    Role.initAdmin()
コード例 #12
0
 def __init__(self, user, *args, **kwargs):
     super(EditProfileAdminForm, self).__init__(*args, **kwargs)
     self.role.choices = [(role.id, role.name)
                          for role in Role.get_role_name(Role.Role.name)]
     self.user = user