def register(): form = UserCustomForm() #Create a new user if request.method == 'POST' and form.validate(): data = { 'first_name': str(request.values.get('first_name').encode('utf-8')).title(), 'last_name': str(request.values.get('last_name').encode('utf-8')).title(), 'email': str(request.values.get('email').encode('utf-8')), } if (request.values.get('user_nic')): data['extras'] = {'auth_nic': str(request.values.get('user_nic'))} userUdata = datastore.create_user(**data) datastore.commit() send_confirmation_instructions(userUdata) do_flash(*get_message('CONFIRM_REGISTRATION', email=data['email'])) return redirect(url_for('security.login')) else: form.email.data = session.get('user_email') if form.email.data: form.email.render_kw = {'readonly': True} form.first_name.data = session.get('first_name') form.last_name.data = session.get('last_name') form.user_nic.data = session.get('user_nic') return theme.render('security/register_saml.html', form=form)
def authorized(): resp = youckan.authorized_response() if resp is None or isinstance(resp, OAuthException): # TODO: better error handling abort(403) session['youckan.token'] = (resp['access_token'], '') response = youckan.get('me') data = response.data user = datastore.find_user(slug=data['slug']) # TODO: use user id instead if not user: user = datastore.create_user( slug=data['slug'], first_name=data['first_name'], last_name=data['last_name'], email=data['email'], avatar_url=data['profile'].get('avatar') or None, website=data['profile'].get('website') or None, about=data['profile'].get('about') or None ) else: user.first_name = data['first_name'] user.last_name = data['last_name'] user.email = data['email'] user.avatar_url = data['profile'].get('avatar') or None user.website = data['profile'].get('website') or None user.about = data['profile'].get('about') or None admin_role = datastore.find_or_create_role('admin') if data['is_superuser'] and not user.has_role(admin_role): datastore.add_role_to_user(user, admin_role) if not user.is_active() and data['is_active']: user.active = True user.save() login_user(user) redirect_to = url_for('site.home') if 'state' in request.args: state = request.args.get('state') decoded_state = json.loads(b64decode(state)) redirect_to = decoded_state.get('next_url', redirect_to) return redirect(redirect_to)
def run(self): data = { 'first_name': prompt('First name'), 'last_name': prompt('Last name'), 'email': prompt('Email'), 'password': prompt_pass('Password'), 'password_confirm': prompt_pass('Confirm Password'), } form = RegisterForm(MultiDict(data), csrf_enabled=False) if form.validate(): data['password'] = encrypt_password(data['password']) user = datastore.create_user(**data) print '\nUser created successfully' print 'User(id=%s email=%s)' % (user.id, user.email) return print '\nError creating user:'******'\n'.join(errors)
def create(): '''Create a new user''' data = { 'first_name': prompt('First name'), 'last_name': prompt('Last name'), 'email': prompt('Email'), 'password': prompt_pass('Password'), 'password_confirm': prompt_pass('Confirm Password'), } form = RegisterForm(MultiDict(data), csrf_enabled=False) if form.validate(): data['password'] = encrypt_password(data['password']) user = datastore.create_user(**data) print '\nUser created successfully' print 'User(id=%s email=%s)' % (user.id, user.email) return print '\nError creating user:'******'\n'.join(errors)
def authorized(): resp = youckan.authorized_response() if resp is None or isinstance(resp, OAuthException): # TODO: better error handling abort(403) session['youckan.token'] = (resp['access_token'], '') response = youckan.get('me') data = response.data user = datastore.find_user(email=data['email']) if not user: user = datastore.create_user( slug=data['slug'], first_name=data['first_name'], last_name=data['last_name'], email=data['email'], active=data['is_active'], avatar_url=data['profile'].get('avatar') or None, website=data['profile'].get('website') or None, about=data['profile'].get('about') or None ) else: user.first_name = data['first_name'] user.last_name = data['last_name'] user.active = data['is_active'] user.avatar_url = data['profile'].get('avatar') or None user.website = data['profile'].get('website') or None user.about = data['profile'].get('about') or None admin_role = datastore.find_or_create_role('admin') if data['is_superuser'] and not user.has_role(admin_role): datastore.add_role_to_user(user, admin_role) user.save() login_user(user) redirect_to = url_for('site.home') if 'state' in request.args: state = request.args.get('state') decoded_state = json.loads(b64decode(state)) redirect_to = decoded_state.get('next_url', redirect_to) return redirect(redirect_to)
def create(): """Create a new user""" data = { "first_name": prompt("First name"), "last_name": prompt("Last name"), "email": prompt("Email"), "password": prompt_pass("Password"), "password_confirm": prompt_pass("Confirm Password"), } form = RegisterForm(MultiDict(data), csrf_enabled=False) if form.validate(): data["password"] = encrypt_password(data["password"]) del data["password_confirm"] user = datastore.create_user(**data) print "\nUser created successfully" print "User(id=%s email=%s)" % (user.id, user.email) return print "\nError creating user:"******"\n".join(errors)
def create(): '''Create a new user''' data = { 'first_name': click.prompt('First name'), 'last_name': click.prompt('Last name'), 'email': click.prompt('Email'), 'password': click.prompt('Password', hide_input=True), 'password_confirm': click.prompt('Confirm Password', hide_input=True), } # Until https://github.com/mattupstate/flask-security/issues/672 is fixed with current_app.test_request_context(): form = RegisterForm(MultiDict(data), meta={'csrf': False}) if form.validate(): data['password'] = encrypt_password(data['password']) del data['password_confirm'] data['confirmed_at'] = datetime.utcnow() user = datastore.create_user(**data) success('User(id={u.id} email={u.email}) created'.format(u=user)) return user errors = '\n'.join('\n'.join(e) for e in form.errors.values()) exit_with_error('Error creating user', errors)