コード例 #1
0
def register():
    """This function add new user.
    
    It can be accessed using two http methods. If the method is GET it ruturns
    the user registration form else it adds the user to database.
    """

    if not is_authenticated() or not is_admin():
        return redirect(url_for('login'))
        
    form = UserRegisterForm()
    if request.method == "GET":
        return render_template("admin/register.html", form = form)
    else:
        if form.validate():
            if not email_is_unique(UserModel, form.email.data, "add"):
                flash("email already taken", category="emailNotUnique")
                return render_template("admin/register.html", form = form)
            else: 
                user = UserModel(form.name.data, form.address.data, 
                    form.email.data.lower(), form.password.data)
                db.session.add(user)
                db.session.commit()
                flash("User Created", category="addSuccess")
                return redirect(url_for('register'))
        else:
            return render_template("admin/register.html", form = form)
コード例 #2
0
 def post(self):
     """create user"""
     form = UserRegisterForm(data=request.get_json())
     if form.validate():
         user_service = service.UserService()
         try:
             u = user_service.create(form)
             return success({'user_info': u}, code=201)
         except Exception as ex:
             return fail({'message': ex.message}, code=400)
     else:
         return fail({'errors': form.errors}, code=400)