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}
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}