Ejemplo n.º 1
0
    def post(self):
        uid = self.get_request("id","")
        email = self.get_request("email", "")
        user_url = self.get_request("personal_url", "")
        displayName = self.get_request("display_name", "")
        password = self.get_request("password", "")
        role = self.get_request("role","")
        status = self.get_int_request("status",0)
        if uid =="":
            self.print_result(False,"error id is empty")
            return

        if user_url != "":
            tmp = user_url.lower()
            if not tmp.startswith("http"):
                user_url = "http://"+user_url
            if not pyUtility.isURL(user_url):
                self.print_result(False, "The Format of URL is wrong!")
                return
        if email == "":
            self.print_result(False, "Email Cannot be blank!")
            return
        if not pyUtility.isEmail(email):
            self.print_result(False, "Email Format is incorrect!")
            return

        user = User().getByID(uid, False)
        if not user:
            user.close()
            self.print_result(False, "Can not find any record")
            return
        if user.user_email != email:
            """
                Check if email has been taken or not
            """
            if not User().isEmailUnique(email, False):
                self.print_result(False, "Email Has been used")
                return
        if not password == "":
            newPwd = user.getEncodeStr(password)
            if newPwd != user.user_pass:
                user.user_pass = newPwd
        user.user_email = email
        user.user_url = user_url
        user.role = pyEnum.GetAccountRole(role)
        user.user_status = pyEnum.GetAccountStatusID(status)
        user.display_name = displayName
        if user.update():
            self.print_result(True, "Done", self.webroot_url("admin/users/edit/?id="+uid))
        else :
            self.print_result(False, "Failed to Update DB")