def post(self): username = str(self.request.get('username')) username_sec = self.encrypt_username(username) userdb = UserDB.all().filter('username ='******''.join(random.choice(random_string) for i in range(15)) # self.response.out.write(random_url) for i in userdb: email = i.email_id break recovery_link = "http://pagevista.appspot.com/recovery/"+random_url sender = "<*****@*****.**>" to = "<" + email + ">" body = "reset your password here " + recovery_link subject = "ZOOSMASH - password reset" body = """Dear""" + username +""", Here is the link for resetting your password as per requested """ + recovery_link + """ Please follow the instructions. If you had not requested a password reset for your account please ignore this mail. Thank you, myGreenPage team """ # self.response.out.write(random_url + " " + to + " " + body) mail.send_mail(sender= sender, to = to, subject = "reset mail", body = body) precovery = PasswordRecovery(random_url = random_url, username = username_sec) precovery.put() self.pass_template_value_password_reset_page(error = "A link to reset your password has" + "been mailed to you.Plese follow instructions mentioned "+ "in it to reset yor password. ")
def post(self, recovery_id): password = self.request.get('password') password_confirm = self.request.get('password_confirm') precovery = PasswordRecovery.all().filter('random_url =',recovery_id).fetch(1) for i in precovery: username = i.username break if not password or password.isspace(): self.pass_template_value_recovery_page(username = username, error = "Please enter a valid password") elif password != password_confirm: self.pass_template_value_recovery_page(username = username, error = "Passwords do not match") else: userdb = UserDB.all().filter('username =',username).fetch(1) for i in userdb: i.password = self.encrypt_password(password) i.put() break for i in precovery: i.reset = True i.put() # home = "http://localhost:8080/blogname" self.response.out.write("""password has been changed successfully. <a href = "http://pagevista.appspot.com/login">return</a>""")
def get(self, recovery_id): precovery = PasswordRecovery.all().filter('random_url =',recovery_id).filter('reset =',False).fetch(1) if not precovery: self.response.out.write('invalid page') else: for i in precovery: username = i.username break username = self.return_username_if_valid_cookie(username) self.pass_template_value_recovery_page(username = username, error = "")