def verify_phone(): session.pop("phone_verify_id", None) session.pop("verified_phone", None) form = VerifyPhoneForm(csrf_enabled=False) if form.validate(): while True: token = str(random.randint(100000, 999999)) try: # Make sure a random token doesn't exist yet current_app.cdw.phoneverifications.with_token(token) except: expires = datetime.datetime.utcnow() + datetime.timedelta(minutes=5) phone = utils.normalize_phonenumber(form.phonenumber.data) pva = PhoneVerificationAttempt(expires=expires, token=token, phoneNumber=phone) current_app.cdw.phoneverifications.save(pva) session["phone_verify_id"] = str(pva.id) current_app.logger.debug("Saved phone number verification attempt: %s" % pva) break # out of the while loop try: config = current_app.config["CDW"]["twilio"] sender = config["switchboard_number"] current_app.twilio.send_message(pva.token, sender, [phone]) return jsonify({"success": True}) except Exception, e: return jsonify({"success": False, "error": "%s" % e})
def verify_phone(): session.pop('phone_verify_id', None) session.pop('verified_phone', None) form = VerifyPhoneForm(csrf_enabled=False) if form.validate(): while (True): token = str(random.randint(100000, 999999)) try: # Make sure a random token doesn't exist yet current_app.cdw.phoneverifications.with_token(token) except: expires = (datetime.datetime.utcnow() + datetime.timedelta(minutes=5)) phone = utils.normalize_phonenumber(form.phonenumber.data) pva = PhoneVerificationAttempt(expires=expires, token=token, phoneNumber=phone) current_app.cdw.phoneverifications.save(pva) session['phone_verify_id'] = str(pva.id) current_app.logger.debug( 'Saved phone number verification attempt: %s' % pva) break # out of the while loop try: config = current_app.config['CDW']['twilio'] sender = config['switchboard_number'] current_app.twilio.send_message(pva.token, sender, [phone]) return jsonify({"success": True}) except Exception, e: return jsonify({"success": False, "error": '%s' % e})
def register_email(): if current_user.is_authenticated(): return redirect("/") form = UserRegistrationForm() # You'd think this wouldn't need to be called here but # a CSRF error will come up when the form is POSTed to # /register. So below there's a show_errors flag in the # template context blow form.validate() # See if a password was passed from the register modal form.password.data = request.form.get('password', '') return render_template('register.html', section_selector="register", page_selector="email", form=form, show_errors=False, phoneForm=VerifyPhoneForm(csrf_enabled=False))
def profile_edit(): user = current_user form = EditProfileForm() if request.method == 'POST' and form.validate(): user = cdw.update_user_profile(user.get_id(), form.username.data, form.email.data, form.password.data) flash('Your profile has been updated.') return redirect('/profile') form.username.data = user.username form.email.data = user.email phoneForm = VerifyPhoneForm(csrf_enabled=False) phoneForm.phonenumber.data = user.phoneNumber return render_template("profile_edit.html", form=form, phoneForm=phoneForm, section_selector="profile", page_selector="edit")
def register_facebook(): if current_user.is_authenticated(): return redirect("/") # Always clear out any verified phone numbers session.pop('verified_phone', None) # Try getting their facebook profile profile = get_facebook_profile(session['facebooktoken']) phoneForm = VerifyPhoneForm(csrf_enabled=False) form = UserRegistrationForm(username=profile['first_name'], email=profile['email'], csrf_enabled=False) form.password.data = request.form.get('password', '') form.validate() return render_template('register.html', form=form, phoneForm=phoneForm, facebook_profile=profile, show_errors=False, section_selector="register", page_selector="facebook")
# Clear out the temporary facebook data session.pop('facebookuserid', None) session.pop('facebooktoken', None) # Send them to get their picture taken return redirect("/register/photo") current_app.logger.debug(form.errors) return render_template('register.html', section_selector="register", page_selector="email", form=form, show_errors=True, phoneForm=VerifyPhoneForm(csrf_enabled=False)) @app.route("/register/email", methods=['GET', 'POST']) def register_email(): if current_user.is_authenticated(): return redirect("/") form = UserRegistrationForm() # You'd think this wouldn't need to be called here but # a CSRF error will come up when the form is POSTed to # /register. So below there's a show_errors flag in the # template context blow form.validate() # See if a password was passed from the register modal form.password.data = request.form.get('password', '')