def fake_user(count=10): for i in range(count): user = User(name=fake.name(), confirmed=True, username=fake.user_name(), bio=fake.sentence(), location=fake.city(), website=fake.url(), member_since=fake.date_this_decade(), email=fake.email()) if (user.role.name == 'Doctor'): doctor = Doctor(cv=fake_hospital_cv(), speciality=fake.word(), address=fake.address(), latitude=str(fake.latitude()), longitude=str(fake.longitude())) user.doctor = doctor # elif(user.role.name == 'Patient'): # patient = Patient(chief_complaint = fake.sentence(), # present_illness = fake.sentence(), # past_history=fake.sentence(), # diagnosis = fake.sentence(), # family_history = fake.sentence()) # user.patient = patient user.set_password('123456') db.session.add(user) try: db.session.commit() except IntegrityError: db.session.rollback()
def register(): invite_token = request.args.get('token') data = None if invite_token: data = validate_invite_token(invite_token) if current_user.is_authenticated: return redirect(url_for('main.index')) if data: form = RegisterForm(email=data['email'], role='Doctor') else: form = RegisterForm() if form.validate_on_submit(): name = form.name.data email = form.email.data.lower() username = form.username.data password = form.password.data user = User(name=name, email=email, username=username) user.set_role_with_name(form.role.data) if form.role.data == 'Doctor': doctor = Doctor() user.doctor = doctor user.set_password(password) db.session.add(user) db.session.commit() token = generate_token(user=user, operation='confirm') send_confirm_email(user=user, token=token) flash('Confirm email sent, check your inbox.', 'info') try: photo = Photo.query.get(data['photo_id']) if photo: invite = Invite(photo_id=data['photo_id'], user=user, token_id=data['stripe_token_id']) db.session.add(invite) push_invite_notification(photo, user) else: flash( 'Unfortunately the photo that you have to comment has been removed by' + Markup(' <a href="%s">owner</a>. ' % url_for( 'user.index', username=data['sender_name'])), 'warning') except Exception as e: db.session.remove() return redirect(url_for('.login')) if data: flash('Welcome! You will help many people on this site.', 'info') return render_template('auth/register.html', form=form, invite_token=invite_token)