def post(self, *args, **kwargs): email = self.request.get("email") code = self.request.get("code") password = self.request.get("password") site = Site.all().get() if email and not code: if User.send_recovery_email(email, site.title): self.response.out.write("The email has been sent. Please check your email to reset your password.") return True else: self.response.out.write("The email was not sent. Please try again.") return False elif email and code and password: user = User.get_by_email(email) if user: if user.set_password(password, site.secret): login = User.login(email, password, site) self.session["user"] = login user.destroy_token() self.redirect('/') return True else: self.response.out.write("An Error Occurred Resetting Password, Please try again.") return False else: self.response.out.write("Cannot Reset Password For This User") return False return False
def read(self, file): result = { "errors" : [], "data" : [], "dialect" : None } csvio = StringIO.StringIO(file) dialect = csv.Sniffer().sniff(file) csvreader = csv.DictReader(csvio, dialect = dialect) for row in csvreader: result["data"].append(row) """ Here we need to render each user account store it and get ready to start sending emails etc. """ if not row.get(' E-MAIL ADDRESS', None): result['errors'].append({ "message" : "Could not retrieve field E-MAIL ADDRESS", "row" : row }) continue new_user = User.get_by_email(row.get(' E-MAIL ADDRESS', 'CANCEL')) if not new_user: site = Site.all().get() new_user = User.create_user(row.get(' E-MAIL ADDRESS', 'NONE'), 'NONE', site.secret) new_user.firstname = row.get('FIRST NAME', None) new_user.lastname = row.get('LAST NAME', None) new_user.spouse = row.get('SPOUSE', None) new_user.address = row.get('ADDRESS LINE 1', None) + '\n' + row.get('ADDRESS LINE 2', None) + '\n' + row.get('CITY', None) + '\n' + row.get('STATE', None) + ',' + row.get('ZIP', None) + '\n' + row.get('COUNTRY', None) if row.get('PHONE NUMBER', None): new_user.phone = row.get('PHONE NUMBER', None) if row.get('FAX NUMBER', None): new_user.fax = row.get('FAX NUMBER', None) new_user.put() #clear the user cache cache.Cache().clear() return result