Exemple #1
0
def register():
    """
    Register a new user with the backend
    
    Example:
    --------
    curl -k -L -XPOST -i -H "Content-Type:application/x-www-form-urlencoded" -d "[email protected]&password=jay" https:/webpool.csf.asu.edu/pysalrest/user/register/
    
    """
    print request.form
    print type(request.form)
    email = request.form.get('email')
    password = request.form.get('password')
    name = email.split('@')[0]
    user = User(name=name, email=email)
    user.hashpwd(password)
    db.session.add(user)
    db.session.commit()

    token = user.generate_auth_token()
    uid = user.id

    return jsonify({
        'username': user.name,
        'token': token.decode('ascii'),
        'uid': uid
    })
def signup():
    if not missing_session(): return go_user_home()

    form = SignupForm()

    if form.validate_on_submit():
        user = User(email=form.email.data,
                    username=form.username.data,
                    password=form.password.data)

        if form.avatar.data is not None:
            user.avatar = form.save_avatar()

        try:
            user.save()

            create_session(user)

            return redirect(url_for('user.profile', user_id=user.id))
        except Exception as e:
            field = str(e).split('.')[2].split('[')[0]

            flash('Please choose a unique ' + field, 'error')

    return render_template('user/signup.html', form=form, session=session)
Exemple #3
0
def user_create():
    req = request.get_json(force=True)

    user = User.query.filter_by(email=req['email']).first()

    # === request checking ===
    # email used
    if user:
        return jsonify({'message': 'This email has been used'}), 400
    # required fields
    if not req.keys() >= {'username', 'email', 'password'}:
        return jsonify({
            'message':
            'Fields \'username\', \'email\' and \'password\' required'
        }), 400

    user = User(username=req['username'], email=req['email'])
    user.set_password(req['password'])

    db.session.add(user)
    db.session.commit()

    res = make_response({'id': user.id, 'message': 'Success'})

    return res, 200
Exemple #4
0
def register():
	form = RegistrationForm()
	if form.validate_on_submit():
		user = User(email = form.email.data, username = form.username.data, password = form.password.data)
		db.session.add(user)
		db.session.commit()
		flash("You have succesfully registered! You may now login")
		return redirect(url_for('mod_auth.login'))
	return render_template('mod_auth/register.html',form = form, title = "Register")
Exemple #5
0
def oauth_callback(provider):
    if not current_user.is_anonymous():
        return redirect(url_for('user.index'))
    oauth = OAuthSignIn.get_provider(provider)
    social_id, username, email = oauth.callback()
    if social_id is None:
        flash('Authentication failed.')
        return redirect(url_for('user.index'))
    user = User.query.filter_by(social_id=social_id).first()
    if not user:
        user = User(social_id=social_id, nickname=username, email=email)
        db.session.add(user)
        db.session.commit()
    login_user(user, True)
    return redirect(url_for('api_root'))
Exemple #6
0
def post():
    form = request.json
    res = {}

    try:
        user = User(email=form.get('email'),
                    username=form.get('username'),
                    first_name=form.get('first_name'),
                    last_name=form.get('last_name'),
                    password=form.get('password'),
                    instructor=form.get('instructor'),
                    admin=False)
        user.save()

        global session
        session, res = gen_session(user, session)
    except Exception as e:
        try:
            res = {'error': 'Please choose a unique ' + get_field(e.orig)}
        except Exception:
            res = {'error': 'There was an error creating your account'}

    return jsonify(res), 200