[Mpuls-commits] r3584 - in wasko/trunk: . waskoweb/controllers waskoweb/model waskoweb/templates/privacy

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Fri Sep 10 13:44:26 CEST 2010


Author: roland
Date: 2010-09-10 13:44:26 +0200 (Fri, 10 Sep 2010)
New Revision: 3584

Added:
   wasko/trunk/waskoweb/controllers/privacy.py
   wasko/trunk/waskoweb/model/statement.py
   wasko/trunk/waskoweb/templates/privacy/discretion_statement.html
Modified:
   wasko/trunk/ChangeLog
   wasko/trunk/waskoweb/model/agencysettings.py
   wasko/trunk/waskoweb/model/case.py
   wasko/trunk/waskoweb/templates/privacy/list_statements.mako
Log:
issue1076: List all available statements

Modified: wasko/trunk/ChangeLog
===================================================================
--- wasko/trunk/ChangeLog	2010-09-10 07:07:21 UTC (rev 3583)
+++ wasko/trunk/ChangeLog	2010-09-10 11:44:26 UTC (rev 3584)
@@ -1,5 +1,15 @@
 2010-09-03  Roland Geider  <roland.geider at intevation.de>
 
+	* waskoweb/model/case.py,
+	  waskoweb/model/statement.py,
+	  waskoweb/model/agencysettings.py,
+	  waskoweb/controllers/privacy.py,
+	  waskoweb/templates/privacy/list_statements.mako,
+	  waskoweb/templates/privacy/discretion_statement.html: issue1076:
+	  List all available statements
+
+2010-09-03  Roland Geider  <roland.geider at intevation.de>
+
 	* waskoweb/public/images/mpuls.ico: issue619 updated favicon
 
 2010-09-09  Torsten Irländer <torsten.irlaender at intevation.de>

Added: wasko/trunk/waskoweb/controllers/privacy.py
===================================================================
--- wasko/trunk/waskoweb/controllers/privacy.py	2010-09-10 07:07:21 UTC (rev 3583)
+++ wasko/trunk/waskoweb/controllers/privacy.py	2010-09-10 11:44:26 UTC (rev 3584)
@@ -0,0 +1,27 @@
+# -*- coding: utf-8 -*-
+
+import logging
+
+from pylons import app_globals as g
+
+from mpulsweb.lib.base import render, c
+from mpulsweb.lib.translation import _
+
+from mpulsweb.controllers.privacy import PrivacyController
+from mpulsweb.lib.security import checkRole
+
+
+class PrivacyController(PrivacyController):
+    
+    @checkRole('cm')
+    def printDiscretionStatement(self, id):
+        
+        """ WASKO-specific Discretion Statement """
+        
+        id = self._checkInt(id)
+        case = self._loadCase(id)
+        statement = case.getDiscretionStatement()
+        c.content = statement.fillout()
+        return render('privacy/default_statement.mako')
+
+# vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8:
\ No newline at end of file

Modified: wasko/trunk/waskoweb/model/agencysettings.py
===================================================================
--- wasko/trunk/waskoweb/model/agencysettings.py	2010-09-10 07:07:21 UTC (rev 3583)
+++ wasko/trunk/waskoweb/model/agencysettings.py	2010-09-10 11:44:26 UTC (rev 3584)
@@ -48,4 +48,10 @@
 
 class Agency(Agency):
     def getEvaluationId(self):
-       return unicode(str(self.conf.get('evaluation_id', '')), 'utf-8')
\ No newline at end of file
+       return unicode(str(self.conf.get('evaluation_id', '')), 'utf-8')
+    
+    def getDiscretionStatement(self):
+        
+        """ New function for the WASKO-specific discretion statement """
+        
+        return render('/privacy/discretion_statement.html')
\ No newline at end of file

Modified: wasko/trunk/waskoweb/model/case.py
===================================================================
--- wasko/trunk/waskoweb/model/case.py	2010-09-10 07:07:21 UTC (rev 3583)
+++ wasko/trunk/waskoweb/model/case.py	2010-09-10 11:44:26 UTC (rev 3584)
@@ -34,9 +34,12 @@
 
 from mpulsweb.model.user import UserObject
 from mpulsweb.model.agencysettings import Agency
+from mpulsweb.model.statement import PrivacyStatement
 from mpulsweb.model.case import MpulsCase, MpulsCaseFactory, \
      MpulsCaseOverview, MpulsCaseBundle, MpulsCaseState
 
+from waskoweb.model.statement import DiscretionStatement
+
 log = logging.getLogger(__name__)
 
 # SQL STATEMENTS
@@ -114,5 +117,19 @@
     #    finally:
     #        db.recycleConnection(con, cur)
     #    return self.editor
+    
+    def getDiscretionStatement(self):
+        self.discretion_statement = None
+        """Returns the discretion statement of the case"""
+        if not self.discretion_statement is None:
+            return self.discretion_statement
+        try:
+            # Create privacy_statement
+            self.discretion_statement = DiscretionStatement(self, Agency())
+            return self.discretion_statement
+        except:
+            self.discretion_statement = None
+            raise
+        return None
 
 # vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

Added: wasko/trunk/waskoweb/model/statement.py
===================================================================
--- wasko/trunk/waskoweb/model/statement.py	2010-09-10 07:07:21 UTC (rev 3583)
+++ wasko/trunk/waskoweb/model/statement.py	2010-09-10 11:44:26 UTC (rev 3584)
@@ -0,0 +1,27 @@
+# -*- coding: utf-8 -*-
+
+from string import Template
+from cgi import escape
+
+import mpulsweb.lib.helper.filters as F
+
+from mpulsweb.model.statement import Statement
+from waskoweb.model.agencysettings import Agency
+
+class DiscretionStatement(Statement):
+    def fillout(self):
+        self.agency = Agency()
+        s = {
+            'VORNAME': escape(F.NA(self.case.first_name)),
+            'NACHNAME': escape(F.NA(self.case.last_name)),
+            'PLZ': escape(F.NA(self.case.plz)),
+            'STRASSE': escape(F.NA(self.case.street)),
+            'STRASSENR': escape(F.NA(self.case.streetnr)),
+            'ORT': escape(F.NA(self.case.city)),
+            'KA_NAME': escape(F.NA(self.agency.getName())),
+            'KA_ADRESSE': escape(F.NA(self.agency.getAddress())),
+            'KA_SPEICHERDAUER': escape(F.NA(self.agency.getMaxSavetime()))
+            }
+        return Template(self.agency.getDiscretionStatement()).safe_substitute(s)
+
+# vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8:
\ No newline at end of file

Added: wasko/trunk/waskoweb/templates/privacy/discretion_statement.html
===================================================================
--- wasko/trunk/waskoweb/templates/privacy/discretion_statement.html	2010-09-10 07:07:21 UTC (rev 3583)
+++ wasko/trunk/waskoweb/templates/privacy/discretion_statement.html	2010-09-10 11:44:26 UTC (rev 3584)
@@ -0,0 +1,254 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+<title>Einwilligungserklärung</title>
+<meta name="generator" content="Bluefish 1.0.7">
+<meta name="date" content="2010-10-09T14:00:00+0100">
+<meta name="copyright" content="Intevation GmbH">
+<meta name="keywords" content="">
+<meta name="description" content="">
+<meta name="ROBOTS" content="NOINDEX, NOFOLLOW">
+<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8">
+<meta http-equiv="content-style-type" content="text/css">
+<meta http-equiv="expires" content="0">
+
+<link href="/styles/all.css" media="all" rel="stylesheet" type="text/css">
+<link href="/styles/print.css" media="screen" rel="stylesheet" type="text/css">
+
+<style type="text/css">
+.statement_content {
+        width: 90%;
+        font-size: 0.90em;
+	margin-bottom: 5em;
+}
+.statement_signs {
+        width: 90%;
+        font-size: 0.90em;
+	margin: 4em 0;
+}
+.statement_highlight {
+        background: #D9D9D9;
+        padding: 0.25em 0;
+        margin: 1em 0;
+}
+.table_a {
+        text-align: left;
+        border: 0;
+}
+.table_b {
+        text-align: left;
+        border: 0;
+        height: 1em;
+        vertical-align: bottom;
+}
+</style>
+<body>
+<h1>Einwilligung zur Übermittlung personenbezogener Daten an die
+Koordinierungsstelle -/- 
+</h1>
+<div class="statement_content">
+<p style="font-size:0.8em;"> 
+zur Verwendung gegenüber (bitte markieren und Person sowie Organisation mit Sitz/Ort angeben)
+<div class="statement_highlight">Vertrauenspersonen mit Schweigepflicht gem.
+§203 StGB (Schweigepflichtentbindung beachten!):</div>
+</p>
+<table cellspacing=5 cellpadding=0 width="100%" border=0>
+  <tbody>
+  <tr>
+
+    <td class="table_a">
+    ( ) Arzt oder sonst. Angehörige v. Heilberufen:
+    </td>
+  </tr>
+  <tr>
+    <td class="table_b">
+    ______________________________
+    </td>
+  </tr>
+  <tr>
+
+    <td class="table_a">
+    ( ) Berufspsychologen, Sozialarbeiter bzw. Sozialpädagoge 
+    </td>
+  </tr>
+  <tr>
+    <td class="table_b">
+    ______________________________
+    </td>
+  </tr>
+  <tr>
+
+    <td class="table_a">
+    ( ) Ehe-, Familien-, Jugend-, Schwangerschaftsberater 
+    </td>
+  </tr>
+  <tr>
+    <td class="table_b">
+    ______________________________
+    </td>
+  </tr>
+  <tr>
+
+    <td class="table_a">
+    ( ) Amtsträger bzw. für den öffentlichen Dienst Verpflichtete 
+    </td>
+  </tr>
+  <tr>
+    <td class="table_b">
+    ______________________________
+    </td>
+  </tr>
+  <tr>
+
+    <td class="table_a">
+    ( ) Sonstige (z.B. Rechtsanwalt)
+    </td>
+  </tr>
+  <tr>
+    <td class="table_b">
+    ______________________________
+    </td>
+  </tr>
+  </tbody>
+
+</table>
+<div class="statement_highlight">
+Sonstige Dritte:
+</div>
+<table cellspacing=5 cellpadding=0 width="100%" border=0>
+  <tbody>
+  <tr>
+    <td class="table_a">
+    ( ) Schule: 
+    </td>
+  </tr>
+  <tr>
+
+    <td class="table_b">
+    ______________________________
+    </td>
+  </tr>
+  <tr>
+    <td class="table_a">
+    ( ) Sonstige verantwortliche Stelle 
+    </td>
+  </tr>
+  <tr>
+
+    <td class="table_b">
+    ______________________________
+    </td>
+  </tr>
+  </tbody>
+</table>
+<p>
+Hiermit willige ich darin ein, dass die o.g. Person bzw. verantwortliche Stelle folgende Arten personenbezogener
+Daten über mich an die Koordinierungsstelle -/- übermittelt, soweit es nicht Daten Dritter sind:
+</p>
+<table cellspacing=5 cellpadding=0 width="100%" border=0>
+  <tbody>
+  <tr>
+
+    <td class="table_a">
+    ( ) Stammdaten (z.B Name, Adresse etc.): 
+    </td>
+  </tr>
+  <tr>
+    <td class="table_a">
+    ( ) Angaben zu schulischen Leistungen / (voraussichtlichem) Schulabschluss 
+    </td>
+  </tr>
+  <tr>
+
+    <td class="table_a">
+    ( ) Angaben über besondere Fähigkeiten oder Kenntnisse  
+    </td>
+  </tr>
+  <tr>
+    <td class="table_a">
+    ( ) Angaben über beantragte/gewährte/verweigerte Leistungen nach dem Sozialgesetzbuch
+    </td>
+  </tr>
+  <tr>
+
+    <td class="table_a">
+    ( ) ärztliche Angaben/Diagnosen/Befunde 
+    </td>
+  </tr>
+  <tr>
+    <td class="table_a">
+    ( ) Sonstige:  ______________________________
+    </td>
+  </tr>
+  </tbody>
+
+</table>
+<p>
+Die Angaben dienen dazu, die Koordinierungsstelle -/- bei meiner beruflichen und/oder sozialen
+Eingliederung zu unterstützen. Diese Unterstützungsleistungen werden von mir freiwillig in Anspruch genommen,
+ich kann diese jederzeit beenden. Die Koordinierungsstelle ist in diesem Fall verpflichtet, sämtliche Daten über
+mich - auch die auf Grundlage dieser Einwilligungserklärung - zu löschen. Auch diese Einwilligung zur
+Übermittlung kann ich jederzeit mit Wirkung für die Zukunft widerrufen.
+</p>
+<div style="font-size:1.2em;">
+<strong>( ) Schweigepflichtentbindung</strong> (bitte markieren, soweit erforderlich)
+</div>
+<p>
+Soweit die Übermittlung der Angaben durch einen Geheimnisträger nach §203 StGB erfolgen soll (Arzt,
+Jugendberater, Sozialarbeiter u.a.) entbinde ich diesen hiermit zu dem vorgenannten Zweck von seiner
+Schweigepflicht.
+</p>
+</div>
+<div class="statement_signs">
+<table cellspacing=5 cellpadding=0 width="100%" border=0>
+  <tbody>
+
+  <tr>
+    <td width="33%"class="table_a">
+    $VORNAME $NACHNAME
+    </td>
+    <td widht="33%"style="text-align: center; border:0">
+    </td>
+    <td style="text-align: right; border:0">
+    </td>
+  </tr>
+
+  <tr>
+    <td class="table_a" style="border-top-color:#000; border-width:1px; border-top-style:solid">
+    Vorname, Nachname</td>
+    <td style="text-align: center; border:0; border-top-color:#000; border-width:1px; border-top-style:solid">
+    Datum</td>
+    <td style="text-align: right; border:0; border-top-color:#000; border-width:1px; border-top-style:solid">
+    Unterschrift</td>
+
+  </tr>
+  </tbody>
+</table>
+<p>&nbsp;</p>
+<table cellspacing=5 cellpadding=0 width="100%" border=0>
+  <tbody>
+  <tr>
+    <td width="33%"class="table_a">
+    </td>
+    <td widht="33%"style="text-align: center; border:0">
+
+    </td>
+    <td style="text-align: right; border:0">
+    </td>
+  </tr>
+  <tr>
+    <td class="table_a" style="border-top-color:#000; border-width:1px; border-top-style:solid">
+    Vorname, Nachname (Erziehungsberechtiger)</td>
+    <td style="text-align: center; border:0; border-top-color:#000; border-width:1px; border-top-style:solid">
+
+    Datum</td>
+    <td style="text-align: right; border:0; border-top-color:#000; border-width:1px; border-top-style:solid">
+    Unterschrift</td>
+  </tr>
+  </tbody>
+</table>
+</div>
+</body>
+</html>
+

Modified: wasko/trunk/waskoweb/templates/privacy/list_statements.mako
===================================================================
--- wasko/trunk/waskoweb/templates/privacy/list_statements.mako	2010-09-10 07:07:21 UTC (rev 3583)
+++ wasko/trunk/waskoweb/templates/privacy/list_statements.mako	2010-09-10 11:44:26 UTC (rev 3584)
@@ -8,40 +8,60 @@
 </%def>
 <h1>${_('Avaliable statements')}</h1>
 <div class="widget container">
-<h2>Einwilligung</h2>
+
+<h2>1. Einwilligungserklärung für die Erfassung, Verarbeitung und Nutzung personenbezogener Daten</h2>
+<p>
+Diese Einwilligungserkläung ist die Grundlage zur Erfassung und Speicherung
+von personenbezogenen Daten. Die Einverständniserklärung beinhaltet eine
+Aufbewahrungsfrist, die für jede Einrichtung einstellbar ist. Abgeschlossene
+Fallakten werden nach Ablauf der Frist automatisch zur Anonymisierung vorgeschlagen.
+</p>
 <p> Deutsch:
   <a href="${h.url_for(controller='/privacy', action='printStatement', id=session.get('case').id)}" target="_blank">
     Einwilligung drucken
   </a>
 </p>
 
-<div class="waska_form_element w100">
-    Als PDF-Version verfügbare Einverständniserklärungen zum
-    handschriftlichen Ausfüllen:
-    <table>
-    <tr>
-        <td class="table_row_h">
-        Arabisch <a href="/documents/ee_ar.pdf">download</a>
-        </td>
-        <td class="table_row_h">
-        Englisch <a href="/documents/ee_en.pdf">download</a>
-        </td>
-    </tr>
-    <tr>
-        <td>Polnisch <a href="/documents/ee_pl.pdf">download</a></td>
-        <td>Russisch <a href="/documents/ee_ru.pdf">download</a></td>
-    </tr>
-    <tr>
-        <td class="table_row_h">
-        Türkisch <a href="/documents/ee_tr.pdf">download</a>
-        </td>
-        <td class="table_row_h">
-        Deutsch
-        (Einwilligungserklärung ohne Hinweise zu Teilnehmernachweisen)
-        <a href="/documents/ee_de_ohnetn.pdf">download</a>
-        </td>
-    </tr>
-    </table>
+Als PDF-Version verfügbare Einverständniserklärungen zum
+handschriftlichen Ausfüllen:
+<table>
+<tr>
+    <td class="table_row_h">
+    Arabisch <a href="/documents/ee_ar.pdf">download</a>
+    </td>
+    <td class="table_row_h">
+    Englisch <a href="/documents/ee_en.pdf">download</a>
+    </td>
+</tr>
+<tr>
+    <td>Polnisch <a href="/documents/ee_pl.pdf">download</a></td>
+    <td>Russisch <a href="/documents/ee_ru.pdf">download</a></td>
+</tr>
+<tr>
+    <td class="table_row_h">
+    Türkisch <a href="/documents/ee_tr.pdf">download</a>
+    </td>
+    <td class="table_row_h">
+    Deutsch
+    (Einwilligungserklärung ohne Hinweise zu Teilnehmernachweisen)
+    <a href="/documents/ee_de_ohnetn.pdf">download</a>
+    </td>
+</tr>
+</table>
+
+
+
 </div>
 
+<div class="widget container">
+<h2>2. Einwilligungserklärung zur Übermittlung von personenbezogenen Daten an die Einrichtung</h2>
+
+<p>Erklärung zur Schweigepflichtsentbindung von Vertrauenspersonen mit
+Schweigepflicht gemäß § 203 StGB gegenüber der Einrichtung. </p>
+
+<p> Deutsch:
+  <a href="${h.url_for(controller='/privacy', action='printDiscretionStatement', id=session.get('case').id)}" target="_blank">
+    Einwilligung drucken
+  </a>
+</p>
 </div>



More information about the Mpuls-commits mailing list