Example #1
0
    def processForm(self, REQUEST, RESPONSE):
        mitarbeiterliste = self.getMitarbeiterliste()
        user = self.user
        if self.form.has_key("anmid"):
            id = self.form.get("anmid")
        else:
            self.last_error_message = "Keine ID für die Anmeldung erhalten"
            return self.EBKuSError(REQUEST, RESPONSE)
        anmeldung = Anmeldung(int(id))
        fall = Fall(anmeldung["fall_id"])
        akte = Akte(fall["akte_id"])
        zugangsarten = get_codes("fszm")

        # Für FORM-HIDDEN-VALUES

        hidden = {"file": "updanm"}

        # Liste der Templates als String

        res = []
        res.append(head_normal_t % ("Anmeldeinformation ändern"))
        res.append(anmneuvon_t % anmeldung)
        mksel(res, codeliste_t, zugangsarten, "id", anmeldung["zm"])
        res.append(updanmempfehlung_t % anmeldung)
        res.append(formhiddenvalues_t % hidden)
        res.append(anmupdende_t % fall)
        return string.join(res, "")
 def processForm(self, REQUEST, RESPONSE):
     mitarbeiterliste = self.getMitarbeiterliste()
     user = self.user
     if self.form.has_key('zustid'):
         id  = self.form.get('zustid')
     else:
         self.last_error_message = "Keine ID für die Zuständigkeit erhalten"
         return self.EBKuSError(REQUEST, RESPONSE)
     zustaendigkeit = Zustaendigkeit(int(id))
     fall = Fall(zustaendigkeit['fall_id'])
     akte = Akte(fall['akte_id'])
     zustaendigkeiten = fall['zustaendigkeiten']
     zustaendigkeiten.sort('bgd', 'bgm', 'bgy')
     
     hidden ={'file': 'updzust'}
     # Liste der Templates als String
     
     res = []
     res.append(head_normal_t %("Eintrag zur Zuständigkeit bearbeiten"))
     ########
     res.append(thzustupd_ta)
     res.append(thzustupd_t_zustid %id)
     res.append(thzustupd_tb %fall)
     mksel(res, mitarbeiterliste_t, mitarbeiterliste, 'id',
             zustaendigkeit['mit_id'])
     res.append(updzustdatum_t % zustaendigkeit)
     res.append(formhiddenvalues_t % hidden)
     if len(zustaendigkeiten) > 0:
         res.append(thzustaendigkeiten_t)
         for z in zustaendigkeiten:
             res.append(zustaendigkeiten_t % z)
         res.append(zustaendigkeiten_ende_t)
     return string.join(res, '')
 def processForm(self, REQUEST, RESPONSE):
     mitarbeiterliste = self.getMitarbeiterliste()
     user = self.user
     if self.form.has_key('fallid'):
         fallid = self.form.get('fallid')
     else:
         self.last_error_message = "Keine ID für den Fall erhalten"
         return self.EBKuSError(REQUEST, RESPONSE)
     fall = Fall(int(fallid))
     akte = Akte(fall['akte_id'])
     zustaendigkeiten = fall['zustaendigkeiten']
     zustaendigkeiten.sort('bgy', 'bgm', 'bgd')
     
     hidden ={'file': 'zusteinf'}
     zustid = Zustaendigkeit().getNewId()
     hiddenid ={'name': 'zustid', 'value': zustid}
     
     # Liste der Templates als String
     
     res = []
     res.append(head_normal_t %("Neue Zuständigkeit eintragen"))
     res.append(thzustneu_t %fall)
     mksel(res, mitarbeiterliste_t, mitarbeiterliste, 'na', user)
     res.append(zustneudatum_t % today())
     res.append(formhiddenvalues_t % hidden)
     res.append(formhiddennamevalues_t % hiddenid)
     res.append(zustende_t % fall['zustaendig'])
     if len(zustaendigkeiten) > 0:
         res.append(thzustaendigkeiten_t)
         for z in zustaendigkeiten:
             res.append(zustaendigkeiten_t % z)
         res.append(zustaendigkeiten_ende_t)
         
     return string.join(res, '')
Example #4
0
 def processForm(self, REQUEST, RESPONSE):
     mitarbeiterliste = self.getMitarbeiterliste()
     user = self.user
     if self.form.has_key('fallid'):
         fallid = self.form.get('fallid')
     else:
         self.last_error_message = "Keine ID fuer den Fall erhalten"
         return self.EBKuSError(REQUEST, RESPONSE)
     fall = Fall(int(fallid))
     akte = Akte(fall['akte_id'])
     zustaendigkeiten = fall['zustaendigkeiten']
     letzte_zustaendigkeit = zustaendigkeiten[-1]
     zustaendigkeiten.sort('bgd', 'bgm', 'bgy')
     
     zustid = Zustaendigkeit().getNewId()
     hiddenid ={'name': 'zustid', 'value': zustid}
     hidden ={'file': 'zdareinf'}
     
     # Liste der Templates als String
     
     res = []
     res.append(head_normal_t %("Abschlussdatum rückgängig machen"))
     res.append(zdarzust1_t)
     mksel(res, mitarbeiterliste_t, mitarbeiterliste, 'id',
           letzte_zustaendigkeit['mit_id'])
     res.append(zdarzust2_t % today())
     res.append(hiddenakte_id % fall)
     res.append(formhiddenvalues_t % hidden)
     res.append(formhiddennamevalues_t % hiddenid)
     res.append(zdarzust3_t %fall)
     return string.join(res, '')
 def processForm(self, REQUEST, RESPONSE):
     bearbeiterliste = self.getMitarbeiterliste()
     user = self.user
     stelle = self.stelle
     stellenzeichen = get_codes('stzei')
     benutzerarten = get_codes('benr')
     dienststatusl = get_codes('status')
     mitarbeiterliste = MitarbeiterList(where = '', order = 'na')
     if self.form.has_key('mitid'):
         mitid = self.form.get('mitid')
         mit = Mitarbeiter(int(mitid))
     else:
         self.last_error_message = "Keine ID fuer den Mitarbeiter erhalten"
         return self.EBKuSError(REQUEST, RESPONSE)
         
     hidden ={'file': 'updmit'}
     hiddenid ={'name': 'mitid', 'value': mitid}
     
     # Liste der Templates als String
     
     res = []
     res.append(head_normal_ohne_help_t %("Mitarbeitereintrag für '%(vn)s %(na)s' ändern" % mit))
     res.append(mitarbeiter_upd_t1 %mit)
     mksel(res, codelistecode_t, dienststatusl, 'id', mit['stat'])
     res.append(mitarbeiter_upd_t2 %mit)
     mksel_benr(res, codelistecode_t, benutzerarten, 'id', mit['benr'])
     res.append(mitarbeiter_upd_t3 %mit)
     mksel(res, codelistecode_t, stellenzeichen, 'id', mit['stz'])
     res.append(mitarbeiter_upd_t4)
     for m in mitarbeiterliste:
         res.append(mitlistehrefs_t % m)
     res.append(formhiddenvalues_t % hidden)
     res.append(formhiddennamevalues_t % hiddenid)
     res.append(mitarbeiter_upd_t5)
     return string.join(res, '')
Example #6
0
 def processForm(self, REQUEST, RESPONSE):
     mitarbeiterliste = self.getMitarbeiterliste()
     user = self.user
     if self.form.has_key('akid'):
         akid = self.form.get('akid')
         akte = Akte(int(akid))
     else:
         self.last_error_message = "Keine ID fuer die Akte erhalten"
         return self.EBKuSError(REQUEST, RESPONSE)
     letzter_fall = akte['letzter_fall']
     bezugspersonen = akte['bezugspersonen']
     bezugspersonen.sort('verw__sort')
     familienarten = get_codes('fsfs')
     verwandtschaftsarten = get_codes('klerv')
     
     hidden ={'file': 'updakte'}
     hiddenid2={'name': 'stzbg', 'value': akte['stzbg']}
     hiddenid3={'name': 'stzak', 'value': akte['stzak']}
     
     # Liste der Templates als String
     
     res = []
     res.append(head_normal_t % ('Akte aktualisieren'))
     akte['legend'] = 'Klientendaten'
     akte['bezug_nominativ'] = 'der Klient'
     akte['bezug_genitiv'] = 'des Klienten'
     res.append(akte_update_t1 % akte)
     mksel(res, codeliste_t, familienarten, 'id', akte['fs'])
     res.append(akte_update_t3 % akte)
     res.append(hiddenakte_id % letzter_fall)
     res.append(formhiddenvalues_t % hidden)
     res.append(formhiddennamevalues_t % hiddenid2)
     res.append(formhiddennamevalues_t % hiddenid3)
     res.append(akte_update_t7)
     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')
     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):
     mitarbeiterliste = self.getMitarbeiterliste()
     user = self.user
     if self.form.has_key('fallid'):
         fallid = self.form.get('fallid')
     else:
         res = []
         meldung = {'titel':'Keine ID für die Bezugsperson erhalten!',
                  'legende':'Keine ID für die Bezugsperson erhalten!',
                  'zeile1':'Keine ID für die Bezugsperson erhalten',
                  'zeile2':'Sie werden zum Hauptmenü weitergeleitet.'}
         res.append(meldung_t % meldung)
         return string.join(res, '')
     fall = Fall(fallid)
     akte = Akte(fall['akte_id'])
     letzter_fall = akte['letzter_fall']
     bezugspersonen = akte['bezugspersonen']
     bezugspersonen.sort('verw__sort')
     verwandtschaftsarten = get_codes('klerv')
     familienarten = get_codes('fsfs')
     
     hidden ={'file': 'perseinf'}
     bpid = Bezugsperson().getNewId()
     hiddenid ={'name': 'bpid', 'value': bpid}
     
     # Liste der Templates als String
     
     res = []
     res.append(head_normal_t %('Neue Bezugsperson eintragen'))
     # Personendaten bleiben leer
     res.append(bzpers_neu_t1)
     # Anschrift wird von Klientenakte uebernommen
     akte['bezug_nominativ'] = 'die Bezugsperson'
     akte['bezug_genitiv'] = 'der Bezugsperson'
     res.append(anschrift_bezugsperson_t % akte)
     mksel(res, codeliste_t, familienarten, 'id', cc('fsfs','999'))
     res.append(bzpers_neu_t3 % {'nobed': cc('notizbed', 't'),'vrt' : cc('vert', 'f') })
     res.append(bzpers_neu_t4a)
     mksel(res, codeliste_t, verwandtschaftsarten, 'id',cc('klerv', '999'))
     res.append(bzpers_neu_t4b)
     bezugspersonenliste = []
     for bz in bezugspersonen:
         bezugspersonenliste.append(bz)
     if bezugspersonenliste:
         res.append(bezugsperson_kopf)
         for bz in bezugspersonenliste:
             res.append(bezugsperson_t % bz)
         res.append(bezugsperson_ende)
     res.append(bzpers_neu_t5)
     res.append(formhiddenvalues_t % hidden)
     res.append(formhiddennamevalues_t % hiddenid)
     res.append(bzpers_neu_t6 % letzter_fall)
     
     return string.join(res, '')
 def processForm(self, REQUEST, RESPONSE):
     mitarbeiterliste = self.getMitarbeiterliste()
     user = self.user
     if self.form.has_key('bpid'):
         id = self.form.get('bpid')
     else:
         self.last_error_message = "Keine ID für die Bezugsperson erhalten"
         return self.EBKuSError(REQUEST, RESPONSE)
     bezugsperson = Bezugsperson(int(id))
     akte = bezugsperson['akte']
     letzter_fall = akte['letzter_fall']
     bezugspersonen = akte['bezugspersonen']
     bezugspersonen.sort('verw__sort')
     verwandtschaftsarten = get_codes('klerv')
     familienarten = get_codes('fsfs')
     
     hidden ={'file': 'updpers'}
     
     # Liste der Templates als String
     
     res = []
     res.append(head_normal_t %('Bezugsperson bearbeiten'))
     bezugsperson['legend'] = 'Bezugspersonendaten'
     bezugsperson['bezug_nominativ'] = 'die Bezugsperson'
     bezugsperson['bezug_genitiv'] = 'der Bezugsperson'
     res.append(bzpers_edit_t1 % bezugsperson)
     mksel(res, codeliste_t, familienarten, 'id', bezugsperson['fs'])
     if bezugsperson['nobed'] == cc('notizbed', 't'):
         check = 'checked'
     else:
         check = ''
     res.append(bzpers_edit_t3 % {'nobed': cc('notizbed', 't'),
                                'check' : check,
                                'no': bezugsperson['no'],
                                'vrt': bezugsperson['vrt']})
     res.append(bzpers_edit_t4a)
     mksel(res, codeliste_t, verwandtschaftsarten, 'id', bezugsperson['verw'])
     res.append(bzpers_edit_t4b)
     bezugspersonenliste = []
     for bz in bezugspersonen:
         bezugspersonenliste.append(bz)
     if bezugspersonenliste:
         res.append(bezugsperson_kopf)
         for bz in bezugspersonenliste:
             res.append(bezugsperson_t % bz)
         res.append(bezugsperson_ende)
     res.append(bzpers_edit_t5)
     res.append(formhiddenvalues_t % hidden)
     res.append(bzpers_edit_t6 % bezugsperson)
     res.append(bzpers_edit_t6b % letzter_fall)
     return string.join(res, '')
Example #10
0
 def processForm(self, REQUEST, RESPONSE):
     mitarbeiterliste = self.getMitarbeiterliste()
     user = self.user
     familienarten = get_codes('fsfs')
     leistungsarten = get_codes('fsle')
     
     # Für FORM-HIDDEN-VALUES
     
     hidden ={'file': 'akteeinf'}
     akid = Akte().getNewId()
     hiddenid ={'name': 'akid', 'value': akid}
     hiddenid2={'name': 'stzbg', 'value': self.stelle['id']}
     
     # Liste der Templates als String
     res = []
     res.append(head_normal_t %('Neue Akte anlegen'))
     res.append(akte_neu_t1)
     mksel(res, codeliste_t, familienarten, 'code', '999')
     res.append(akte_neu_t3)
     mksel(res, mitarbeiterliste_t, mitarbeiterliste, 'ben', user)
     res.append(akte_neu_t4  % today())
     mksel(res, mitarbeiterliste_t, mitarbeiterliste, 'ben', user)
     res.append(akte_neu_t5)
     mksel(res, codeliste_t, leistungsarten, 'code', '1')
     res.append(akte_neu_t6 % today())
     res.append(formhiddenvalues_t % hidden)
     res.append(formhiddennamevalues_t % hiddenid)
     res.append(formhiddennamevalues_t % hiddenid2)
     res.append(akte_neu_t7 % today())
     return string.join(res, '')
def mkselstr(template, liste, field, value=None):
    """value entscheidet, welcher Wert selected ist.
    Falls value nicht None ist und in liste vorkommt, ist er selected.
    Falls value None ist, ist kein Wert selected.
    Falls value ' ' ist, wird eine leere Option als erstes in die Optionliste
    eingef黦t.
    """
    if value not in (None, ' ', ''):
        #print value, [code['code'] for code in liste]
        assert value in [code['id'] for code in liste]
    res = []
    if value in (' ', ''):
        res.append('<option value=" " selected> </option>')
    mksel(res, template, liste, field, value)
    return ''.join(res)
Example #12
0
    def processForm(self, REQUEST, RESPONSE):
        mitarbeiterliste = self.getMitarbeiterliste()
        user = self.user
        if self.form.has_key("fallid"):
            fallid = self.form.get("fallid")
        else:
            self.last_error_message = "Keine ID für den Fall erhalten"
            return self.EBKuSError(REQUEST, RESPONSE)
        fall = Fall(int(fallid))
        akte = Akte(fall["akte_id"])
        bezugspersonen = akte["bezugspersonen"]
        bezugspersonen.sort("verw__sort")
        zugangsarten = get_codes("fszm")

        # Datum des Fallbeginns und Nachname der 1 Bezugspers. zur Übernahme
        # im Formular anbieten.

        anmeldung = Anmeldung()
        anmeldung["ad"] = fall["bgd"]
        anmeldung["am"] = fall["bgm"]
        anmeldung["ay"] = fall["bgy"]
        if bezugspersonen:
            b1 = bezugspersonen[0]
            anmeldung["von"] = b1["na"]
            anmeldung["mtl"] = b1["tl1"]
        else:
            anmeldung["von"] = ""
            anmeldung["mtl"] = ""

            # Für FORM-HIDDEN-VALUES

        hidden = {"file": "anmeinf"}
        anmid = Anmeldung().getNewId()
        hiddenid = {"name": "anmid", "value": anmid}

        # Liste der Templates als String

        res = []
        res.append(head_normal_t % ("Neue Anmeldeinformation eintragen"))
        res.append(anmneuvon_t % anmeldung)
        mksel(res, codeliste_t, zugangsarten)
        res.append(anmneuempfehlung_t % anmeldung)
        res.append(formhiddenvalues_t % hidden)
        res.append(formhiddennamevalues_t % hiddenid)
        res.append(anmneuende_t % fall)
        return string.join(res, "")
Example #13
0
 def processForm(self, REQUEST, RESPONSE):
     mitarbeiterliste = self.getMitarbeiterliste()
     user = self.user
     
     if self.form.has_key('gruppeid'):
         gruppeid = self.form.get('gruppeid')
         gruppe = Gruppe(int(gruppeid))
         action = "gruppenkarte"
         hidden = {'file': 'uploadgreinf'}
         dokid = Gruppendokument().getNewId()
         hiddendokid ={'name': 'dokid', 'value': dokid}
         header = "Datei zur Gruppe importieren"
         tabkopf = formulargrh_t % gruppe
     elif self.form.has_key('fallid'):
         fallid = self.form.get('fallid')
         fall = Fall(int(fallid))
         akte = Akte(fall['akte_id'])
         action = "dokkarte"
         hidden = {'file': 'uploadeinf'}
         dokid = Dokument().getNewId()
         hiddendokid ={'name': 'dokid', 'value': dokid}
         header = "Datei in die Akte aufnehmen"
         tabkopf = formularh_t % fall
     else:
         self.last_error_message = "Keine ID fuer Fall oder Gruppe erhalten"
         return self.EBKuSError(REQUEST, RESPONSE)
         
     dokartl = get_codes('dokart')
     dokartl.sort('name')
     
     # Liste der Templates als String
     
     res = []
     res.append(head_normal_t % header)
     res.append(uploadformh_t % action)
     res.append(formhiddenvalues_t % hidden)
     res.append(formhiddennamevalues_t % hiddendokid)
     res.append(tabkopf)
     res.append(uploadform_t % today())
     res.append(uploadform2_t % self.mitarbeiter)
     mksel(res, codeliste_t, dokartl, 'name', 'Bericht')
     res.append(uploadform3_t)
     page = string.join(res, '')
     #print "UPLOADPAGE: "
     #print page
     return page
Example #14
0
 def processForm(self, REQUEST, RESPONSE):
     mitarbeiterliste = self.getMitarbeiterliste()
     user = self.user
     
     # Das Formular ist 1 Fall oder 1 Gruppe zugeordnet.
     
     if self.form.has_key('gruppeid'):
         gruppeid = self.form.get('gruppeid')
         gruppe = Gruppe(int(gruppeid))
         action = "gruppenkarte"
         hidden = {'file': 'dokgreinf'}
         dokid = Gruppendokument().getNewId()
         hiddendokid ={'name': 'dokid', 'value': dokid}
         header = "Neuen Texteintrag zur Gruppe hinzuf&uuml;gen"
         tabkopf = formkopfdokgrneu_t % gruppe
         
     elif self.form.has_key('fallid'):
         fallid = self.form.get('fallid')
         fall = Fall(int(fallid))
         akte = Akte(fall['akte_id'])
         hidden ={'file': 'dokeinf'}
         dokid = Dokument().getNewId()
         hiddendokid ={'name': 'dokid', 'value': dokid}
         header = "Neuen Texteintrag zur Akte hinzuf&uuml;gen"
         tabkopf = formkopfdokneu_t % fall
         
     else:
         self.last_error_message = "Keine ID fuer den Fall erhalten"
         return self.EBKuSError(REQUEST, RESPONSE)
         
     dokarten = get_codes('dokart')
     dokarten.sort('name')
     
     # Liste der Templates als String
     
     res = []
     res.append(head_normal_t % header)
     res.append(tabkopf)
     res.append(formhiddenvalues_t % hidden)
     res.append(formhiddennamevalues_t % hiddendokid)
     res.append(vermneu_t % today() )
     res.append(vermneu2_t % self.mitarbeiter)
     mksel(res, codeliste_t, dokarten, 'name', 'Beraternotiz')
     res.append(vermneu3_t)
     return string.join(res, '')
Example #15
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 processForm(self, REQUEST, RESPONSE):
     mitarbeiterliste = self.getMitarbeiterliste()
     user = self.user
     if self.form.has_key('einrid'):
         id = self.form.get('einrid')
     else:
         self.last_error_message = "Keine ID für die Einrichtung erhalten"
         return self.EBKuSError(REQUEST, RESPONSE)
     einrichtung = Einrichtungskontakt(int(id))
     akte = Akte(einrichtung['akte_id'])
     letzter_fall = akte['letzter_fall']
     einrichtungen = akte['einrichtungen']
     einrichtungsarten = get_codes('klinsta')
     
     # Für FORMS-HIDDEN-VALUES
     
     hidden ={'file': 'updeinr'}
     
     # Liste der Templates als String
     
     res = []
     res.append(head_normal_t %("Einrichtungskontakt &auml;ndern"))
     res.append(theinrneu_t %letzter_fall)
     mksel(res, codeliste_t, einrichtungsarten, 'id', einrichtung['insta'])
     if einrichtung['nobed'] == cc('notizbed', 't'):
         check = 'checked'
     else:
         check = ''
     res.append(updeinrna_t % einrichtung)
     res.append(checkbox_t % { 'name' : 'nobed',
                               'id' : cc('notizbed', 't'), 'check' : check })
     res.append(updeinraktuell_t % einrichtung)
     res.append(formhiddenvalues_t % hidden)
     if einrichtungen == []:
         res.append(keineeinrneu_t)
     else:
         res.append(theinrneueinrichtungen_t)
     for e in einrichtungen:
         res.append(einrneueinrichtungen_t % e)
     res.append(einr_neu_ende_t)
     return string.join(res, '')
Example #17
0
 def processForm(self, REQUEST, RESPONSE):
     mitarbeiterliste = self.getMitarbeiterliste()
     user = self.user
     
     if self.form.has_key('gruppeid'):
         gruppeid = self.form.get('gruppeid')
         gruppe = Gruppe(int(gruppeid))
     else:
         self.last_error_message = "Keine ID fuer die Gruppe erhalten"
         return self.EBKuSError(REQUEST, RESPONSE)
         
     mitarbeitergruppe =  gruppe['mitarbeiter']
     gruppentypen = get_codes('grtyp')
     teilnehmer = get_codes('teiln')
     gruppentypen.sort('name')
     teilnehmer.sort('name')
     hidden ={'file': 'updgr'}
     hiddenid ={'name': 'gruppeid', 'value': gruppeid}
     hiddenid2 ={'name': 'stz', 'value': self.stelle['id']}
     
     # Liste der Templates als String
     
     res = []
     res.append(head_normal_t % 'Gruppe bearbeiten')
     res.append(gruppe_upd_t % gruppe )
     res.append(formhiddenvalues_t % hidden)
     res.append(formhiddennamevalues_t % hiddenid)
     res.append(formhiddennamevalues_t % hiddenid2)
     res.append(gruppe_upd_datum_t % gruppe)
     res.append(gruppe_upd_teilnehmer_t % gruppe)
     mksel(res, codeliste_t, teilnehmer, 'id', gruppe['teiln'])
     res.append(gruppe_upd_mitarbeiter_t)
     for m in mitarbeiterliste:
         if ist_gruppen_mitarbeiter(gruppe['id'],m['id']):
             res.append(gruppe_sel_mit_t % m)
         else:
             res.append(gruppe_notsel_mit_t % m)
     res.append(gruppe_neu_gruppenart_t)
     mksel(res, codeliste_t, gruppentypen, 'id', gruppe['grtyp'])
     res.append(gruppe_upd_ende_t % gruppe)
     return string.join(res, '')
Example #18
0
 def processForm(self, REQUEST, RESPONSE):
     mitarbeiterliste = self.getMitarbeiterliste()
     user = self.user
     if self.form.has_key('fallid'):
         fallid = self.form.get('fallid')
     else:
         self.last_error_message = "Keine ID für den Fall erhalten"
         return self.EBKuSError(REQUEST, RESPONSE)
     fall = Fall(int(fallid))
     akte = Akte(fall['akte_id'])
     leistungen = fall['leistungen']
     leistungen.sort('bgy', 'bgm', 'bgd')
     leistungsarten = get_codes('fsle')
     
     hidden = {'file': 'leisteinf'}
     leistid = Leistung().getNewId()
     hiddenid ={'name': 'leistid', 'value': leistid}
     hiddenid2 ={'name': 'stz', 'value': self.stelle['id']}
     
     # Liste der Templates als String
     
     res = []
     res.append(head_normal_t %("Neue Leistung eintragen"))
     res.append(thleistneu_t %fall)
     res.append(thleistneu2_t %akte)
     mksel(res, mitarbeiterliste_t, mitarbeiterliste, 'ben', user)
     res.append(leistneu_t)
     mksel(res, codeliste_t, leistungsarten)
     res.append(leistneubg_t % today())
     res.append(formhiddenvalues_t % hidden)
     res.append(formhiddennamevalues_t % hiddenid)
     res.append(formhiddennamevalues_t % hiddenid2)
     if leistungen == []:
         res.append(keineleistungneu_t)
     else:
         res.append(thleistungsliste_t)
         for l in leistungen:
             res.append(leistungsliste_t % l)
     res.append(leistungsliste_ende_t)
     return string.join(res, '')
 def processForm(self, REQUEST, RESPONSE):
     mitarbeiterliste = self.getMitarbeiterliste()
     user = self.user
     if self.form.has_key('fallid'):
         fallid = self.form.get('fallid')
     else:
         self.last_error_message = "Keine ID für den Fall erhalten"
         return self.EBKuSError(REQUEST, RESPONSE)
     fall = Fall(int(fallid))
     akte = Akte(fall['akte_id'])
     letzter_fall = akte['letzter_fall']
     einrichtungen = akte['einrichtungen']
     einrichtungsarten = get_codes('klinsta')
     
     # Für FORMS-HIDDEN-VALUES
     
     hidden ={'file': 'einreinf'}
     einrid = Einrichtungskontakt().getNewId()
     hiddenid ={'name': 'einrid', 'value': einrid}
     
     # Liste der Templates als String
     
     res = []
     res.append(head_normal_t %('Neuen Einrichtungskontakt eintragen'))
     res.append(theinrneu_t %letzter_fall)
     mksel(res, codeliste_t, einrichtungsarten)
     res.append(einrneuna_t  % { 'nobed': cc('notizbed', 't'),'status' : cc('einrstat', 'ja') }  )
     res.append(formhiddenvalues_t % hidden)
     res.append(formhiddennamevalues_t % hiddenid)
     if einrichtungen == []:
         res.append(keineeinrneu_t)
     else:
         res.append(theinrneueinrichtungen_t)
         for e in einrichtungen:
             res.append(einrneueinrichtungen_t % e)
     res.append(einr_neu_ende_t)
     return string.join(res, '')
Example #20
0
 def processForm(self, REQUEST, RESPONSE):
     mitarbeiterliste = self.getMitarbeiterliste()
     user = self.user
     if self.form.has_key('leistid'):
         id = self.form.get('leistid')
     else:
         self.last_error_message = "Keine ID für die Leistung erhalten"
         return self.EBKuSError(REQUEST, RESPONSE)
     leistung = Leistung(int(id))
     fall = Fall(leistung['fall_id'])
     akte = Akte(fall['akte_id'])
     leistungen = fall['leistungen']
     leistungen.sort('bgy', 'bgm', 'bgd')
     leistungsarten = get_codes('fsle')
     
     hidden ={'file': 'updleist'}
     
     # Liste der Templates als String
     
     res = []
     res.append(head_normal_t % ('Leistung bearbeiten'))
     res.append(thleistneu_t %fall)
     res.append(formhiddenvalues_t % hidden)
     res.append(thleistupd_t %akte)
     mksel(res, mitarbeiterliste_t, mitarbeiterliste, 'id', leistung['mit_id'])
     res.append(leistneu_t)
     mksel(res, codeliste_t, leistungsarten,  'id', leistung['le'])
     res.append(leistupdbg_t % leistung)
     if leistungen == []:
         res.append(keineleistungneu_t)
     else:
         res.append(thleistungsliste_t)
         for l in leistungen:
             res.append(leistungsliste_t % l)
     res.append(leistungsliste_ende_t)
     return string.join(res, '')
Example #21
0
 def processForm(self, REQUEST, RESPONSE):
     mitarbeiterliste = self.getMitarbeiterliste()
     user = self.user
     if self.form.get('akid'):
         akid = self.form.get('akid')
     else:
         self.last_error_message = "Keine ID fuer die Akte erhalten"
         return self.EBKuSError(REQUEST, RESPONSE)
     akte = Akte(int(akid))
     letzter_fall = akte['letzter_fall']
     familienarten = get_codes('fsfs')
     leistungsarten = get_codes('fsle')
     
     # Für FORM-HIDDEN-VALUES
     
     hidden ={'file': 'waufneinf'}
     fallid = Fall().getNewId()
     hiddenid ={'name': 'fallid', 'value': fallid}
     hiddenstatus ={'name': 'status', 'value': cc('stand', 'l')}
     hiddenid2={'name': 'stzbg', 'value': self.stelle['id']}
     
     # Liste der Templates als String
     
     akte_kopie = akte
     res = []
     res.append(head_normal_t %("Wiederaufnahme des Klienten"))
     akte['legend'] = "Klientendaten von %(vn)s %(na)s" % akte
     akte['bezug_nominativ'] = 'der Klient'
     akte['bezug_genitiv'] = 'des Klienten'
     res.append(wiederaufnahme_t1 % akte)
     mksel(res, codeliste_t, familienarten, 'id', akte['fs'])
     res.append(wiederaufnahme_t3 %akte)
     mksel(res, mitarbeiterliste_t, mitarbeiterliste, 'ben', user)
     res.append(wiederaufnahme_t4  % today())
     mksel(res, mitarbeiterliste_t, mitarbeiterliste, 'ben', user)
     res.append(wiederaufnahme_t5)
     mksel(res, codeliste_t, leistungsarten)
     res.append(wiederaufnahme_t6 % today())
     res.append(formhiddenvalues_t % hidden)
     res.append(formhiddennamevalues_t % hiddenid)
     res.append(formhiddennamevalues_t % hiddenid2)
     res.append(formhiddennamevalues_t % hiddenstatus)
     res.append(wiederaufnahme_t7 % today())
     res.append(hiddenakte_id % letzter_fall)
     return string.join(res, '')
Example #22
0
 def processForm(self, REQUEST, RESPONSE):
     mitarbeiterliste = self.getMitarbeiterliste()
     user = self.user
     gruppentypen = get_codes('grtyp')
     teilnehmer = get_codes('teiln')
     gruppentypen.sort('name')
     teilnehmer.sort('name')
     hidden ={'file': 'gruppeeinf'}
     gruppeid = Gruppe().getNewId()
     hiddenid ={'name': 'gruppeid', 'value': gruppeid}
     hiddenid2 ={'name': 'stz', 'value': self.stelle['id']}
     
     # Gruppenummer
     
     gruppennummer = getNewGruppennummer(self.stelle['code'])
     hiddengn ={'name': 'gn', 'value': gruppennummer }
     
     # Liste der Templates als String
     
     res = []
     res.append(head_normal_t % 'Neue Gruppe erstellen')
     res.append(gruppe_neu_t)
     res.append(formhiddenvalues_t % hidden)
     res.append(formhiddennamevalues_t % hiddenid)
     res.append(formhiddennamevalues_t % hiddengn)
     res.append(formhiddennamevalues_t % hiddenid2)
     res.append(gruppe_neu_t2 % {'gn' : gruppennummer})
     res.append(gruppe_neu_datum_t % today())
     res.append(gruppe_neu_teilnehmer_t)
     mksel(res, codeliste_t, teilnehmer)
     res.append(gruppe_neu_mitarbeiter_t)
     mksel(res, mitarbeiterliste_t, mitarbeiterliste, 'ben', user)
     res.append(gruppe_neu_gruppenart_t)
     mksel(res, codeliste_t, gruppentypen)
     res.append(gruppe_neu_ende_t)
     return string.join(res, '')
    def processForm(self, REQUEST, RESPONSE):
        fallid = self.form.get('fallid')
        jghiddel = self.form.get('jghiddel')
        typ = self.form.get('typ')
        logging.info('JGHNEU %s %s %s' % (fallid, jghiddel, typ))
        if jghiddel and typ == 'jgh07' and fallid:
            logging.info('JGHNEU upgrading %s %s %s' % (fallid, jghiddel, typ))
            # neue Statistik auf alte 'upgraden'
            upgrade_jgh(jghiddel, old2new=False)
##             fall = Fall(fallid)
##             # diese Fall ist noch unzureichend initialisiert
##             jghstat = fall['jgh']
        
        if not fallid:
            raise EE('Bundesstatistik nur f&uuml;r einen g&uuml;ltigen Fall')
        fall = Fall(fallid)
        akte = fall['akte']
        fn = fall['fn']
        bgd = fall['bgd']
        bgm = fall['bgm']
        bgy = fall['bgy']
        ex_jgh = fall['jgh']
        if ex_jgh:
            raise EE('Bundesstatistik bereits vorhanden')
        alter_klient = calc_age(akte['gb'],fall.getDate('bg'))
        geschwisterfaelle = get_codes('gfall')
        stellenzeichen = get_codes('stzei')
        bezirke = get_codes('rbz')
        kreise = get_codes('kr')
        gemeinde = get_codes('gm')
        gemeindeteile = get_codes('gmt')
        traeger = get_codes('traeg')
        beendigungsgruende = get_codes('bgr')
        geschlechter = get_codes('gs')
        altersgruppen = get_codes('ag')
        lebtbeipersonen = get_codes('fs')
        staatsangehoerigkeiten = get_codes('hke')
        erstekontaktaufnahmel = get_codes('zm')
        berschwerpunkte = get_codes('schw')
        geschwister = get_codes('gsa')
        
        hidden ={'file': 'jgheinf'}
        jghid = Jugendhilfestatistik().getNewId()
        hiddenid ={'name': 'jghid', 'value': jghid}
        hiddenid2 ={'name': 'stz', 'value': self.stelle['id']}
        mitarb_data = {'mit_id': self.mitarbeiter['id'],'mit_name' : self.mitarbeiter['ben']}
        res = []
        res.append(head_normal_t % 'Neue Bundesstatistik erstellen')
        res.append(jghstatneu_t % ({'id':fallid}))
        res.append(jghstatneufn_t  %({'fall_fn' : fn} ))
        res.append(jghstatneugemeinde_t %(Code(cc('gm','000'))['id']))
        res.append(jghstatneugemeindeteil_t %(Code(cc('gmt','000'))['id']))
        res.append(formhiddenvalues_t % hidden)
        res.append(formhiddennamevalues_t % hiddenid)
        res.append(formhiddennamevalues_t % hiddenid2)
        res.append(jghstatneumit_t % mitarb_data)
        res.append(jghstatneubeginn_t  % ({'bgd': bgd, 'bgm': bgm , 'bgy' : bgy} ))
        mksel(res, codeliste_t, bezirke)
        res.append(jghstatneuende_t %(today()))
        res.append(jghstatneukreis_t)
        mksel(res, codeliste_t, kreise)
        if config.BERLINER_VERSION:
            res.append(jghstatneuwbz_berlin_t)
            res.append(jghstatneugfall_berlin_t)
        else:
            res.append(jghstatneuwbz_t)
            res.append(jghstatneugfall_t)
        mksel(res,codeliste_t, geschwisterfaelle, 'name', 'Nein')
        res.append(jghstatneutraeger_t)
        mksel(res, codeliste_t, traeger)
        res.append(jghstatneukontakt_t)
        mksel(res, codeliste_t, erstekontaktaufnahmel)
        res.append(jghstatneuendegrund_t)
        mksel(res, codeliste_t, beendigungsgruende)
        res.append(jghstatneuanlass_t)
        res.append(codelisteos_t % Code(cc('ba0', '1')) )
        res.append(codelisteos_t % Code(cc('ba1', '1')) )
        res.append(codelisteos_t % Code(cc('ba2', '1')) )
        res.append(codelisteos_t % Code(cc('ba3', '1')) )
        res.append(codelisteos_t % Code(cc('ba4', '1')) )
        res.append(codelisteos_t % Code(cc('ba5', '1')) )
        res.append(codelisteos_t % Code(cc('ba6', '1')) )
        res.append(codelisteos_t % Code(cc('ba7', '1')) )
        res.append(codelisteos_t % Code(cc('ba8', '1')) )
        res.append(codelisteos_t % Code(cc('ba9', '1')) )
        res.append(jgstatneuschwerpunkt_t)
        mksel(res, codeliste_t, berschwerpunkte)
        res.append(jghstatneulebtbei_t)
        mksel(res, codeliste_t, lebtbeipersonen)
        res.append(jghstatneugeschlecht_t)
        mksel(res, codeliste_t, geschlechter)
        res.append(jghstatneualter_t)
        if(alter_klient < 3):
            altersgruppe_kat = cc('ag', '1')
        elif(alter_klient >= 3 and alter_klient < 6):
            altersgruppe_kat = cc('ag', '2')
        elif(alter_klient >= 6 and alter_klient < 9):
            altersgruppe_kat = cc('ag', '3')
        elif(alter_klient >= 9 and alter_klient < 12):
            altersgruppe_kat = cc('ag', '4')
        elif(alter_klient >= 12 and alter_klient < 15):
            altersgruppe_kat = cc('ag', '5')
        elif(alter_klient >= 15 and alter_klient < 18):
            altersgruppe_kat = cc('ag', '6')
        elif(alter_klient >= 18 and alter_klient < 21):
            altersgruppe_kat = cc('ag', '7')
        elif(alter_klient >= 21 and alter_klient < 24):
            altersgruppe_kat = cc('ag', '8')
        elif(alter_klient >= 24 and alter_klient < 27):
            altersgruppe_kat = cc('ag', '9')
        else:
            altersgruppe_kat = " "
        mksel(res, codeliste_t, altersgruppen, 'id', altersgruppe_kat)
        res.append(jghstatneu_t2a)
        res.append(jghstatneu_t2b)
        mksel(res, codeliste_t, staatsangehoerigkeiten)
        res.append(jghstatneu_t3  % Code(cc('gsu', '1')))
        res.append(radio_t % Code(cc('fbe0', '1' )) )
        res.append(jghstatneu_t4)
        res.append(radio_t % Code(cc('fbe0', '2' )) )
        res.append(jghstatneu_t5)
        res.append(radio_t % Code(cc('fbe1', '1')) )
        res.append(jghstatneu_t6)
        res.append(radio_t % Code(cc('fbe1', '2')) )
        res.append(jghstatneu_t7)
        res.append(jghansaetzefamilie_t % Code(cc('fbe2', '1')) )
        res.append(jghstatneu_t8)
        res.append(jghansaetzeumfeld_t % Code(cc('fbe3', '1')) )
        res.append(jghstatneu_t9)
        return string.join(res, '')
 def processForm(self, REQUEST, RESPONSE):
     mitarbeiterliste = self.getMitarbeiterliste()
     user = self.user
     fallid = self.form.get('fallid')
     id = self.form.get('jghid')
     
     # Pro Fall kann es nur 1 Jugendhilfestatistik geben.
     if fallid:
         fall = Fall(int(fallid))
         akte = fall['akte']
         jghstatl = fall['jgh_statistiken']
         letzter_fall = akte['letzter_fall']
         if not jghstatl:
             meldung = {'titel':'Hinweis',
                        'legende':'Hinweis',
                        'zeile1':'Es ist noch keine Bundesstatistik f&uuml;r den Fall vorhanden!',
                        'zeile2':''}
             return meldung_t % meldung
         jghstat = jghstatl[0]
     elif id:
         jghstat = Jugendhilfestatistik(int(id))
         fallid = jghstat.get('fall_id')
         if fallid:
             fall = Fall(int(fallid))
             akte = fall['akte']
     else:
         self.last_error_message = "Keine Bundesstatistik-ID erhalten"
         return self.EBKuSError(REQUEST, RESPONSE)
         
     geschwisterfaelle = get_codes('gfall')
     stellenzeichen = get_codes('stzei')
     bezirke = get_codes('rbz')
     kreise = get_codes('kr')
     gemeinde = get_codes('gm')
     gemeindeteile = get_codes('gmt')
     if config.BERLINER_VERSION:
         wohnbezirk = get_codes('wohnbez')
     traeger = get_codes('traeg')
     beendigungsgruende = get_codes('bgr')
     geschlechter = get_codes('gs')
     altersgruppen = get_codes('ag')
     lebtbeipersonen = get_codes('fs')
     staatsangehoerigkeiten = get_codes('hke')
     erstekontaktaufnahmel = get_codes('zm')
     berschwerpunkte = get_codes('schw')
     ansaetzekind = get_codes('fbe0')
     ansaetzeeltern = get_codes('fbe1')
     ansaetzefamilie = get_codes('fbe2')
     ansaetzeumfeld = get_codes('fbe3')
     geschwister = get_codes('gsa')
     hidden ={'file': 'updjgh'}
     hiddenid ={'name': 'jghid', 'value': '%(id)d' %jghstat }
     hiddenid2 ={'name': 'stz', 'value': self.stelle['id']}
     
     res = []
     res.append(head_normal_t % 'Bundesstatistik bearbeiten')
     res.append(jghstatedit_t % ({'id':fallid}))
     res.append(jghstateditfn_t  %({'fall_fn' : jghstat['fall_fn']}))
     res.append(jghstateditgemeinde_t %(Code(cc('gm','000'))['id']))
     res.append(jghstateditgemeindeteil_t %(Code(cc('gmt','000'))['id']))
     res.append(formhiddenvalues_t % hidden)
     res.append(formhiddennamevalues_t % hiddenid)
     res.append(formhiddennamevalues_t % hiddenid2)
     res.append(jghstateditmit_t %{'mit_id': jghstat['mit_id'],'mit_name' : jghstat['mit_id__ben']})
     res.append(jghstateditbeginn_t  % jghstat)
     mksel(res, codeliste_t, bezirke, 'id', jghstat['rbz'])
     res.append(jghstateditende_t % jghstat )
     res.append(jghstateditkreis_t)
     mksel(res, codeliste_t, kreise, 'id', jghstat['kr'])
     if config.BERLINER_VERSION:
         res.append(jghstateditwbz_berlin_t)
         mksel(res,codeliste_t,wohnbezirk,'id',jghstat['bezirksnr'])
         res.append(jghstateditgfall_berlin_t)
     else:
         res.append(jghstateditwbz_t)
         res.append(jghstateditgfall_t)
     mksel(res,codeliste_t, geschwisterfaelle, 'id', jghstat['gfall'])
     res.append(jghstatedittraeger_t)
     mksel(res, codeliste_t, traeger, 'id', jghstat['traeg'])
     res.append(jghstateditkontakt_t)
     mksel(res, codeliste_t, erstekontaktaufnahmel, 'id', jghstat['zm'])
     res.append(jghstateditendegrund_t)
     mksel(res, codeliste_t, beendigungsgruende, 'id', jghstat['bgr'])
     res.append(jghstateditanlass_t)
     d = Code(cc('ba0', '1') )
     if jghstat['ba0'] == cc('ba0', '1'):
         d['sel'] = 'selected'
     else:
         d['sel'] = ''
     res.append(codeliste_t % d)
     d = Code(cc('ba1', '1') )
     if jghstat['ba1'] == cc('ba1', '1'):
         d['sel'] = 'selected'
     else:
         d['sel'] = ''
     res.append(codeliste_t % d)
     d = Code(cc('ba2', '1') )
     if jghstat['ba2'] == cc('ba2', '1'):
         d['sel'] = 'selected'
     else:
         d['sel'] = ''
     res.append(codeliste_t % d)
     d = Code(cc('ba3', '1') )
     if jghstat['ba3'] == cc('ba3', '1'):
         d['sel'] = 'selected'
     else:
         d['sel'] = ''
     res.append(codeliste_t % d)
     d = Code(cc('ba4', '1') )
     if jghstat['ba4'] == cc('ba4', '1'):
         d['sel'] = 'selected'
     else:
         d['sel'] = ''
     res.append(codeliste_t % d)
     d = Code(cc('ba5', '1') )
     if jghstat['ba5'] == cc('ba5', '1'):
         d['sel'] = 'selected'
     else:
         d['sel'] = ''
     res.append(codeliste_t % d)
     d = Code(cc('ba6', '1') )
     if jghstat['ba6'] == cc('ba6', '1'):
         d['sel'] = 'selected'
     else:
         d['sel'] = ''
     res.append(codeliste_t % d)
     d = Code(cc('ba7', '1') )
     if jghstat['ba7'] == cc('ba7', '1'):
         d['sel'] = 'selected'
     else:
         d['sel'] = ''
     res.append(codeliste_t % d)
     d = Code(cc('ba8', '1') )
     if jghstat['ba8'] == cc('ba8', '1'):
         d['sel'] = 'selected'
     else:
         d['sel'] = ''
     res.append(codeliste_t % d)
     d = Code(cc('ba9', '1') )
     if jghstat['ba9'] == cc('ba9', '1'):
         d['sel'] = 'selected'
     else:
         d['sel'] = ''
     res.append(codeliste_t % d)
     res.append(jgstateditschwerpunkt_t)
     mksel(res, codeliste_t, berschwerpunkte, 'id', jghstat['schw'])
     res.append(jghstateditlebtbei_t)
     mksel(res, codeliste_t, lebtbeipersonen, 'id', jghstat['fs'])
     res.append(jghstateditgeschlecht_t)
     mksel(res, codeliste_t, geschlechter, 'id', jghstat['gs'])
     res.append(jghstateditalter_t)
     mksel(res, codeliste_t, altersgruppen, 'id', jghstat['ag'] )
     if jghstat['gsu'] == cc('gsu', '1'):
         check = 'checked'
     else:
         check = ''
     if jghstat['gsa'] == None:
         gsa = ''
     else:
         gsa = jghstat['gsa']
         # msgsystems 02.07.2002
     res.append(jghstatedit_t2a %gsa)
     #mksel(res, codeliste_t, geschwister, 'id', gsa)
     res.append(jghstatedit_t2b % ({'gsa': gsa ,'gsu': cc('gsu', '1'), 'check': check }))
     mksel(res, codeliste_t, staatsangehoerigkeiten, 'id', jghstat['hke'])
     res.append(jghstatedit_t3 % ({'gsa': gsa ,'gsu': cc('gsu', '1'), 'check': check }))
     #####
     if jghstat['fbe0'] == cc('fbe0', '1'):
         res.append(radiocheck_t % Code(cc('fbe0', '1')) )
     else:
         res.append(radio_t % Code(cc('fbe0', '1')) )
     res.append(jghstatedit_t4)
     if jghstat['fbe0'] == cc('fbe0', '2'):
         res.append(radiocheck_t % Code(cc('fbe0', '2')) )
     else:
         res.append(radio_t % Code(cc('fbe0', '2')) )
     res.append(jghstatedit_t5)
     if jghstat['fbe1'] == cc('fbe1', '1'):
         res.append(radiocheck_t % Code(cc('fbe1', '1')) )
     else:
         res.append(radio_t % Code(cc('fbe1', '1')) )
     res.append(jghstatedit_t6)
     if jghstat['fbe1'] == cc('fbe1', '2'):
         res.append(radiocheck_t % Code(cc('fbe1', '2')) )
     else:
         res.append(radio_t % Code(cc('fbe1', '2')) )
     res.append(jghstatedit_t7)
     if jghstat['fbe2'] == cc('fbe2', '1'):
         res.append(jghansaetzefamiliecheck_t % Code(cc('fbe2', '1')) )
     else:
         res.append(jghansaetzefamilie_t % Code(cc('fbe2', '1')) )
     res.append(jghstatedit_t8)
     if jghstat['fbe3'] == cc('fbe3', '1'):
         res.append(jghansaetzeumfeldcheck_t % Code(cc('fbe3', '1')) )
     else:
         res.append(jghansaetzeumfeld_t % Code(cc('fbe3', '1')) )
     res.append(jghstatedit_t9)
     return string.join(res, '')
    def processForm(self, REQUEST, RESPONSE):
        # Pro Fall kann es nur 1 Jugendhilfestatistik geben.
##         jghiddel = self.form.get('jghiddel')
        fallid = self.form.get('fallid')
        id = self.form.get('jghid')
##         typ = self.form.get('typ')
##         if jghiddel and typ == 'jhg07' and fallid:
##             # neue Statistik auf alte 'upgraden'
##             upgrade_jgh(jghiddel, old2new=False)
##             fall = Fall(fallid)
##             # diese Fall ist noch unzureichend initialisiert
##             jghstat = fall['jgh']
        if fallid:
            fall = Fall(fallid)
            jghstat = fall['jgh']
            if jghstat:
                # Von menu aus kann ein update der Bundesstatistik angefordert
                # werden, ohne zu spezifizieren ob alte oder neue.
                # Das wird hier abgefangen.
                if isinstance(jghstat, Jugendhilfestatistik2007):
                    return self.ebkus.dispatch('updjgh07', REQUEST, RESPONSE)
            else:
                raise EE('Noch keine Bundesstatistik f&uuml;r den Fall vorhanden.')
        elif id:
            jghstat = Jugendhilfestatistik(id)
            fallid = jghstat.get('fall_id')
            if fallid:
                fall = Fall(int(fallid))
                akte = fall['akte']
        else:
            self.last_error_message = "Keine Bundesstatistik-ID erhalten"
            return self.EBKuSError(REQUEST, RESPONSE)
            
        geschwisterfaelle = get_codes('gfall')
        stellenzeichen = get_codes('stzei')
        bezirke = get_codes('rbz')
        kreise = get_codes('kr')
        gemeinde = get_codes('gm')
        gemeindeteile = get_codes('gmt')
        traeger = get_codes('traeg')
        beendigungsgruende = get_codes('bgr')
        geschlechter = get_codes('gs')
        altersgruppen = get_codes('ag')
        lebtbeipersonen = get_codes('fs')
        staatsangehoerigkeiten = get_codes('hke')
        erstekontaktaufnahmel = get_codes('zm')
        berschwerpunkte = get_codes('schw')
        ansaetzekind = get_codes('fbe0')
        ansaetzeeltern = get_codes('fbe1')
        ansaetzefamilie = get_codes('fbe2')
        ansaetzeumfeld = get_codes('fbe3')
        geschwister = get_codes('gsa')
        hidden ={'file': 'updjgh'}
        hiddenid ={'name': 'jghid', 'value': '%(id)d' %jghstat }
        hiddenid2 ={'name': 'stz', 'value': self.stelle['id']}
        
        res = []
        res.append(head_normal_t % 'Alte Bundesstatistik bearbeiten (bis 2006)')
        res.append(jghstatedit_t % ({'id':fallid}))
        res.append(jghstateditfn_t  %({'fall_fn' : jghstat['fall_fn']}))
        res.append(jghstateditgemeinde_t %(Code(cc('gm','000'))['id']))
        res.append(jghstateditgemeindeteil_t %(Code(cc('gmt','000'))['id']))
        res.append(formhiddenvalues_t % hidden)
        res.append(formhiddennamevalues_t % hiddenid)
        res.append(formhiddennamevalues_t % hiddenid2)
        res.append(jghstateditmit_t %{'mit_id': jghstat['mit_id'],'mit_name' : jghstat['mit_id__ben']})
        res.append(jghstateditbeginn_t  % jghstat)
        mksel(res, codeliste_t, bezirke, 'id', jghstat['rbz'])
        res.append(jghstateditende_t % jghstat )
        res.append(jghstateditkreis_t)
        mksel(res, codeliste_t, kreise, 'id', jghstat['kr'])
        if config.BERLINER_VERSION:
            res.append(jghstateditwbz_berlin_t)
            res.append(jghstateditgfall_berlin_t)
        else:
            res.append(jghstateditwbz_t)
            res.append(jghstateditgfall_t)
        mksel(res,codeliste_t, geschwisterfaelle, 'id', jghstat['gfall'])
        res.append(jghstatedittraeger_t)
        mksel(res, codeliste_t, traeger, 'id', jghstat['traeg'])
        res.append(jghstateditkontakt_t)
        mksel(res, codeliste_t, erstekontaktaufnahmel, 'id', jghstat['zm'])
        res.append(jghstateditendegrund_t)
        mksel(res, codeliste_t, beendigungsgruende, 'id', jghstat['bgr'])
        res.append(jghstateditanlass_t)
        d = Code(cc('ba0', '1') )
        if jghstat['ba0'] == cc('ba0', '1'):
            d['sel'] = 'selected'
        else:
            d['sel'] = ''
        res.append(codeliste_t % d)
        d = Code(cc('ba1', '1') )
        if jghstat['ba1'] == cc('ba1', '1'):
            d['sel'] = 'selected'
        else:
            d['sel'] = ''
        res.append(codeliste_t % d)
        d = Code(cc('ba2', '1') )
        if jghstat['ba2'] == cc('ba2', '1'):
            d['sel'] = 'selected'
        else:
            d['sel'] = ''
        res.append(codeliste_t % d)
        d = Code(cc('ba3', '1') )
        if jghstat['ba3'] == cc('ba3', '1'):
            d['sel'] = 'selected'
        else:
            d['sel'] = ''
        res.append(codeliste_t % d)
        d = Code(cc('ba4', '1') )
        if jghstat['ba4'] == cc('ba4', '1'):
            d['sel'] = 'selected'
        else:
            d['sel'] = ''
        res.append(codeliste_t % d)
        d = Code(cc('ba5', '1') )
        if jghstat['ba5'] == cc('ba5', '1'):
            d['sel'] = 'selected'
        else:
            d['sel'] = ''
        res.append(codeliste_t % d)
        d = Code(cc('ba6', '1') )
        if jghstat['ba6'] == cc('ba6', '1'):
            d['sel'] = 'selected'
        else:
            d['sel'] = ''
        res.append(codeliste_t % d)
        d = Code(cc('ba7', '1') )
        if jghstat['ba7'] == cc('ba7', '1'):
            d['sel'] = 'selected'
        else:
            d['sel'] = ''
        res.append(codeliste_t % d)
        d = Code(cc('ba8', '1') )
        if jghstat['ba8'] == cc('ba8', '1'):
            d['sel'] = 'selected'
        else:
            d['sel'] = ''
        res.append(codeliste_t % d)
        d = Code(cc('ba9', '1') )
        if jghstat['ba9'] == cc('ba9', '1'):
            d['sel'] = 'selected'
        else:
            d['sel'] = ''
        res.append(codeliste_t % d)
        res.append(jgstateditschwerpunkt_t)
        mksel(res, codeliste_t, berschwerpunkte, 'id', jghstat['schw'])
        res.append(jghstateditlebtbei_t)
        mksel(res, codeliste_t, lebtbeipersonen, 'id', jghstat['fs'])
        res.append(jghstateditgeschlecht_t)
        mksel(res, codeliste_t, geschlechter, 'id', jghstat['gs'])
        res.append(jghstateditalter_t)
        mksel(res, codeliste_t, altersgruppen, 'id', jghstat['ag'] )
        if jghstat['gsu'] == cc('gsu', '1'):
            check = 'checked'
        else:
            check = ''
        if jghstat['gsa'] == None:
            gsa = ''
        else:
            gsa = jghstat['gsa']
            # msgsystems 02.07.2002
        res.append(jghstatedit_t2a %gsa)
        #mksel(res, codeliste_t, geschwister, 'id', gsa)
        res.append(jghstatedit_t2b % ({'gsa': gsa ,'gsu': cc('gsu', '1'), 'check': check }))
        mksel(res, codeliste_t, staatsangehoerigkeiten, 'id', jghstat['hke'])
        res.append(jghstatedit_t3 % ({'gsa': gsa ,'gsu': cc('gsu', '1'), 'check': check }))
        #####
        if jghstat['fbe0'] == cc('fbe0', '1'):
            res.append(radiocheck_t % Code(cc('fbe0', '1')) )
        else:
            res.append(radio_t % Code(cc('fbe0', '1')) )
        res.append(jghstatedit_t4)
        if jghstat['fbe0'] == cc('fbe0', '2'):
            res.append(radiocheck_t % Code(cc('fbe0', '2')) )
        else:
            res.append(radio_t % Code(cc('fbe0', '2')) )
        res.append(jghstatedit_t5)
        if jghstat['fbe1'] == cc('fbe1', '1'):
            res.append(radiocheck_t % Code(cc('fbe1', '1')) )
        else:
            res.append(radio_t % Code(cc('fbe1', '1')) )
        res.append(jghstatedit_t6)
        if jghstat['fbe1'] == cc('fbe1', '2'):
            res.append(radiocheck_t % Code(cc('fbe1', '2')) )
        else:
            res.append(radio_t % Code(cc('fbe1', '2')) )
        res.append(jghstatedit_t7)
        if jghstat['fbe2'] == cc('fbe2', '1'):
            res.append(jghansaetzefamiliecheck_t % Code(cc('fbe2', '1')) )
        else:
            res.append(jghansaetzefamilie_t % Code(cc('fbe2', '1')) )
        res.append(jghstatedit_t8)
        if jghstat['fbe3'] == cc('fbe3', '1'):
            res.append(jghansaetzeumfeldcheck_t % Code(cc('fbe3', '1')) )
        else:
            res.append(jghansaetzeumfeld_t % Code(cc('fbe3', '1')) )
        res.append(jghstatedit_t9)
        return string.join(res, '')
 def processForm(self, REQUEST, RESPONSE):
     mitarbeiterliste = self.getMitarbeiterliste()
     user = self.user
     fallid = self.form.get('fallid')
     
     if not fallid:
         res = []
         meldung = {'titel':'Fehler',
                   'legende':'Fehlerbeschreibung',
                    'zeile1':'Sie d&uuml;rfen eine Bundesstatistik nur f&uuml;r einen g&uuml;ltigen Fall erstellen.',
                    'zeile2':''}
         res.append(meldung_t % meldung)
         return string.join(res, '')
         
     fall = Fall(int(fallid))
     akte = fall['akte']
     letzter_fall = akte['letzter_fall']
     fn = fall['fn']
     bgd = fall['bgd']
     bgm = fall['bgm']
     bgy = fall['bgy']
     alter_klient = date.calc_age(akte['gb'],letzter_fall['bgd'],letzter_fall['bgm'],letzter_fall['bgy'])
     
     jahresl = ebapi.JugendhilfestatistikList(where = "fall_fn = '%s'" % letzter_fall['fn'])
     if jahresl:
         res = []
         meldung = {'titel':'Hinweis',
                  'legende':'Hinweis',
                  'zeile1':'Es ist bereits eine Jugendhilfestatistik f&uuml;r die Fallnummer vorhanden!',
                  'zeile2':''}
         res.append(meldung_t % meldung)
         return string.join(res, '')
         
     geschwisterfaelle = get_codes('gfall')
     stellenzeichen = get_codes('stzei')
     bezirke = get_codes('rbz')
     kreise = get_codes('kr')
     gemeinde = get_codes('gm')
     gemeindeteile = get_codes('gmt')
     if config.BERLINER_VERSION:
         wohnbezirk =  get_codes('wohnbez')
     traeger = get_codes('traeg')
     beendigungsgruende = get_codes('bgr')
     geschlechter = get_codes('gs')
     altersgruppen = get_codes('ag')
     lebtbeipersonen = get_codes('fs')
     staatsangehoerigkeiten = get_codes('hke')
     erstekontaktaufnahmel = get_codes('zm')
     berschwerpunkte = get_codes('schw')
     geschwister = get_codes('gsa')
     
     hidden ={'file': 'jgheinf'}
     jghid = Jugendhilfestatistik().getNewId()
     hiddenid ={'name': 'jghid', 'value': jghid}
     hiddenid2 ={'name': 'stz', 'value': self.stelle['id']}
     mitarb_data = {'mit_id': self.mitarbeiter['id'],'mit_name' : self.mitarbeiter['ben']}
     res = []
     res.append(head_normal_t % 'Neue Bundesstatistik erstellen')
     res.append(jghstatneu_t % ({'id':fallid}))
     res.append(jghstatneufn_t  %({'fall_fn' : fn} ))
     res.append(jghstatneugemeinde_t %(Code(cc('gm','000'))['id']))
     res.append(jghstatneugemeindeteil_t %(Code(cc('gmt','000'))['id']))
     res.append(formhiddenvalues_t % hidden)
     res.append(formhiddennamevalues_t % hiddenid)
     res.append(formhiddennamevalues_t % hiddenid2)
     res.append(jghstatneumit_t % mitarb_data)
     res.append(jghstatneubeginn_t  % ({'bgd': bgd, 'bgm': bgm , 'bgy' : bgy} ))
     mksel(res, codeliste_t, bezirke)
     res.append(jghstatneuende_t %(today()))
     res.append(jghstatneukreis_t)
     mksel(res, codeliste_t, kreise)
     if config.BERLINER_VERSION:
         res.append(jghstatneuwbz_berlin_t)
         mksel(res,codeliste_t,wohnbezirk,'id',akte['wohnbez'])
         res.append(jghstatneugfall_berlin_t)
     else:
         res.append(jghstatneuwbz_t % akte['wohnbez'])
         res.append(jghstatneugfall_t)
     mksel(res,codeliste_t, geschwisterfaelle, 'name', 'Nein')
     res.append(jghstatneutraeger_t)
     mksel(res, codeliste_t, traeger)
     res.append(jghstatneukontakt_t)
     mksel(res, codeliste_t, erstekontaktaufnahmel)
     res.append(jghstatneuendegrund_t)
     mksel(res, codeliste_t, beendigungsgruende)
     res.append(jghstatneuanlass_t)
     res.append(codelisteos_t % Code(cc('ba0', '1')) )
     res.append(codelisteos_t % Code(cc('ba1', '1')) )
     res.append(codelisteos_t % Code(cc('ba2', '1')) )
     res.append(codelisteos_t % Code(cc('ba3', '1')) )
     res.append(codelisteos_t % Code(cc('ba4', '1')) )
     res.append(codelisteos_t % Code(cc('ba5', '1')) )
     res.append(codelisteos_t % Code(cc('ba6', '1')) )
     res.append(codelisteos_t % Code(cc('ba7', '1')) )
     res.append(codelisteos_t % Code(cc('ba8', '1')) )
     res.append(codelisteos_t % Code(cc('ba9', '1')) )
     res.append(jgstatneuschwerpunkt_t)
     mksel(res, codeliste_t, berschwerpunkte)
     res.append(jghstatneulebtbei_t)
     mksel(res, codeliste_t, lebtbeipersonen)
     res.append(jghstatneugeschlecht_t)
     mksel(res, codeliste_t, geschlechter)
     res.append(jghstatneualter_t)
     if(alter_klient < 3):
         altersgruppe_kat = cc('ag', '1')
     elif(alter_klient >= 3 and alter_klient < 6):
         altersgruppe_kat = cc('ag', '2')
     elif(alter_klient >= 6 and alter_klient < 9):
         altersgruppe_kat = cc('ag', '3')
     elif(alter_klient >= 9 and alter_klient < 12):
         altersgruppe_kat = cc('ag', '4')
     elif(alter_klient >= 12 and alter_klient < 15):
         altersgruppe_kat = cc('ag', '5')
     elif(alter_klient >= 15 and alter_klient < 18):
         altersgruppe_kat = cc('ag', '6')
     elif(alter_klient >= 18 and alter_klient < 21):
         altersgruppe_kat = cc('ag', '7')
     elif(alter_klient >= 21 and alter_klient < 24):
         altersgruppe_kat = cc('ag', '8')
     elif(alter_klient >= 24 and alter_klient < 27):
         altersgruppe_kat = cc('ag', '9')
     else:
         altersgruppe_kat = " "
     mksel(res, codeliste_t, altersgruppen, 'id', altersgruppe_kat)
     res.append(jghstatneu_t2a)
     res.append(jghstatneu_t2b)
     mksel(res, codeliste_t, staatsangehoerigkeiten)
     res.append(jghstatneu_t3  % Code(cc('gsu', '1')))
     res.append(radio_t % Code(cc('fbe0', '1' )) )
     res.append(jghstatneu_t4)
     res.append(radio_t % Code(cc('fbe0', '2' )) )
     res.append(jghstatneu_t5)
     res.append(radio_t % Code(cc('fbe1', '1')) )
     res.append(jghstatneu_t6)
     res.append(radio_t % Code(cc('fbe1', '2')) )
     res.append(jghstatneu_t7)
     res.append(jghansaetzefamilie_t % Code(cc('fbe2', '1')) )
     res.append(jghstatneu_t8)
     res.append(jghansaetzeumfeld_t % Code(cc('fbe3', '1')) )
     res.append(jghstatneu_t9)
     return string.join(res, '')
    def processForm(self, REQUEST, RESPONSE):
        mitarbeiterliste = self.getMitarbeiterliste()
        mitarbeiter = self.mitarbeiter
        user = self.user
        if self.form.has_key("fsid"):
            id = self.form.get("fsid")
            fstat = Fachstatistik(int(id))
        elif self.form.has_key("fallid"):
            fallid = self.form.get("fallid")
            fall = Fall(fallid)
            fs = fall["fachstatistiken"]
            if not fs:
                meldung = {
                    "titel": "Hinweis",
                    "legende": "Hinweis",
                    "zeile1": "Es ist noch keine Fachstatistik f&uuml;r den Fall vorhanden!",
                    "zeile2": "",
                }
                return meldung_t % meldung
            else:
                fstat = fs[-1]  # müsste eigentlich immer nur eine sein ...
        else:
            self.last_error_message = "Keine ID für die Fachstatistik erhalten"
            return self.EBKuSError(REQUEST, RESPONSE)
        fsleistungen = fstat["leistungen"]
        fskindprobleme = fstat["fachstatkindprobleme"]
        fselternprobleme = fstat["fachstatelternprobleme"]
        fallid = fstat.get("fall_id")
        fall = Fall(int(fstat["fall_id"]))
        akte = fall["akte"]
        stellenzeichen = get_codes("stzei")
        geschlechter = get_codes("gs")
        altersgruppen = get_codes("fsag")
        altersgruppeneltern = get_codes("fsagel")
        familienarten = get_codes("fsfs")
        zugangsarten = get_codes("fszm")
        herkunftelternl = get_codes("fshe")
        berufelternl = get_codes("fsbe")
        beratungsanlaesse = get_codes("fsba")
        problembereicheeltern = get_codes("fspbe")
        problembereichekinder = get_codes("fspbk")
        qualifikationen_mutter_vater = get_codes("fsquali")
        qualifikationen_kind = get_codes("fsqualij")
        massnahmen = get_codes("fsle")
        hidden = {"file": "updfs"}
        res = []
        res.append(head_normal_t % ("Fachstatistik &auml;ndern"))
        res.append(fsupd_t1)
        res.append(fsupd_fn_t % fstat)
        res.append(fsupd_mit_t % {"mit_id": fstat["mit_id"], "mit_name": fstat["mit_id__ben"]})
        res.append(fsupd_jahr_t % ({"year": fstat["jahr"]}))
        res.append(fsupd_region_t % fstat["bz"])

        res.append(fsupd_geschlecht_t)
        mksel(res, codeliste_t, geschlechter, "id", fstat["gs"])
        res.append(fsupd_altersgr_t)
        mksel(res, codeliste_t, altersgruppen, "id", fstat["ag"])
        res.append(fsupd_famstatus_t)
        mksel(res, codeliste_t, familienarten, "id", fstat["fs"])
        res.append(fsupd_zugangsmodus_t)
        mksel(res, codeliste_t, zugangsarten, "id", fstat["zm"])
        res.append(fsneu_qualikind_t)
        mksel(res, codeliste_t, qualifikationen_kind, "id", fstat["qualij"])
        res.append(fsneu_qualimutter_t)
        mksel(res, codeliste_t, qualifikationen_mutter_vater, "id", fstat["qualikm"])
        res.append(fsneu_qualivater_t)
        mksel(res, codeliste_t, qualifikationen_mutter_vater, "id", fstat["qualikv"])
        res.append(fsupd_berufmutter_t)
        mksel(res, codeliste_t, berufelternl, "id", fstat["bkm"])
        res.append(fsupd_berufvater_t)
        mksel(res, codeliste_t, berufelternl, "id", fstat["bkv"])
        res.append(fsupd_hkmutter_t)
        mksel(res, codeliste_t, herkunftelternl, "id", fstat["hkm"])
        res.append(fsupd_hkvater_t)
        mksel(res, codeliste_t, herkunftelternl, "id", fstat["hkv"])
        res.append(fsupd_altermutter_t)
        mksel(res, codeliste_t, altersgruppeneltern, "id", fstat["agkm"])
        res.append(fsupd_altervater_t)
        mksel(res, codeliste_t, altersgruppeneltern, "id", fstat["agkv"])
        res.append(fsupd_beratungsanlass1_t)
        mksel(res, codeliste_t, beratungsanlaesse, "id", fstat["ba1"])
        res.append(fsupd_beratungsanlass2_t)
        mksel(res, codeliste_t, beratungsanlaesse, "id", fstat["ba2"])
        res.append(fsupd_problemkind_t)
        mksel(res, codeliste_t, problembereichekinder, "id", fstat["pbk"])
        res.append(fsupd_problemeltern_t)
        mksel(res, codeliste_t, problembereicheeltern, "id", fstat["pbe"])
        res.append(fsupd_problemspektrumkind_t)
        pbkids = []
        for f in fskindprobleme:
            pbkids.append(f["pbk"])
        mksel(res, codeliste_t, problembereichekinder, "id", pbkids)
        res.append(fsupd_problemkindnot_t % fstat["no2"])
        res.append(fsupd_problemspektrumeltern_t)
        pbeids = []
        for f in fselternprobleme:
            pbeids.append(f["pbe"])
        mksel(res, codeliste_t, problembereicheeltern, "id", pbeids)
        res.append(fsupd_problemelternnot_t % fstat["no3"])
        res.append(fsupd_massnahmen_t)
        fsleiids = []
        for f in fsleistungen:
            fsleiids.append(f["le"])
        mksel(res, codeliste_t, massnahmen, "id", fsleiids)
        res.append(fsupd_zahlkontakte_t % fstat)
        res.append(formhiddenvalues_t % hidden)
        res.append(fsupd_notizsubmit_t % fstat)
        return string.join(res, "")
    def processForm(self, REQUEST, RESPONSE):
        mitarbeiterliste = self.getMitarbeiterliste()
        user = self.user
        fallid = self.form.get("fallid")
        ##*************************************************************************
        ##
        ## Prüft ob eine Fall_ID vorhanden ist. Wenn nicht, kann keine Fachstat
        ## erstellt werden.
        ##
        ## 01.10.2001 mastaleckT(msg)
        ##*************************************************************************
        if not fallid:
            res = []
            meldung = {
                "titel": "Fehler",
                "legende": "Fehlerbeschreibung",
                "zeile1": "Erstellen einer Fachstatistik nur f&uuml;r einen Fall moeglich!",
                "zeile2": "",
            }
            res.append(meldung_t % meldung)
            return string.join(res, "")

            ##*************************************************************************
            ##
            ## Weiteres Prüfen der Fallzugehörigkeit (Mit Fall - ID oder ohne Fall - ID)
            ## nicht mehr notwendig, da nur noch bei vorhandener Fall ID eine
            ## Statistik erstellt werden kann
            ##
            ## mastaleckT(msg)02.10.2001
            ##*************************************************************************
        fall = Fall(int(fallid))
        anmeldungl = fall["anmeldung"]
        akte = fall["akte"]
        letzter_fall = akte["letzter_fall"]
        leistungen = fall["leistungen"]
        jahr = "%(year)s" % today()
        vorjahr = int(jahr) - 1

        jahresl = ebapi.FachstatistikList(where="fall_fn = '%s'" % letzter_fall["fn"])
        if jahresl:
            res = []
            meldung = {
                "titel": "Hinweis",
                "legende": "Hinweis",
                "zeile1": "Es ist bereits eine Fachstatistik f&uuml;r die Fallnummer vorhanden!",
                "zeile2": "",
            }
            res.append(meldung_t % meldung)
            return string.join(res, "")

            ##*************************************************************************
            ##
            ## Funktion berechnet das Alter des Klienten
            ##
            ## mastaleckT(msg) 04.10.2001
            ##
            ##*************************************************************************
        alter_klient = date.calc_age(akte["gb"], letzter_fall["bgd"], letzter_fall["bgm"], letzter_fall["bgy"])

        # fstatliste = FachstatistikList(where = 'fall_id = %(id)d' % fall
        #                                 + " and jahr = %d" % vorjahr,
        #                                 order = 'jahr')
        stellenzeichen = get_codes("stzei")
        geschlechter = get_codes("gs")
        altersgruppen = get_codes("fsag")
        altersgruppeneltern = get_codes("fsagel")
        familienarten = get_codes("fsfs")
        zugangsarten = get_codes("fszm")
        herkunftelternl = get_codes("fshe")
        berufelternl = get_codes("fsbe")
        beratungsanlaesse = get_codes("fsba")
        problembereicheeltern = get_codes("fspbe")
        problembereichekinder = get_codes("fspbk")
        qualifikationen_mutter_vater = get_codes("fsquali")
        qualifikationen_kind = get_codes("fsqualij")
        massnahmen = get_codes("fsle")
        hidden = {"file": "fseinf"}
        fsid = Fachstatistik().getNewId()
        hiddenid = {"name": "fsid", "value": fsid}
        res = []
        ##*************************************************************************
        ##
        ## Formular: Erstellen einer neuen Fachstatistik
        ##
        ##*************************************************************************
        res.append(head_normal_t % ("Neue Fachstatistik erstellen"))
        res.append(fsneu_t1)
        res.append(fsneu_fn_t % fall)
        mitarb_data = {"mit_id": self.mitarbeiter["id"], "mit_name": self.mitarbeiter["ben"]}
        res.append(fsneu_mit_t % mitarb_data)
        res.append(fsneu_jahr_t % today())
        res.append(fsneu_region_t % akte)

        res.append(fsneu_geschlecht_t)
        mksel(res, codeliste_t, geschlechter)
        res.append(fsneu_altersgr_t)
        if alter_klient >= 0 and alter_klient <= 2:
            altersgruppe_kat = cc("fsag", "1")
        elif alter_klient >= 3 and alter_klient <= 5:
            altersgruppe_kat = cc("fsag", "2")
        elif alter_klient >= 6 and alter_klient <= 9:
            altersgruppe_kat = cc("fsag", "3")
        elif alter_klient >= 10 and alter_klient <= 13:
            altersgruppe_kat = cc("fsag", "4")
        elif alter_klient >= 14 and alter_klient <= 17:
            altersgruppe_kat = cc("fsag", "5")
        elif alter_klient >= 18 and alter_klient <= 20:
            altersgruppe_kat = cc("fsag", "6")
        elif alter_klient >= 21 and alter_klient <= 26:
            altersgruppe_kat = cc("fsag", "7")
        else:
            altersgruppe_kat = cc("fsag", "999")
        mksel(res, codeliste_t, altersgruppen, "id", altersgruppe_kat)
        res.append(fsneu_famstatus_t)
        for f in familienarten:
            if fallid and fall["akte_id__fs"] == f["id"]:
                f["sel"] = "selected"
            else:
                f["sel"] = ""
            res.append(codeliste_t % f)
        res.append(fsneu_zugangsmodus_t)
        mksel(res, codeliste_t, zugangsarten)
        res.append(fsneu_qualikind_t)
        mksel(res, codeliste_t, qualifikationen_kind)
        res.append(fsneu_qualimutter_t)
        mksel(res, codeliste_t, qualifikationen_mutter_vater)
        res.append(fsneu_qualivater_t)
        mksel(res, codeliste_t, qualifikationen_mutter_vater)
        res.append(fsneu_berufmutter_t)
        mksel(res, codeliste_t, berufelternl)
        res.append(fsneu_berufvater_t)
        mksel(res, codeliste_t, berufelternl)
        res.append(fsneu_hkmutter_t)
        mksel(res, codeliste_t, herkunftelternl)
        res.append(fsneu_hkvater_t)
        mksel(res, codeliste_t, herkunftelternl)
        res.append(fsneu_altermutter_t)
        mksel(res, codeliste_t, altersgruppeneltern)
        res.append(fsneu_altervater_t)
        mksel(res, codeliste_t, altersgruppeneltern)
        res.append(fsneu_beratungsanlass1_t)
        mksel(res, codeliste_t, beratungsanlaesse)
        res.append(fsneu_beratungsanlass2_t)
        mksel(res, codeliste_t, beratungsanlaesse)
        res.append(fsneu_problemkind_t)
        mksel(res, codeliste_t, problembereichekinder)
        res.append(fsneu_problemeltern_t)
        mksel(res, codeliste_t, problembereicheeltern)
        res.append(fsneu_problemspektrumkind_t)
        mksel(res, codeliste_t, problembereichekinder)
        res.append(fsneu_problemkindnot_t)
        res.append(fsneu_problemspektrumeltern_t)
        mksel(res, codeliste_t, problembereicheeltern)
        res.append(fsneu_problemelternnot_t)
        res.append(fsneu_massnahmen_t)
        fsleistungen = LeistungList(where="fall_id = %s" % letzter_fall["id"])
        leistungs_liste = []
        for s in fsleistungen:
            leistungs_liste.append(s["le"])
        mksel(res, codeliste_t, massnahmen, "id", leistungs_liste)

        res.append(fsneu_zahlkontakte_t)
        res.append(formhiddenvalues_t % hidden)
        res.append(formhiddennamevalues_t % hiddenid)
        res.append(fsneu_notizsubmit_t)
        return string.join(res, "")