[Mpuls-commits] r412 - in wasko/trunk: . waskaweb/controllers waskaweb/lib waskaweb/templates/casemanagement

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Thu Mar 19 10:07:33 CET 2009


Author: torsten
Date: 2009-03-19 10:07:26 +0100 (Thu, 19 Mar 2009)
New Revision: 412

Modified:
   wasko/trunk/ChangeLog.txt
   wasko/trunk/waskaweb/controllers/case.py
   wasko/trunk/waskaweb/lib/validators.py
   wasko/trunk/waskaweb/templates/casemanagement/neuaufnahme.mako
   wasko/trunk/waskaweb/templates/casemanagement/wiederaufnahme.mako
Log:
Added error messages for invalid data when creating a new case


Modified: wasko/trunk/ChangeLog.txt
===================================================================
--- wasko/trunk/ChangeLog.txt	2009-03-18 21:34:12 UTC (rev 411)
+++ wasko/trunk/ChangeLog.txt	2009-03-19 09:07:26 UTC (rev 412)
@@ -1,3 +1,12 @@
+2009-03-19	Torsten Irlaender  <torsten.irlaender at intevation.de> 
+
+	* waskaweb/controllers/case.py,
+	  waskaweb/lib/validators.py,
+	  waskaweb/templates/casemanagement/neuaufnahme.mako,
+	  waskaweb/templates/casemanagement/wiederaufnahme.mako: Added new
+	  validator which checks "Keine Angabe". Further added error messages
+	  for invalid data when creating an new case.
+
 2009-03-18	Sascha L. Teichmann <teichmann at intevation.de>
 
 	* waskaweb/templates/casemanagement/evaluation/evaluation_adele.mako:

Modified: wasko/trunk/waskaweb/controllers/case.py
===================================================================
--- wasko/trunk/waskaweb/controllers/case.py	2009-03-18 21:34:12 UTC (rev 411)
+++ wasko/trunk/waskaweb/controllers/case.py	2009-03-19 09:07:26 UTC (rev 412)
@@ -351,9 +351,11 @@
 
                 if aufnahme_typ == 1:
                     # Wiedernahme
+                    c.form_errors = {}
                     return render('/casemanagement/wiederaufnahme.mako')
                 if aufnahme_typ == 2:
                     # Neuaufnahme
+                    c.form_errors = {}
                     return render('/casemanagement/neuaufnahme.mako')
 
                 # 1. Create a new case

Modified: wasko/trunk/waskaweb/lib/validators.py
===================================================================
--- wasko/trunk/waskaweb/lib/validators.py	2009-03-18 21:34:12 UTC (rev 411)
+++ wasko/trunk/waskaweb/lib/validators.py	2009-03-19 09:07:26 UTC (rev 412)
@@ -337,6 +337,19 @@
         except:
             raise formencode.Invalid(self.message("invalid_date", state), value, state)
 
+class KeineAngabe(formencode.validators.FancyValidator):
+
+    messages = {
+        'invalid':   u'"Keine Angabe" ist keine gültige Angabe.'
+        }
+
+    def _to_python(self, value, state):
+        return value.strip()
+
+    def validate_python(self, value, state):
+        if value == '-1':
+            raise formencode.Invalid(self.message("invalid", state), value, state)
+
 class TimeCheck(formencode.validators.FancyValidator):
 
     valid_date = re.compile(r'^[0-9]{1,2}:[0-9]{1,2}$')
@@ -433,11 +446,12 @@
     cm_dok_end_verm             = formencode.validators.String()
     cm_wiederauf_genehm_datum_1 = DateCheck(not_empty=True)
     cm_wiederauf_datum_bis_1    = DateCheck(not_empty=True)
-    cm2c_t                      = formencode.validators.String()
+    cm2c_t                      = formencode.validators.String(not_empty=True)
+    cm_dok_end_verm             = KeineAngabe()
 
 class NeuaufnahmeCaseForm(BaseFormValidator):
     cm_dok_datum_beendigung     = DateCheck(not_empty=True)
-    cm_dok_end_sonst            = formencode.validators.String()
+    cm_dok_end_sonst            = KeineAngabe()
     cm2c_t                      = formencode.validators.String()
 
 # vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8

Modified: wasko/trunk/waskaweb/templates/casemanagement/neuaufnahme.mako
===================================================================
--- wasko/trunk/waskaweb/templates/casemanagement/neuaufnahme.mako	2009-03-18 21:34:12 UTC (rev 411)
+++ wasko/trunk/waskaweb/templates/casemanagement/neuaufnahme.mako	2009-03-19 09:07:26 UTC (rev 412)
@@ -7,26 +7,56 @@
 </%def>
 <div class="waska_form">
 <h1>Wiederaufnahme nach erfolgreicher Reintegration</h1>
+% if c.form_errors:
+  <div class="form_errors">
+    <h1><a name="error_list">Fehlerhafte Formulareingabe</a></h1>
+    <ul>
+    % for key, err in c.form_errors.iteritems():
+      <li><a href="#${key}">${g.formedTree.getDescription(key) | h}</a>: ${err | h}</li>
+    % endfor
+    </ul>
+  </div>
+% endif 
 <form id="waska_form" action="/case/neuaufnahmeAction" accept-charset="UTF-8" name="waska_form" method="POST">
   <fieldset>
 <legend>Angaben zur bereits erfolgten Beendigung der Betreuung </legend>
 <div class="waska_form_element  w50">
-<label for="cm_dok_datum_beendigung"><a name="f_cm_dok_datum_beendigung">Datum der Beendigung</a> </label><br>
-<input type="text" size="10" maxlength="10" class=""  name="cm_dok_datum_beendigung" id="cm_dok_datum_beendigung"  onchange="setModification();"><br>
+% if c.form_errors.has_key('cm_dok_datum_beendigung'):
+  <label for="cm_dok_datum_beendigung" class="error_font"><a name="f_cm_dok_datum_beendigung">Datum der Beendigung</a> </label><br>
+  <input type="text" size="10" maxlength="10" class="error_box"  name="cm_dok_datum_beendigung" id="cm_dok_datum_beendigung"  onchange="setModification();"><br>
+% else:
+  <label for="cm_dok_datum_beendigung"><a name="f_cm_dok_datum_beendigung">Datum der Beendigung</a> </label><br>
+  <input type="text" size="10" maxlength="10" class=""  name="cm_dok_datum_beendigung" id="cm_dok_datum_beendigung"  onchange="setModification();"><br>
+% endif
 </div>
 <div class="waska_form_element  w50">
-<label for="cm_dok_end_sonst"><a name="f_cm_dok_end_sonst">Gründe für sonstige Beendigung</a> </label><br>
-<select id="cm_dok_end_sonst" class="" onchange="setModification();" name="cm_dok_end_sonst" size="1">
-<option value="1">Umzug</option>
-<option value="2">Schwangerschaft</option>
-<option value="3">Krankheit</option>
-<option value="4">Überschreitung Förderzeitraum</option>
-<option value="" value="5">Haft/Strafvollzug</option>
-<option value="6">Ausbildung, Arbeit</option>
-<option value="-3">unbekannt</option>
-<option value="-2">Sonstiges</option>
-<option selected value="-1">keine Angabe</option>
-</select>
+% if c.form_errors.has_key('cm_dok_end_sonst'):
+  <label for="cm_dok_end_sonst" class="error_font"><a name="f_cm_dok_end_sonst">Gründe für sonstige Beendigung</a> </label><br>
+  <select id="cm_dok_end_sonst" class="error_box" onchange="setModification();" name="cm_dok_end_sonst" size="1">
+  <option value="1">Umzug</option>
+  <option value="2">Schwangerschaft</option>
+  <option value="3">Krankheit</option>
+  <option value="4">Überschreitung Förderzeitraum</option>
+  <option value="" value="5">Haft/Strafvollzug</option>
+  <option value="6">Ausbildung, Arbeit</option>
+  <option value="-3">unbekannt</option>
+  <option value="-2">Sonstiges</option>
+  <option selected value="-1">keine Angabe</option>
+  </select> 
+% else:
+  <label for="cm_dok_end_sonst"><a name="f_cm_dok_end_sonst">Gründe für sonstige Beendigung</a> </label><br>
+  <select id="cm_dok_end_sonst" class="" onchange="setModification();" name="cm_dok_end_sonst" size="1">
+  <option value="1">Umzug</option>
+  <option value="2">Schwangerschaft</option>
+  <option value="3">Krankheit</option>
+  <option value="4">Überschreitung Förderzeitraum</option>
+  <option value="" value="5">Haft/Strafvollzug</option>
+  <option value="6">Ausbildung, Arbeit</option>
+  <option value="-3">unbekannt</option>
+  <option value="-2">Sonstiges</option>
+  <option selected value="-1">keine Angabe</option>
+  </select> 
+% endif
 </div>
 <div class="waska_form_element  w100">
 <label for="cm2c_t">

Modified: wasko/trunk/waskaweb/templates/casemanagement/wiederaufnahme.mako
===================================================================
--- wasko/trunk/waskaweb/templates/casemanagement/wiederaufnahme.mako	2009-03-18 21:34:12 UTC (rev 411)
+++ wasko/trunk/waskaweb/templates/casemanagement/wiederaufnahme.mako	2009-03-19 09:07:26 UTC (rev 412)
@@ -7,40 +7,84 @@
 </%def>
 <div class="waska_form">
 <h1>Wiederaufnahme nach erfolgreicher Reintegration</h1>
+% if c.form_errors:
+  <div class="form_errors">
+    <h1><a name="error_list">Fehlerhafte Formulareingabe</a></h1>
+    <ul>
+    % for key, err in c.form_errors.iteritems():
+      <li><a href="#${key}">${g.formedTree.getDescription(key) | h}</a>: ${err | h}</li>
+    % endfor
+    </ul>
+  </div>
+% endif 
 <form id="waska_form" action="/case/wiederaufnahmeAction" accept-charset="UTF-8" name="waska_form" method="POST">
   <fieldset>
 <legend>Angaben zur bereits erfolgten Beendigung der Betreuung </legend>
 <div class="waska_form_element  w50">
-<label for="cm_dok_datum_beendigung"><a name="f_cm_dok_datum_beendigung">Datum der Beendigung</a> </label><br>
-<input type="text" size="10" maxlength="10" class=""  name="cm_dok_datum_beendigung" id="cm_dok_datum_beendigung"  onchange="setModification();"><br>
+% if c.form_errors.has_key('cm_dok_datum_beendigung'):
+  <label for="cm_dok_datum_beendigung" class="error_font"><a name="f_cm_dok_datum_beendigung">Datum der Beendigung</a> </label><br>
+  <input type="text" size="10" maxlength="10" class="error_box"  name="cm_dok_datum_beendigung" id="cm_dok_datum_beendigung"  onchange="setModification();"><br>
+% else:
+  <label for="cm_dok_datum_beendigung"><a name="f_cm_dok_datum_beendigung">Datum der Beendigung</a> </label><br>
+  <input type="text" size="10" maxlength="10" class=""  name="cm_dok_datum_beendigung" id="cm_dok_datum_beendigung"  onchange="setModification();"><br>
+% endif
 </div>
 <div class="waska_form_element  w50">
-<label for="cm_dok_end_verm"><a name="f_cm_dok_end_verm">Wohin erfolgte die Reintegration?</a> </label><br>
-<select size="1" class=""   name="cm_dok_end_verm" id="cm_dok_end_verm" onchange="setModification();">
-<option value="1">Ursprungsklasse</option>
-<option value="2">gleiche Schule, neue Klasse</option>
-<option value="3">andere Schule</option>
-<option value="-3">unbekannt</option>
-<option value="-2">Sonstiges</option>
-<option value="-1" selected>keine Angabe</option>
-</select>
+% if c.form_errors.has_key('cm_dok_end_verm'):
+  <label for="cm_dok_end_verm" class="error_font"><a name="f_cm_dok_end_verm">Wohin erfolgte die Reintegration?</a> </label><br>
+  <select size="1" class="error_box" name="cm_dok_end_verm" id="cm_dok_end_verm" onchange="setModification();">
+  <option value="1">Ursprungsklasse</option>
+  <option value="2">gleiche Schule, neue Klasse</option>
+  <option value="3">andere Schule</option>
+  <option value="-3">unbekannt</option>
+  <option value="-2">Sonstiges</option>
+  <option value="-1" selected>keine Angabe</option>
+  </select>
+% else:
+  <label for="cm_dok_end_verm"><a name="f_cm_dok_end_verm">Wohin erfolgte die Reintegration?</a> </label><br>
+  <select size="1" class=""   name="cm_dok_end_verm" id="cm_dok_end_verm" onchange="setModification();">
+  <option value="1">Ursprungsklasse</option>
+  <option value="2">gleiche Schule, neue Klasse</option>
+  <option value="3">andere Schule</option>
+  <option value="-3">unbekannt</option>
+  <option value="-2">Sonstiges</option>
+  <option value="-1" selected>keine Angabe</option>
+  </select>
+% endif
 </div>
 <div class="waska_form_element  w100">
-<label for="cm2c_t">
-<a name="f_cm2c_t">Anmerkungen zur Wiederaufnahme</a>
-</label>
-<textarea onchange="setModification();" rows="2" id="cm2c_t" name="cm2c_t" class=""/></textarea>
+% if c.form_errors.has_key('cm_wiederauf_genehm_datum_1'):
+  <label for="cm2c_t" class="error_font">
+  <a name="f_cm2c_t">Anmerkungen zur Wiederaufnahme</a>
+  </label>
+  <textarea onchange="setModification();" rows="2" id="cm2c_t" name="cm2c_t" class="error_box"/></textarea>
+% else:
+  <label for="cm2c_t">
+  <a name="f_cm2c_t">Anmerkungen zur Wiederaufnahme</a>
+  </label>
+  <textarea onchange="setModification();" rows="2" id="cm2c_t" name="cm2c_t" class=""/></textarea>
+% endif
 </div>
 </fieldset>
 <fieldset>
 <legend>Wiederaufnahme der/des Jugendlichen für 3 Monate</legend>
 <div class="waska_form_element  w50">
-<label for="cm_wiederauf_genehm_datum_1"><a name="f_cm_wiederauf_genehm_datum_1">Datum Genehmigung der Wiederaufnahme</a></lable>
-<input type="text" size="10" maxlength="10" class=""  name="cm_wiederauf_genehm_datum_1" id="cm_wiederauf_genehm_datum_1"  onchange="setModification();"><br>
+% if c.form_errors.has_key('cm_wiederauf_genehm_datum_1'):
+  <label for="cm_wiederauf_genehm_datum_1" class="error_font"><a name="f_cm_wiederauf_genehm_datum_1">Datum Genehmigung der Wiederaufnahme</a></lable>
+  <input type="text" size="10" maxlength="10" class="error_box"  name="cm_wiederauf_genehm_datum_1" id="cm_wiederauf_genehm_datum_1"  onchange="setModification();"><br>
+% else:
+  <label for="cm_wiederauf_genehm_datum_1"><a name="f_cm_wiederauf_genehm_datum_1">Datum Genehmigung der Wiederaufnahme</a></lable>
+  <input type="text" size="10" maxlength="10" class=""  name="cm_wiederauf_genehm_datum_1" id="cm_wiederauf_genehm_datum_1"  onchange="setModification();"><br>
+% endif
 </div>
 <div class="waska_form_element  w50">
-<label for="cm_wiederauf_datum_bis_1"><a name="f_cm_wiederauf_datum_bis_1">Datum Wiederaufnahme genehmigt bis</a> </label><br>
-<input type="text" size="10" maxlength="10" class=""  name="cm_wiederauf_datum_bis_1" id="cm_wiederauf_datum_bis_1"  onchange="setModification();"><br>
+% if c.form_errors.has_key('cm_wiederauf_datum_bis_1'):
+  <label for="cm_wiederauf_datum_bis_1" class="error_font"><a name="f_cm_wiederauf_datum_bis_1">Datum Wiederaufnahme genehmigt bis</a> </label><br>
+  <input type="text" size="10" maxlength="10" class="error_box"  name="cm_wiederauf_datum_bis_1" id="cm_wiederauf_datum_bis_1"  onchange="setModification();"><br>
+% else:
+  <label for="cm_wiederauf_datum_bis_1"><a name="f_cm_wiederauf_datum_bis_1">Datum Wiederaufnahme genehmigt bis</a> </label><br>
+  <input type="text" size="10" maxlength="10" class=""  name="cm_wiederauf_datum_bis_1" id="cm_wiederauf_datum_bis_1"  onchange="setModification();"><br>
+% endif
 </div>
 </fieldset>
 <input type="submit" value="Fallakte anlegen">



More information about the Mpuls-commits mailing list