Ejemplo n.º 1
0
    def post(self):
        # Retrieve inputs
        username = self.request.get('username')
        pwd = self.request.get('password')
        pwd_retry = self.request.get('verify')
        email = self.request.get('email')
        new_url = str(self.request.get('new_url'))

        # Validity checks
        errors = {}
        if not valid_username(username):
            errors['username'] = '******'
        if not valid_pwd(pwd):
            errors['pwd'] = 'Invalid password'
        elif pwd != pwd_retry:
            errors['pwd'] = 'Passwords not matching'
        if not valid_email(email):
            errors['email'] = 'Invalid Email'

        # Check if user already existing
        # if checks ok
        if not errors:
            user = User.login(username, pwd)
            if user:
                errors['username'] = '******'

        # if checks ok
        if not errors:
            # Add new user into DB
            user = User.signup(username, pwd, email)
            print 'New user signed up'

            # Add cookie
            self.login(user)

            # Redirect to new url
            self.redirect(new_url)
        else:
            # Format signup page
            # with inputs and errors
            self.render_signup(username, email, errors)