예제 #1
0
def index():
    if not github.authorized:
        return redirect("/auth")
    resp = github.get("/user")
    assert resp.ok

    githubData = resp.json()
    u = User.where('github_id', githubData["id"]).first()

    if u == None:
        print("none")
        user = User()
        user.name = githubData["name"]
        user.username = githubData["login"]
        user.email = githubData["email"]
        user.github_id = githubData["id"]
        user.avatar_url = githubData["avatar_url"]
        user.github_api_url = githubData["url"]
        user.access_token = session["github_oauth_token"]["access_token"]
        user.github_html_url = githubData["html_url"]
        user.save()
        u = user

    session["user"] = u.to_json()
    return render_template("search.html", user=u)
 def signup(self):
     """
    Client:
        - Payload: { "command": "user/signup", "params" : {email, password} }
    Server:
        - { "code" : 200, "data": {"rent": "0.37"}, "actions" : [] }
    """
     email = self._json_data['email']
     password = self._json_data['password']
     existing_user = User.where('email', '=', email).first()
     if existing_user is None:
         user = User()
         user.generate_token()
         user.email = email
         user.set_password(password)
         # @TODO: write universal validator helper
         values_to_save = self.left_keys(self._json_data,
                                         {'first_name', 'last_name'})
         for key, val in values_to_save.items():
             setattr(user, key, val)
         user.save()
         if user.add_role_group('api'):
             self.make_response(user.format_default())
         else:
             raise Exception('cant create user role.')
     else:
         self.make_message('User with such email already exists.')
예제 #3
0
def format_user(dict_json):
    u = User()
    u.name = dict_json.get("name", "")
    u.password = dict_json.get("password", "")
    u.username = dict_json.get("username", "")
    u.email = dict_json.get("email", "")
    u.role = dict_json.get("role", "1")
    return u
예제 #4
0
def register():
    data = request.get_json()
    user = User()
    user.email = data['email']
    user.password = data['password']
    db.session.add(user)
    db.session.commit()
    return jsonify(user.to_dict())
예제 #5
0
def signup(name, email, password, profile_url):
    user = User.query.filter(User.email == func.lower(email)).first()
    if user:
        abort(404, message='Email already registerd !!!')
    user = User()
    user.name = name
    user.email = func.lower(email)
    user.password = password
    user.profile_url = profile_url
    db.session.add(user)
    db.session.commit()
    return {'success': True, 'message': 'Signup successful'}
예제 #6
0
def add_user():
    form = AddUserForm()

    if form.validate_on_submit():
        user = User()

        user.email = form.email.data
        user.username = form.username.data
        user.password = form.password.data
        user.role_id = form.role.data
        user.created_on = datetime.utcnow()

        db.session.add(user)
        flash('"{0}" has been added'.format(user.username))

        return redirect(url_for('.users'))

    return render_template('admin/users/add_user.html', form=form)
예제 #7
0
def register():
    form = RegisterForm()

    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()

        if user is None:
            u = User()
            u.name = form.name.data
            u.password = form.password.data
            u.email = form.email.data

            db.session.add(u)
            db.session.commit()

            flash("Registrado com sucesso")
            flash("success")
            return redirect(url_for("auth.login"))
        else:
            flash("E-mail já registrado")
            flash("error")

    return render_template("auth/register.html", form=form)