def for_code_sort(self, kat, sel=None): elems = [c["sort"] for c in kat["codes"]] elems.sort() if sel and sel > max(elems): elems.append(sel) elems = [{"sort": s} for s in elems] return make_option_list(elems, "sort", "sort", selected=sel)
def for_teilmengen(self, sel=None): "Definierte Teilmengen, ermöglichen Abfragen über definierte Gruppen " "in der Fach- und Bundesstatistik." abfrage_list = AbfrageList(where='') return (self.option_tmpl % ('', '', 'Alle')) + make_option_list(abfrage_list, 'id', 'name', selected=sel)
def for_code_sort(self, kat, sel=None): elems = [c['sort'] for c in kat['codes']] elems.sort() if sel and sel > max(elems): elems.append(sel) elems = [{'sort': s} for s in elems] return make_option_list(elems, 'sort', 'sort', 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 options(self): codes = get_codes(self.kat) selected = self.get_fs_data().get(self.feld) if selected != None: #selected = selected.getIds() selected = [int(i) for i in selected.split()] return make_option_list(codes, 'id', 'name', selected=selected)
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_kat(self, kat, sel=None, all=False): if sel in ("", " "): empty_option = True else: empty_option = False # das ist ein hack. Eigentlich müsste ein multi-kat Feld eine List von Integern liefern. # Ist aber ein String von Zahlen, zB "233 44 444" if isinstance(sel, basestring): sel = [int(x) for x in sel.split()] if all: codes = get_all_codes(kat) else: codes = get_codes(kat) return make_option_list(codes, "id", "name", selected=sel, empty_option=empty_option)
def options(self): codes = get_codes(self.kat) selected = self.get_fs_data().get(self.feld) if selected == None: empty_option = True select_first = True selected = '' else: empty_option = False select_first = False return make_option_list(codes, 'id', 'name', empty_option=empty_option, select_first=select_first, selected=selected)
def for_land_kr_einrnr(self, kat): """Das dok-Feld der Merkmale von kr, land, einrnr, kann mit Stelle <stellencode> beginnen. Dann wird das Merkmal in Option-List an erste Stelle gesetzt. Relevant für die Bundesstatistik, damit verschiedene Stellen unterschiedliche Merkmale haben können und diese nicht fehleranfällig auswählen müssen. """ assert kat in ('kr', 'land', 'einrnr') codes = get_codes(kat) stz_code = self.stelle['code'].lower() found = None for c in codes: dok = c['dok'] if dok: dok = dok.strip().lower() if ('stelle ' + stz_code + ';') in dok: found = c break if found: codes.remove(found) codes.insert(0, found) return make_option_list(codes, 'id', 'name')
def _process(self, title, file, konfig_name, ): kv = [kv for kv in config.iter() if kv.name == konfig_name] if kv: kv = kv[0] else: raise EE("Unbekannte Konfigurationsvariable: %s" % konfig_name) edit = h.FieldsetInputTable( legend=title, daten=[[h.String(string='Name:', class_='labeltext', align='right', ), h.String(string=kv.name, class_='largetextbold', ), ], [h.String(string='Beschreibung:', class_='labeltext', align='right', ), h.String(string=kv.beschreibung + "<br /><br />" + kv.doku ), ], [kv.is_boolean() and h.SelectItem(label='Wert', name='konfig_value', options=make_option_list( elements=[{'name':'true', 'value':'true'}, {'name':'false', 'value':'false'},], value_field='value', name_field='name', selected=kv.value and 'true' or 'false', ), ) or h.TextareaItem(label='Wert', name='konfig_value', value=kv.value, class_='textareaverylarge', ) ], ], ) res = h.FormPage( title=title, name='konfedit',action="konfigausw",method="post", breadcrumbs = (('Hauptmenü', 'menu'), ('Allgemeine Konfiguration', 'konfausw'), ), hidden=(("konfig_name", konfig_name), ("file", file), ), rows=(edit, h.SpeichernZuruecksetzenAbbrechen(), #self.get_mitarbeiter(), ), ) return res.display()
def for_mitarbeiter(self, sel=None, empty_option=False): if sel and isinstance(sel, basestring): sel = [int(x) for x in sel.split()] return make_option_list(self.getMitarbeiterliste(), 'id', 'na', selected=sel, empty_option=empty_option)
def for_teilmengen(self, sel=None): "Definierte Teilmengen, ermöglichen Abfragen über definierte Gruppen " "in der Fach- und Bundesstatistik." abfrage_list = AbfrageList(where="") return (self.option_tmpl % ("", "", "Alle")) + make_option_list(abfrage_list, "id", "name", selected=sel)