예제 #1
0
def _makeGrid(typ, klass, fields):
    """
    Erzeugt aus einer Feldliste und einer Pythonklasse ein Grid fuer alle Felder.
    """
#    print fields
    first_field = fields[0]
#    print first_field
    
    g = Grid(klass, session=__session__)
    g.configure(include=[getattr(g, fname) for fname in fields],readonly=True)
    g.append(Field('editlink', type=types.String, value=lambda item: "<a href=\"portal_dbadmin/objekt_edit?typ=%s&pk=%s\">Editieren</a>" % (typ, str(item._sa_instance_state.key[1]))))
#    print getattr(g, first_field)
    g.insert(getattr(g,first_field), Field('check', type=types.String, value=lambda item: "<input type='checkbox' name='objsel:list' value=\"%s\"/>" % (str(item._sa_instance_state.key[1]))))
    return g
예제 #2
0
def show_all_resources():
    """ Show all Resources from the pool """

    # TODO: move this configuration into a class
    grid = Grid(Resource, pool.allResourcesGenerator())
    grid.configure(options=[grid.location.with_renderer(LineRenderer)])
    grid.readonly = True
    grid.append(
        Field('',
              value=lambda item: '<a class="delete" href="/delete/%(id)d">[x]\
                </a><a href="/edit/%(id)d">[edit]</a>' % item.__dict__
            ).readonly()
    )
    return render_template('show_all_resources.html', grid=grid)
예제 #3
0
    def tokens(self):
        breadcrumbs = self.breadcrumbs[:]
        breadcrumbs.append({'text': 'Manage Tokens'})
        grid = Grid(TokenBatch, self.session.query(TokenBatch).all())
        grid.configure(readonly=True, exclude=[grid._get_fields()[0]])
        grid.append(Field('Export to CSV file',
                          value=lambda item: '<a href="/%s">%s</a>' %\
                              (item.exportTokens(),
                               str(item))))
        grid.append(Field('Number of token',
                          value=lambda item: self.session.query(Token)\
                          .filter_by(batch=item).count()))
        grid.append(Field('Number of unused tokens',
                          value=lambda item: self.session\
                          .query(Token)\
                          .filter_by(batch=item)\
                          .filter_by(state='new').count()))

        return {'breadcrumbs': breadcrumbs,
                'grid': grid}