def for_fs_kategorie(self, sel=None): from ebkus.html.fskonfig import fs_customize kat_ids = ", ".join([str(f["kat_id"]) for f in fs_customize.fd.values() if f["kat_id"]]) fs_kategorien = KategorieList(where="id in (%s)" % kat_ids) fs_kategorien.sort("name") return make_option_list(fs_kategorien, "id", "name", selected=sel)
def for_fs_kategorie(self, sel=None): from ebkus.html.fskonfig import fs_customize kat_ids = ', '.join([str(f['kat_id']) for f in fs_customize.fd.values() if f['kat_id']]) fs_kategorien = KategorieList(where="id in (%s)" % kat_ids) fs_kategorien.sort('name') return make_option_list(fs_kategorien, 'id', 'name', selected=sel)
def processForm(self, REQUEST, RESPONSE): # hier gibts eine gewisse Verwirrung zwische Tabelle und Klasse: # Tabellen(lang)name und Klassennamen sind meistens identisch, # aber Klassennamen enthalten keine Leerzeichen, sind also besser # URL-Parameter zu gebrauchen klass = self.form.get('tbl') if not klass or klass == 'Alle': kats = KategorieList(where='') title = "Alle Kategorien und Merkmalslisten im Überblick" else: tab_id = Tabelle(klasse=klass)['id'] kats = KategorieList( where='', join=[('feld', 'kategorie.id=feld.kat_id and feld.tab_id=%s' % tab_id)]) title = "Kategorien und Merkmalslisten für %s" % klass nicht_anzeigen = ('verwtyp', 'config',) zusaetzlich_anzeigen = { 'Jugendhilfestatistik2007': ['jghag',], 'Beratungskontakt': ['kdbs',], } for kl in zusaetzlich_anzeigen: if kl == klass: kats += [Kategorie(code=k) for k in zusaetzlich_anzeigen[klass]] kats = kats.filter(lambda x: x['code'] not in nicht_anzeigen) kats.sort('name') for k in kats: k['klassen'] = [t['klasse'] for t in TabelleList( where='', join=[('feld', 'tabelle.id=feld.tab_id and feld.kat_id=%s' % k['id'])]) .sorted('klasse')] uebersicht = h.FieldsetDataTable( # Sprungziel sollte eigentlich in 'menu', weil das ganz oben auf der # Seite ist. Das hat aber kein legend-text, und IE mag da nicht # hinspringen. anchor="top", legend="Übersicht Kategorien", headers=('Kategorie', 'Dokumentation', 'Verwendet in'), daten=[[h.Link(string="%(name)s" % k, url="#%(id)s" % k), h.String(string=k['dok'] or ''), h.String(string='<br>'.join([kln for kln in k['klassen']])), ] for k in kats], ) zeile_mit_icon = h.Tr( cells=[h.Icon(href="#top", icon= "/ebkus/ebkus_icons/button_go_top.gif", tip="Nach oben", align="left", ), #h.DummyItem(n_col=5), ] ) codetables = [self.get_code_tabelle(k, view="codelist__%s" % klass) for k in kats] codelist = [] for c in codetables: codelist.append(c) codelist.append(zeile_mit_icon) res = h.FormPage( title=title, help=False, name="",action="",method="", breadcrumbs = (('Administratorhauptmenü', 'menu'), ), rows=(self.get_hauptmenu(), uebersicht,) + tuple(codelist), hidden=(), ) return res.display()