Example #1
0
    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)
Example #2
0
 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)
Example #3
0
    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()