示例#1
0
    def test_delete(self):
        """Testa delete contatto"""
        environ = {'REMOTE_USER': '******'}
        resp = self.app.post('/save', extra_environ=environ, status=200)
        form = resp.form
        form['nome'] = 'manager'
        form['telefono'] = '123456'
        form.submit(extra_environ=environ)
        contatti = DBSession.query(Contatto).all()
        last = contatti[-1]
        self.app.get('/delete?item_id={}'.format(last.id),
                     extra_environ=environ,
                     status=302)
        contatti = DBSession.query(Contatto).all()
        contatto2 = contatti[-1]
        ok_(last != contatto2)

        resp = self.app.post('/delete?item_id=999',
                             extra_environ=environ,
                             status=302)
        ok_('Set-Cookie:', 'Il contatto non esiste' in resp.headers)

        resp = self.app.post('/save', extra_environ=environ, status=200)
        form = resp.form
        form['nome'] = 'manager'
        form['telefono'] = '123456'
        form.submit(extra_environ=environ)
        contatti = DBSession.query(Contatto).all()
        last = contatti[-1]
        environ = {'REMOTE_USER': '******'}
        resp = self.app.get('/delete?item_id={}'.format(last.id),
                            extra_environ=environ,
                            status=302)
        ok_('Set-Cookie:', 'Non puoi eliminare questo contatto'
            in resp.headers)
示例#2
0
 def delete(self, item_id):
     """Elimina contatto"""
     if not DBSession.query(exists().where(Contatto.id == item_id)).scalar():
         flash(_("Il contatto non esiste"))
         redirect('/index')
     if DBSession.query(Contatto).get(item_id) in request.identity['user'].contacts: 
         contatto = DBSession.query(Contatto).get(item_id)
         DBSession.delete(contatto)
         redirect('/index')
     else:
         flash(_("Non puoi eliminare questo contatto"))
         redirect('/index')
示例#3
0
文件: root.py 项目: p3ace-0/rubrica
 def setting(self, **kw):
     try:
         user = DBSession.query(User)\
         .filter_by(user_id=request.identity['user'].user_id).one()
         return dict(page='setting', user=user)
     except:
         return dict(page='setting')
示例#4
0
 def test_esponi(self):
     """Testa se il response di esponi è corretto"""
     environ = {'REMOTE_USER': '******'}
     resp = self.app.get('/esponi', extra_environ=environ, status=200)
     contatto1 = DBSession.query(Contatto).first()
     string = '"phone": "{}", "id": {}, "name": "{}"'.format(
         contatto1.phone, contatto1.id, contatto1.name)
     resp.mustcontain(string)
示例#5
0
    def test_index(self):
        """Testa il response di index"""
        res = self.app.get('/index', )
        ok_(res.location.startswith('http://localhost/login'))

        "Testa il response da loggati"
        environ = {'REMOTE_USER': '******'}
        resp = self.app.get('/index', extra_environ=environ, status=200)
        contatto1 = DBSession.query(Contatto).first()
        msg1 = "<td>{}</td><td>{}</td>".format(contatto1.name, contatto1.phone)
        resp.mustcontain(msg1)
示例#6
0
 def index(self, **kw):
     """handle index page"""
     if not request.identity:
         redirect('/login')
     data = DBSession.query(Contatto).filter_by(owner=request.identity['user'].user_id)
     ordering = kw.get('ordercol')
     if ordering and ordering[0] == '+':
         data = data.order_by(asc(ordering[1:]))
     elif ordering and ordering[0] == '-':
         data = data.order_by(desc(ordering[1:]))
     return dict(page='index', grid=tabella, data=data)
示例#7
0
文件: root.py 项目: p3ace-0/rubrica
 def search(self, search):
     if not search:
         redirect('/home')
     else:
         try:
             contact = DBSession.query(Rubrica).\
             filter(Rubrica.parent_id==request.identity['user'].user_id). \
             filter(Rubrica.user_name.like(f"%{search}%")).\
             order_by(Rubrica.user_name).all()
             return dict(page='home', contact=contact)
         except:
             redirect('/home')
示例#8
0
    def test_save(self):
        """Testa il save dei contatti"""
        environ = {'REMOTE_USER': '******'}
        resp = self.app.post('/save', extra_environ=environ, status=200)
        form = resp.form
        form['nome'] = 'manager'
        form['telefono'] = '123456'
        form.submit(extra_environ=environ)

        contatti = DBSession.query(Contatto).all()
        last = contatti[-1]
        eq_(last.name, 'manager')
        eq_(last.phone, '123456')

        "Testa input errato"
        environ = {'REMOTE_USER': '******'}
        resp = self.app.post('/save', extra_environ=environ, status=200)
        form = resp.form
        form['nome'] = '123'
        form['telefono'] = 'abc'
        form.submit(extra_environ=environ, status=200)
        contatto = DBSession.query(Contatto).all()
        last = contatto[-1]
        ok_(last.name != '123')
示例#9
0
 def setUp(self):
     """Setup test fixture for each model test method."""
     try:
         new_attrs = {}
         new_attrs.update(self.attrs)
         new_attrs.update(self.do_get_dependencies())
         self.obj = self.klass(**new_attrs)
         DBSession.add(self.obj)
         DBSession.flush()
         return self.obj
     except:
         DBSession.rollback()
         raise
示例#10
0
 def download(self):
     """Download della rubrica"""
     data = DBSession.query(Contatto).filter_by(owner=request.identity['user'].user_id).all()
     response.content_type = 'applications/json'
     response.headerlist.append(('Content-Disposition', 'attachment;filename=rubrica.json'))
     return dict(data=data)
示例#11
0
文件: auth.py 项目: p3ace-0/rubrica
 def by_email_address(cls, email):
     """Return the user object whose email address is ``email``."""
     return DBSession.query(cls).filter_by(email_address=email).first()
示例#12
0
文件: auth.py 项目: p3ace-0/rubrica
 def by_user_name(cls, username):
     """Return the user object whose user name is ``username``."""
     return DBSession.query(cls).filter_by(user_name=username).first()
示例#13
0
 def esponi(self):
     """Espone la rubrica in formato JSON"""
     data = DBSession.query(Contatto).filter_by(owner=request.identity['user'].user_id).all()
     return dict(data=data)
示例#14
0
文件: root.py 项目: p3ace-0/rubrica
 def home(self, *args):
     contact = DBSession.query(Rubrica).\
         filter_by(parent_id=request.identity['user'].user_id).\
         order_by(Rubrica.user_name).all()
     return dict(page='home', contact=contact)
示例#15
0
文件: root.py 项目: p3ace-0/rubrica
 def jp(self):
     contact = DBSession.query(Rubrica.user_name, Rubrica.user_Number).\
         filter_by(parent_id=request.identity['user'].user_id).all()
     return dict(contact=contact)
示例#16
0
 def save(self, **kw):
     """Salva il contatto aggiunto con add"""
     contatto = Contatto(name=kw['nome'], phone=kw['telefono'])
     request.identity['user'].contacts.append(contatto)
     DBSession.add(contatto)
     redirect('/index')
示例#17
0
 def tearDown(self):
     """Tear down test fixture for each model test method."""
     DBSession.rollback()
示例#18
0
 def test_query_obj(self):
     """Model objects can be queried"""
     obj = DBSession.query(self.klass).one()
     for key, value in self.attrs.items():
         eq_(getattr(obj, key), value)
示例#19
0
文件: root.py 项目: p3ace-0/rubrica
 def delete(self, id):
     obj = DBSession.query(Rubrica).filter_by(user_id=id).one()
     model.DBSession.delete(obj)
     model.DBSession.flush()
     redirect('/home')