def main(): print database.get_sponsors() # users = User.query.filter_by(status='pending_sponsor').all() # sponsors = map(lambda s: User.query.get(s), {user.sponsor for user in users}) # users_by_sponsor = {sponsor : [user for user in users if user.sponsor == sponsor.username] for sponsor in sponsors} # print users_by_sponsor # u = User('test' + str(randrange(12341234)), 'test') # u.status = 'pw_reset' # db.session.add(u) # db.session.commit() # # u.add_flag('account_reset_password') # print u.status # # db.session.commit()
class EditForm(Form): username = TextField( 'Username', validators=[validators.LengthOrEmpty(min=3, max=8)]) first_name = TextField('First Name') last_name = TextField('Last Name') dob = TextField( 'Date of Birth (MM/DD/YYYY)', validators=[ validators.Date( format='%m/%d/%Y', message='Invalid format. Please use mm/dd/yyyy.') ]) email = TextField('E-mail Address', validators=[validators.Email()]) sponsor = SelectField('Sponsor', choices=[(s.username, ''.join( (s.last_name, ', ', s.first_name))) for s in database.get_sponsors(True)]) grad_date = TextField( 'Graduation Date (MM/YYYY)', validators=[ validators.Date(format='%m/%Y', message='Invalid format. Please use mm/yyyy') ]) acct_type = RadioField( choices=[('acad', 'Academic'), ('research', 'Research & Academic')]) comments = TextAreaField('Comments') status = TextField('Status')
def labstaff_add_user(): # Labstaff have the ability to choose 'staff' as a sponsor RegisterForm.sponsor = SelectField('Sponsor', choices=[ (s.username, ''.join( (s.last_name, ', ', s.first_name))) for s in database.get_sponsors(True) ], validators=[validators.Required()]) form = RegisterForm() if form.is_submitted(): if form.validate_on_submit(): user = database.User(form.username.data, form.password.data) user.first_name = form.first_name.data user.last_name = form.last_name.data user.dob = form.dob.data user.email = form.email.data user.sponsor = form.sponsor.data user.grad_date = form.grad_date.data user.status = 'pending_create' if form.acct_type.data == 'acad': user.add_domain('acad') else: user.add_domains('acad', 'research') db.session.add(user) db.session.commit() flash('User account created.') return redirect(url_for("index")) else: return render_template( "labstaff_add_user.html", form=form, error="There was an error with your submission") return render_template("labstaff_add_user.html", form=form)
class UpgradeForm(Form): sponsor = SelectField('Sponsor', choices=[(s.username, ''.join( (s.last_name, ', ', s.first_name))) for s in database.get_sponsors()], validators=[validators.Required()]) reason = TextAreaField('Reason for Upgrade', validators=[validators.Required()])
def json_register_validate(field='test'): # Let's assume that everyone is able to choose staff. # The option won't appear in the dropdown, and will also not be allowed # once the form is submitted. Nobody who is not messing with things # will be affected. RegisterForm.sponsor = SelectField('Sponsor', choices=[ (s.username, ''.join( (s.last_name, ', ', s.first_name))) for s in database.get_sponsors(True) ], validators=[validators.Required()]) form = RegisterForm() try: field = getattr(form, field) except AttributeError: return jsonify(okay=False, error='What?') field.data = request.args.get('data', '', type=str) if field.validate(form): return jsonify(okay=True) else: return jsonify(okay=False, error=field.errors[0])
class RegisterForm(Form): username = TextField('Username', validators=[ validators.Required(), validators.Length(min=3, max=8), validators.UniqueColumn( database.User, database.User.username, message='This username is taken.') ]) password = PasswordField('Password', validators=[ validators.Required(), validators.Length(min=8, max=50), validators.CrackLib() ]) first_name = TextField('First Name', validators=[validators.Required()]) last_name = TextField('Last Name', validators=[validators.Required()]) pw_confirm = PasswordField('Confirm Password', validators=[ validators.Required(), validators.Length(min=8, max=50), validators.EqualTo( 'password', message='Passwords do not match.') ]) dob = TextField('Date of Birth (MM/DD/YYYY)', validators=[ validators.Required(), validators.Date( format='%m/%d/%Y', message='Invalid format. Please use mm/dd/yyyy.') ]) email = TextField( 'E-mail Address', validators=[ validators.Email(), validators.Required(), validators.UniqueColumn( database.User, database.User.email, message='This e-mail is in use by another account.') ]) sponsor = SelectField('Sponsor', choices=[(s.username, ''.join( (s.last_name, ', ', s.first_name))) for s in database.get_sponsors()], validators=[validators.Required()]) grad_date = TextField('Graduation Date (MM/YYYY)', validators=[ validators.Required(), validators.Date( format='%m/%Y', message='Invalid format. Please use mm/yyyy') ]) description = TextAreaField('Description of Usage') acct_type = RadioField(choices=[('acad', 'Academic'), ('research', 'Research & Academic')], validators=[validators.Required()]) captcha = RecaptchaField( public_key='6LdeFcwSAAAAAJF1ccPQ4j5Y0Q0iVULdXpRArpcp', private_key='6LdeFcwSAAAAAFv_xLOVLCPAyUQ_abubmG8oUdOw', secure=True)
def json_register_validate(field = 'test'): # Let's assume that everyone is able to choose staff. # The option won't appear in the dropdown, and will also not be allowed # once the form is submitted. Nobody who is not messing with things # will be affected. RegisterForm.sponsor = SelectField('Sponsor', choices=[(s.username, ''.join((s.last_name, ', ', s.first_name))) for s in database.get_sponsors(True)], validators=[validators.Required()]) form = RegisterForm() try: field = getattr(form, field) except AttributeError: return jsonify(okay=False, error='What?') field.data = request.args.get('data', '', type=str) if field.validate(form): return jsonify(okay=True) else: return jsonify(okay=False, error=field.errors[0])
def labstaff_add_user(): # Labstaff have the ability to choose 'staff' as a sponsor RegisterForm.sponsor = SelectField('Sponsor', choices=[(s.username, ''.join((s.last_name, ', ', s.first_name))) for s in database.get_sponsors(True)], validators=[validators.Required()]) form = RegisterForm() if form.is_submitted(): if form.validate_on_submit(): user = database.User(form.username.data, form.password.data) user.first_name = form.first_name.data user.last_name = form.last_name.data user.dob = form.dob.data user.email = form.email.data user.sponsor = form.sponsor.data user.grad_date = form.grad_date.data user.status = 'pending_create' if form.acct_type.data == 'acad': user.add_domain('acad') else: user.add_domains('acad', 'research') db.session.add(user) db.session.commit() flash('User account created.') return redirect(url_for("index")) else: return render_template("labstaff_add_user.html", form=form, error="There was an error with your submission") return render_template("labstaff_add_user.html", form=form)