Example #1
0
 def read_data(self, f):
     #print 'FILE: ', f, type(f)
     data = []
     feldnamen = self.get_altdaten_felder()[1:]
     size = len(feldnamen)
     reader = csv.reader(f.readlines(),
                         delimiter=';',
                         doublequote=True,
                         quotechar='"',
                         )
     try:
         erste_zeile = reader.next()
     except StopIteration:
         self.csv_lese_fehler("Keine Daten gefunden")
         
     #print 'ERSTE_ZEILE: ', erste_zeile
     if size != len(erste_zeile):
         self.csv_lese_fehler("Anzahl der Feldnamen in der ersten Zeile stimmt nicht", 1,
                              erste_zeile)
     for ist, soll in zip(erste_zeile, feldnamen):
         if ist != soll:
             self.csv_lese_fehler("Erste Zeile mit den Feldnamen stimmt nicht "
                                  "mit Feldnamen überein", 1, erste_zeile)
     for i, row in enumerate(reader):
         #print 'ZEILE: ', row
         if size != len(row):
             self.csv_lese_fehler("Anzahl der Felder in Zeile %(znr)s stimmt nicht",
                                  i+2, row)
         dic = dict(zip(erste_zeile, row))
         dic = self.validate_normalize_altdaten(dic, i+2, row)
         dic['id'] = i+2
         altd = Altdaten()
         altd.init(**dic)
         data.append(altd)
     return data
Example #2
0
 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
Example #3
0
 def processForm(self, REQUEST, RESPONSE):
     alt_ids = check_list(self.form, 'uebern', 'Fehler in Altdaten', [])
     if len(alt_ids) > 1:
         raise EE("Bitte nur einen Eintrag zur Übernahme markieren!")
     if alt_ids:
         alt = Altdaten(alt_ids[0])
     else:
         alt = {}
     gs_alt = alt.get('geschlecht')
     if gs_alt:
         gs = (gs_alt=='w' and cc('gs', '2')) or (gs_alt=='m' and cc('gs', '1'))
     else:
         gs = ' '
     if alt:
         no = "Alte Fallnummer: %(fallnummer)s, Jahr: %(jahr)s, Früherer Mitarbeiter: %(mitarbeiter)s" % alt
     else:
         no = ''
     str = alt.get('strasse', '')
     if str:
         for end in ('trasse', 'traße'):
             if str.endswith(end):
                 i = str.index(end)
                 str = str[:i] + 'tr.'
     akte = Akte()
     akte.init(
         id=Akte().getNewId(),
         fs=cc('fsfs', '999'),
         vn=alt.get('vorname', ''),
         na=alt.get('name', ''),
         gb=alt.get('geburtsdatum', ''),
         ort=alt.get('ort', ''),
         plz=alt.get('plz', ''),
         str=str,
         hsnr=alt.get('hausnummer', '').upper(),
         gs=gs,
         tl1=alt.get('telefon1', ''),
         tl2=alt.get('telefon2', ''),
         no=no,
         aufbew=cc('aufbew', '1'),
         stzbg=self.stelle['id'],
         lage=(config.STRASSENKATALOG and  cc('lage', '0') or
               cc('lage', '1')),
         )
     return self._process(
         title='Neue Akte anlegen',
         file='akteeinf',
         akte=akte,
         formname='akteform',
         hidden=(('stzbg', akte['stzbg']),
                 )
         )