Exemplo n.º 1
0
 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()
Exemplo n.º 2
0
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()
Exemplo n.º 3
0
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()
Exemplo n.º 4
0
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()
Exemplo n.º 5
0
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()
Exemplo n.º 6
0
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'))
Exemplo n.º 7
0
    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')
Exemplo n.º 8
0
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())