[Mpuls-commits] r586 - in waska/trunk: . waskaweb/controllers waskaweb/model
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Wed Aug 26 17:13:57 CEST 2009
Author: frank
Date: 2009-08-26 17:13:56 +0200 (Wed, 26 Aug 2009)
New Revision: 586
Modified:
waska/trunk/ChangeLog.txt
waska/trunk/waskaweb/controllers/case.py
waska/trunk/waskaweb/controllers/statement.py
waska/trunk/waskaweb/model/case.py
Log:
Complete changes missed in last release
Modified: waska/trunk/ChangeLog.txt
===================================================================
--- waska/trunk/ChangeLog.txt 2009-08-26 15:02:56 UTC (rev 585)
+++ waska/trunk/ChangeLog.txt 2009-08-26 15:13:56 UTC (rev 586)
@@ -1,3 +1,21 @@
+2009-08-26 Frank Koormann <frank.koormann at intevation.de>
+
+ Complete changes missed in last release (some gaps left open to
+ anonymize cases)
+
+ * waskaweb/model/case.py (State.phasesAreCompleted):
+ Omit entry phase (always false).
+
+ * waskaweb/controllers/statement.py: Updated messages.
+ (StatementController.declinePrivacyStatement): phasesAreCompleted and
+ _completeAnonymizedCase added.
+
+ * waskaweb/controllers/case.py: Updated messages.
+ (_determineAnonymizedCaseEndPhase): Helper, determine phase to be set.
+ (CaseController.markForAnonymizeFromOverview,
+ CaseController.markForAnonymize): Different messages depending on phase.
+ waskaweb/model/case.py
+
2009-08-25 Frank Koormann <frank.koormann at intevation.de>
Release 1.5.3
Modified: waska/trunk/waskaweb/controllers/case.py
===================================================================
--- waska/trunk/waskaweb/controllers/case.py 2009-08-26 15:02:56 UTC (rev 585)
+++ waska/trunk/waskaweb/controllers/case.py 2009-08-26 15:13:56 UTC (rev 586)
@@ -71,7 +71,9 @@
from waskaweb.model.phases_factory import phases_pairs
from waskaweb.model.phases import Phase
-from waskaweb.model.phase_transition import symbol_phase, phase_neighbors
+from waskaweb.model.phase_transition import symbol_phase, phase_neighbors, \
+ PHASE_DESCRIPTIONS, phase_start, \
+ CLEAR_START, CLEAR_ENDE
from waskaweb.lib.db import db
from waskaweb.lib.xmlimport import importFromXML
@@ -106,7 +108,7 @@
ANONYMIZE_CONFIRM = u"""Fallakte anonymisieren?"""
ANONYMIZE_CONFIRM_TEXT = u"""Wollen Sie wirklich die Fallakte anonymisieren und die personenbezogenen Daten unwiederbringlich verlieren?. Die Fallakte steht danach nicht mehr zur Bearbeitung zur Verfügung. Die anonymisierte Fallakte wird weiterhin in der Auswertung berücksichtigt werden."""
-MARKANONYMIZE_CONFIRM_TEXT = u"""Wollen Sie wirklich die Fallakte zum Anonymisieren freigeben? Die Fallakte steht Ihnen danach nicht mehr zur Bearbeitung zur Verfügung und wird der Administration zur Anonymisierung vorgelegt."""
+MARKANONYMIZE_CONFIRM_TEXT = u"""<p>Wollen Sie wirklich die Fallakte zum Anonymisieren freigeben? Die Fallakte steht Ihnen danach nicht mehr zur Bearbeitung zur Verfügung und wird der Administration zur Anonymisierung vorgelegt.</p><p><b>Die Fallakte wird in der Phase </b>'%s'<b> anonymisiert und wird in Abhängigkeit davon als Case Management Fall oder nur als Beratungsfall bei entsprechenden Auswertungen berücksichtigt!</b>"""
ANONYMIZE_SUCCESS = u"""Fallakte anonymisiert!"""
ANONYMIZE_SUCCESS_TEXT = u"""Die personenbezogenen Daten der Fallakte wurden gelöscht und die Fallakte aus der Übersicht entfernt. Bitte klicken Sie auf "OK", um zur Fallaktenübersicht fortzufahren."""
@@ -116,7 +118,9 @@
MARKANONYMIZE_SUCCESS_TEXT = u"""Die Fallakten wurde zur Anonymisierung freigeben und liegt der Administration zur endgültigen Anonymisierung vor. Bitte klicken Sie auf "OK", um zur Fallaktenübersicht fortzufahren."""
MARKANONYMIZE_INCOMPLETE_PHASE_FAILED = u"""Anonymisierung nicht möglich."""
-MARKANONYMIZE_INCOMPLETE_PHASE_FAILED_TEXT = u"""<p>Eine Anonymisierung ist für dieser Fallakte derzeit nicht möglich: Es sind nur konsistente Fallakten mit beendeter Phase anonymisierbar.</p><p>Bitte prüfen Sie, ob die Daten der Fallakte konsistent sind und ob alle nötigen Pflichtfelder für die aktuelle oder zurückliegende Phasen ausgefüllt wurden.</p><p>Erfüllen Sie die genannten Anforderungen zur Anonymisierung und wiederholen Sie den Vorgang.<br>Klicken Sie auf "OK", um fortzufahren.</p>"""
+MARKANONYMIZE_INCOMPLETE_PHASE_FAILED_TEXT = u"""<p>Eine Anonymisierung ist für diese Fallakte derzeit nicht möglich: Es sind nur Fallakten anonymisierbar, die ausreichend valide sind und keine laufende Phase haben.</p><p>Bitte prüfen Sie, ob die Daten der Fallakte konsistent sind und ob alle nötigen Pflichtfelder für die aktuelle oder zurückliegende Phasen ausgefüllt wurden. Beenden Sie die laufende Phase.</p><p>Erfüllen Sie die genannten Anforderungen zur Anonymisierung und wiederholen Sie den Vorgang.<br>Klicken Sie auf "OK", um fortzufahren.</p>"""
+MARKANONYMIZE_CLEARING_PHASE_FAILED_TEXT = u"""<p>Eine Anonymisierung ist für Fälle in der Eingangsanamnese nicht vorgesehen.</p><p>Bitte löschen Sie diesen Fall, wenn die Betreuung in der Eingangsanamnese abgebrochen wurde.</p><p>Klicken Sie auf "OK", um fortzufahren.</p>"""
+
IMPORT_FAILED = u"""Fallakte wurde nicht importiert!"""
IMPORT_FAILED_TEXT = u"""Bei dem Importieren der Datei ist ein Fehler aufgetreten. Es konnten keine Daten der Fallakte importiert werden. Klicken Sie auf "OK", um zum Import-Dialog fortzufahren."""
@@ -219,6 +223,17 @@
return render('/statement/dialogs/missing_statement.mako')
return decorator(validate)
+
+def _determineAnonymizedCaseEndPhase(case):
+ '''Determine the phase to be set for the anonymized case'''
+ current_phase = case.getState().getPhase()
+ if phase_start(current_phase):
+ end_phase = current_phase + 1
+ else:
+ end_phase = current_phase
+ return end_phase
+
+
class CaseController(CasebaseController):
def __before__(self):
@@ -1237,7 +1252,12 @@
# are filled)
if (not case.getState().phasesAreConsistent() or not case.getState().phasesAreCompleted()) and case.isYoungerThan(INCONSISTENCY_CHECK_AFTER):
c.notification_for = MARKANONYMIZE_INCOMPLETE_PHASE_FAILED
- c.notification_text = MARKANONYMIZE_INCOMPLETE_PHASE_FAILED_TEXT
+ if case.getState().getPhase() in (CLEAR_START, CLEAR_ENDE):
+ c.notification_text = \
+ MARKANONYMIZE_CLEARING_PHASE_FAILED_TEXT
+ else:
+ c.notification_text = \
+ MARKANONYMIZE_INCOMPLETE_PHASE_FAILED_TEXT
c.url_ok = h.url_for(controller="/case_overview")
return render('/casemanagement/dialogs/failed_markanonymize_phase_incomplete_from_overview.mako')
if confirmed == 1:
@@ -1249,7 +1269,8 @@
return render('/casemanagement/dialogs/success_markanonymize.mako')
else:
c.confirm_for = ANONYMIZE_CONFIRM
- c.question = MARKANONYMIZE_CONFIRM_TEXT
+ c.question = MARKANONYMIZE_CONFIRM_TEXT % \
+ PHASE_DESCRIPTIONS[_determineAnonymizedCaseEndPhase(case)]
c.url_yes = "/case/markForAnonymize/%s/1" % id
c.url_no = h.url_for(controller="/case_overview")
return render('/casemanagement/dialogs/confirm_markanonymizeFromOverview.mako')
@@ -1268,7 +1289,12 @@
# are filled)
if (not case.getState().phasesAreConsistent() or not case.getState().phasesAreCompleted()) and case.isYoungerThan(INCONSISTENCY_CHECK_AFTER):
c.notification_for = MARKANONYMIZE_INCOMPLETE_PHASE_FAILED
- c.notification_text = MARKANONYMIZE_INCOMPLETE_PHASE_FAILED_TEXT
+ if case.getState().getPhase() in (CLEAR_START, CLEAR_ENDE):
+ c.notification_text = \
+ MARKANONYMIZE_CLEARING_PHASE_FAILED_TEXT
+ else:
+ c.notification_text = \
+ MARKANONYMIZE_INCOMPLETE_PHASE_FAILED_TEXT
c.url_ok = "/case/digest/%s" % id
return render('/casemanagement/dialogs/failed_markanonymize_phase_incomplete.mako')
if confirmed == 1:
@@ -1280,7 +1306,8 @@
return render('/casemanagement/dialogs/success_markanonymize.mako')
else:
c.confirm_for = ANONYMIZE_CONFIRM
- c.question = MARKANONYMIZE_CONFIRM_TEXT
+ c.question = MARKANONYMIZE_CONFIRM_TEXT % \
+ PHASE_DESCRIPTIONS[_determineAnonymizedCaseEndPhase(case)]
c.url_yes = "/case/markForAnonymize/%s/1" % id
c.url_no = "/case/digest/%s" % id
return render('/casemanagement/dialogs/confirm_markanonymize.mako')
Modified: waska/trunk/waskaweb/controllers/statement.py
===================================================================
--- waska/trunk/waskaweb/controllers/statement.py 2009-08-26 15:02:56 UTC (rev 585)
+++ waska/trunk/waskaweb/controllers/statement.py 2009-08-26 15:13:56 UTC (rev 586)
@@ -38,11 +38,17 @@
from waskaweb.model.case import *
from waskaweb.model.statement import *
from waskaweb.lib.security import checkRole
+from waskaweb.lib.search import INCONSISTENCY_CHECK_AFTER
+from waskaweb.model.phase_transition import PHASE_DESCRIPTIONS
from waskaweb.controllers.case import ANONYMIZE_CONFIRM, \
MARKANONYMIZE_CONFIRM_TEXT, \
MARKANONYMIZE_SUCCESS, \
- MARKANONYMIZE_SUCCESS_TEXT
+ MARKANONYMIZE_SUCCESS_TEXT, \
+ MARKANONYMIZE_INCOMPLETE_PHASE_FAILED, \
+ MARKANONYMIZE_INCOMPLETE_PHASE_FAILED_TEXT,\
+ MARKANONYMIZE_CLEARING_PHASE_FAILED_TEXT, \
+ _determineAnonymizedCaseEndPhase
log = logging.getLogger(__name__)
@@ -57,6 +63,10 @@
#SET_EE_DECLINE_SUCCESS_TEXT = u"""Die personenbezogenen Daten der Fallakte wurden gelöscht und die Fallakte aus der Übersicht entfernt. Bitte klicken Sie auf "OK", um zur Fallaktenübersicht fortzufahren."""
SET_EE_DECLINE_FAILED_HEADER = u"""Fallakte wurde nicht anonymisiert!"""
SET_EE_DECLINE_FAILED_TEXT = u"""Bei dem Anonymisieren der Fallakte ist ein Fehler aufgetreten. Die Fallakte wurde nicht anonymisiert. Bitte klicken Sie auf "OK", um zur Fallaktenübersicht fortzufahren."""
+MARK_EE_DECLINE_INCOMPLETE_PHASE_FAILED = u"""Die Einwilligungserklärung wurde nicht zurückgezogen!"""
+MARK_EE_DECLINE_INCOMPLETE_PHASE_FAILED_TEXT = u"""<p>Das Zurückziehen der Einwilligungserklärung führt zur Anonymisierung der Akte.</p>%s""" % MARKANONYMIZE_INCOMPLETE_PHASE_FAILED_TEXT
+MARK_EE_DECLINE_CLEARING_PHASE_FAILED_TEXT = u"""<p>Das Zurückziehen der Einwilligungserklärung führt zur Anonymisierung der Akte.</p>%s""" % MARKANONYMIZE_CLEARING_PHASE_FAILED_TEXT
+
class StatementController(CasebaseController):
def __before__(self):
@@ -148,6 +158,16 @@
confirmed = self._checkBool(confirmed)
case = self._loadCase(id)
c.form_navigation = self._getFormNavigation()
+ if (not case.getState().phasesAreConsistent() or not case.getState().phasesAreCompleted()) and case.isYoungerThan(INCONSISTENCY_CHECK_AFTER):
+ c.notification_for = MARK_EE_DECLINE_INCOMPLETE_PHASE_FAILED
+ if case.getState().getPhase() in (CLEAR_START, CLEAR_ENDE):
+ c.notification_text = \
+ MARK_EE_DECLINE_CLEARING_PHASE_FAILED_TEXT
+ else:
+ c.notification_text = \
+ MARK_EE_DECLINE_INCOMPLETE_PHASE_FAILED_TEXT
+ c.url_ok = "/case/digest/%s" % id
+ return render('/casemanagement/dialogs/failed_markanonymize_phase_incomplete.mako')
if confirmed:
try:
statement = case.getPrivacyStatement()
@@ -171,7 +191,8 @@
return render('/statement/dialogs/ee_decline_failed.mako')
else:
c.confirm_for = ANONYMIZE_CONFIRM
- c.question = MARKANONYMIZE_CONFIRM_TEXT
+ c.question = MARKANONYMIZE_CONFIRM_TEXT % \
+ PHASE_DESCRIPTIONS[_determineAnonymizedCaseEndPhase(case)]
c.url_yes = h.url_for(
controller="statement", \
action="declinePrivacyStatement", \
Modified: waska/trunk/waskaweb/model/case.py
===================================================================
--- waska/trunk/waskaweb/model/case.py 2009-08-26 15:02:56 UTC (rev 585)
+++ waska/trunk/waskaweb/model/case.py 2009-08-26 15:13:56 UTC (rev 586)
@@ -52,7 +52,8 @@
from waskaweb.model.statement import PrivacyStatement, AidPlanStatement, DiscretionStatement
from waskaweb.model.document import listDocuments
-from waskaweb.model.phase_transition import phase_description, phase_end
+from waskaweb.model.phase_transition import phase_description, phase_end, \
+ CLEAR_START, CLEAR_ENDE
from waskaweb.model.phases_factory import RequiredFields, currentPhase, phases_pairs
from waskaweb.lib.helpers import dd_mm_yyyy_HH_MM, dd_mm_YYYY
@@ -1176,7 +1177,10 @@
error_cases = Set(c.id for c in CaseOverview().search(search_str))
if case.id in error_cases: return False
- if phase_end(cf) and current_phase.isRecursiveComplete():
+ # No Anonymization for Clearing Phase
+ if cf == CLEAR_START or cf == CLEAR_ENDE:
+ return False
+ elif phase_end(cf) and current_phase.isRecursiveComplete():
return True
else:
return False
More information about the Mpuls-commits
mailing list