Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
 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)
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
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)
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
 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)
Ejemplo n.º 7
0
 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
Ejemplo n.º 8
0
 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)