def claim(payload): s = security.get_serializer() try: (identifier, email, price) = s.loads(payload) print (identifier, email, price) except BadSignature: abort(404) Watch.objects(identifier=identifier).filter(watchers__email=email).update_one(add_to_set__watchers__S__claims=Price(price=price)) return redirect('https://www.alaskaair.com/booking/ssl/garr/GuaranteedAirfare.aspx', code=302)
def unwatch_from_email(payload): from www.helpers import redirect_url s = security.get_serializer() try: (identifier, email) = s.loads(payload) print (identifier, email) except BadSignature: abort(404) Watch.objects(identifier=identifier, watchers__email=email).update_one(set__watchers__S__watching=False) flash("You have been unsubscribed from any future price alerts on that flight.", 'warning') return redirect(redirect_url())
def activate_user(payload): s = security.get_serializer() try: user_id = s.loads(payload) except BadSignature: abort(404) user = User.objects.get(id=ObjectId(user_id)) user.verified = True user.save() flash("Thank you, %s. You can now receive alerts." % user.first_name, 'success') return redirect(url_for('users.home'))
def get_unwatch_link(identifier, email): from www import security s = security.get_serializer() payload = s.dumps((identifier, email)) return _get_link(route='results.unwatch_from_email', payload=payload)
def get_claim_link(identifier, email, price): from www import security s = security.get_serializer() payload = s.dumps((identifier, email, price)) return _get_link(route='results.claim', payload=payload)
def get_activation_link(_id): from www import security s = security.get_serializer() payload = s.dumps(str(_id)) return _get_link(route='users.activate_user', payload=payload)