def user_apply(): form = UserRegistrationForm(request.form) if request.method == 'POST': #and form.validate(): data = dict(request.form) action = str(data['button'][0]) for key in data: data[key] = data[key][0] del data['button'] if action == 'save': users = Users() user = MongoUser() del data['confirm'] for d in data: user[d] = data[d] users.add(user) flash('Thanks for registering') return redirect('/') user_config = ConfigDict(filename=config_file("/cloudmesh_user_intf.yaml")) user_fields = user_config.get("cloudmesh.user") return render_template('management/user_apply.html', title="User Application", states=['save', 'cancel'], fields=user_fields, countries_list=[c for c in country_list()], roles_list=roles)
def user_apply(): form = UserRegistrationForm(request.form) if request.method == 'POST' and form.validate(): data = dict(request.form) action = str(data['button'][0]) for key in data: data[key] = data[key][0] del data['button'] if action == 'save': users = Users() user = MongoUser() del data['confirm'] for d in data: user[d] = data[d] users.add(user) flash('Thanks for registering') return redirect('/') return render_template('management/user_apply_old.html', title="User Application", states=['save', 'cancel'], form=form, fields=UserRegistrationForm.keys, profile_fields=UserRegistrationForm.profile_keys, organization_fields=UserRegistrationForm.organization_keys)
def user_apply(): form = UserRegistrationForm(request.form) if request.method == 'POST': #and form.validate(): data = dict(request.form) action = str(data['button'][0]) for key in data: data[key] = data[key][0] del data['button'] if action == 'save': users = Users() user = MongoUser() del data['confirm'] for d in data: user[d] = data[d] users.add(user) flash('Thanks for registering') return redirect('/') user_config = ConfigDict(filename=config_file("/cloudmesh_user_intf.yaml")) user_fields = user_config.get("cloudmesh.user") return render_template('management/user_apply.html', title="User Application", states=['save', 'cancel'], fields=user_fields, countries_list=[c for c in country_list()], roles_list=roles)
def validate_email_in_form(form, field): if ("@" not in field.data) or ("." not in field.data): raise ValidationError('The email address is not valid') for domain in exclude_email_domains: if domain in field.data: raise ValidationError( 'Email form the domain {0} are not alloed'.format(field.data)) connect('user', port=27777) users = Users() if not users.validate_email(field.data): raise ValidationError('A user with this email already exists')
def validate_email_in_form(form, field): if ("@" not in field.data) or ("." not in field.data): raise ValidationError('The email address is not valid') for domain in exclude_email_domains: if domain in field.data: raise ValidationError( 'Email form the domain {0} are not alloed'.format(field.data)) get_mongo_db("manage", DBConnFactory.TYPE_MONGOENGINE) users = Users() if not users.validate_email(field.data): raise ValidationError('A user with this email already exists')
def validate_email_in_form(form, field): if ("@" not in field.data) or ("." not in field.data): raise ValidationError('The email address is not valid') for domain in exclude_email_domains: if domain in field.data: raise ValidationError( 'Email form the domain {0} are not alloed'.format( field.data)) get_mongo_db("manage", DBConnFactory.TYPE_MONGOENGINE) users = Users() if not users.validate_email(field.data): raise ValidationError('A user with this email already exists')
def validate_username_in_form(form, field): if not re.match("^[a-z0-9]*$", field.data): raise ValidationError( 'Only lower case characters a-z and numbers 0-9 allowed.') if not field.data.islower(): raise ValidationError('The username must be lower case') connect('user', port=27777) username = MongoUser.objects(username=field.data) if username.count() > 0: users = Users() proposal = users.get_unique_username(field.data) raise ValidationError( 'A user with name already exists. Suggestion: {0}'.format(proposal))
def validate_username_in_form(form, field): if not re.match("^[a-z0-9]*$", field.data): raise ValidationError( 'Only lower case characters a-z and numbers 0-9 allowed.') if not field.data.islower(): raise ValidationError('The username must be lower case') get_mongo_db("manage", DBConnFactory.TYPE_MONGOENGINE) username = MongoUser.objects(username=field.data) if username.count() > 0: users = Users() proposal = users.get_unique_username(field.data) raise ValidationError( 'A user with name already exists. Suggestion: {0}'.format(proposal))
def validate_username_in_form(form, field): if not re.match("^[a-z0-9]*$", field.data): raise ValidationError( 'Only lower case characters a-z and numbers 0-9 allowed.') if not field.data.islower(): raise ValidationError('The username must be lower case') get_mongo_db("manage", DBConnFactory.TYPE_MONGOENGINE) username = MongoUser.objects(username=field.data) if username.count() > 0: users = Users() proposal = users.get_unique_username(field.data) raise ValidationError( 'A user with name already exists. Suggestion: {0}'.format( proposal))
def management_command(args): """cm-management - Command line option to manage users and projects Usage: cm-management user generate [--count=N] cm-management user list [USERNAME] [--format=FORMAT] cm-management user clear cm-management user add [YAMLFILE] cm-management user delete [USERNAME] cm-management user activate [USERNAME] cm-management user deactivate [USERNAME] cm-management user approve [USERNAME] cm-management user deny [USERNAME] cm-management project generate cm-management version Options: -h --help Show this screen --version Show version --format=FORMAT Output format: table, json --all Displays all users """ arguments = docopt(management_command.__doc__, args[1:]) try: if arguments['version']: print cloudmesh.__version__ elif arguments['user'] and arguments['list']: user = Users() disp_fmt = None user_name = None if arguments['--format']: disp_fmt = arguments['--format'] if arguments['USERNAME']: user_name = arguments['USERNAME'] user.list_users(disp_fmt, user_name) elif arguments['user'] and arguments['generate']: if arguments['--count']: count = int(arguments['--count']) generate_users(count) else: generate_users(10) elif arguments['user'] and arguments['clear']: user = Users() user.clear() elif arguments['user'] and arguments['delete']: if arguments['USERNAME']: user = Users() user.delete_user(arguments['USERNAME']) else: print "Error: Please specify a user to be removed." elif arguments['user'] and arguments['approve']: if arguments['USERNAME']: user = Users() user.amend_user_status(arguments['USERNAME'], status='approved') elif arguments['user'] and arguments['deny']: if arguments['USERNAME']: user = Users() user.amend_user_status(arguments['USERNAME'], status='denied') elif arguments['project']: print "Dummy Projects" project_fields() elif arguments['list']: print "Listing Users" except: print "Invalid arguments Exception", sys.exc_info()[0] raise
import uuid from pprint import pprint from cloudmesh.config.cm_config import get_mongo_db, DBConnFactory # This is not encourged, as importing this file will try to establish a connection get_mongo_db("manage", DBConnFactory.TYPE_MONGOENGINE) # However this file was developed as an executable test/entrance so we leave it like this # alternatively, change this to more Object Oriented way so the connection is # only established when the object is instantiated. # ---------------------------------------------------------- # The generate class generates 10 random users # ---------------------------------------------------------- users = Users() projects = Projects() # http://www.joke2k.net/faker/ fake = Factory.create() def random_user(): ''' returns a random user in a dict :rtype: dict ''' firstname = fake.first_name() data = User(
def management_command(args): """cm-management - Command line option to manage users and projects Usage: cm-management user generate [--count=N] cm-management user list [USERNAME] [--format=FORMAT] cm-management user clear cm-management user add [YAMLFILE] cm-management user delete [USERNAME] cm-management user activate [USERNAME] cm-management user deactivate [USERNAME] cm-management user approve [USERNAME] cm-management user deny [USERNAME] cm-management project generate cm-management version Options: -h --help Show this screen --version Show version --format=FORMAT Output format: table, json --all Displays all users """ arguments = docopt(management_command.__doc__, args[1:]) try: if arguments['version']: print cloudmesh.__version__ elif arguments['user'] and arguments['list']: user = Users() disp_fmt = None user_name = None if arguments['--format']: disp_fmt = arguments['--format'] if arguments['USERNAME']: user_name = arguments['USERNAME'] user.list_users(disp_fmt, user_name) elif arguments['user'] and arguments['generate']: if arguments['--count']: count = int(arguments['--count']) generate_users(count) else: generate_users(10) elif arguments['user'] and arguments['clear']: user = Users() user.clear() elif arguments['user'] and arguments['delete']: if arguments['USERNAME']: user = Users() user.delete_user(arguments['USERNAME']) else: print "Error: Please specify a user to be removed." elif arguments['user'] and arguments['approve']: if arguments['USERNAME']: user = Users() user.amend_user_status(arguments['USERNAME'], status='approved') elif arguments['user'] and arguments['deny']: if arguments['USERNAME']: user = Users() user.amend_user_status(arguments['USERNAME'], status='denied') elif arguments['project']: print "Dummy Projects" project_fields() elif arguments['list']: print "Listing Users" except: print "Invalid arguments Exception", sys.exc_info()[0] raise