[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