[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