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 processForm(self, REQUEST, RESPONSE): #print 'FORM', self.form fall_id = self.form.get('fallid') if not fall_id: self.last_error_message = "Keine Fall-ID für Beratungskontakte erhalten" return self.EBKuSError(REQUEST, RESPONSE) fall = Fall(fall_id) beratungskontakt_list = fall['beratungskontakte'] if not beratungskontakt_list: raise EE('XXXKeine Beratungskontakte vorhanden') titelstr = ("Beratungskontakte für %s " % (fall['name']) + "bis %(day)d.%(month)d.%(year)d " % today() + '(Fallnummer: %s)' % fall['fn']) ueberschrift = h.TableDataTable( daten=[[h.String(string=titelstr, class_='tabledatabold'), ], [h.Dummy()], ], ) beratungskontakte = self.get_beratungskontakte( beratungskontakt_list, cls=h.TableDataTable, header_class='tabledatabold', ) res = h.Page( title='Beratungskontakte %(fn)s ' % fall + \ 'bis %(day)d.%(month)d.%(year)d)' % today(), ueberschrift=ueberschrift, rows=(ueberschrift, beratungskontakte, ), ) return res.display()
def processForm(self, REQUEST, RESPONSE): mitarbeiterliste = self.getMitarbeiterliste() user = self.user if self.form.has_key('frist'): frist = self.form.get('frist') else: self.last_error_message = "Keine Frist erhalten" return self.EBKuSError(REQUEST, RESPONSE) jahr = today().year monat = today().month heute = int(jahr)*12 + int(monat) loeschzeitm = int(heute)-int(frist) loeschjahr = int(loeschzeitm) / int(12) loeschmonat = int(loeschzeitm) - (int(loeschjahr) * int(12)) hidden ={'file': 'removeakten'} res = [] res.append(head_normal_ohne_help_t %("Akten und Gruppen löschen")) res.append(rmakten2a_t) res.append(formhiddenvalues_t % hidden) res.append(formhiddennamevalues_t % ({'value': frist, 'name': 'frist'})) res.append(formhiddennamevalues_t % ({'value': loeschjahr, 'name': 'loeschjahr'})) res.append(formhiddennamevalues_t % ({'value': loeschmonat, 'name': 'loeschmonat'})) res.append(rmakten2b_t % (frist, loeschmonat, loeschjahr )) return string.join(res, '')
def get_jgh_kontakte(fall): """Ermittelt Anzahl der Kontakte sowohl für den ganzen Fall als auch für das vergangene Jahr. In Braunschweig anders als sonst. 1;persönlicher Kontakt §28;kabs 2;telefonischer Kontakt (mit Beratungscharakter);kabs 3;Schreiben;kabs 4;Fachkontakt;kabs 5;ausgefallener Kontakt;kabs 6;Gruppenkontakt;kabs 7;E-Mail;kabs 8;interner Fachkontakt, Fallbesprechung;kabs 9;fallbezogene Fahrzeit;kabs Für die Bundesstatistik zählt 1,2,4,6,7 """ jahr = today().year - 1 # Normalerweise vom letzten Jahr # TODO wieder auf > 10 stellen # TODO wie genau zählen? Noch mal absprechen if today().month > 6: # Ab Juli von diesem Jahr jahr += 1 bkont_list = fall['beratungskontakte'] kontakte_im_jahr = kontakte_insgesamt = 0 if config.BERATUNGSKONTAKTE: for row in bkont_list: k = row['jghkontakte'] # definiert in ebapi.py und über art_bs__dok if row['ky'] == jahr: kontakte_im_jahr += k kontakte_insgesamt += k else: kontakte_im_jahr = 0 kontakte_insgesamt = 0 return kontakte_im_jahr, kontakte_insgesamt
def jahr_in_bundesstatistik(self): "geschlossene Fälle: Ende-Jahr" "offene Fälle: bis Mai Vorjahr, sonst dieses Jahr" SQL("UPDATE jghstat07 SET jahr=ey WHERE ey IS NOT NULL").execute() logging.info("Bundesstatistiken von abgeschlossenen Faellen auf Ende-Jahr gesetzt") jahr = today().year if today().month < 10: jahr -= 1 SQL("UPDATE jghstat07 SET jahr=%s WHERE ey IS NULL" % jahr).execute() logging.info("Bundesstatistiken von andauernden Faellen auf %s gesetzt" % jahr)
def choose_date(self, min=None, max=today()): if not min: min = Date(today().year - 2) assert max >= min assert min != Date(0,0,0) assert max != Date(0,0,0) while True: year = randrange(min.year, max.year + 1) month = randrange(1, 13) day = randrange(1, 29) date = Date(year, month, day) if date >= min and date <= max: return date
def processForm(self, REQUEST, RESPONSE): file = self.form.get('file') if file in ('fuabseinf', 'updfuabs', 'removefuabs'): # API Funktion einf bzw. upd aufrufen getattr(ebupd, file)(self.form) jahr = self.form.get('jahr') monat = self.form.get('monat', '') if not jahr: jahr = today().year monat = today().month auswahl = h.FieldsetInputTable( legend="Bisherige Aktivitäten zeigen", daten=[[h.TextItem(label='Jahr', name='jahr', tip='Jahr der zu zeigenden Aktivitäten', value=jahr, class_='textboxmid', ), h.TextItem(label='Monat', name='monat', tip='Monat der zu zeigenden Aktivitäten (leer lassen für Aktivitäten des ganzen Jahres)', value=monat, class_='textboxsmall', ), h.Button(value="Zeigen", tip="Aktivitäten zeigen", type="submit", ), ]], ) title="Fallunabhängige Aktivitäten für %s%s" % (monat and "%s/" % monat or '', jahr) res = h.FormPage( title=title, name="fua",action="fua",method="get", breadcrumbs = (('Hauptmenü', 'menu'), ), ## hidden=(("akid", fall['akte_id']), ## ("stz", fua['stz']), ## ("fuaid", fua['id']), ## ("fallid", fall['id']), ## ("file", file), ## ), rows=(self.get_hauptmenu(), auswahl, #self.get_fua_bs(jahr, monat, title, self.get_fua_bs_new(jahr, monat, title, edit_button=True, hinzufuegen_button=True), ) ) return res.display()
def processForm(self, REQUEST, RESPONSE): 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)) benr = self.mitarbeiter['benr__code'] if benr in ('verw',): # Verwaltungskraft kann Einträge für andere Mitarbeiter machen mit_id = fall['zustaendig__mit_id'] else: mit_id = self.mitarbeiter['id'] leistung = Leistung() leistung.init( id=Leistung().getNewId(), ey='', em='', ed='', stz=self.stelle['id'], fall_id=fall['id'], mit_id=mit_id, le=cc('fsle', '1'), ) leistung.setDate('bg', today()) return self._process(REQUEST, RESPONSE, title="Neue Leistung eintragen", legend="Neue Leistung eintragen für", leistung=leistung, file='leisteinf', )
def processForm(self, REQUEST, RESPONSE): 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)) leistung = Leistung() leistung.init( id=Leistung().getNewId(), ey='', em='', ed='', stz=self.stelle['id'], fall_id=fall['id'], mit_id=self.mitarbeiter['id'], le=cc('fsle', '1'), ) leistung.setDate('bg', today()) return self._process(REQUEST, RESPONSE, title="Neue Leistung eintragen", legend="Neue Leistung eintragen für", leistung=leistung, file='leisteinf', )
def processForm(self, REQUEST, RESPONSE): bestaetigung = {'titel': "Bundesjugendhilfestatistik: Exportdatei erstellen", 'legende':'Bundesjugendhilfestatistik: Exportdatei erstellen', 'zeile':'Bitte das Exportjahr eingeben und mit Ok bestätigen!', 'jahr' : '%s' % (today().year), 'dest_url':'menu'} return bestaetigung_t % bestaetigung
def processForm(self, REQUEST, RESPONSE): gruppeid = self.form.get('gruppeid') fallid = self.form.get('fallid') if gruppeid: gruppe = Gruppe(gruppeid) dok = Gruppendokument() dok.init( id=Gruppendokument().getNewId(), gruppe_id=gruppe['id'], ) file = 'uploadgreinf' elif fallid: fall = Fall(fallid) dok = Dokument() dok.init( id=Dokument().getNewId(), fall_id=fall['id'], ) file = 'uploadeinf' dokid = Dokument().getNewId() else: self.last_error_message = "Keine ID fuer Gruppe oder Fall erhalten" return self.EBKuSError(REQUEST, RESPONSE) dok.setDate('v', today()) dok.init( mit_id=self.mitarbeiter['id'], art=cc('dokart', 'Bericht'), ) return self._edit_dokument(title='Dokument importieren', file=file, dok=dok, )
def fake_waufn(self): letzter_fall = Akte(self.akte_id)['letzter_fall'] zdadatum = letzter_fall.getDate('zda') if zdadatum == Date(0,0,0): ## log(zdadatum) return if zdadatum.add_month(1) > today(): ## log(zdadatum) ## log(zdadatum.add_month(1)) ## log(zdadatum == Date(0,0,0)) ## log(zdadatum.add_month(1) > today()) ## log("WAUF Return") return form = {} form['akid'] = self.akte_id form['fallid'] = Fall().getNewId() setDate(form, 'zubg', self.choose_date(min=zdadatum.add_month(1))) mitarbeiter = choice(self.mitarbeiter) form['zumitid'] = mitarbeiter['id'] form['stzbg'] = mitarbeiter['stz'] # TODO ist das richtig? akte.stzbg wird dadrauf gesetzt form['lemitid'] = mitarbeiter['id'] form['le'] = self.choose_code_id('fsle') setDate(form, 'lebg', getDate(form, 'zubg')) # erste Leistung zu Fallbeginn form['lestz'] = mitarbeiter['stz'] waufneinf(form) log("Wiederaufnahme als %s am %s" % (Akte(self.akte_id)['letzter_fall']['fn'], getDate(form, 'zubg')))
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, '')
def processForm(self, REQUEST, RESPONSE): 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(fallid) benr = self.mitarbeiter['benr__code'] if benr in ('verw',): # Verwaltungskraft kann Einträge für andere Mitarbeiter machen mitarbeiter = [fall['zustaendig__mit']] else: mitarbeiter = [self.mitarbeiter] bkont = Beratungskontakt() bkont.init( id=Beratungskontakt().getNewId(), faelle=[fall], mitarbeiter=mitarbeiter, teilnehmer_bs=cc('teilnbs', '0'), anzahl=1, art_bs=cc('kabs', '1'), art=None, dauer='', offenespr=cn('ja_nein', 'nein'), no='', stz=self.stelle['id'], ) bkont.setDate('k', today()) return self._process(REQUEST, RESPONSE, title="Neuen Beratungskontakt eintragen", legendtext="Neuen Beratungskontakt eintragen für", fall=fall, bkont=bkont, file='bkonteinf', )
def show_tabelle_all(self): """Zeigt alle Ergebnistabellen druckerfreundlich""" from ebkus.html.statistik_abfrage import get_abfrage, Ueberschrift abfrage = get_abfrage(self.anzeige_gg, self.query, self.anzahl, h.TableDataTable) daten = [] for auszaehlung in self.auszaehlungen: daten.append([h.Dummy(n_col=3)]) if isinstance(auszaehlung, Ueberschrift): daten.append([h.String(string=auszaehlung.ueberschrift, class_='titeltext', n_col=3),]) continue daten.append([h.String(string=auszaehlung.title, class_='tabledatabold'), h.String(string='S', class_='tabledatabold'), h.String(string='%', class_='tabledatabold'),]) for data in auszaehlung.get_result(): daten.append([h.String(string=data[0]), h.String(string=data[1]), h.String(string="%.2f" % data[2]),]) res = h.Page( title='Statistikauswertung vom %(day)d.%(month)d.%(year)d.' % today(), rows=(abfrage, h.TableDataTable(daten=daten), ), ) return res.display()
def fake_altdaten(self, csv_file, fields): id=Altdaten().getNewId() jahr=str(self.choose_date(Date(1999), Date(2006)).year) altd = Altdaten() altd.init( id=id, vorname=choice(self.vornamen), name=choice(self.namen), geburtsdatum=str(self.choose_date(Date(1989,3,1), today().add_month(-24))), geschlecht=choice(('m', 'w')), jahr=jahr, fallnummer=("%s%03d" % (jahr, choice(range(1,1000)))), mitarbeiter="Mitarb%s" % id, strasse=choice(self.strassen), hausnummer=str(randrange(1, 200)), plz=str(randrange(10000, 99999)), ort=choice(self.orte), telefon1=str(randrange(10001, 99999999)), telefon2=str(randrange(10001, 99999999)), memo=("Memo für Altdaten id=%s. " "äöüÄÖÜß Hier kann man noch eine Menge über den alten Fall reinschreiben. " "Auch längere Texte. " % id)[:randrange(25,150)] ) csv = ';'.join([('"%%(%s)s"' % a) % altd for a in fields]) csv_file.write(csv + '\r\n') altd.insert() log("Altdaten %s" % id) return altd
def _set_attributes(self, kw): self.session_key = kw.get('session_key') if not hasattr(self, 'feld'): self.feld = None # die Zahl hat nichts zu sagen, nur damit es nicht # genau die Adresse des Objekts ist :-) self.id = str(id(self)+785423) if self.liste: el0 = self.liste[0] if isinstance(el0, tuple): # Liste kann auch aus Paaren bestehen el0 = el0[0] class_ = el0.__class__.__name__ self.auswertungs_ueberschrift = \ kw.get('auswertungs_ueberschrift', "%sauswertung vom %s" % ( Tabelle(klasse=class_)['name'], "%(day)d.%(month)d.%(year)d." % today())) else: self.auswertungs_ueberschrift = 'Unbekannt' self.kategorie = kw.get('kategorie', self.feld and self.feld['kat'] or None) self.title = kw.get('title', self.feld and self.feld['name'] or 'Kein Titel') self.xtitle = kw.get('xtitle', self.title) #self.ytitle = kw.get('ytitle', 'S') self.ytitle = kw.get('ytitle', '%') self.identname = self.title.lower().replace('/','_').replace(' ', '_') self.result = None
def processForm(self, REQUEST, RESPONSE): fallid = self.form.get('fallid') jahr = today().year jghiddel = self.form.get('jghiddel') typ = self.form.get('typ') if jghiddel and typ == 'jgh' and fallid: # alte Statistik auf neue upgraden upgrade_jgh(jghiddel, old2new=True) if not fallid: raise EE('Bundesstatistik nur für einen gültigen Fall') fall = Fall(fallid) ex_jgh = fall['jgh'] if ex_jgh: raise EE('Bundesstatistik bereits vorhanden.') jgh = Jugendhilfestatistik2007() jgh['jghid'] = Jugendhilfestatistik2007().getNewId() jgh['stz'] = self.stelle['id'] jgh['file'] = 'jgh07einf' jgh['mit_id'] = fall['zustaendig__mit_id'] #jgh.setDate('bg', fall.getDate('bg')) jgh.setDate('bg', fall['leistungsbeginn']) jgh['fall_fn'] = fall['fn'] jgh['fall_id'] = fall['id'] jgh['jahr'] = jahr dmy = [int(e) for e in fall['akte__gb'].split('.')] dmy.reverse() geburtsdatum = ebapi.Date(*dmy) jgh['gey'] = geburtsdatum.year jgh['gem'] = geburtsdatum.month jgh['gs'] = fall['akte__gs'] assert isinstance(jgh['gs'], (int, long)) if config.BERATUNGSKONTAKTE: from ebkus.html.beratungskontakt import get_jgh_kontakte jgh['nbkakt'], jgh['nbkges'] = get_jgh_kontakte(fall, jahr) return self._formular(jgh)
def repeat_zda_waufn(self): """Hier soll alles rein, was die Wahrscheinlichkeit eines ZDA und WAUFN betrifft.""" for i in range(5): af = Akte(self.akte_id)['aktueller_fall'] if af: bg = af.getDate('bg') zda = self.choose_date(bg.add_month(1), bg.add_month(30)) if zda < today(): self.fake_zda(zda) lf = Akte(self.akte_id)['letzter_fall'] zda = lf.getDate('zda') if not zda.is_zero() and random() < .4: waufn = self.choose_date(zda.add_month(1), zda.add_month(30)) if waufn < today(): self.fake_waufn(waufn)
def grundgesamtheit(self, bis_jahr=None, von_jahr=None, quartal=None, stellen_ids=None, legend='Grundgesamtheit', submit_value=None, show_quartal=True): "Für Auswertungen. Legt Jahre und Stellen fest." #print 'GG', von_jahr, bis_jahr if not bis_jahr: bis_jahr = today().year if von_jahr == bis_jahr or not von_jahr: erster_eintrag = ' ' von_jahr = None else: erster_eintrag = None if not stellen_ids: stellen_ids = [self.stelle['id']] res = h.FieldsetInputTable( legend=legend, daten=[[show_quartal and h.SelectItem(label='Quartal', name='quartal', class_='listbox30', tip='Wählen Sie das Quartal, für das eine Auszählung erfolgen soll', options=self.for_quartal(sel=quartal, erster_eintrag=' '), ) or h.DummyItem(), h.SelectItem(label='Jahr', name='bis_jahr', class_='listbox45', tip='Wählen Sie das Jahr, für das eine Auszählung erfolgen soll', options=self.for_jahre(sel=bis_jahr), ), h.SelectItem(label='Stelle', name='stz', multiple=True, rowspan=2, tip='Eine oder mehrere Stellen auswählen', size=3, options=self.for_kat('stzei', sel=stellen_ids), ), ], [h.SelectItem(label='Frühere Jahre einbeziehen ab', name='von_jahr', class_='listbox45', n_label=3, n_col=4, tip='Nur für Auswertungen über mehrere Jahre hinweg', options=self.for_jahre(sel=von_jahr, erster_eintrag=erster_eintrag), ), ], [h.Dummy(n_col=4)], ], button=submit_value and h.Button(value=submit_value, name='op', tip=submit_value, type='submit', n_col=4, ) or None, ) return res
def choose_date(self, min=None, max=None): if not max: max = today() if not min: min = Date(today().year - 2) #log("CHOOSE_DATE min/max: %s/%s" % (min,max)) assert max >= min assert min != Date(0,0,0) assert max != Date(0,0,0) while True: year = randrange(min.year, max.year + 1) month = randrange(1, 13) day = randrange(1, 29) date = Date(year, month, day) if date >= min and date <= max: return date
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): 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'] zustaendigkeiten.sort('bgd', 'bgm', 'bgy') aktuell_zustaendig = fall['zustaendig'] hidden ={'file': 'zdaeinf'} # Liste der Templates als String res = [] res.append(head_normal_t %("Abschlußdatum eintragen")) res.append(zda_t % fall) res.append(zda_t2 % today()) res.append(zda_t3 % aktuell_zustaendig) if len(zustaendigkeiten) > 0: res.append(thzustaendigkeiten_t) for z in zustaendigkeiten: res.append(zustaendigkeiten_t % z) res.append(zustaendigkeiten_ende_t) res.append(hiddenakte_id % fall) res.append(formhiddenvalues_t % hidden) res.append(zda_t4 % fall) return string.join(res, '')
def get_export_datei_name(jahr, log, andauernd): log = log and '_log' or '' t = today() andauernd = andauernd and ( "_am_%04d-%02d-%02d_andauernd" % (t.year, t.month, t.day) ) or '' name = "jgh_%s%s%s.txt" % (jahr, andauernd, log) return name
def fake_jgh07statistik(self, fall, ende_datum, abgeschlossen): log("fake_jgh07statistik %s (akte_id=%s)" % (fall['fn'], self.akte_id)) assert ende_datum.year >= 2007 akte = Akte(self.akte_id) form = {} jgh_id = Jugendhilfestatistik2007().getNewId() form['jghid'] = jgh_id form['fallid'] = fall['id'] form['fall_fn'] = fall['fn'] form['jahr'] = ende_datum.year form['mitid'] = fall['zustaendig__mit_id'] form['stz'] = akte['stzbg'] form['gfall'] = self.choose_code_id('gfall') form['land'] = Code(kat_code='land', sort=1)['id'] form['kr'] = Code(kat_code='kr', sort=1)['id'] # zuständige Stelle! form['einrnr'] = Code(kat_code='einrnr', sort=1)['id'] # zuständige Stelle! setDate(form, 'bg', fall.getDate('bg')) if random() < .3: form['zustw'] = '1' form['hilf_art'] = self.choose_code_id('hilf_art') form['hilf_ort'] = self.choose_code_id('hilf_ort') form['traeger'] = self.choose_code_id('traeger') form['gs'] = self.choose_code_id('gs') setDate(form, 'ge', self.choose_date(Date(1990), today().add_month(-20))) form['aort_vor'] = self.choose_code_id('auf_ort') form['sit_fam'] = self.choose_code_id('shf') form['ausl_her'] = self.choose_code_id('ja_ne_un') form['vor_dt'] = self.choose_code_id('ja_ne_un') form['wirt_sit'] = self.choose_code_id('ja_ne_un') form['aip'] = self.choose_code_id('aip') form['ees'] = self.choose_code_id('ja_nein') form['va52'] = self.choose_code_id('ja_nein') form['rgu'] = self.choose_code_id('ja_nein') #form['hda'] = cc('ja_nein', '1') if abgeschlossen == True: form['hda'] = cc('ja_nein', '2') elif abgeschlossen == False: form['hda'] = cc('ja_nein', '1') else: form['hda'] = self.choose_code_id('ja_nein') gruende = self.choose_code_id_several('gruende', 1, 3, unique=True) form['gr1'] = gruende[0] if len(gruende) > 1: form['gr2'] = gruende[1] if len(gruende) > 2: form['gr3'] = gruende[2] if form['hda'] == cc('ja_nein', '1'): form['nbkakt'] = randrange(1, 30) else: form['lbk6m'] = self.choose_code_id('ja_nein') form['grende'] = self.choose_code_id('grende') form['aort_nac'] = self.choose_code_id('auf_ort') form['unh'] = self.choose_code_id('unh') form['nbkges'] = randrange(1, 50) setDate(form, 'e', ende_datum) #print 'Fake jgh07: ', form jgh07einf(form) log("Jugendhilfestatistik 2007 für %s (akte_id=%s)" % (fall['fn'], self.akte_id))
def processForm(self, REQUEST, RESPONSE): gruppeid = self.form.get('gruppeid') if gruppeid: gruppe = Gruppe(gruppeid) else: self.last_error_message = "Keine ID fuer die Gruppe erhalten" return self.EBKuSError(REQUEST, RESPONSE) klientenauswahl = h.FieldsetInputTable( legend='Klientenauswahl', daten=[[h.SelectItem(name='fallid', size="10", multiple=True, class_="listbox220", tip="Alle offene Fälle, für die Sie Zugriffsrechte haben", options=self.for_klienten(kurz=True), nolabel=True, ), ]]) bezugspersonenauswahl = h.FieldsetInputTable( legend='Bezugspersonenauswahl', daten=[[h.SelectItem(name='bezugspid', size="10", multiple=True, class_="listbox220", tip="Alle Bezugspersonen von offenen Fällen, für die Sie Zugriffsrechte haben", options=self.for_bezugspersonen(), nolabel=True, ), ]]) datumsetzen = h.FieldsetInputTable( legend = 'Teilnahmezeitraum', daten = [[h.DatumItem(label='Beginndatum', name='bg', date=today(), ), h.DatumItem(label='Endedatum', name='e', ), ]] ) res = h.FormPage( title='Teilnehmerauswahl', name='gruppenform',action="grkarte",method="post", breadcrumbs = (('Hauptmenü', 'menu'), ('Gruppenmenü', 'menu'), ('Gruppenkarte', 'grkarte?gruppeid=%s' % gruppe['id']), ), hidden=(("gruppeid", gruppe['id']), ("file", 'gruppeteilneinf'), ("mitid", self.mitarbeiter['id']), ), rows=(h.Pair(left=klientenauswahl, right=bezugspersonenauswahl), datumsetzen, h.SpeichernZuruecksetzenAbbrechen(), ), ) return res.display()
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, '')
def processForm(self, REQUEST, RESPONSE): fsid = self.form.get('fsid') if fsid: fs = Fachstatistik(fsid) else: self.last_error_message = "Keine ID für die Fachstatistik erhalten" return self.EBKuSError(REQUEST, RESPONSE) title='Fachstatistik für Fallnummer %(fall_fn)s ' % fs + \ 'am %(day)d.%(month)d.%(year)d' % today() ueberschrift = h.TableDataTable( daten=[[h.String(string=title, class_='tabledatabold'), ], [h.Dummy()], ], ) page = self._process(title='Fachstatistik ansehen', file='updfs', fs=fs, pageonly=True, ) data = [] page.get_data(data) daten = [] for label, value in data: if not label and not value: continue if label == 'legend': daten.append( [h.String(string=value, class_='tabledatabold'), h.String(string='')]) elif value and isinstance(value, (list, tuple)): daten.append( [h.String(string=label), h.String(string=value[0]), ]) for v in value[1:]: daten.append( [h.String(string=''), h.String(string=v), ]) else: daten.append( [h.String(string=label), h.String(string=value), ]) tabelle = h.TableDataTable( headers=('Item', 'Wert'), daten=daten, ) res = h.Page( title = title, ueberschrift=ueberschrift, rows=(ueberschrift, tabelle, ), ) return res.display()
def fake_zda(self): """schliesst einen Fall mit einer bestimmten Wahrscheinlichkeit ab, je älter desto wahscheinlicher. Fügt vor dem Schliessen noch ein paar Leistungen ein.""" fall = Akte(self.akte_id)['letzter_fall'] fn = fall['fn'] beginn = fall.getDate('bg') alter = beginn.diff(today()) if alter < 2: return form = {} form['fallid'] = fall['id'] form['aktuellzustid'] = fall['zustaendig__id'] # Dauer des Falles zda = self.choose_date(beginn.add_month(1), min(beginn.add_month(alter), today())) setDate(form, 'zda', zda) # 0 bis 5 Leistungen hinzufügen for i in range(randrange(6)): self.fake_leistung(fall, zda) zdaeinf(form) log("Zda %s am %s" % (fn, zda))
def processForm(self, REQUEST, RESPONSE): mitarbeiterliste = self.getMitarbeiterliste() user = self.user site = Code(cc('dbsite', '%s' % getDBSite())) res = [] bestaetigung = {'titel':("Bundesjugendhilfestatistik: Exportdatei erstellen der %s" % site['name']), 'legende':'Bestätigung des Exportvorgangs', 'zeile':'Bitte das Exportjahr eingeben und mit Ok bestätigen!', 'jahr' : '%s' % (today().year), 'dest_url':'menu'} res.append(bestaetigung_t %(bestaetigung)) return ''.join(res)