Example #1
0
 def processForm(self, REQUEST, RESPONSE):
     mitarbeiterliste = self.getMitarbeiterliste()
     user = self.user
     
     if self.form.has_key('fallid'):
         fallid = self.form.get('fallid')
         fall = Fall(int(fallid))
         akte = Akte(fall['akte_id'])
         dokliste = DokumentList(where = 'fall_id = %s and mit_id = %s'
                                     % (fall['id'], self.mitarbeiter['id']))
         header = "Dokumente und Texteinträge der Akte löschen"
         hidden ={'file': 'removedoks'}
         formkopf = formkopfdokneu_t % fall
     elif self.form.has_key('gruppeid'):
         gruppeid = self.form.get('gruppeid')
         gruppe = Gruppe(gruppeid)
         dokliste = GruppendokumentList(where = 'gruppe_id = %s and mit_id = %s'
                                     % (gruppe['id'], self.mitarbeiter['id']))
         header = "Dokumente und Texteinträge der Gruppe löschen"
         hidden ={'file': 'removegrdoks'}
         formkopf = formkopfdokgrneu_t % gruppe
     else:
         self.last_error_message = "Keine ID fuer Fall oder Gruppe erhalten"
         return self.EBKuSError(REQUEST, RESPONSE)
         
     dokliste.sort('art__name','vy','vm','vd')
     
     # Liste der Templates als String
     
     res = []
     res.append(head_normal_t % header)
     res.append(formkopf)
     res.append(formhiddenvalues_t % hidden)
     res.append(rmverm_t )
     for d in dokliste:
         res.append(rmverm2_t % d)
     res.append(rmverm3_t)
     return string.join(res, '')
 def processForm(self, REQUEST, RESPONSE):
     if self.form.has_key('gruppeid'):
         gruppeid = self.form.get('gruppeid')
         gruppe = Gruppe(gruppeid)
         titel = 'Auszug vom %(day)d.%(month)d.%(year)d.' % today() + \
                   ' - %s -' % gruppe['gn'] + '\n\n\n'
     else:
         fallid = self.form.get('fallid')
         fall = Fall(int(fallid))
         akte = Akte(fall['akte_id'])
         faelle = akte['faelle']
         faelle.sort('bgy','bgm','bgd')
         titel = 'Auszug vom %(day)d.%(month)d.%(year)d.' % today() + ' - %s -' % fall['fn'] + '\n\n\n'
         
     art = self.form.get('art')
     
     out = ''
     
     # Aktendokumente
     
     if self.form.has_key('fallid'):
         for f in faelle:
             if art == 'bnotiz':
                 dokl = DokumentList(where = 'fall_id = %s and art = %s and mtyp = %s and mit_id = %s' % (f['id'], cc('dokart', 'bnotiz'), cc('mimetyp', 'txt'), self.mitarbeiter['id']), order = 'vy,vm,vd')
                 
             elif art=='anotiz':
                 adokl = DokumentList(where = 'fall_id = %s and mtyp = %s'
                                        % (f['id'], cc('mimetyp', 'txt')), order = 'vy,vm,vd')
                 dokl = []
                 for d in adokl:
                     if d['art'] != cc('dokart', 'bnotiz'):
                         dokl.append(d)
                         
             out = out + mk_text(dokl, get_akte_path(akte['id']))
             
             # Gruppendokumente
             
     elif gruppeid and art == 'bnotiz':
         dokl = GruppendokumentList(where = 'gruppe_id = %s and art = %s and mtyp = %s and mit_id = %s'% (gruppe['id'], cc('dokart', 'bnotiz'), cc('mimetyp', 'txt'), self.mitarbeiter['id']), order = 'vy,vm,vd')
         out = mk_text(dokl, get_gruppe_path(gruppe['id']))
         
     elif gruppeid and art=='anotiz':
         adokl = GruppendokumentList(where = 'gruppe_id = %s and mtyp = %s'
                                % (gruppe['id'], cc('mimetyp', 'txt')), order = 'vy,vm,vd')
         dokl = []
         for d in adokl:
             if d['art'] != cc('dokart', 'bnotiz'):
                 dokl.append(d)
         out = mk_text(dokl, get_gruppe_path(gruppe['id']))
         
         # Plain-Text-Ausgabe fuer den Browser. Alternativ: print_pdf.py
         
     if out is None or out == '':
         out = 'Kein Ascii-Text vorhanden'
     else:
         out = titel + out
         
         # Datei uebertragen
         
     if RESPONSE:
         RESPONSE.setHeader('content-type', '%s' % 'text/plain')
         RESPONSE.setHeader('filename', 'zusammenfassung.txt')
         RESPONSE.setBody(out)
     else:
         return "Fehler beim Anzeigen des Dokumentes"
 drawPageFrame(canv, head_l, head_m, head_r)
 canv.setAuthor('%(vn) %(na)s' % self.mitarbeiter)
 canv.setTitle('%s - %s -' % (art, fall['fn']))
 
 # Inhaltsverzeichnis
 
 canv.setFont("Helvetica-Bold", 14)
 canv.drawString(left_margin, top_margin - 0.5 * inch, "Inhaltsverzeichnis")
 
 canv.setFont("Helvetica", 11)
 tx = canv.beginText(left_margin, top_margin - 0.9 * inch)
 
 for f in faelle:
     if art == 'bnotiz':
         dokl = DokumentList(where = 'fall_id = %s and art = %s \
         and mit_id = %s' % (f['id'], cc('dokart', 'bnotiz'),
         self.mitarbeiter['id']), order = 'vy,vm,vd')
         
         for d in dokl:
             zeilen = string.split(mk_columns(d['betr'],55),'\n')
             tx.textLine("%(vd)s.%(vm)s.%(vy)s:" % d + " %s" % zeilen[0])
             if len(zeilen) > 1:
                 for z in zeilen[1:]:
                     tx.textLine("                    %s" % z)
                     
     elif art == 'anotiz':
         aktendokl = DokumentList(where = 'fall_id = %s  '
                                % (f['id']), order = 'vy,vm,vd')
         dokl = []
         #print aktendokl
         for d in aktendokl: