Esempio n. 1
0
def add_original_settings():
    print("请在下方输入要添加的admin账号信息:")
    admin_name = input("用户名:")
    while admin_name == '':
        print("用户名不能为空,请重新输入!")
        admin_name = input("用户名:")
    admin_password = input("密码:")
    while admin_password == '':
        print("密码不能为空,请重新输入!")
        admin_password = input("密码:")
    admin = Admin(name=admin_name, password=admin_password)
    db.session.add(admin)
    db.session.commit()
    print(r"admin账号已添加完毕,请使用此账号登录后台进行管理操作,登录地址为http://hostname:port/admin/login")
    print("接下来添加其它分类,请不要删除该分类哦!")
    category = Category(name='其它')
    db.session.add(category)
    db.session.commit()
    print("其它分类已经添加完毕,请愉快玩耍项目!")
Esempio n. 2
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = RegistrationForm()
    if form.validate_on_submit():
        if Admin.query.all() == None:
            role = 'superadmin'
        else:
            role = 'admin'
        user = Admin(name=form.name.data,
                     email=form.email.data,
                     phone_number=form.phone_number.data,
                     role=role)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        flash(f'Account created for { form.name.data }!', 'success')
        return redirect(url_for('login'))
    return render_template('register.html', title="Register", form=form)
Esempio n. 3
0
def admin_add():
    """
    添加管理员
    """
    form = AdminForm()
    if form.validate_on_submit():
        from werkzeug.security import generate_password_hash
        data = form.data
        admin = Admin(
            name=data['name'],
            pwd=generate_password_hash(data['pwd']),
            role_id=data['role_id'],
            is_super=1
        )
        db.session.add(admin)
        db.session.commit()
        flash('管理员添加成功', category='ok')
        return redirect(url_for('admin.admin_add'))
    return render_template("admin/admin_add.html", form=form)
Esempio n. 4
0
def account():
    form = ChangeAccount()
    if not current_user.is_root:
        flash('您没有超级用户权限', 'danger')
        return redirect('/index.html')
    if form.validate_on_submit():
        if form.action.data == 'add':
            if Admin.query.filter_by(id=form.admin_id.data).first():
                flash('添加失败,管理员已存在', 'warning')
            elif not form.password.data:
                flash('请设置密码', 'warning')
            else:
                admin = Admin(form.admin_id.data, form.password.data,
                              form.is_root.data)
                db.session.add(admin)
                db.session.commit()
                flash('添加成功', 'success')
        elif form.action.data == 'update':
            admin = Admin.query.filter_by(id=form.admin_id.data).first()
            if admin:
                if form.password.data:
                    admin.password = form.password.data
                if form.is_root.data:
                    admin.is_root = form.is_root.data
                db.session.commit()
                flash('修改成功', 'success')
            else:
                flash('管理员不存在', 'warning')
        elif form.action.data == 'delete':
            admin = Admin.query.filter_by(id=form.admin_id.data).first()
            if admin:
                db.session.delete(admin)
                db.session.commit()
                flash('删除成功', 'success')
            else:
                flash('管理员不存在', 'warning')
    user_id = current_user.get_id()
    auth_list = Admin.query.all()
    return render_template("account.html",
                           username=user_id,
                           auth_list=auth_list,
                           form=form)
Esempio n. 5
0
def dbinit():
    print('dbinit')
    from werkzeug.security import generate_password_hash
    password = generate_password_hash('superadmin')
    objects = []
    objects.append(Admin(id=-1, name='admin', pwd=password))
    # unit
    objects.append(Kvp(type='unit', value=u'套'))
    objects.append(Kvp(type='unit', value=u'张'))
    objects.append(Kvp(type='unit', value=u'辆'))
    objects.append(Kvp(type='unit', value=u'个'))
    objects.append(Kvp(type='unit', value=u'立方'))
    objects.append(Kvp(type='unit', value=u'毫米'))
    objects.append(Kvp(type='unit', value=u'块'))
    objects.append(Kvp(type='unit', value=u'副'))
    objects.append(Kvp(type='unit', value=u'台'))
    objects.append(Kvp(type='unit', value=u'米'))
    objects.append(Kvp(type='unit', value=u'桶'))
    objects.append(Kvp(type='unit', value=u'瓶'))
    objects.append(Kvp(type='unit', value=u'支'))
    objects.append(Kvp(type='unit', value=u'升'))
    objects.append(Kvp(type='unit', value=u'公斤'))
    objects.append(Kvp(type='unit', value=u'卷'))
    objects.append(Kvp(type='unit', value=u'壶'))
    objects.append(Kvp(type='unit', value=u'盒'))
    objects.append(Kvp(type='unit', value=u'条'))
    objects.append(Kvp(type='unit', value=u'片'))
    objects.append(Kvp(type='unit', value=u'袋'))
    objects.append(Kvp(type='unit', value=u'件'))
    objects.append(Kvp(type='unit', value=u'箱'))
    # store
    objects.append(Kvp(type='store', value=u'库房1'))
    objects.append(Kvp(type='store', value=u'库房2'))
    objects.append(Kvp(type='store', value=u'库房3'))
    # 支付方式 paywith
    objects.append(Kvp(type='paywith', value=u'现金'))
    objects.append(Kvp(type='paywith', value=u'银行卡'))
    objects.append(Kvp(type='paywith', value=u'支付宝'))
    objects.append(Kvp(type='paywith', value=u'微信'))
    objects.append(Kvp(type='paywith', value=u'其他'))
    db.session.add_all(objects)
    db.session.commit()
Esempio n. 6
0
def admin_add():
    form = AdminDataForm()
    if form.validate_on_submit():
        account = form.account.data
        pwd = form.pwd.data
        name = form.name.data
        role_id = form.role_id.data
        _locked = int(form.locked.data)
        admin = Admin(account=account,
                      pwd=generate_password_hash(pwd),
                      name=name,
                      role_id=role_id,
                      _locked=_locked
                      )

        db.session.add(admin)
        db.session.commit()
        flash('Admin数据添加成功!', 'ok')
        return redirect(url_for('admin.admin_add'))
    return render_template('database/admin_add.html', form=form)
Esempio n. 7
0
def admin_add():
    username = session['admin']
    form = AdminForm()
    if form.validate_on_submit():
        data = form.data
        # 判断当前的名字是否存在
        name = data['admin_name']
        pwd = data['admin_pwd']
        role_id = data['admin_role']
        # 密码加密
        pwd = generate_password_hash(pwd)
        # 存入数据库
        admin = Admin(name=name, pwd=pwd, role_id=role_id, is_super=0)
        db.session.add(admin)
        db.session.commit()
        flash('管理员添加成功!', 'ok')
        return redirect(url_for('admin.admin_add'))
    return render_template('/admin/user/admin_add.html',
                           form=form,
                           username=username)
Esempio n. 8
0
def admin_add():
    """添加管理员"""
    form = AdminForm()
    from werkzeug.security import generate_password_hash
    if form.validate_on_submit():
        data = form.data
        name_count = Admin.query.filter_by(name=data["name"]).count()
        if name_count == 1:
            flash("管理员名称已经存在,请重新编辑!", "err")
            return redirect(url_for('admin.admin_add'))
        admin = Admin(
            name=data['name'],
            pwd=generate_password_hash(data['pwd']),
            role_id=data['role_id'],
            is_super=1
        )
        db.session.add(admin)
        db.session.commit()
        flash("添加管理员成功!", "ok")
    return render_template("admin/admin_add.html", form=form)
Esempio n. 9
0
def admin_add():
    form = AdminForm()
    if form.validate_on_submit():
        data = form.data
        admin_count = Admin.query.filter_by(name=data['name']).count()
        if admin_count == 1:
            flash("管理员名称已经存在", "err")
            return redirect(url_for("admin.admin_add"))

        admin = Admin(
            name=data['name'],
            pwd=generate_password_hash(data['pwd']),
            role_id=data['role_id'],
            is_super=1
        )
        db.session.add(admin)
        db.session.commit()
        flash("管理员添加成功", "ok")
        return redirect(url_for("admin.admin_add"))
    return render_template("admin/admin_add.html", form=form)
Esempio n. 10
0
def admin_add():
    form = AdminForm()
    from werkzeug.security import generate_password_hash
    if form.validate_on_submit():
        data = form.data
        admin = Admin(
            name=data["name"],
            pwd=generate_password_hash(data['pwd']),
            role_id=data['role_id'],
            is_super=1,
        )
        db.session.add(admin)
        db.session.commit()
        flash("添加管理员成功!", "ok")
        oplog = Oplog(admin_id=session['admin_id'],
                      ip=request.remote_addr,
                      reason='添加 %s 管理员' % (data["name"]))
        db.session.add(oplog)
        db.session.commit()
    return render_template('admin/admin_add.html', form=form)
Esempio n. 11
0
def initialize():
    admin_list = db.session.query(Admin).all()
    if admin_list:
        abort(404)
    flash('数据表创建成功!')
    admin = Admin(name='admin', email='*****@*****.**', password='******')
    db.session.add(admin)
    flash('管理员账户: admin 密码: admin 准备提交')
    tag_list = ['技术', '科普', '娱乐', '生活', '记录', '电影', '音乐']
    for t in tag_list:
        tag = VideoTag(name=t)
        db.session.add(tag)
        flash('标签列表准备提交')
    try:
        db.session.commit()
        flash('所有事务提交成功!')
    except:
        flash('未知错误!')
        db.session.rollback()
    return redirect(url_for('admin.login_view'))
Esempio n. 12
0
def admin_add():
    form = AdminForm()
    from werkzeug.security import generate_password_hash
    if form.validate_on_submit():
        data = form.data
        admin_count = Admin.query.filter_by(name=data['name']).count()
        if admin_count == 1:
            flash('该管理员名已存在!请重新添加!', 'err')
            return redirect(url_for('admin.admin_add'))
        admin = Admin(
            name=data['name'],
            pwd=generate_password_hash(data['pwd']),
            role_id=data['role_id'],
            is_super=1  # 普通管理员(0:超级管理员)
        )
        db.session.add(admin)
        db.session.commit()
        flash('添加新管理员成功!', 'ok')
        return redirect(url_for('admin.admin_add'))
    return render_template('admin/admin_add.html', form=form)
Esempio n. 13
0
def admin_add():
    form = AdminForm()
    from werkzeug.security import generate_password_hash
    if form.validate_on_submit():
        data = form.data
        if Admin.query.filter_by(name=data['name']).count() == 1:
            flash('管理员已存在!', category='err')
            return redirect(url_for('admin.admin_add'))

        if not data['is_super']:
            data['is_super'] = 0

        add_admin = Admin(name=data['name'],
                          password=generate_password_hash(data['pwd']),
                          role_id=data['role_id'],
                          is_super=data['is_super'])
        db.session.add(add_admin)
        db.session.commit()
        flash('管理员添加成功', category='ok')
    return render_template('admin/admin/add.html', form=form)
Esempio n. 14
0
def addAdmin():
    result={'code':1,'result':'success'}
    try:
        admin = Admin()
        admin.id = request.form.get('AdminId',admin.id)
        admin.name = request.form.get('AdminName',admin.name)
        admin.sex = str_to_bool(request.form.get('Sex',admin.sex))

        if(request.form.get('Passwd','')!=''):
            admin.passwd = request.form.get('Passwd')
        if(request.form.get('Permission','')!=''):
            admin.passwd = request.form.get('Permission')
            
        db.session.add(admin)
        db.session.commit()
    except Exception as e:
        result['code'] = 0
        result['result'] = '添加失败'
        print(e)
    return str(json.dumps(result))
Esempio n. 15
0
def admin_add():
    form = AdminForm()
    form.role_id.choices = [(0, "未选择")] + [(v.id, v.name)
                                           for v in Role.query.all()]
    if form.validate_on_submit():
        data = form.data
        admin = Admin(name=data["name"],
                      pwd=form.pwd.data,
                      role_id=data["role_id"],
                      is_super=1)
        db.session.add(admin)
        db.session.commit()
        flash("添加管理员成功!", "ok")
        oplog = Oplog(admin_id=session["admin_id"],
                      ip=request.remote_addr,
                      reason="添加新管理员:%s" % data["name"])
        db.session.add(oplog)
        db.session.commit()
        return redirect(url_for("admin.admin_add"))
    return render_template("admin/admin_add.html", form=form)
Esempio n. 16
0
def admin_add():
    from werkzeug.security import generate_password_hash
    form = AdminForm()

    # # 添加/删除角色后,实时更新到"所属角色"的下拉列表中
    form.role_id.choices = [(v.id, v.name) for v in Role.query.all()]

    if form.validate_on_submit():
        data = form.data
        print(data)
        admin = Admin(name=data.get('name'),
                      pwd=generate_password_hash(data.get('repwd')),
                      role_id=data.get('role_id'),
                      is_super=0)

        db.session.add(admin)
        db.session.commit()
        flash("添加管理员成功!", "ok")
        return redirect(url_for('admin.admin_add'))
    return render_template("admin/admin_add.html", form=form)
Esempio n. 17
0
def register():
    '''
    This link allows any site visitors not currently logged in as administrators 
    to create administrator accounts.
    '''
    # If user is logged in, redirect to admin panel
    if current_user.is_authenticated:
        return redirect(url_for('admin_panel'))

    form = AdminRegistration(request.form)
    if form.validate_on_submit():
        user = Admin(username=form.username.data, email=form.email.data)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('Congratulations, you are now a registered admin!')
        return redirect(url_for('login'))
    elif form.errors:
        flash(form.errors)
    return render_template('register.html', title='Register', form=form)
Esempio n. 18
0
def admin_add():
    """
     添加管理员
     """
    from werkzeug.security import generate_password_hash
    form = AdminForm()
    form.role_id.choices = [(v.id, v.name) for v in Role.query.all()]
    if form.validate_on_submit():
        data = form.data
        admin = Admin(
            name=data['name'],
            pwd=generate_password_hash(data['pwd']),
            role_id=data['role_id'],
            # 代表普通管理员
            is_super=1,
        )
        db.session.add(admin)
        db.session.commit()
        flash('添加管理员成功', 'success')
        return redirect(url_for('admin.admin_add'))
    return render_template('admin/admin_add.html', form=form)
Esempio n. 19
0
 def post(self):
     admin = g.admin
     if admin.permission == 2:
         parser = reqparse.RequestParser()
         parser.add_argument('adminname', type=str, required=True)
         parser.add_argument('password', type=str, required=True)
         parser.add_argument('permission', type=int, required=True)
         args = parser.parse_args()
         resetAdmin = Admin.query.filter_by(
             adminname=args["adminname"]).first()
         if resetAdmin:
             return jsonify({"code": 409, "message": "该管理员已存在!"})
         else:
             newadmin = Admin(adminname=args["adminname"],
                              permission=args["permission"],
                              password=args["password"])
             db.session.add(newadmin)
             db.session.commit()
             return jsonify({"code": 201, "message": "添加成功!"})
     else:
         return jsonify({"code": 403, "message": "权限不足!"})
Esempio n. 20
0
def admin():
    form = AdminForm()
    try:
        admin = db.session.query(Admin).filter(Admin.id==1).one()
        form.login.data = admin.login
    except:
        form.login.data = 'admin'
    if form.validate_on_submit():
        try:
            admin = db.session.query(Admin).filter(Admin.id==1).one()
            admin.login = form.login.data
            admin.set_password(form.password.data)
            db.session.commit()
        except:
            admin = Admin(login=form.login.data)
            admin.set_password(form.password.data)
            db.session.add(admin)
            db.session.commit()
        flash("Учетная запись администратора изменена")
        return redirect(url_for("index"))
    return render_template("admin.html", form=form)
Esempio n. 21
0
    def test_about_me(self):
        admin = Admin(username='******',
                      password_hash='test1',
                      about_me='about_me_test')
        db.session.add(admin)
        db.session.commit()
        self.client.post(url_for('main.login'),
                         data=dict(username='******', password='******'),
                         follow_redirects=True)

        response = self.client.get(url_for('main.about_me'),
                                   follow_redirects=True)
        self.assertTrue('about_me_test' in response.data)

        response = self.client.get(url_for('main.edit_about_me'),
                                   follow_redirects=True)
        self.assertTrue('about_me_test' in response.data)

        response = self.client.post(url_for('main.edit_about_me'),
                                    data=dict(about_me='m_about_me_test'),
                                    follow_redirects=True)
        self.assertTrue('m_about_me_test' in response.data)
Esempio n. 22
0
def admin_add():
    form = AdminForm()
    from werkzeug.security import generate_password_hash
    if form.validate_on_submit():
        data = form.data
        admin_count = Admin.query.filter_by(name=data['name']).count()
        if admin_count == 1:
            flash("管理员名称已经存在!", 'err')
            return redirect(url_for("admin.admin_add"))
        admin = Admin(
            name=data['name'],
            pwd=generate_password_hash(data['pwd']),
            role_id=int(data['role_id']),
            is_super=1
        )
        db.session.add(admin)
        db.session.commit()
        flash("管理员添加成功!", 'ok')
        # 操作日志
        add_log('添加管理员《%s》' % admin.name)
        return redirect(url_for('admin.admin_add'))
    return render_template('admin/admin_add.html', form=form)
Esempio n. 23
0
def admin_register():
    # If a user who's already logged in tries to register, send him/her to the
    # homepage.
    if current_user.is_authenticated:
        return redirect(url_for("admin_home"))

    form = AdminRegistrationForm()

    # POST: Process the admin registration form.
    if form.validate_on_submit():
        admin = Admin(username=form.username.data, email=form.email.data)
        admin.set_password(form.password.data)
        db.session.add(admin)
        db.session.commit()
        login_user(admin, remember=False)
        next_page = request.args.get("next")
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for("admin_home")
        return redirect(next_page)

    # GET: Render the admin login page.
    return render_template("admin_register.html", form=form)
Esempio n. 24
0
def add_admin():
    from app.models import Admin, LoveMe
    from config import Config
    # 创建管理员
    admin = Admin(site_name=Config.SITE_NAME,
                  site_title=Config.SITE_TITLE,
                  name=Config.ADMIN_NAME,
                  profile=Config.ADMIN_PROFILE,
                  login_name=Config.ADMIN_LOGIN_NAME,
                  password=Config.ADMIN_PASSWORD)
    # 创建love-me
    love = LoveMe(loveMe=666)
    # 创建留言板
    guest_book = Page(title='留言板',
                      url_name='guest-book',
                      canComment=True,
                      isNav=False,
                      body='留言板')
    db.session.add(admin)
    db.session.add(love)
    db.session.add(guest_book)
    db.session.commit()
Esempio n. 25
0
def admin_add():
    form = AdminForm()
    form.role_id.choices = [(v.id, v.name) for v in Role.query.all()]
    from werkzeug.security import generate_password_hash
    if form.validate_on_submit():
        data = form.data
        admin_count = Admin.query.filter_by(name=data['name']).count()
        if admin_count == 1:
            flash("管理员已经存在,出现冲突", "err")
            return redirect(url_for('admin.admin_add'))
        admin = Admin(
            name=data["name"],
            pwd=generate_password_hash(data["pwd"]),
            role_id=data["role_id"],
            is_super=1,  # 是否是超级管理员, 0为超级管理员, 1为普通管理员
        )
        db.session.add(admin)
        db.session.commit()
        flash("添加管理员成功", "ok")
        reason = "添加管理员%s" % admin.name
        add_oplog(reason)
    return render_template("admin/admin_add.html", form=form)
Esempio n. 26
0
    def test_login_logout(self):
        admin = Admin()
        admin.username = '******'
        admin.password = '******'
        db.session.add(admin)
        db.session.commit()
        user = Admin.query.filter_by(id=1).first()
        self.assertTrue('test' == user.username)
        self.assertTrue(user.verify_password('test'))

        response = self.client.post(url_for('main.login'),
                                    data=dict(
                                        username='******',
                                        password='******',
                                    ),
                                    follow_redirects=True)
        self.assertTrue('退出' in response.data)
        self.assertTrue('文章' in response.data)

        response = self.client.get(url_for('main.logout'),
                                   follow_redirects=True)
        self.assertTrue('登录' in response.data)
        self.assertTrue('文章' in response.data)
Esempio n. 27
0
def register(identity):
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = RegistrationForm()
    if form.validate_on_submit():
        if identity == 'student':
            user = Student(student_num=form.id.data,
                           email=form.email.data,
                           username=form.username.data)
            # 手动将输入密码放入数据库中
        else:
            user = Admin(admin_num=form.id.data,
                         email=form.email.data,
                         username=form.username.data)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('Congratulations, you are now a registered user!')
        return redirect(url_for('login', identity=identity))
    return render_template('register.html',
                           title='Register',
                           form=form,
                           identity=identity)
Esempio n. 28
0
def register_admin():
    """
    Required in body:
    name: String
    email: String
    password: String
    """
    data = request.get_json(force=True)
    name = data.get("name")
    email = data.get("email")
    password = data.get("password")

    if name == "" or email == "" or password == "":
        abort(400, "Cannot have empty fields for user")

    admin = Admin.query.filter_by(email=email).first()
    if admin is not None:
        abort(400, "Account already exists with this email")

    new_admin = Admin(name=name, email=email, password=password)
    db.session.add(new_admin)
    db.session.commit()
    return jsonify(new_admin.serialize)
Esempio n. 29
0
def admin_add():
    form = AdminForm()
    role_list = Role.query.all()
    form.role_id.choices = [(i.id, i.name) for i in role_list]
    if form.validate_on_submit():
        data = form.data
        admin = Admin(
            name=data["name"],
            pwd=generate_password_hash(data["pwd"]),
            role_id=data["role_id"],
            is_super=1,  # 表示普通管理员
        )
        db.session.add(admin)
        oplog = Oplog(
            admin_id=session["admin_id"],
            ip=request.remote_addr,
            reason="添加管理员:{0}".format(admin.name),
        )
        db.session.add(oplog)
        db.session.commit()
        flash("添加管理员成功", "ok")
        return redirect(url_for("admin.admin_add"))
    return render_template("admin/admin_add.html", form=form)
Esempio n. 30
0
def admin_register():
    """注册管理员

    @@@
    #### args

    | args | nullable | type | remark |
    |--------|--------|--------|--------|
    |    name    |    false    |    String   |    用户名    |
    |    pwd    |    false    |    String   |    密码    |

    #### return
    - ##### json
    > {"msg": "success", "code": 200}
    @@@
    """
    username = request.form.get('name')
    password = request.form.get('pwd')
    if username is None or password is None:
        return jsonify({
            "status": 201,
            "msg": "用户名或密码不能为空"
        })
    if Admin.query.filter_by(name=username).first() is not None:
        return jsonify({
            "status": 400,
            "msg": "管理员已存在"
        })
    res = Admin(name=username)
    res.hash_password(password)
    db.session.add(res)
    db.session.commit()
    return jsonify({
        "username": res.name,
        "status": 200,
        "msg": "注册成功"
    })