[Mpuls-commits] r426 - in wasko/trunk: . waskaweb/controllers waskaweb/lib
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Tue Mar 24 16:47:15 CET 2009
Author: torsten
Date: 2009-03-24 16:47:10 +0100 (Tue, 24 Mar 2009)
New Revision: 426
Modified:
wasko/trunk/ChangeLog.txt
wasko/trunk/waskaweb/controllers/caselifetime.py
wasko/trunk/waskaweb/lib/helpers.py
Log:
Added automatic calculation of date fpr second "wiederaufnahme"
Modified: wasko/trunk/ChangeLog.txt
===================================================================
--- wasko/trunk/ChangeLog.txt 2009-03-24 11:32:36 UTC (rev 425)
+++ wasko/trunk/ChangeLog.txt 2009-03-24 15:47:10 UTC (rev 426)
@@ -6,6 +6,10 @@
waskaweb/controllers/case.py: Some cleanup in code for
"neuaufnahme". Additional fixes in pagesaving code.
+ * waskaweb/controllers/caselifetime.py,
+ waskaweb/lib/helpers.py: Added automatic calculation of second date
+ for "wiederaufnahme"
+
2009-03-23 Torsten Irlaender <torsten.irlaender at intevation.de>
Fixed issue93
Modified: wasko/trunk/waskaweb/controllers/caselifetime.py
===================================================================
--- wasko/trunk/waskaweb/controllers/caselifetime.py 2009-03-24 11:32:36 UTC (rev 425)
+++ wasko/trunk/waskaweb/controllers/caselifetime.py 2009-03-24 15:47:10 UTC (rev 426)
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
import logging, sys
-from datetime import datetime
+from datetime import datetime, timedelta
import traceback
import formencode
from waskaweb.controllers.CaseBase import CasebaseController
@@ -17,14 +17,20 @@
log = logging.getLogger(__name__)
-REOPENOK_HEADER_CONFIRM = u"Fall wiederaufnehmen?"
-REOPENOK_TEXT_CONFIRM = u"Wollen Sie den Fall wiederaufnehmen? Dabei werden Teile der Abschlussbewertung in die Eingangsdokumentation übertragen und die bestehende Abschlussdokumentation gelöscht."
+REOPENOK_1_HEADER_CONFIRM = u"Fall wiederaufnehmen?"
+REOPENOK_1_TEXT_CONFIRM = u"Wollen Sie den Fall wiederaufnehmen? Dabei wird die aktuelle Fallakte anonymisiert und relevanten Teile der Fallakte aus Phase A und Phase B in eine neue Fallakte kopiert."
+
+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, das keine Genehmigung für die Wiederaufnahme vorliegt! Wenn Sie fortfahren, wird keine weitere Wiederaufnahme, Verlängerun oder Neuaufnahme mehr möglich sein."
-REOPENOK_SUCCESS_HEADER = u"Fallakte erfolgreich wiederaufgenommen."
-REOPENOK_SUCCESS_TEXT = u'Die Fallakte wurde erfolgreich wiederaufgenommen. Klicken Sie auf "OK", um zur "Eingangsdokumentation" der Fallakte zu gelangen.'
+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.'
@@ -204,6 +210,13 @@
c.form_result = {}
checkcase()
c.form_navigation = self._getFormNavigation()
+ try:
+ if c.num_wiederaufnahme >= 1:
+ last_date = c.casedata.getData('cm_wiederauf_datum_bis_1')
+ c.form_result['cm_wiederauf_datum_bis_2'] = dd_mm_YYYY(last_date+timedelta(days=31*3))
+ except Exception, err:
+ print traceback.print_exc(file=sys.stderr)
+ c.form_result['cm_wiederauf_datum_bis_1'] = ''
return render('/caselifetime/overview.mako')
def changeLifetime(self):
@@ -344,27 +357,48 @@
c.form_navigation = self._getFormNavigation()
if confirmed == '1':
data = {}
- #copy data
- doc_abschluss(id)
- #lösche alte abschlussbewertung und setze phase
- if c.num_wiederaufnahme < 1:
- data['phase'] = '2'
- data['cm2c'] = '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 genehmigte Wiederaufnahme des Integrationsprozess dokumentiert.')
+ if c.num_wiederaufnahme < 1:
+ # Lege neuen Fall an
+ new_case = copy_case(id)
+ doc_abschluss(new_case.id)
+ clear_abschluss(new_case.id)
+ data['phase'] = '2'
+ data['cm2c'] = '1'
+ save_formdata(new_case.id, data)
+ 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
+ factory = CaseFactory()
+ old_case = factory.loadById(id)
+ old_case.setState(4)
+ 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)
- c.success_for = REOPENOK_SUCCESS_HEADER
- c.success_text = REOPENOK_SUCCESS_TEXT
- c.url_ok = h.url_for(controller="/case/select_item/0")
+ 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:
- c.confirm_for = REOPENOK_HEADER_CONFIRM
- c.question = REOPENOK_TEXT_CONFIRM
- c.url_yes = "/caselifetime/reopen_ok/%s/1" % id
- c.url_no = "/caselifetime/index/"
+ 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'):
Modified: wasko/trunk/waskaweb/lib/helpers.py
===================================================================
--- wasko/trunk/waskaweb/lib/helpers.py 2009-03-24 11:32:36 UTC (rev 425)
+++ wasko/trunk/waskaweb/lib/helpers.py 2009-03-24 15:47:10 UTC (rev 426)
@@ -117,10 +117,13 @@
retval = locale.format("%.2f",(number),1)
return retval
-def replaceNewlines(value):
- value = value.replace('\r\n', '<br>')
- value = value.replace('\n', '<br>')
- value = value.replace('\r', '<br>')
+def replaceNewlines(value=''):
+ try:
+ value = value.replace('\r\n', '<br>')
+ value = value.replace('\n', '<br>')
+ value = value.replace('\r', '<br>')
+ except:
+ return ''
return value
def dd_mm_YYYY(d, empty = ''):
More information about the Mpuls-commits
mailing list