示例#1
0
 def setUp(self):
     user = model.User(
         user_name = u'test1',
         email_address = u'*****@*****.**',
         display_name = u'Test One',
         password = u'myPassword9!',
         activated = True,
     )
     Session.add(user)
     Session.commit()
示例#2
0
 def test_duplicate_user_name(self):
     user = model.User(
         user_name = u'test1',
         email_address = u'*****@*****.**',
         display_name = u'Test One Again',
         password = u'myPassword8!',
         activated = True,
     )
     Session.add(user)
     self.failUnlessRaises(sa.exc.IntegrityError, Session.commit)
     Session.rollback()
示例#3
0
    def register(self, userlevel =''):
        # This is the subroutine/ method for registering users/ DEBTORS

        if request.method == 'POST':
            # If we have came from the register form

            state = State()
            state.session = Session
            try:
                params = register_user_form.validate(request.params, state=state)
            except tw.forms.core.Invalid, e:
                c.form_error = e.error_dict or {}
            else:
                # Create the new account in database
                if userlevel =="":
                    userlevel =4 # Default to Debtors
                users = Users(
                    username = params['user_name'],
                    email = params['email_address'],
                    displayname = params['display_name'],
                    password = params['password'],
                    activated = False,
                    level =1
                )
                Session.add(users)
                
                http_server = request.environ.get('HTTP_ORIGIN')
                if not http_server:
                    http_server = 'http://' + request.environ['HTTP_HOST']
                
                activation_url = "%s%s?u=%s&key=%s" %(
                    http_server,
                    url(controller='account', action='activation'),
                    quote(user.username),
                    quote(activation.key)
                )
                
                from turbomail import Message
                message = Message("*****@*****.**", user.email, "Welcome to RejuVu")
                message.plain = "Your RejuVu account is ready to use. Your username is '%s'.  Activate your account at %s" %(user.username, activation_url)
                message.send()
                Session.commit()
                h.flash_info(u"A confirmation email has been sent to %s containing a link to activate your account." %(user.email_address,))
                redirect(url('/'))
示例#4
0
 def test_index_authenticated(self):
     # Create a user to authenticate as
     user = model.User(
         user_name = u'test1',
         email_address = u'*****@*****.**',
         display_name = u'Test One',
         password = u'myPassword9!',
         activated = True,
     )
     Session.add(user)
     Session.commit()
     
     environ = {'REMOTE_USER': '******'}
     
     response = self.app.get(url(controller='home', action='index'), extra_environ=environ, status=200)
     
     # Test response...
     assert 'Test One' in response.body
     assert 'Logout' in response.body
示例#5
0
    def new(self):
        # This subroutine will render the new form to create a client

        # double check that user's level
        c.user = h.user()
        c.user_level = Session.query(UserLevels).filter(UserLevels.ulid==c.user.level).first()
    
        if request.method == 'POST':
            state = State()
            state.session = Session
            try:
                params = new_client_form.validate(request.params, state=state)
            except tw.forms.core.Invalid, e:
                c.form_error = e.error_dict or {}
            else:
                # If the client passes all of the scrutiny

                clientname = params['client_name']
                client =Clients(name = clientname)
                Session.add(client)
                Session.commit()
                h.flash_ok(u"Client %s Created" %(clientname))
                return render('/home.mako')