def set_admin(email): """Set an user as administrator""" user = datastore.get_user(email) print "Adding admin role to user %s (%s)" % (user.fullname, user.email) role = datastore.find_or_create_role("admin") datastore.add_role_to_user(user, role) print "User %s (%s) is now administrator" % (user.fullname, user.email)
def set_admin(email): '''Set an user as administrator''' user = datastore.get_user(email) log.info('Adding admin role to user %s (%s)', user.fullname, user.email) role = datastore.find_or_create_role('admin') datastore.add_role_to_user(user, role) success('User %s (%s) is now administrator' % (user.fullname, user.email))
def set_admin(email): '''Set an user as administrator''' user = datastore.get_user(email) print 'Adding admin role to user %s (%s)' % (user.fullname, user.email) role = datastore.find_or_create_role('admin') datastore.add_role_to_user(user, role) print 'User %s (%s) is now administrator' % (user.fullname, user.email)
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 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)