def fill_user_details(form, fillings=["email", "name", "contact"]): details = {} email = helpers.get_loggedin_email() or helpers.get_unverified_email() if email: if "email" in fillings: details["email"] = email user = db.select("users", where="email=$email", vars=locals()) if user: user = user[0] if "name" in fillings: details["userid"] = user.id details["prefix"] = user.prefix details["fname"] = user.fname details["lname"] = user.lname if "contact" in fillings: details["addr1"] = user.addr1 details["addr2"] = user.addr2 details["city"] = user.city details["zipcode"] = user.zip5 details["zip4"] = user.zip4 details["phone"] = user.phone details["state"] = user.state form.fill(**details)
def GET(self, form=None): if not form: form = forms.wyrform() fill_user_details(form) add_captcha(form) useremail = helpers.get_loggedin_email() or helpers.get_unverified_email() msg, msg_type = helpers.get_delete_msg() return render.writerep(form, useremail=useremail, msg=msg)
def assert_verified(email): if helpers.get_loggedin_email(): pass elif helpers.no_verified_activity(email): helpers.set_login_cookie(email) send_mail_to_set_password(email) else: query = urllib.urlencode(dict(redirect=web.ctx.fullpath)) raise web.seeother("/login?%s" % query)
def assert_login(i=None): # let unlogged in users also do actions like signing, wyr # if the email has verified account with us but not logged-in, redirect to login form # if the email has unverified account, make them login and send set password email # if the email has no account, set an unverified account and send set password email i = i or web.input() email = i.email if helpers.get_loggedin_email(): pass elif helpers.is_verified(email): login_page = do_login(email, set_state()) raise web.webapi.HTTPError('200 OK', {}, data=str(login_page)) else: helpers.unverified_login(email, i.get('fname'), i.get('lname')) send_mail_to_set_password(email)
def assert_login(i=None): # let unlogged in users also do actions like signing, wyr # if the email has verified account with us but not logged-in, redirect to login form # if the email has unverified account, make them login #and send set password email # if the email has no account, set an unverified account #and send set password email # and return user id i = i or web.input() email = i.email if helpers.get_loggedin_email(): uid = helpers.get_loggedin_userid() elif helpers.is_verified(email): login_page = do_login(email, set_state()) raise web.webapi.HTTPError('200 OK', {}, data=str(login_page)) else: #send_mail_to_set_password(email) uid = helpers.unverified_login(email, i.get('fname'), i.get('lname')) return uid
def g(*a, **kw): if not helpers.get_loggedin_email(): query = urllib.urlencode(dict(redirect=web.ctx.homepath + web.ctx.fullpath)) raise web.seeother("/u/login?%s" % (query), absolute=True) return f(*a, **kw)
def save_msg(self, subj, msg): uemail = helpers.get_loggedin_email() user = helpers.get_user_by_email(uemail) user_id = user and user.id msg_id = db.insert('wyr', politician=self.pol, subject=subj, message=msg, sender=user_id, sent=False) return msg_id
def g(*a, **kw): if not helpers.get_loggedin_email(): query = urllib.urlencode( dict(redirect=web.ctx.homepath + web.ctx.fullpath)) raise web.seeother("/u/login?%s" % (query), absolute=True) return f(*a, **kw)