예제 #1
0
            def post(self):
                loggedInCheck(self)
                adminCheck(self)
                
                have_error = False
                username = (self.request.get('username')).lower()      
                password = self.request.get('password')
                verify = self.request.get('verify')
                email = self.request.get('email')
                firstName = self.request.get('firstName')
                lastName = self.request.get('lastName')
        
                params = dict(username = username,
                              email = email)
        
                if username.lower() == "testadmin":
                    params['error_username'] = "******"
                    have_error = True
                    
                if not valid_username(username):
                    params['error_username'] = "******"
                    have_error = True
        
                if not valid_password(password):
                    params['error_password'] = "******"
                    have_error = True
                elif password != verify:
                    params['error_verify'] = "Your passwords didn't match."
                    have_error = True
        
                if not valid_email(email):
                    params['error_email'] = "That's not a valid email."
                    have_error = True
        
                if have_error:
                    self.render('templates/admin/adduser.html', **params)
                else:                    
                    init = db.GqlQuery("SELECT * FROM User WHERE username=:1",username)

                    u = User(key_name = username, 
                             username = username,
                             usernamehash = get_hash(username),
                             userrole = "nonadmin",
                             password = password, 
                             email = email,
                             firstName = firstName,
                             lastName = lastName)
                    #u.put()
                    if len(list(init)) == 0:                        
                        u.put()
                        time.sleep(2)
                        self.redirect("/admin/adduser?e=false&u="+username)
                    else:
                        u.password = password #new password
                        u.userrole = init[0].userrole
                        u.put()
                        time.sleep(2)
                        self.redirect("/admin/adduser?e=true&u="+username)
예제 #2
0
파일: routes.py 프로젝트: cameron/jot
def create_account(email=None, password=None):
  result = User.by_email(email)
  if result:
    raise exceptions.BadRequest("Email in use")
  
  user = User()
  user.email = email
  user.password = bcrypt.hashpw(password, bcrypt.gensalt())
  user.save()
  init_session(user)
  return user.guid