Ejemplo n.º 1
0
    def post(self):
        have_error = False
        user_username = self.request.get('username')
        user_password = self.request.get('password')
        user_verify = self.request.get('verify')
        user_email = self.request.get('email')
        
        check_username = valid_helpers.valid_username(user_username)
        check_password = valid_helpers.valid_password(user_password)
        check_verify = valid_helpers.valid_verify(user_verify, user_password)
        check_email = valid_helpers.valid_email(user_email)

        params = dict(user_username = user_username, user_email = user_email)

        # Try to retrieve user from database if it already exits
        query = User.all(keys_only = True).filter('username', user_username)
        if not(check_username):
            params['error_username'] = "******"
            have_error = True
        if not(check_password):
            params['error_password'] = "******"
            have_error = True
        if not(check_verify):
            params['error_verify'] = "Your passwords didn't match."
            have_error = True
        if not(check_email):
            params['error_email'] = "That's not a valid email."
            have_error = True
        if not have_error:
            # query database only if no other errors exist
            existing_user = query.get()
            if existing_user:
                # if the user exists, the give error
                params['error_username'] = "******"
                have_error = True
        if have_error:
            self.render("signup_form.html", **params)
        else:
            #set cookies here and save user to database
            #encrypt the pass before saving
            encrypted_pass = auth_helpers.make_pw_hash(user_username, user_password)
            user = User(username = user_username, email = user_email, encrypted_pass = encrypted_pass)
            user.put() # save the user
            existing_user = query.get() # get the user from the database
            user_id = existing_user.id()
            user_hash = auth_helpers.make_secure_val(str(user_id))
            self.response.headers.add_header("Set-Cookie", "user = %s" % str(user_hash))
            self.redirect("/unit3/welcome")
Ejemplo n.º 2
0
 def post(self):
     user_username = self.request.get('username')
     user_password = self.request.get('password')
     params = dict(username = user_username)
     query = User.all().filter('username', user_username)
     user = query.get()
     if user:
         check_user = auth_helpers.valid_pw(user_username, user_password, user.encrypted_pass)
         if check_user:
             #set cookie and redirect to welcome page
             user_id = user.key().id()
             user_hash = auth_helpers.make_secure_val(str(user_id))
             self.response.headers.add_header("Set-Cookie", "user = %s" % str(user_hash))
             self.redirect("/unit3/welcome")
         else:
             params["error_username"] = "******"
             params["error_password"] = "******"
             self.render("login.html", **params)
     else:
         params["error_username"] = "******"
         params["error_password"] = "******"
         self.render("login.html", **params)
Ejemplo n.º 3
0
 def set_secure_cookie(self, name, val):
     cookie_val = auth_helpers.make_secure_val(val)
     self.response.headers.add_header('Set-Cookie',
                                      "%s=%s; Path=/" % (name, cookie_val))
Ejemplo n.º 4
0
 def login(self):
     self.response.set_cookie("logged_in",
                              auth_helpers.make_secure_val("1"))
Ejemplo n.º 5
0
 def set_secure_cookie(self, name, val):
     cookie_val = auth_helpers.make_secure_val(val)
     self.response.headers.add_header(
             'Set-Cookie', "%s=%s; Path=/" % (name, cookie_val))
Ejemplo n.º 6
0
 def login(self):
     self.response.set_cookie("logged_in",
                              auth_helpers.make_secure_val("1"))