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, '')
Exemple #2
0
 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, '')
Exemple #4
0
 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')
Exemple #5
0
 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)
Exemple #8
0
 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
Exemple #10
0
 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' &auml;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
Exemple #13
0
 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 &Uuml;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&uuml; 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&uuml;r Fallnr.: %(fn)s / Klient: %(akte_id__vn)s, %(akte_id__na)s ausw&auml;hlen"
                   % fall}
     else:
         legendtext = {'legendtext': "Bundesstatistik zum &Auml;ndern ausw&auml;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, '')