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