def add_user(): if request.method == 'GET': labs = [lab.name for lab in Lab.query.all()] roles = [role.name for role in Role.query.all()] return render_template('adduser.html', labs=labs, roles=roles) elif request.method == 'POST': print request.form.getlist('roles') email = request.form['email'] password = request.form['email'] lab = Lab.query.filter_by(name=request.form['lab']).first() roles = request.form.getlist('roles') roles = [Role.query.filter_by(name=role).first() for role in roles] new_user = user_datastore.create_user( email=email, password=password, active=True, roles=roles ) user_datastore.commit() lab.users.append(new_user) db.session.commit() return 'Adding user: {0} with password: {1} in lab {2} with roles {3}'.format( email, password, lab.name, ', '.join(role.name for role in roles), )
def modify_user(): if request.method == 'GET': actions = ['Delete'] users = [user.email for user in User.query.all()] return render_template('moduser.html', users=users, actions=actions) elif request.method == 'POST': user = request.form['user'] print user if 'Action' in request.form.keys() and request.form['Action'] == 'Delete': user_datastore.delete_user(User.query.filter_by(email=user).first()) user_datastore.commit() return "Deleted: {}".format(user) return "Did Nothing"
def test(): if not Role.query.all(): user_datastore.create_role(name='Admin') user_datastore.create_role(name='Lab Member') user_datastore.commit() winkler = Lab(name='Winkler') db.session.add(winkler) db.session.commit() current_user.roles.append(Role.query.get(2)) lab = Lab.query.get(1) print lab if not current_user in lab.users: print "adding" lab.users.append(current_user) else: print "not adding" current_user.roles.append(Role.query.get(1)) db.session.commit() return str(current_user.lab)