예제 #1
0
 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
예제 #2
0
	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