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)
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
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")
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'))
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