def setup(): import getpass from flask_security.utils import encrypt_password print("Please input the user data for the admin (you can edit later)") while True: admin_username = raw_input('Admin username:'******'Admin password:'******'Admin email:') if user_datastore.find_user(email=admin_email): print("Email aready in use") else: break admin_role = user_datastore.find_or_create_role('admin') world_role = user_datastore.find_or_create_role('world') admin = user_datastore.create_user( username=admin_username, password=encrypt_password(admin_password), email=admin_email) db.session.commit() user_datastore.add_role_to_user(admin, admin_role) db.session.commit() # Add karma for the admin user_karma = UserKarma(user_id=admin.id) db.session.add(user_karma) db.session.commit() print("Admin user succesfully created!") # Add default category category_default = Category(name='News', url='news', order=0) db.session.add(category_default) db.session.commit() print("Added default News category") # Add default post types post_types = ['link', 'text'] for t in post_types: post_type = PostType(name=t, url=t) db.session.add(post_type) db.session.commit() print("Added post type {0}".format(t)) print('Congrats, Dillo was setup successfully!')
def setup(): import getpass from flask_security.utils import encrypt_password print("Please input the user data for the admin (you can edit later)") while True: admin_username = raw_input('Admin username:'******'Admin password:'******'Admin email:') if user_datastore.find_user(email=admin_email): print ("Email aready in use") else: break admin_role = user_datastore.find_or_create_role('admin') admin = user_datastore.create_user( username=admin_username, password=encrypt_password(admin_password), email=admin_email) db.session.commit() user_datastore.add_role_to_user(admin, admin_role) db.session.commit() # Add karma for the admin user_karma = UserKarma( user_id=admin.id) db.session.add(user_karma) db.session.commit() print("Admin user succesfully created!") # Add default category category_default = Category( name='News', url='news', order=0) db.session.add(category_default) db.session.commit() print("Added default News category") # Add default post types post_types = ['link', 'text'] for t in post_types: post_type = PostType( name=t, url=t) db.session.add(post_type) db.session.commit() print("Added post type {0}".format(t))
def blender_id_authorized(): check_oauth_provider(blender_id) resp = blender_id.authorized_response() if resp is None: return 'Access denied: reason=%s error=%s' % ( request.args['error_reason'], request.args['error_description'] ) if isinstance(resp, OAuthException): return 'Access denied: %s' % resp.message session['blender_id_oauth_token'] = (resp['access_token'], '') resp = blender_id.get('user') user = user_get_or_create( resp.data['email'], resp.data['first_name'], resp.data['last_name'], 'blender-id', resp.data['id']) if user.is_active: login_user(user, remember=True) elif user.deleted: flash('This username has been deleted') return redirect(url_for('index')) else: flash('This account is disabled') return redirect(url_for('index')) # Update or create roles for role, is_assigned in resp.data['roles'].items(): r = user_datastore.find_or_create_role(role) if is_assigned: user_datastore.add_role_to_user(user, r) else: user_datastore.remove_role_from_user(user, r) db.session.commit() if not user.first_name or not user.last_name: if not user.username: flash('Please set your first and last name or pick a username') return redirect(url_for('settings.profile')) return redirect(url_for('index'))