Exemple #1
0
 def new(self, name, pw, email):      
     password = make_pw_hash(name, pw)
     usr = Transaction(USERDB).set_new(password = password, name = name, email = email)
     self.usr = usr
     usr.commit()
     thing = Thing(usr.obj())
     for t in USER_THINGS_DEFAULT:
         setattr(thing, t, USER_THINGS_DEFAULT[t])
     self.thing = thing
     self.thing.commit()
     return self
 def post(self):
     usr = self.verify_user_cookie()
     pw = self.request.get('password')
     new_pw = self.request.get('new_password')
     new_pw_confirm = self.request.get('new_pw_confirm')
     if pw == INIT_PW and new_pw == new_pw_confirm and usr:
         admin = User().new('#admin', make_pw_hash('#admin', new_pw),'')
         Group().new('#root', 'admin')
         usr.isAdmin = True
         usr.commit()
         admin.isAdmin = True
         admin.commit()
         ADMIN_IP = self.request.remote_addr
         self.set_admin_cookie('#admin')
         self.redirect('/admin/console')
         
         return
     self.redirect('/')
Exemple #3
0
    def post(self):
        error_flag = False      

        username = self.request.get('username')
        password = self.request.get('password')
        verify = self.request.get('verify')
        email = self.request.get('email')

        args = dict(username = username)
        
        #Double quotes are used when ' is present to avoid escaping.
        if not utils.valid_username(username):
            args['error_name'] = "That's not a valid username."
            error_flag = True
        dbo = userdb.User.all().filter('username', username)
        if dbo.get():
            args['error_name'] = 'The user already exists.'
            error_flag = True
        if not utils.valid_password(password):
            args['error_pass'] = "******"
            error_flag = True
        if not password == verify:
            args['error_verify'] = "Your passwords didn't match."
            error_flag = True
        if email != '' and not utils.valid_email(email):
            args['error_email'] = "That's not a valid email."
            error_flag = True

        if error_flag:
            self.render('signup.html', **args)
        else:
            args['password'] = utils.make_pw_hash(username, password)
            if email:
                args['email'] = email
            
            user = userdb.User(**args)
            user.put()

            self.login(user)
            self.redirect("/")
Exemple #4
0
    def post(self):
        username = self.request.get('username')
        password = self.request.get('password')
        password2 = self.request.get('verify')
        email = self.request.get('email')
        errors = 0

        params = dict(username=username, email=email)

        # form input validation
        if not utils.valid_username(username):
            params['username_error'] = "That's not a valid username."
            errors += 1
        if not utils.valid_password(password):
            params['password_error'] = "That's not a valid password."
            errors += 1
        if not utils.password_match(password, password2):
            params['password_match_error'] = "Passwords do not match."
            errors += 1
        if email and not utils.valid_email(email):
            params['email_error'] = "That's not a valid email."
            errors += 1

        # check if user exists already
        u = query.get_user(username)
        if u:
            params['username_error'] = "User already exists"
            errors += 1

        if errors > 0:
            self.render('signup.html', **params)
        else:
            pw_hash = utils.make_pw_hash(username, password)
            u = query.create_user(username, pw_hash, email)

            # add cookie
            self.login(u)

            self.redirect('/')
Exemple #5
0
 def register(cls, name, pw, email=None):
     pw_hash = utils.make_pw_hash(name, pw)
     return cls(name=name, password_hash=pw_hash, email=email)
 def register(cls, name, pw, email = None):
     pw_hash = make_pw_hash(name, pw)
     return User(parent = users_key(),
                 name = name,
                 pw_hash = pw_hash,
                 email = email)
Exemple #7
0
 def validate_pw(self, pw):
     pwsalt = self.usr.password.split('|')[1]
     return make_pw_hash(self.usr.name, pw, pwsalt) == self.usr.password
Exemple #8
0
 def register(cls, username, password, email=None):
     pw_hash = u.make_pw_hash(username, password)
     return cls(name=username, pw_hash=pw_hash, email=email)
Exemple #9
0
 def new(self, name, pw, email):
     password = make_pw_hash(name, pw)
     self.key = Transaction(USERDB).set(name = name, password = password, email = email)
     self._things = Thing(self.key).new(deepcopy(USER_THINGS_DEFAULT))
     self._properties = {'name':name, 'password':password, 'email':email}
     return self
 def register(cls, name, pw, email=None):
     pw_hash = make_pw_hash(name, pw)
     return User(parent=users_key(),
                 name=name,
                 pw_hash=pw_hash,
                 email=email)