[Mpuls-commits] r5290 - in jmd/trunk: . jmdstrukturweb/controllers jmdstrukturweb/model jmdstrukturweb/templates/appointments jmdstrukturweb/templates/home

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Thu Sep 1 12:49:53 CEST 2011


Author: roland
Date: 2011-09-01 12:49:51 +0200 (Thu, 01 Sep 2011)
New Revision: 5290

Modified:
   jmd/trunk/jmdstrukturweb/controllers/jmdstruktur.py
   jmd/trunk/jmdstrukturweb/model/appointment.py
   jmd/trunk/jmdstrukturweb/templates/appointments/remindlist_body.mako
   jmd/trunk/jmdstrukturweb/templates/home/remindlist.mako
   jmd/trunk/tagging_struktur.xml
Log:
Added generated tagging rules from formedtree.xml to tagging.xml. Replaced
"Fallakte" with "Statistik" in the tag descriptions. Also adapt the templates
to not show "create new" button when showing tag-reminders (issue2231)


Modified: jmd/trunk/jmdstrukturweb/controllers/jmdstruktur.py
===================================================================
--- jmd/trunk/jmdstrukturweb/controllers/jmdstruktur.py	2011-08-31 14:38:38 UTC (rev 5289)
+++ jmd/trunk/jmdstrukturweb/controllers/jmdstruktur.py	2011-09-01 10:49:51 UTC (rev 5290)
@@ -1,8 +1,7 @@
 # -*- coding: utf-8 -*-
 import logging
 from mpulsweb.controllers.mpuls import MpulsController
-from jmdstrukturweb.model.appointment import StatisticReminderOverview
-from mpulsweb.model.appointment import TagsReminderOverview
+from jmdstrukturweb.model.appointment import StatisticReminderOverview, TagsReminderOverview
 import mpulsweb.lib.helpers as h
 
 log = logging.getLogger(__name__)

Modified: jmd/trunk/jmdstrukturweb/model/appointment.py
===================================================================
--- jmd/trunk/jmdstrukturweb/model/appointment.py	2011-08-31 14:38:38 UTC (rev 5289)
+++ jmd/trunk/jmdstrukturweb/model/appointment.py	2011-09-01 10:49:51 UTC (rev 5290)
@@ -8,7 +8,7 @@
 from mpulsweb.model.case import MpulsCaseOverview
 from mpulsweb.model.agencysettings import Agency
 
-from mpulsweb.model.appointment import AppointmentOverview, CaseAppointmentFactory
+from mpulsweb.model.appointment import AppointmentOverview, CaseAppointmentFactory, TagsReminderOverview
 
 log = logging.getLogger(__name__)
 
@@ -90,4 +90,12 @@
                                             case.get('id'),
                                             type)
         return appointment
+
+class TagsReminderOverview(TagsReminderOverview):
+    def getUserId(self):
+        """
+        Return the real user-ID of the user owning cases in the structure
+        part, not the one from the user logged in
+        """
+        return 1
 # vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8:

Modified: jmd/trunk/jmdstrukturweb/templates/appointments/remindlist_body.mako
===================================================================
--- jmd/trunk/jmdstrukturweb/templates/appointments/remindlist_body.mako	2011-08-31 14:38:38 UTC (rev 5289)
+++ jmd/trunk/jmdstrukturweb/templates/appointments/remindlist_body.mako	2011-09-01 10:49:51 UTC (rev 5290)
@@ -15,7 +15,7 @@
      % if appointment.case_id is not None:
       ${self.showAppointmentActions(appointment)}
      % endif
-     % if h.hasRole(['cm_ka']):
+     % if h.hasRole(['cm_ka']) and not h.tag_appointment:
       ${self.showKeepActiveActions(appointment)}
     % endif
     </td>
@@ -23,8 +23,10 @@
   <tr>
     <td colspan="3" class="description">
         ${appointment.description}
-        ${h.dd_mm_YYYY(appointment.getStartDate()) | F.NA} bis
-        ${h.dd_mm_YYYY(appointment.getEndDate()) | F.NA}
+        % if not h.tag_appointment:
+            ${h.dd_mm_YYYY(appointment.getStartDate()) | F.NA} bis
+            ${h.dd_mm_YYYY(appointment.getEndDate()) | F.NA}
+        % endif
     </td>
   </tr>
   % endfor

Modified: jmd/trunk/jmdstrukturweb/templates/home/remindlist.mako
===================================================================
--- jmd/trunk/jmdstrukturweb/templates/home/remindlist.mako	2011-08-31 14:38:38 UTC (rev 5289)
+++ jmd/trunk/jmdstrukturweb/templates/home/remindlist.mako	2011-09-01 10:49:51 UTC (rev 5290)
@@ -8,6 +8,7 @@
          width  = "22"
          height = "22"></a>
 </%def>
+
 <%def name="showKeepActiveActions(appointment)">
   <a href="${h.url_for(controller='/case', action='new')}">
     <img src    = "${h.url_for('/images/icons/new_22.png')}"

Modified: jmd/trunk/tagging_struktur.xml
===================================================================
--- jmd/trunk/tagging_struktur.xml	2011-08-31 14:38:38 UTC (rev 5289)
+++ jmd/trunk/tagging_struktur.xml	2011-09-01 10:49:51 UTC (rev 5290)
@@ -1,8 +1,8 @@
 <checks>
-  <!-- Dummytag. Jede Fallakte braucht derzeit einen Tag -->
+  <!-- Dummytag. Jede Statistik braucht derzeit einen Tag -->
   <check tagid="0">
     <name>Alle</name>
-    <desc>Jede Fallakte hat einen Tag</desc>
+    <desc>Jede Statistik hat einen Tag</desc>
     <addtag>
       <sql>SELECT id FROM ( %(table)s ) m</sql>
     </addtag>
@@ -10,8 +10,52 @@
       <sql>SELECT id FROM ( %(table)s ) m</sql>
     </deltag>
   </check>
+  
+  <!-- Automatisch auf Regeln basierende generiete Inkonsistenzen  -->
+  <check tagid="1000">
+    <name>Das Datum "Datum Beginn Zeitraum" darf nicht "unbekannt" sein.</name>
+    <desc>Das Datum "Datum Beginn Zeitraum" darf nicht "unbekannt" sein.</desc>
+    <addtag>
+      <sql>SELECT id FROM ( %(table)s ) m WHERE ( NOT ( (datum_begin_zeitraum != '0001-01-01') ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id FROM ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="1001">
+    <name>Das Datum "Datum Ende Zeitraum" darf nicht "unbekannt" sein.</name>
+    <desc>Das Datum "Datum Ende Zeitraum" darf nicht "unbekannt" sein.</desc>
+    <addtag>
+      <sql>SELECT id FROM ( %(table)s ) m WHERE ( NOT ( (datum_ende_zeitraum != '0001-01-01') ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id FROM ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="1002">
+    <name>"datum_begin_zeitraum" muss vor "datum_ende_zeitraum" liegen.</name>
+    <desc>"Datum Beginn Zeitraum" darf zeitlich nicht nach "Datum Ende Zeitraum" liegen.</desc>
+    <addtag>
+      <sql>SELECT id FROM ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( ( datum_begin_zeitraum IS NOT NULL ) AND (datum_begin_zeitraum != '0001-01-01') ) AND ( ( datum_ende_zeitraum IS NOT NULL ) AND (datum_ende_zeitraum != '0001-01-01') ) ) AND (datum_begin_zeitraum &gt; datum_ende_zeitraum) ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id FROM ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="1003">
+    <name>Summe der prozentualen Verteilung der Arbeitsanteile auf Aufgabenbereiche muss 100 Prozent sein</name>
+    <desc>Summe der prozentualen Verteilung der Arbeitsanteile auf Aufgabenbereiche muss 100 Prozent sein</desc>
+    <addtag>
+      <sql>SELECT id FROM ( %(table)s ) m WHERE ( NOT ( ( (100 = (((((((((((0 + CASE WHEN ( ( verteilung_aa_sonstiges IS NOT NULL ) AND (verteilung_aa_sonstiges != -9999999) ) THEN verteilung_aa_sonstiges ELSE 0 END) + CASE WHEN ( ( verteilung_aa_dokumentation IS NOT NULL ) AND (verteilung_aa_dokumentation != -9999999) ) THEN verteilung_aa_dokumentation ELSE 0 END) + CASE WHEN ( ( verteilung_aa_freiwilligenarbeit IS NOT NULL ) AND (verteilung_aa_freiwilligenarbeit != -9999999) ) THEN verteilung_aa_freiwilligenarbeit ELSE 0 END) + CASE WHEN ( ( verteilung_aa_elternarbeit IS NOT NULL ) AND (verteilung_aa_elternarbeit != -9999999) ) THEN verteilung_aa_elternarbeit ELSE 0 END) + CASE WHEN ( ( verteilung_aa_leitung IS NOT NULL ) AND (verteilung_aa_leitung != -9999999) ) THEN verteilung_aa_leitung ELSE 0 END) + CASE WHEN ( ( verteilung_aa_evaluation IS NOT NULL ) AND (verteilung_aa_evaluation != -9999999) ) THEN verteilung_aa_evaluation ELSE 0 END) + CASE WHEN ( ( verteilung_aa_oeffentlichkeit IS NOT NULL ) AND (verteilung_aa_oeffentlichkeit != -9999999) ) THEN verteilung_aa_oeffentlichkeit ELSE 0 END) + CASE WHEN ( ( verteilung_aa_netzwerkarbeit IS NOT NULL ) AND (verteilung_aa_netzwerkarbeit != -9999999) ) THEN verteilung_aa_netzwerkarbeit ELSE 0 END) + CASE WHEN ( ( verteilung_aa_gruppenangebote IS NOT NULL ) AND (verteilung_aa_gruppenangebote != -9999999) ) THEN verteilung_aa_gruppenangebote ELSE 0 END) + CASE WHEN ( ( verteilung_aa_betreuung IS NOT NULL ) AND (verteilung_aa_betreuung != -9999999) ) THEN verteilung_aa_betreuung ELSE 0 END) + CASE WHEN ( ( verteilung_aa_begleitung_cm IS NOT NULL ) AND (verteilung_aa_begleitung_cm != -9999999) ) THEN verteilung_aa_begleitung_cm ELSE 0 END)) OR (0 = (((((((((((0 + CASE WHEN ( ( verteilung_aa_sonstiges IS NOT NULL ) AND (verteilung_aa_sonstiges != -9999999) ) THEN verteilung_aa_sonstiges ELSE 0 END) + CASE WHEN ( ( verteilung_aa_dokumentation IS NOT NULL ) AND (verteilung_aa_dokumentation != -9999999) ) THEN verteilung_aa_dokumentation ELSE 0 END) + CASE WHEN ( ( verteilung_aa_freiwilligenarbeit IS NOT NULL ) AND (verteilung_aa_freiwilligenarbeit != -9999999) ) THEN verteilung_aa_freiwilligenarbeit ELSE 0 END) + CASE WHEN ( ( verteilung_aa_elternarbeit IS NOT NULL ) AND (verteilung_aa_elternarbeit != -9999999) ) THEN verteilung_aa_elternarbeit ELSE 0 END) + CASE WHEN ( ( verteilung_aa_leitung IS NOT NULL ) AND (verteilung_aa_leitung != -9999999) ) THEN verteilung_aa_leitung ELSE 0 END) + CASE WHEN ( ( verteilung_aa_evaluation IS NOT NULL ) AND (verteilung_aa_evaluation != -9999999) ) THEN verteilung_aa_evaluation ELSE 0 END) + CASE WHEN ( ( verteilung_aa_oeffentlichkeit IS NOT NULL ) AND (verteilung_aa_oeffentlichkeit != -9999999) ) THEN verteilung_aa_oeffentlichkeit ELSE 0 END) + CASE WHEN ( ( verteilung_aa_netzwerkarbeit IS NOT NULL ) AND (verteilung_aa_netzwerkarbeit != -9999999) ) THEN verteilung_aa_netzwerkarbeit ELSE 0 END) + CASE WHEN ( ( verteilung_aa_gruppenangebote IS NOT NULL ) AND (verteilung_aa_gruppenangebote != -9999999) ) THEN verteilung_aa_gruppenangebote ELSE 0 END) + CASE WHEN ( ( verteilung_aa_betreuung IS NOT NULL ) AND (verteilung_aa_betreuung != -9999999) ) THEN verteilung_aa_betreuung ELSE 0 END) + CASE WHEN ( ( verteilung_aa_begleitung_cm IS NOT NULL ) AND (verteilung_aa_begleitung_cm != -9999999) ) THEN verteilung_aa_begleitung_cm ELSE 0 END)) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id FROM ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  
+  <!-- Validitäten -->
 
-  <!-- Es darf nur eine Fallakte pro Jahr angelegt werden -->
+  <!-- Es darf nur eine Statistik pro Jahr angelegt werden -->
   <check tagid="100">
     <name>Doppelte Strukturdaten</name>
     <desc>Es darf nur eine Strukturakte pro Jahr angelegt werden</desc>
@@ -35,31 +79,54 @@
     </deltag>
   </check>
   
-  <!-- Start und Enddatum angegeben -->
   <check tagid="101">
-    <name>Start- und Enddaten gesetzt</name>
-    <desc>Die Angaben zum Start und Ende des Zeitraums müssen angegeben werden.</desc>
-    <addtag>
+  <name>Start- und Enddaten gesetzt</name>
+  <desc>Die Angaben zum Start und Ende des Zeitraums müssen angegeben werden.</desc>
+     <addtag>
       <sql>SELECT id FROM ( %(table)s ) m
       WHERE (datum_begin_zeitraum = '0001-01-01'::date)
         OR (datum_begin_zeitraum IS NULL)
         OR (datum_ende_zeitraum = '0001-01-01'::date)
         OR (datum_ende_zeitraum IS NULL)
      </sql>
+     </addtag>
+     <deltag>
+      <sql>SELECT id FROM ( %(table)s ) m WHERE ( TRUE )</sql>
+     </deltag>
+   </check>
+  
+  
+  <check tagid="10">
+    <name>Datumsangaben konsistent</name>
+    <desc>Alle Datumsangaben in der Statistik befinden sich in chronologisch korrekter Reihenfolge und liegen nicht in der Zukunft</desc>
+    <addtag>
+      <sql>SELECT id FROM ( %(table)s ) m WHERE NOT ARRAY(SELECT tag_id FROM nm_tags_cases_view WHERE case_id=m.id) &amp;&amp; ARRAY[1000,1001,1002,1003]</sql>
     </addtag>
     <deltag>
-      <sql>SELECT id FROM ( %(table)s ) m</sql>
+      <sql>SELECT id FROM ( %(table)s ) m WHERE ( TRUE )</sql>
     </deltag>
   </check>
   
+  <check tagid="11">
+    <name>Status der Erfassung gesetzt</name>
+    <desc>Der Status der Erfassung der Statistik muss "Erfassung Beendet" sein</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE phase = 1</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m</sql>
+    </deltag>
+  </check>
   
-  
   <!-- "Gütesiegel" für Auswertungen -->
   <check tagid="1">
     <name>Auswertbar</name>
-    <desc>Die JMD-Statistik ist konsistent und weist die benötigten Validitäten auf, die für eine grundsätzliche Auswertung erfüllt sein müssen. Die Fallakte steht in Auswertungen zur Verfügung</desc>
+    <desc>Die JMD-Statistik ist konsistent und weist die benötigten Validitäten auf, die für eine grundsätzliche Auswertung erfüllt sein müssen. Die Statistik steht in Auswertungen zur Verfügung</desc>
     <addtag>
-      <sql>SELECT id FROM ( %(table)s ) m WHERE NOT ARRAY(SELECT tag_id FROM nm_tags_cases_view WHERE case_id = m.id)  &amp;&amp; ARRAY[100, 101]</sql>
+      <sql>SELECT id FROM ( %(table)s ) m
+           WHERE ARRAY(SELECT tag_id FROM nm_tags_cases_view WHERE case_id = m.id)  &amp;&amp; ARRAY[10, 11]
+           AND NOT ARRAY(SELECT tag_id FROM nm_tags_cases_view WHERE case_id = m.id)  &amp;&amp; ARRAY[100, 101]
+      </sql>
     </addtag>
     <deltag>
       <sql>SELECT id FROM ( %(table)s ) m</sql>



More information about the Mpuls-commits mailing list