예제 #1
0
 def makeGrid(self, cls):
     breadcrumbs = self.breadcrumbs[:]
     breadcrumbs.append({'text': "%ss" % cls.__name__})
     grid = Grid(cls, self.session.query(cls).all())
     grid.configure(readonly=True, exclude=[grid._get_fields()[0]])
     grid.insert(grid._get_fields()[1],
         Field('%s overview page' % cls.__name__,
               value=lambda item: '<a href=%s>%s</a>' % (item.getUrl(), str(item))))
     return {'grid': grid,
             'cls': cls,
             'breadcrumbs': breadcrumbs}
예제 #2
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}