Ejemplo n.º 1
0
    def testModelInteraction(self):
        db = self.db

        self.assertEqual(len(list(db.query(model.User))), 3)

        self.assertFalse(model.user_by_name('cray'))
        self.assertTrue(model.user_by_name('sean'))
Ejemplo n.º 2
0
    def user_info(username):
        'A simple page from a dabase.'

        user = model.user_by_name(username)

        #  any local variables can be used in the template
        return locals()
Ejemplo n.º 3
0
    def user_info(username):
        'A simple page from a dabase.'

        user = model.user_by_name(username)

        #  any local variables can be used in the template
        return locals()
Ejemplo n.º 4
0
    def edit_user(username):
        user = model.user_by_name(username)
        form = NewUserFormProcessor(request.POST, user)

        if request.method == 'POST' and form.validate():
            db = dbwrap.session()
            form.populate_obj(user)
            print(user)
            db.merge(user)
            db.commit()

            redirect(app.get_url('user_list'))
        return locals()
Ejemplo n.º 5
0
 def post(self):
     if self.user:
         self.redirect('/?logged=true')
     #TBD: be sure that the code below will not run after redirect
     username = self.get_from_request('username')
     password = self.get_from_request('password')
     from_path = self.get_from_request('from_path')
     user = model.user_by_name(username)
     if user:
         if user_stuff.valid_pw(username, password, user.password):
             self.login(user.user_id())
             path = str(from_path) or '/welcome'
             self.redirect(path)
         else:
             login_error = "Username and Password didn't match"
             self.render('login.html', username = username, 
                                       login_error = login_error)
     else:
         self.render('login.html', login_error = 'Invalid Login')
Ejemplo n.º 6
0
def valid_signup_form(username, password, verify, email):
    have_error = False
    params = {'username_value': username,
              'email_value': email}

    if model.user_by_name(username):
        have_error = True
        params['username_error'] = "That username is not available."
    if not valid_username(username):
        have_error = True
        params['username_error'] = "That's not a valid username."
    if not password:
        have_error = True
        params['password_error'] = "That's not a valid password."   
    elif not valid_password(password, verify):
        have_error = True
        params['verify_error'] = "Sorry, the passwords didn't match."
    if not valid_email(email):
        have_error = True
        params['email_error'] = "That's not a valid e-mail."

    return params, have_error
Ejemplo n.º 7
0
    def test_user_create(self):
        '''Create new user via WSGI interface'''

        results = self.harness.get('/new-user')
        self.assertEqual(results.status, '200 OK')

        results = self.harness.post(
                '/new-user',
                {'name': 'cray',
                    'full_name': 'Seymour Cray',
                    'email_address': '*****@*****.**',
                    'password': '******',
                    'confirm': 'mycray',
                })
        self.assertEqual(results.status, '302 Found')
        self.assertTrue(results.location.endswith('users/cray'))

        cray = model.user_by_name('cray')
        self.assertNotEqual(cray, None)

        results = self.harness.get('/users/cray')
        self.assertEqual(results.status, '200 OK')
        self.assertIn('Seymour', results.body)