def create_users(self):
     for key, value in users.items():
         existing_user = User.query.filter_by(name=key).first()
         if existing_user is None:
             user = User(name=key)
             user.check_password_strength_and_hash_if_ok(value)
             user.add(user)
Пример #2
0
 def post(self):
     """
     Users
     Method to create a new User
     ---
     tags:
       - Users
     parameters:
       - in: body
         name: body
         schema:
           id: UserToUpdate
           properties:
             name:
               type: string
               description: The User name
               default: "UserName"
             password:
               type: string
               description: The User password
               default: "P4$sw00rd!"
     responses:
       201:
         description: The updated area
         schema:
           $ref: '#/definitions/Area'              
     """
     request_dict = request.get_json()
     if not request_dict:
         response = {'user': '******'}
         return response, status.HTTP_400_BAD_REQUEST
     errors = user_schema.validate(request_dict)
     if errors:
         return errors, status.HTTP_400_BAD_REQUEST
     name = request_dict['name']
     existing_user = User.query.filter_by(name=name).first()
     if existing_user is not None:
         response = {'user': '******'}
         return response, status.HTTP_400_BAD_REQUEST
     try:
         user = User(name=name)
         error_message, password_ok = \
             user.check_password_strength_and_hash_if_ok(
                 request_dict['password'])
         if password_ok:
             user.add(user)
             query = User.query.get(user.id)
             result = user_schema.dump(query).data
             return result, status.HTTP_201_CREATED
         else:
             return {"error": error_message}, status.HTTP_400_BAD_REQUEST
     except SQLAlchemyError as e:
         db.session.rollback()
         resp = {"error": str(e)}
         return resp, status.HTTP_400_BAD_REQUEST
Пример #3
0
def add():
    error = None
    if request.method == 'POST':
    	uname = request.form.get("name")
        password = request.form.get("password")
        confirm = request.form.get("confirm")
        mail = request.form.get("mail")
        group = request.form.get("group")
        user = User(current_app)
        userdata = user.check(uname)
        if not uname or not mail or not password:
            return render_template("user/add.html", error=u"请填写所有选项")
        if password != confirm:
            return render_template("user/add.html", error=u"两次密码不匹配")
        if len(userdata) == 0:
            if password:
                #valide
                salt = createSalt()
                password = md5(md5(password).hexdigest() + salt).hexdigest()
                uid = user.add(username=uname, passwd=password, email=mail, permissions=group, salt=salt, createtime=int(time.time()))
                if uid > 0:
                    return redirect(url_for('users.index'))
                else:
                    error = u"添加失败"
            else:
                error = u"密码不能为空"
        else:
            error = u"用户已经存在"
    return render_template("user/add.html", error=error)