def create_user(initial_users_list): for user in initial_users_list: if not user_datastore.get_user(user['email']): user_datastore.create_role(name=user['name'], description=user['description']) db.session.commit() role = Role.query.filter_by(name=user['name']).first() user_datastore.create_user( email=user['email'], username=user['name'], password=hash_password(user['password'])) user = User.query.filter_by(username=user['name']).first() user_datastore.add_role_to_user(user, role) db.session.commit()
def create_superuser(email, password): admin = user_datastore.find_or_create_role('admin') user = User.query.filter_by(email=email).first() if not user: user = register_user(email=email, password=password) user.confirmed_at = datetime.now() db.session.add(user) db.session.commit() user_datastore.add_role_to_user(user, admin) db.session.commit()
def create_admin(): admin_role = user_datastore.find_or_create_role( name='admin', description='Full Administrator Privliges' ) admin_user = user_datastore.find_user(email='*****@*****.**') if admin_user is None: admin_user = user_datastore.create_user( email='*****@*****.**', password='******' ) user_datastore.add_role_to_user(admin_user, admin_role) db.session.commit()
def before_request(): if request.path.startswith('/admin'): if current_user.is_authenticated: if not current_user.has_role("admin"): return redirect(url_for('security.logout')) else: return redirect(url_for('security.login')) if current_user.is_authenticated: current_user.last_seen = datetime.utcnow() db.session.commit() if current_user.is_authenticated and not user_datastore.find_user(email=current_user.email).roles: role = Role.query.filter_by(name='user').first() user = User.query.filter_by(username=current_user.username).first() user_datastore.add_role_to_user(user, role) db.session.commit()
def manage_roles(user_id): user = TicketUser.query.get(user_id) if user is not None: all_roles = [role.name for role in TicketRole.query.all()] if request.method == 'GET': active_roles = [role for role in all_roles if user.has_role(role)] inactive_roles = list(set(all_roles).difference(set(active_roles))) return render_template('manage_roles.html', active_roles=active_roles, inactive_roles=inactive_roles, user=user) else: for role in all_roles: if request.form.get('role_' + role): if not user.has_role(role): user_datastore.add_role_to_user(user, role) else: if user.has_role(role): user_datastore.remove_role_from_user(user, role) db.session.commit() return redirect(url_for('user_details', user_id=user_id)) return redirect(url_for('list_users'))
def run(self): clients = ['Client A', 'Client B', 'Client C'] for client in clients: c = Client(name=client) db.session.add(c) products = ['Billing', 'Claims', 'Policies', 'Reports'] for product in products: p = ProductArea(name=product) db.session.add(p) admin = user_datastore.create_user(username='******', password='******', email='*****@*****.**') admin_role = user_datastore.create_role(name='admin') user_datastore.add_role_to_user(admin, admin_role) developer1 = user_datastore.create_user(username='******', password='******', email='*****@*****.**') developer2 = user_datastore.create_user(username='******', password='******', email='*****@*****.**') db.session.commit() for i in range(12): ticket = Ticket( title='Sample Ticket {}'.format(i + 1), description='Sample Description {}'.format(i + 1), priority=[1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4][i], target=(datetime.datetime.now() + datetime.timedelta(days=random.randint(-2, 4))).date(), ticket_url='http://ticket{}.example.com'.format(i + 1), client_id=(i % 3) + 1, product_area_id=(i % 4) + 1, assigned_to_id=(i % 2) + 2) db.session.add(ticket) db.session.commit() print('example data inserted into db')
def init_db(): # try: # roles = ["User", 'Shop', 'Admin'] # for r in roles: # role = Role.query.filter_by(name = r).first() # if role is None: # user_datastore.create_role(name = r) # db.session.commit() # except InterruptedError: # db.session.rollback() user_datastore.find_or_create_role(name="User", description='Normal user') user_datastore.find_or_create_role(name="Shop", description='shop') user_datastore.find_or_create_role(name="Admin", description='admin') user_datastore.find_or_create_role(name="Super_admin", description='super admin') db.session.commit() if not user_datastore.get_user("*****@*****.**"): user_datastore.create_user(email="*****@*****.**", password="******") db.session.commit() if not user_datastore.get_user("*****@*****.**"): user_datastore.create_user(email="*****@*****.**", password="******") if not user_datastore.get_user('*****@*****.**'): user_datastore.create_user(email="*****@*****.**", password='******') # db.session.commit() user_datastore.add_role_to_user('*****@*****.**', 'User') user_datastore.add_role_to_user('*****@*****.**', 'Shop') user_datastore.add_role_to_user('*****@*****.**', 'Admin') # db.session.commit() try: category = { u"生物医药类": [u"生物类药物", u"疫苗", u"诊断试剂", u"医用材料", u"生物治疗"], u"生物能源类": [u"生物液体燃料", u"生物质气化固体燃料"], u"生物化工类": [u"生物基燃料", u"酶制剂", u"生物反应器"], u"生物农业类": [u"生物育种", u"生物农药", u"生物农制品", u"食品及化妆品添加剂"], u"生物环境类": [u"生物环保制品", u"污染检测", u"生物修复"] } for key, v in category.items(): if Product_Category.query.filter_by( category_name=key).first() == None: category_patent = Product_Category(category_name=key, parent_id=0) db.session.add(category_patent) db.session.commit() for item in v: if Product_Category.query.filter_by( category_name=item).first() == None: category_child = Product_Category( category_name=item, parent_id=category_patent.id) db.session.add(category_child) db.session.commit() db.session.commit() except: db.session.rollback() current_app.logger.error(traceback.format_exc()) abort(500, traceback.format_exc())