def register(self):
        if not Validate.bool(self.settings("allow_local_registration", "false")):
            return HTTPFound(location=route_url("menu", self.request))

        self.response["email"] = ""

        if "form.submitted" in self.request.params:
            self.response["email"] = Validate.sanatize(self.request.params["email"])
            password = Validate.sanatize(self.request.params["password"])
            repassword = Validate.sanatize(self.request.params["re.password"])

            if Users.by({"email": self.response["email"]}).first():
                self.notify("Email already in use!", warn=True)
                return self.template("register.pt")
            if not Validate.email(self.response["email"]):
                self.notify("Not a valid email address!", warn=True)
                return self.template("register.pt")
            if not Validate.password(password):
                self.notify("Improper password!", warn=True)
                return self.template("register.pt")
            if repassword != password:
                self.notify("Passwords do not match!", warn=True)
                return self.template("register.pt")

            # Below is good
            Users.registerLocalUser(self.response["email"], password)
            return HTTPFound(location=route_url("login", self.request))

        return self.template("register.pt")
Beispiel #2
0
 def register(self):
     if not Validate.bool(self.settings('allow_local_registration','false')):
         return HTTPFound(location=route_url('menu', self.request))
 
     self.response['email'] = ''
 
     if 'form.submitted' in self.request.params:
         self.response['email'] = Validate.sanatize(self.request.params['email'])
         password = Validate.sanatize(self.request.params['password'])
         repassword = Validate.sanatize(self.request.params['re.password'])
         
         if Users.by({'email':self.response['email']}).first():
             self.response['message'] = "Email already in use"
             return self.template('register.pt')
         if not Validate.email(self.response['email']):
             self.response['message'] = "Not a valid email address"
             return self.template('register.pt')
         if not Validate.password(password):
             self.response['message'] = "Improper password."
             return self.template('register.pt')
         if repassword != password:
             self.response['message'] = "Passwords do not match."
             return self.template('register.pt')
             
         # Below is good
         Users.registerLocalUser(self.response['email'], password)
         return HTTPFound(location=route_url('login', self.request))
         
     return self.template('register.pt')
Beispiel #3
0
    def change_password(self):
        user = Users.by(self.request.user.id).first()
        if not user.is_local:
            return HTTPForbidden()

        if 'form.submitted' in self.request.params:
            old = Validate.sanatize(self.request.params['old_password'])
            new = Validate.sanatize(self.request.params['new_password'])
            recheck = Validate.sanatize(self.request.params['new_recheck_password'])
            
            if not Validate.password(new):
                self.response['message'] = "Improper new password."
                return self.template('change_password.pt')
            if recheck != new:
                self.response['message'] = "New passwords do not match."
                return self.template('change_password.pt')
            
            if user.validate_password(old):
                user._set_password(new)
                transaction.commit()
    
        return self.template('change_password.pt')
    def change_password(self):
        user = Users.by(self.request.user.id).first()
        if not user.is_local:
            return HTTPForbidden()

        if "form.submitted" in self.request.params:
            old = Validate.sanatize(self.request.params["old_password"])
            new = Validate.sanatize(self.request.params["new_password"])
            recheck = Validate.sanatize(self.request.params["new_recheck_password"])

            if not Validate.password(new):
                self.notify("Improper new password!", warn=True)
                return self.template("change_password.pt")
            if recheck != new:
                self.notify("New passwords do not match!", warn=True)
                return self.template("change_password.pt")

            if user.validate_password(old):
                user._set_password(new)
                transaction.commit()

        return self.template("change_password.pt")