[Mpuls-commits] r1859 - wasko/branches/2.0/jmdweb/controllers

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Mon Mar 1 08:36:42 CET 2010


Author: torsten
Date: 2010-03-01 08:36:41 +0100 (Mon, 01 Mar 2010)
New Revision: 1859

Removed:
   wasko/branches/2.0/jmdweb/controllers/caselifetime.py
Log:
Deleted. Caselifetime is not used in jmd


Deleted: wasko/branches/2.0/jmdweb/controllers/caselifetime.py
===================================================================
--- wasko/branches/2.0/jmdweb/controllers/caselifetime.py	2010-02-26 19:22:28 UTC (rev 1858)
+++ wasko/branches/2.0/jmdweb/controllers/caselifetime.py	2010-03-01 07:36:41 UTC (rev 1859)
@@ -1,704 +0,0 @@
-# -*- coding: utf-8 -*-
-
-import sys
-import logging
-from datetime import datetime, timedelta
-import traceback
-
-import formencode
-
-from formed.instance.backends.postgres import DBFactory as InstanceFactory
-
-from mpulsweb.lib.base import c, g, render, request, session
-from mpulsweb.lib.db import db, PostgresDBInterface
-import mpulsweb.lib.helpers as h
-from mpulsweb.model.logbook import Logbook, LogbookEntry
-
-from jmdweb.lib.validators import \
-     ExtraTimeFormValidator1, ExtraTimeFormValidator2, \
-     ReopenFormValidator1, ReopenFormValidator1abgel, \
-     ReopenFormValidator2, ReopenFormValidator2abgel, \
-     RenewFormValidator
-
-from jmdweb.lib.base import BaseController 
-
-log = logging.getLogger(__name__)
-
-
-REOPENOK_1_HEADER_CONFIRM = u"Fall wiederaufnehmen?"
-REOPENOK_1_TEXT_CONFIRM = u"""\
-Wollen Sie den Fall wiederaufnehmen? Dabei wird die aktuelle Fallakte
-anonymisiert und relevante Teile der Fallakte aus Phase A und Phase B in
-eine neue Fallakte kopiert. Sie werden dann in dieser neuen Fallakte
-weiterarbeiten."""
-
-REOPENOK_2_HEADER_CONFIRM = u"Fall wiederaufnehmen?"
-REOPENOK_2_TEXT_CONFIRM = u"""\
-Wollen Sie den Fall wiederaufnehmen? Dabei werden Teile der
-Abschlussbewertung in die Eingangsdokumentation übertragen und die
-bestehende Abschlussdokumentation gelöscht."""
-REOPENNOTOK_HEADER_CONFIRM = u"Nicht genehmigte Wiederaufnahme dokumentieren?"
-REOPENNOTOK_TEXT_CONFIRM = u"""\
-Sie haben angegeben, dass keine Genehmigung für die Wiederaufnahme
-vorliegt! Wenn Sie fortfahren, wird keine weitere Wiederaufnahme,
-Verlängerung oder Neuaufnahme mehr möglich sein."""
-
-REOPENOK_1_SUCCESS_HEADER = u"Fallakte erfolgreich wiederaufgenommen."
-REOPENOK_1_SUCCESS_TEXT = u'''\
-Die Fallakte wurde erfolgreich wiederaufgenommen. Klicken Sie auf "OK",
-um die wiederaufgenommene Fallakte zu öffnen.'''
-
-REOPENOK_2_SUCCESS_HEADER = u"Fallakte erfolgreich wiederaufgenommen."
-REOPENOK_2_SUCCESS_TEXT = u'''\
-Die Fallakte wurde erfolgreich wiederaufgenommen. Klicken Sie auf "OK",
-um zur "Eingangsdokumentation" der Fallakte zu gelangen.'''
-
-REOPENNOTOK_SUCCESS_HEADER = u"Nicht genehmigte Wiederaufnahme dokumentiert."
-REOPENNOTOK_SUCCESS_TEXT = u'''\
-Die nicht genehmigte Wiederaufnahme wurde dokumentiert. Klicken Sie auf
-"OK", um zur "Eingangsdokumentation" der Fallakte zu gelangen.'''
-
-RENEW_2_HEADER_CONFIRM = u"Nicht genehmigte Neuaufnahme dokumentieren?"
-RENEW_2_TEXT_CONFIRM = u"""\
-Sie haben angegeben, das keine Genehmigung für die Neuaufnahme vorliegt!
-Wenn Sie fortfahren, wird für diese Fallakte keine erneute Neuaufnahme
-mehr möglich sein."""
-
-RENEW_2_SUCCESS_HEADER = u"Nicht genehmigte Neuaufnahme dokumentiert."
-RENEW_2_SUCCESS_TEXT = u'''\
-Die nicht genehmigte Neuaufnahme wurde dokumentiert. Klicken Sie auf
-"OK", um zur "Eingangsdokumentation" der Fallakte zu gelangen.'''
-
-RENEW_HEADER_CONFIRM = u"Fall neu aufnehmen?"
-RENEW_TEXT_CONFIRM = u"""\
-Wollen Sie den Fall wirklich neu aufnehmen? Dabei wird die aktuelle
-Fallakte anonymisiert und relevante Teile der Fallakte aus Phase A und
-Phase B in eine neue Fallakte kopiert. Sie werden dann in dieser neuen
-Fallakte weiterarbeiten."""
-
-RENEW_SUCCESS_HEADER = u"Fallakte neu aufgenommen."
-RENEW_SUCCESS_TEXT = u'''\
-Die Fallakte wurde erfolgreich neu aufgenommen. Klicken Sie auf "OK", um
-die neue Fallakte zu öffnen. Bitte überprüfen Sie die Angaben auf
-Richtigkeit und aktualisieren Sie ggf. die Daten. Die alte Fallakte
-wurde der Administration zur Anonymisierung vorgelegt.'''
-
-ABORT_SUCCESS_HEADER = u'Eingangsdokumentation abgebrochen.'
-ABORT_SUCCESS_TEXT = u'''\
-Die Eingangsdokumentation wurde erfolgreich abgebrochen. Die Fallakte
-wurde der Administration zur Löschung vorgelegt. Klicken Sie auf "OK",
-um zu Fallaktenübersicht zu gelangen.'''
-
-ABORT_TEXT_CONFIRM = u'''\
-Wollen Sie wirklich die Eingangsdokumenetation abbrechen und die
-Fallakte zum Löschen freigeben? Die Fallakte steht Ihnen danach nicht
-mehr zur Bearbeitung zur Verfügung und wird der Administration zum
-Löschen vorgelegt.'''
-ABORT_HEADER_CONFIRM = u'Eingangsdokumentation abbrechen?'
-
-class DataSaveException(Exception):
-
-    def __init__(self, desc, errors = None):
-        Exception.__init__(self, desc)
-        self.errors = errors
-
-    def toErrorDicts(self):
-
-        values, errors = {}, {}
-
-        for key, value, error in self.errors:
-            values[key] = value
-            try:
-                old = errors[key]
-                errors[key] = u"%s, %s" % (old, error)
-            except KeyError:
-                errors[key] = error
-
-        return values, errors
-
-class DataExtractor(object):
-
-    def __init__(self):
-        self.data = None
-
-    def loadData(self, ds_id, keys):
-        cur, con = None, None
-
-        try:
-            con = db.getConnection()
-            cur = con.cursor()
-            select = "SELECT %s FROM master_tbl_view WHERE id = %%(ds_id)s" % \
-                ", ".join(keys)
-            cur.execute(select, { 'ds_id': ds_id })
-            row = cur.fetchone()
-            if not row:
-                raise Exception("No such data set: %d" % ds_id)
-
-            self.data = dict(zip([d[0] for d in cur.description], row))
-        finally:
-            db.recycleConnection(con, cur)
-
-    def storeData(self, ds_id):
-
-        update = "UPDATE master_tbl_view SET %s WHERE id = %%(ds_id)s" % \
-          ", ".join(["%s = %%(%s)s" % (n, n) for n in self.data.iterkeys()])
-
-        try:
-            con = db.getConnection()
-            cur = con.cursor()
-            values = self.data or {}
-            values['ds_id'] = ds_id
-            cur.execute(update, values)
-            con.commit()
-        finally:
-            db.recycleConnection(con, cur)
-
-
-
-
-def create_logbook(id=None, header=None, text=None):
-    if id is None:
-        id = session['case'].id
-    logbook = Logbook(id)
-    entry = LogbookEntry()
-    entry.datum = datetime.now()
-    entry.art = 0
-    entry.kurz_notiz = header
-    entry.notiz = text
-    logbook.addEntry(entry)
-    logbook.store(session['USER_AUTHORIZED'].id)
-
-
-# items not to be copied from old case
-COPY_BLACK_LIST = frozenset(['erstgespraech', 'datum_cm_start'])
-DEFAULT_FIELD_LIST = frozenset(['ee', 'phase-a', 'phase-b', 'phase-c'])
-
-
-def copy_field(id, src=None, dst=None):
-    fields = extract_data_from_case(id, [src,dst], [])
-    fields.data[dst] = fields.data[src]
-    fields.storeData(id)
-
-
-def copy_case(id, fields=None, ignore=None):
-    case = None
-    # copy old data.
-    if not ignore: ignore = []
-    myfields = extract_data_from_case(id, fields, ignore)
-    try:
-        # create new case and store fields form the old case in the new case
-        case = g.case_factory.createNew(data={})
-        myfields.storeData(case.id)
-    except:
-        traceback.print_exc(file=sys.stderr)
-    return case
-
-#def clear_abschluss(id):
-#    '''Löscht die Abschlussbewertung des Falls'''
-#    fields = extract_data_from_case(id)
-#    fields.data['cm_end_art'] = '-1'
-#    fields.data['cm_end_verm'] = '-1'
-#    fields.data['cm_end_sonst'] = '-1'
-#    fields.data['datum_cm_ende'] = None
-#    fields.storeData(id)
-
-def mark_case(id, mark=None):
-    if mark:
-        fields = extract_data_from_case(id, ['fn'])
-        if fields.data['fn']:
-            fields.data['fn'] += '_%s' % mark
-        else:
-            fields.data['fn'] = '_%s' % mark
-        fields.storeData(id)
-
-
-def doc_abschluss(id, to_id=None):
-    if to_id is None: to_id = id
-    try:
-        from_fields = extract_data_from_case(id, ['cm_end_art', 'cm_end_verm',
-                                                  'cm_end_sonst',
-                                                  'datum_cm_ende'])
-        to_fields = extract_data_from_case(to_id, ['cm_dok_end_art',
-                                                   'cm_dok_end_verm',
-                                                   'cm_dok_end_sonst',
-                                                   'cm_dok_datum_beendigung'])
-        to_fields.data['cm_dok_end_art'] = from_fields.data['cm_end_art']
-        to_fields.data['cm_dok_end_verm'] = from_fields.data['cm_end_verm']
-        to_fields.data['cm_dok_end_sonst'] = from_fields.data['cm_end_sonst']
-        to_fields.data['cm_dok_datum_beendigung'] = \
-                                             from_fields.data['datum_cm_ende']
-        to_fields.storeData(to_id)
-    except:
-        traceback.print_exc(file=sys.stderr)
-
-
-def save_formdata(id, data):
-    # Füge alte params aus dem Dialog in der verwaltung hinzu und
-    # schreibe alles weg
-    id = int(id)
-    sparams = session.get('lifetimeparams', {})
-    if unicode(c.casedata.getData('cm2c_t')) != 'None':
-        data['cm2c_t'] = unicode(c.casedata.getData('cm2c_t'))
-        data['cm2c_t'] += "\r\n\r\n" + sparams.get('anmerkungen', '')
-    else:
-        data['cm2c_t'] = sparams.get('anmerkungen', '')
-    del sparams['anmerkungen']
-    data.update(sparams)
-    c.casedata.setData(params=data, ds_id=id)
-
-def extract_data_from_case(case_id=None, fields=DEFAULT_FIELD_LIST,
-                           ignore=COPY_BLACK_LIST):
-    collector = WidgetCollector()
-    for f in fields:
-         #print "trying to get fields under '%s'" % f
-         element = g.formedTree.findByName(f)
-         #print "%s" % element
-         element.visit(collector.visitor)
-
-    keys = [w.getName() for w in collector.widgets if w.getName() not in ignore]
-
-    extractor = DataExtractor()
-
-    if case_id is None:
-        case_id = session['case'].id
-
-    #print "load form id: %s" % case_id
-    #print "load key: %s" % keys
-    extractor.loadData(case_id, keys)
-
-    return extractor
-
-def _set_data(it, data, case_id, do_write=True):
-    # FIXME: Setting data in instance tree seems not to work in this form.
-    # check implementation
-    it.setData(data)
-
-def _get_value(it, id, case_id):
-    real_id = "%s:%s" % (id, case_id)
-    item = it.getItem(real_id)
-    if item:
-        value = item.getValue()
-        log.debug('%s = "%r"' % (real_id, value))
-        return value
-    log.error('Can not find item "%s"' % real_id)
-
-def checkcase(it, id):
-    case_id = id
-    D = _get_value
-
-    end_art = D(it, 'cm_end_art', case_id)
-    c.phase = D(it, 'phase', case_id)
-    c.cm_neuauf_genehm = D(it, 'cm_neuauf_genehm', case_id)
-
-    ## Welche Beendigung?
-    c.erfolgreiche_reintegration = False
-    c.sonstige_beendigung = False
-    if end_art == 1:
-        c.erfolgreiche_reintegration = True
-    elif end_art == 2:
-        c.sonstige_beendigung = True
-
-    # Wieviele Wiederholungen?
-    if D(it, 'cm_wiederauf_genehm_2', case_id) in (1,):
-        c.num_wiederaufnahme = 2
-    elif D(it, 'cm_wiederauf_genehm_1', case_id) in (1,):
-        c.num_wiederaufnahme = 1
-    else:
-        c.num_wiederaufnahme = 0
-
-    # Wieviele Verlängerungen?
-    if D(it, 'cm_datum_verlaengerung_2', case_id):
-        c.num_verlaengerung = 2
-    elif D(it, 'cm_datum_verlaengerung_1', case_id):
-        c.num_verlaengerung = 1
-    else:
-        c.num_verlaengerung = 0
-
-    # Wurde Wiederaufnahme abgelehnt? -> alle Optionen ausblenden
-    if (D(it, 'cm_wiederauf_genehm_1', case_id) in (0,)
-        or D(it, 'cm_wiederauf_genehm_2', case_id) in (0,)):
-        c.disable_all = True
-        c.wiederaufn_abg = True
-    else:
-        c.disable_all = False
-        c.wiederaufn_abg = False
-
-
-    # Verlängerung anzeigen
-    if (not c.disable_all and c.phase in (2,) and c.num_verlaengerung < 2
-        and c.num_wiederaufnahme < 1):
-        c.show_verlaengerung = True
-    else:
-        c.show_verlaengerung = False
-
-    # Wiedervorlage anzeigen
-    if (not c.disable_all
-        and (c.phase in (3,4,5) and c.erfolgreiche_reintegration
-             and c.num_wiederaufnahme < 1
-             or (c.num_wiederaufnahme == 1 and c.phase not in (3, 4, 5)))):
-        c.show_wiedervorlage = True
-    else:
-        c.show_wiedervorlage = False
-
-    # Neuaufnahme anzeigen
-    if (not c.disable_all and c.phase in (3, 4, 5) and c.sonstige_beendigung
-        and c.num_wiederaufnahme < 1 and c.cm_neuauf_genehm not in (0, 1)):
-        c.show_neuaufnahme = True
-    else:
-        c.show_neuaufnahme = False
-
-    # Abbruch anzeigen
-    if not c.disable_all and c.phase in (-1, 0, 1):
-        c.show_abort = True
-    else:
-        c.show_abort = False
-
-
-class CaselifetimeController(BaseController):
-
-    def index(self, id=None):
-        c.form_errors = {}
-        c.form_result = {}
-        factory = InstanceFactory(g.formedTree, PostgresDBInterface())
-        it = factory.loadInstanceTreeByIdentifier(id)
-        case_id = it.getRootNode().getIdentifier()
-        checkcase(it, case_id)
-        D = _get_value
-
-        try:
-            if c.num_wiederaufnahme >= 1:
-                log.debug('a')
-                last_date = D(it, 'cm_wiederauf_datum_bis_1', case_id)
-                if last_date:
-                    c.form_result['cm_wiederauf_datum_bis_2'] = \
-                                  h.dd_mm_YYYY(last_date+timedelta(days=31*3))
-                else:
-                    c.form_result['cm_wiederauf_datum_bis_2'] = ''
-            if c.num_verlaengerung < 1:
-                log.debug('b')
-                begin_cm = D(it, 'datum_cm_start', case_id)
-                if begin_cm:
-                    c.form_result['cm_datum_verlaengerung_1'] = \
-                                   h.dd_mm_YYYY(begin_cm+timedelta(days=458))
-                else:
-                    c.form_result['cm_datum_verlaengerung_1'] = ''
-
-            if c.num_verlaengerung  == 1:
-                log.debug('c')
-                ende_verl1 = D(it, 'cm_datum_verlaengerung_1', case_id)
-                if ende_verl1:
-                    c.form_result['cm_datum_verlaengerung_2'] = \
-                                   h.dd_mm_YYYY(ende_verl1+timedelta(days=31*3))
-                else:
-                    c.form_result['cm_datum_verlaengerung_2'] = ''
-
-        except Exception, err:
-            log.exception(err)
-            c.form_result['cm_wiederauf_datum_bis_2'] = ''
-            c.form_result['cm_datum_verlaengerung_1'] = ''
-            c.form_result['cm_datum_verlaengerung_2'] = ''
-        log.debug(c.form_result)
-        return render('/caselifetime/overview.mako')
-
-    def changeLifetime(self):
-        if request.params.has_key('wiederaufnahme'):
-            return self.reopenAction()
-        elif request.params.has_key('verlaengerung'):
-            return self.extraTimeAction()
-        elif request.params.has_key('neuaufnahme'):
-            return self.renewAction()
-        elif request.params.has_key('abort'):
-            return self.abortAction()
-        else:
-            pass
-        return render('/caselifetime/overview.mako')
-
-    def abortcase(self, id, confirmed='0'):
-        if confirmed == '1':
-            # mark case for deletion
-            case = g.case_factory.loadById(session['case'].id)
-            case.setState(3)
-            c.success_for = ABORT_SUCCESS_HEADER
-            c.success_text = ABORT_SUCCESS_TEXT
-            c.url_ok = h.url_for(controller="/case_overview")
-            return render('caselifetime/dialogs/success_reopen.mako')
-        else:
-            c.confirm_for = ABORT_HEADER_CONFIRM
-            c.question = ABORT_TEXT_CONFIRM
-            c.url_yes = "/caselifetime/abortcase/%s/1" % session['case'].id
-            c.url_no = "/caselifetime/index/"
-            return render('caselifetime/dialogs/confirm_reopen.mako')
-
-    def abortAction(self):
-        return self.abortcase(0)
-        return self.index(session['case'].id)
-
-    def extraTimeAction(self):
-
-        factory = InstanceFactory(g.formedTree, PostgresDBInterface())
-        it = factory.loadInstanceTreeByIdentifier(session['case'].id)
-        case_id = it.getRootNode().getIdentifier()
-        S = _set_data
-        checkcase(it, case_id)
-
-        form_result = {}
-        form_errors = {}
-
-        if c.num_verlaengerung < 1:
-            validator = ExtraTimeFormValidator1()
-        else:
-            validator = ExtraTimeFormValidator2()
-
-        try:
-            # 1. Check. Formencode check general format of date and if value is
-            # present
-            form_result = validator.to_python(request.params)
-            try:
-                # Save method will also do semantic check (dates or in
-                # chronology correct order) 
-                #S(it, form_result, case_id)
-                create_logbook(header='Verlängerung des Integrationsprozess',
-                               text=('Für den Fall wurde eine Verlängerung'
-                                     ' des Integrationsprozess dokumentiert.'))
-                return self.index(session['case'].id)
-            except DataSaveException, err:
-                form_result_1, form_errors = err.toErrorDicts()
-        except formencode.Invalid, error:
-            form_result = error.value
-            form_errors = error.error_dict or {}
-
-        c.form_errors = form_errors
-        c.form_result = form_result
-        return render('/caselifetime/overview.mako')
-
-    def renew_ok(self, id, confirmed='0'):
-        checkcase()
-        if confirmed == '1':
-            data = {}
-            new_case = None
-            try:
-                # create new case and store fields form the old case in
-                # the new case
-                new_case = copy_case(c.casedata.getData('id'),
-                                     ['ee', 'phase-a', 'group-5'],
-                                     COPY_BLACK_LIST)
-                doc_abschluss(c.casedata.getData('id'), new_case.id)
-                data['phase'] = '-1'
-                data['cm2c'] = '1'
-                save_formdata(new_case.id, data)
-                mark_case(new_case.id, 'NA')
-                create_logbook(id=new_case.id, header='Neuaufnahme',
-                               text=('Für den Fall wurde eine Neuaufnahme'
-                                     ' des Integrationsprozess dokumentiert.'))
-
-                # markiere den alten Fall zur Anonymisierung
-                old_case = g.case_factory.loadById(session['case'].id)
-                old_case.setState(4)
-                mark_case(old_case.id, 'NAU')
-                create_logbook(header='Neuaufnahme',
-                               text=('Für den Fall wurde eine Neuaufnahme'
-                                     ' des Integrationsprozess dokumentiert.'))
-            except Exception, err:
-                traceback.print_exc(file = sys.stderr)
-
-            c.success_for = RENEW_SUCCESS_HEADER
-            c.success_text = RENEW_SUCCESS_TEXT
-            c.url_ok = h.url_for(controller="/case/select/%s" % new_case.id)
-            return render('caselifetime/dialogs/success_reopen.mako')
-        else:
-            c.confirm_for = RENEW_HEADER_CONFIRM
-            c.question = RENEW_TEXT_CONFIRM
-            c.url_yes = "/caselifetime/renew_ok/%s/1" % session['case'].id
-            c.url_no = "/caselifetime/index/"
-            return render('caselifetime/dialogs/confirm_reopen.mako')
-
-    def renew_notok(self, id, confirmed='0'):
-        checkcase()
-        if confirmed == '1':
-            data = {}
-            new_case = None
-            try:
-                save_formdata(id, data)
-                create_logbook(id=id, header='Neuaufnahme',
-                               text=('Für den Fall wurde eine nicht'
-                                     ' genehmigte Neuaufnahme des'
-                                     ' Integrationsprozess dokumentiert.'))
-
-            except Exception, err:
-                traceback.print_exc(file=sys.stderr)
-
-            c.success_for = RENEW_2_SUCCESS_HEADER
-            c.success_text = RENEW_2_SUCCESS_TEXT
-            c.url_ok = h.url_for(controller="/case/select/%s" % id)
-            return render('caselifetime/dialogs/success_reopen.mako')
-        else:
-            c.confirm_for = RENEW_2_HEADER_CONFIRM
-            c.question = RENEW_2_TEXT_CONFIRM
-            c.url_yes = "/caselifetime/renew_notok/%s/1" % session['case'].id
-            c.url_no = "/caselifetime/index/"
-            return render('caselifetime/dialogs/confirm_reopen.mako')
-
-    def reopen_ok(self, id, confirmed='0'):
-        checkcase()
-        if confirmed == '1':
-            data = {}
-            try:
-                if c.num_wiederaufnahme < 1:
-                    # Lege neuen Fall an
-                    new_case = copy_case(id, ['ee', 'phase-a', 'group-5',
-                                              'group-18', 'group-27'],
-                                         COPY_BLACK_LIST)
-                    doc_abschluss(id, new_case.id)
-                    data['phase'] = '2'
-                    data['cm2c'] = '1'
-                    save_formdata(new_case.id, data)
-                    copy_field(new_case.id, 'cm_wiederauf_genehm_datum_1',
-                               'datum_cm_start')
-                    copy_field(new_case.id, 'cm_wiederauf_genehm_datum_1',
-                               'erstgespraech')
-                    mark_case(new_case.id, 'WA')
-                    create_logbook(id=new_case.id, header='Wiederaufnahme',
-                                   text=('Für den Fall wurde eine genehmigte'
-                                         ' Wiederaufnahme des'
-                                         ' Integrationsprozess dokumentiert.'))
-
-                    # Markiere alten Fall zur Anonymisierung
-                    old_case = g.case_factory.loadById(id)
-                    old_case.setState(4)
-                    mark_case(old_case.id, 'WAU')
-                    create_logbook(id=id, header='Wiederaufnahme',
-                                   text=('Für den Fall eine Wiederaufnahme des'
-                                         ' Integrationsprozess in einer neuen'
-                                         ' Fallakte durchgeführt.'))
-
-                else:
-                    save_formdata(id, data)
-                    create_logbook(header='Wiederaufnahme',
-                                   text=('Für den Fall wurde eine genehmigte'
-                                         ' Wiederaufnahme des'
-                                         ' Integrationsprozess dokumentiert.'))
-            except Exception, err:
-                traceback.print_exc(file=sys.stderr)
-            if c.num_wiederaufnahme < 1:
-                c.success_for = REOPENOK_1_SUCCESS_HEADER
-                c.success_text = REOPENOK_1_SUCCESS_TEXT
-                c.url_ok = h.url_for(controller="/case/select/%s" % new_case.id)
-            else:
-                c.success_for = REOPENOK_2_SUCCESS_HEADER
-                c.success_text = REOPENOK_2_SUCCESS_TEXT
-                c.url_ok = h.url_for(controller="/case/select_item/0")
-            return render('caselifetime/dialogs/success_reopen.mako')
-        else:
-            if c.num_wiederaufnahme < 1:
-                c.confirm_for = REOPENOK_1_HEADER_CONFIRM
-                c.question = REOPENOK_1_TEXT_CONFIRM
-                c.url_yes = "/caselifetime/reopen_ok/%s/1" % id
-                c.url_no = "/caselifetime/index/"
-            else:
-                c.confirm_for = REOPENOK_2_HEADER_CONFIRM
-                c.question = REOPENOK_2_TEXT_CONFIRM
-                c.url_yes = "/caselifetime/reopen_ok/%s/1" % id
-                c.url_no = "/caselifetime/index/"
-            return render('caselifetime/dialogs/confirm_reopen.mako')
-
-    def reopen_notok(self, id, confirmed='0'):
-        checkcase()
-        data = {}
-        if confirmed == '1':
-            try:
-                # Füge alte params aus dem Dialog in der verwaltung
-                # hinzu und schreibe alles weg
-                save_formdata(id, data)
-                create_logbook(header='Wiederaufnahme',
-                               text=('Für den Fall wurde eine nicht genehmigte'
-                                     ' Wiederaufnahme des Integrationsprozess'
-                                     ' dokumentiert.'))
-            except Exception, err:
-                print err
-
-            c.success_for = REOPENNOTOK_SUCCESS_HEADER
-            c.success_text = REOPENNOTOK_SUCCESS_TEXT
-            c.url_ok = h.url_for(controller="/case/select_item/0")
-            return render('caselifetime/dialogs/success_reopen.mako')
-            return self.index()
-        else:
-            c.confirm_for = REOPENNOTOK_HEADER_CONFIRM
-            c.question = REOPENNOTOK_TEXT_CONFIRM
-            c.url_yes = "/caselifetime/reopen_notok/%s/1" % id
-            c.url_no = "/caselifetime/index/"
-            return render('caselifetime/dialogs/confirm_reopen.mako')
-
-    def reopenAction(self):
-        factory = InstanceFactory(g.formedTree, PostgresDBInterface())
-        it = factory.loadInstanceTreeByIdentifier(session['case'].id)
-        case_id = it.getRootNode().getIdentifier()
-        checkcase(it, case_id)
-        S = _set_data
-        form_result = {}
-        form_errors = {}
-
-        if c.num_wiederaufnahme < 1:
-            if request.params.get('cm_wiederauf_genehm_1') == '0':
-                validator = ReopenFormValidator1abgel()
-            else:
-                validator = ReopenFormValidator1()
-        else:
-            if request.params.get('cm_wiederauf_genehm_2') == '0':
-                validator = ReopenFormValidator2abgel()
-            else:
-                validator = ReopenFormValidator2()
-
-        try:
-            form_result = validator.to_python(request.params)
-            session['lifetimeparams'] = form_result
-            session.save()
-            try:
-                S(it, form_result, case_id, do_write=False)
-                if (form_result.get('cm_wiederauf_genehm_1') == '1'
-                    or form_result.get('cm_wiederauf_genehm_2') == '1'):
-                    return self.reopen_ok(session['case'].id)
-                else:
-                    return self.reopen_notok(session['case'].id)
-            except DataSaveException, err:
-                form_result_1, form_errors = err.toErrorDicts()
-        except formencode.Invalid, error:
-            form_result = error.value
-            form_errors = error.error_dict or {}
-
-        c.form_result = form_result
-        c.form_errors = form_errors
-        return render('/caselifetime/overview.mako')
-
-    def renewAction(self):
-
-        factory = InstanceFactory(g.formedTree, PostgresDBInterface())
-        it = factory.loadInstanceTreeByIdentifier(session['case'].id)
-        case_id = it.getRootNode().getIdentifier()
-        S = _set_data
-        checkcase(it, case_id)
-
-        validator = RenewFormValidator()
-        form_result = {}
-        form_errors = {}
-
-        try:
-            form_result = validator.to_python(request.params)
-            session['lifetimeparams'] = form_result
-            session.save()
-            #try:
-            #    S(it, form_result, case_id, do_write = False)
-            #    if form_result.get('cm_neuauf_genehm') == '1':
-            #        return self.renew_ok(0)
-            #    else:
-            #        return self.renew_notok(session['case'].id)
-            #except DataSaveException, err:
-            #    form_result_1, form_errors = err.toErrorDicts()
-
-        except formencode.Invalid, error:
-            form_result = error.value
-            form_errors = error.error_dict or {}
-
-        c.form_result = form_result
-        c.form_errors = form_errors
-        return render('/caselifetime/overview.mako')
-



More information about the Mpuls-commits mailing list