def processForm(self, REQUEST, RESPONSE): bearbeiterliste = self.getMitarbeiterliste() user = self.user stelle = self.stelle mitarbeiterliste = MitarbeiterList(where = '', order = 'na') stellenzeichen = get_all_codes('stzei') masterdb = Code(kat_code = 'dbsite', code = '%s' % config.MASTER_SITE) benutzerarten = get_all_codes('benr') dienststatusl = get_all_codes('status') # Form-Hidden-Values hidden ={'file': 'miteinf'} mitid = Mitarbeiter().getNewId() hiddenid ={'name': 'mitid', 'value': mitid} # Liste der Templates als String res = [] res.append(head_normal_ohne_help_t %("Neuen Mitarbeiter eintragen")) res.append(mitarbeiter_neu_t1) mksel(res, codelistecode_t, dienststatusl, 'code', 'i') res.append(mitarbeiter_neu_t2) mksel_benr(res, codelistecode_t, benutzerarten, 'code', 'bearb') res.append(mitarbeiter_neu_t3) mksel(res, codelistecode_t, stellenzeichen, 'code', stelle['code']) res.append(mitarbeiter_neu_t4) for m in mitarbeiterliste: res.append(mitliste_t % m) res.append(formhiddenvalues_t % hidden) res.append(formhiddennamevalues_t % hiddenid) res.append(mitarbeiter_neu_t5) return string.join(res, '')
def processForm(self, REQUEST, RESPONSE): user = self.user stelle = self.stelle if self.form.has_key('tabelle'): tabelle = self.form.get('tabelle') else: self.last_error_message = "Keine ID fuer die Tabelle erhalten" return self.EBKuSError(REQUEST, RESPONSE) tliste = TabelleList(where = "klasse = '%s'" % tabelle) if len(tliste) == 1: tab = tliste[0] felder = tab['felder'] felder.sort('kat_id__name') res = [] res.append(head_normal_ohne_help_t %('Kategorie- und Merkmalslisten zu: '+ "'%s'" % tabelle)) res.append(code_tab_start_t) x = [] for f in felder: if f['kat_id'] and f['kat_id'] not in x: a = felder.find('kat_id', f['kat_id']) if len(a) >= 1: x.append(f['kat_id']) k = Kategorie(f['kat_id']) res.append(thkat_t % k) res.append(thcodeliste_t) cliste = get_all_codes(k['code']) mk_ausgabe_codeliste(res, codelisten_t, cliste) res.append(code_liste_ende) res.append(hreftop_t % "codetab?tabelle=%s#top" % tabelle) res.append(katuebersichtende2_t) return string.join(res, '')
def processForm(self, REQUEST, RESPONSE): bearbeiterliste = self.getMitarbeiterliste() user = self.user stelle = self.stelle mitarbeiterliste = MitarbeiterList(where = '', order = 'na') stellenzeichen = get_all_codes('stzei') benutzerarten = get_all_codes('benr') dienststatusl = get_all_codes('status') # Liste der Templates als String res = [] res.append(head_normal_ohne_help_t %("Mitarbeitereintrag zum Ändern auswählen")) res.append(mitauswstart_t) res.append(menuemit_t) res.append(mitausw_anz) for m in mitarbeiterliste: res.append(mitlistehrefs_t % m) res.append(mitausw_anz_ende_t) return string.join(res, '')
def einrichtungsnummer_sechsstellig_umstellen(self): from ebkus.app.ebapih import get_all_codes codes = get_all_codes('einrnr') for c in codes: code = c['code'] if not code.isdigit(): logging.error("Einrichungsnummer gefunden, die keine Zahl ist: %s" % code) elif len(code) != 6: code = "%06d" % int(code[:6]) c.update({'code': code}) logging.info("Einrichungsnummer mit 0 aufgefuellt: %s" % code) logging.info('Einrichtungsnummern sechsstellig gemacht')
def kreis_dreistellig_umstellen(self): from ebkus.app.ebapih import get_all_codes kreise = get_all_codes('kr') for k in kreise: code = k['code'] if code in ('01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', ): code = '0' + code # Berlin 0 elif len(code) == 2: code = '1' + code # sonst 1 k.update({'code': code}) logging.info('Kreis-Code dreistellig gemacht')
def xcountitem_jgh07_gr(felder, d_list): feldnamen = [f['feld'] for f in felder] values_for_each = [[x[f] for x in d_list] for f in feldnamen] values = [] for v in values_for_each: values += v # Annahme: alle Felder haben denselben kat_code codelist = get_all_codes(felder[0]['kat_code']) res = [] for c in codelist: freq = values.count(c['id']) a = (c['name'], freq, ((float(freq)*100)/float(len(d_list)))) res.append(a) return res
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 processForm(self, REQUEST, RESPONSE): user = self.user stelle = self.stelle if self.form.has_key('katid'): katid = self.form.get('katid') else: self.last_error_message = "Keine ID fuer das Item erhalten" return self.EBKuSError(REQUEST, RESPONSE) kat = Kategorie(int(katid)) codeliste = get_all_codes(kat['code']) masterdb = Code(kat_code = 'dbsite', code = '%s' % config.MASTER_SITE) hidden ={'file': 'codeeinf'} codeid = Code().getNewId() hiddenlist = [{'name': 'codeid', 'value': codeid}, {'name': 'katid', 'value': kat['id']}, {'name': 'katcode', 'value': kat['code']}] # Liste der Templates als String res = [] res.append(head_normal_ohne_help_t %("Neues Merkmal der Kategorie '%(name)s' eintragen" % (kat))) res.append(code_neu_start) res.append(formhiddenvalues_t % hidden) for h in hiddenlist: res.append(formhiddennamevalues_t % h) last = len(codeliste) res.append(thcodeneu_t % kat) res.append(codeneu1_t ) i = 1 while i < len(codeliste) + 2: if i == len(codeliste) + 1: sel = "selected" else: sel = '' res.append(codeneu2_t % (i, sel, i)) i = i + 1 res.append(codeneu3_t) res.append(codeneu4_t) res.append(thkat1_t % kat) res.append(thcodeliste1_t) mk_ausgabe_codeliste(res, codelisten1_t, codeliste) res.append(code_neu_ende) return string.join(res, '')
def xcountitem(kat_code, d_list, d_item): """Liste mit Namen, Anzahl, Prozent fuer die Codefelder in der Fach- oder Jugendhilfestatistikdictliste. kat_code: die Kategorie, für die die Auszählung gemacht werden soll d_list: die Liste der Objekte, über die gezählt werden soll d_item: der Name des Attributes, dessen Werte gezählt werden sollen (die Werte sind Codes der Kategorie) Anwendung: zugangsarten = xcountitem('fszm', fachstatliste, 'zm') """ res = [] codelist = get_all_codes(kat_code) values = [x[d_item] for x in d_list] for c in codelist: freq = values.count(c['id']) a = (c['name'], freq, ((float(freq)*100)/float(len(d_list)))) res.append(a) return res
def processForm(self, REQUEST, RESPONSE): user = self.user stelle = self.stelle if self.form.has_key('codeid'): codeid = self.form.get('codeid') else: self.last_error_message = "Keine ID fuer das Item erhalten" return self.EBKuSError(REQUEST, RESPONSE) code = Code(codeid) kat = Kategorie(code['kat_id']) codeliste = get_all_codes(code['kat_code']) masterdb = Code(kat_code = 'dbsite', code = '%s' % config.MASTER_SITE) hidden ={'file': 'updcode'} hiddenlist = [{'name': 'codeid', 'value': codeid}, {'name': 'katid', 'value': kat['id']}, {'name': 'katcode', 'value': kat['code']}] # Liste der Templates als String res = [] res.append(head_normal_ohne_help_t %("Merkmal '%(name)s' der Kategorie '%(kat_id__name)s' ändern" % (code))) res.append(code_bearb_start) res.append(formhiddenvalues_t % hidden) for h in hiddenlist: res.append(formhiddennamevalues_t % h) res.append(thupdcode_t % kat) res.append(updcode1_t % code) mksel(res, updcode2_t, codeliste, 'sort', code['sort']) mk_ausgabe_codeliste(res, updcode3_t, code) if code['off'] == 1: check = 'checked' else: check = '' res.append(updcode4_t % {'check' : check} ) mk_ausgabe_codeliste(res, updcode5_t, code) mk_ausgabe_codeliste(res, updcode6_t, code) res.append(thupdkat1_t % kat) res.append(thupdcodeliste_t) mk_ausgabe_codeliste(res, updcodeliste_t, codeliste) res.append(code_bearb_ende) return string.join(res, '')
def xcountbereich(kat_code, d_list, d_item): """Liste mit Namen, Anzahl, Prozent fuer die Codebereiche in der Fach- oder Jugendhilfestatistik. Anwendung: anzahltermine = xcountbereich('fskat', fachstatliste, 'kat') """ x = [] res = [] codelist = get_all_codes(kat_code) for d in d_list: bereichs_code = None value = d[d_item] for c in codelist: if value >= c['mini'] and value <= c['maxi']: bereichs_code = c['id'] break x.append(bereichs_code) for c in codelist: freq = x.count(c['id']) a = [c['name'], freq, ((float(freq)*100)/float(len(d_list)))] res.append(a) return res
def xcountmultiitem(kat_code, d_list, d_item): """Liste mit Namen, Anzahl, Prozent fuer die Codefelder in der Fach- oder Jugendhilfestatistikdictliste. kat_code: die Kategorie, für die die Auszählung gemacht werden soll d_list: die Liste der Objekte, über die gezählt werden soll d_item: der Name des Attributes, dessen Werte gezählt werden sollen (die Werte sind Strings, die ids für Codes der Kategorie enthalten) Anwendung: zugangsarten = xcountitem('fspbk', fachstatliste, 'kindprobleme') """ res = [] codelist = get_all_codes(kat_code) def get_ids(): for x in d_list: for i in x[d_item].split(): yield int(i) values = [i for i in get_ids()] for c in codelist: freq = values.count(c['id']) a = (c['name'], freq, ((float(freq)*100)/float(len(values)))) res.append(a) return res
def processForm(self, REQUEST, RESPONSE): user = self.user katliste = KategorieList(where = "code <> '%s' " % "verwtyp", order = 'name') # Headerblock, Menue u. Überschrift fuer das HTML-Template header = {'titel': 'Kategorielisten', 'ueberschrift': '<A name="top"> </A>'} # Liste der Templates als String res = [] res.append(head_normal_ohne_help_t %("Alle Kategorie- und Merkmalslisten im Überblick")) res.append(katuebersichtstart_t) for k in katliste: if k['code'] != 'fsag' and k['code'] != 'fsagel' and k['code'] != 'ag': k['doku'] = k.get('dok') or '' res.append(katuebersichtitem_t % k) feldliste = FeldList(where = 'kat_id = %s' %k['id']) for f in feldliste: res.append(katuebersichtdbtabellen_t %f) res.append(katuebersichtende_t) res.append(katuebersichtgesamtende_t) for k in katliste: if k['code'] != 'fsag' and k['code'] != 'fsagel' and k['code'] != 'ag': res.append(thkat_t % k) res.append(thcodeliste_t) cliste = get_all_codes(k['code']) mk_ausgabe_codeliste(res, codelisten_t, cliste) res.append(code_liste_ende) res.append(hreftop_t % "codelist#top") res.append(katuebersichtende2_t) return string.join(res, '')
def processForm(self, REQUEST, RESPONSE): mitarbeiterliste = self.getMitarbeiterliste() user = self.user mitarbeiter = self.mitarbeiter stelle = self.stelle stellenzeichen = get_all_codes("stzei") ##************************************************************************* ## ## Prüfen der Fallzugehörigkeit (Mit Fall - ID oder ohne Fall - ID) ## ## 01.10.2001 mastaleckT(msg) ##************************************************************************* if self.form.has_key("fallid"): fallid = self.form.get("fallid") try: fsl = FachstatistikList( where="fall_id = %s and mit_id = %s and stz = %s" % (fallid, mitarbeiter["id"], stelle["id"]), order="jahr,fall_fn", ) except: meldung = { "titel": "Fehler", "legende": "Fehlerbeschreibung", "zeile1": "Keine Fachstatistik vorhanden", "zeile2": "Versuchen Sie es bitte erneut.", } return meldung_t % meldung fall = Fall(int(fallid)) akte = Akte(fall["akte_id"]) letzter_fall = akte["letzter_fall"] else: if mitarbeiter["benr"] == cc("benr", "bearb"): fsl = FachstatistikList( where="mit_id = %s and stz = %s" % (mitarbeiter["id"], stelle["id"]), order="jahr,fall_fn" ) elif mitarbeiter["benr"] == cc("benr", "verw"): fsl = FachstatistikList(where="stz = %s" % (stelle["id"]), order="jahr,fall_fn") res = [] res.append(head_normal_t % ("Auswahl einer Fachstatistik")) res.append(thupdstausw_t) ges = 0 for el in fsl: fall = ebapi.Fall(el["fall_id"]) akte = ebapi.Akte(fall["akte_id"]) letzter_fall = akte["letzter_fall"] if el["fall_fn"] == letzter_fall["fn"]: res.append(updfsausw1_t % el) ges = ges + 1 else: pass if ges == 0: meldung = { "titel": "Fehler", "legende": "Fehlerbeschreibung", "zeile1": "Keine aktuelle Fachstatistik vorhanden", "zeile2": "Versuchen Sie es bitte erneut.", } return meldung_t % meldung # res = [] # res.append(head_normal_t %('Auswahl einer Fachstatistik')) # res.append(thupdstausw_t) # mksel(res, updfsausw1_t, fsl ) res.append(updstausw2_t) return string.join(res, "")
def processForm(self, REQUEST, RESPONSE): mitarbeiterliste = self.getMitarbeiterliste() user = self.user stelle = self.stelle stellenzeichen = get_all_codes('stzei') fallid = self.form.get('fallid') mitarbeiter = self.mitarbeiter if fallid: jgh = JugendhilfestatistikList(where = 'fall_id = %s and mit_id = %s and stz = %s' % (fallid, mitarbeiter['id'], stelle['id']), order = 'ey,fall_fn') if len(jgh) != 1: meldung = {'titel':'Fehler', 'legende':'Fehlerbeschreibung', 'zeile1': "%s Jugendhilfestatistik(en) fü diesen Fall erhalten" % len(jgh), 'zeile2':'Versuchen Sie es bitte erneut.'} return (meldung_t %meldung) fall = Fall(int(fallid)) akte = Akte(fall['akte_id']) letzter_fall = akte['letzter_fall'] else: if mitarbeiter['benr'] == cc('benr','bearb'): jgh = JugendhilfestatistikList(where = 'mit_id = %s and stz = %s' % (mitarbeiter['id'], stelle['id']), order = 'ey,fall_fn') elif mitarbeiter['benr'] == cc('benr','verw'): jgh = JugendhilfestatistikList(where = 'stz = %s' % (stelle['id']), order = 'ey,fall_fn') # Headerblock, Menue u. Uberschrift fuer das HTML-Template if fallid: legendtext = {'legendtext': "Bundesstatistik für Fallnr.: %(fn)s / Klient: %(akte_id__vn)s, %(akte_id__na)s auswählen" % fall} else: legendtext = {'legendtext': "Bundesstatistik zum Ändern auswählen"} # Liste der Templates als String res = [] res.append(head_normal_t % 'Auswahl einer Bundesstatistik') res.append(thupdstausw_t % legendtext) ges=0 for el in jgh: fall = ebapi.Fall(el['fall_id']) akte = ebapi.Akte(fall['akte_id']) letzter_fall = akte['letzter_fall'] if el['fall_fn'] == letzter_fall['fn']: res.append(updjghausw1_t % el) ges=ges+1 else: pass if ges == 0: meldung = {'titel':'Fehler', 'legende':'Fehlerbeschreibung', 'zeile1': 'Keine aktuelle Jghstatistik vorhanden', 'zeile2': 'Versuchen Sie es bitte erneut.'} return (meldung_t %meldung) #res = [] #res.append(head_normal_t % 'Auswahl einer Bundesstatistik') #res.append(thupdstausw_t % legendtext) #mksel(res, updjghausw1_t, jgh ) res.append(updstausw2_t) return string.join(res, '')