[Mpuls-commits] r22 - in trunk: . waskaweb/config waskaweb/controllers waskaweb/i18n waskaweb/i18n/de/LC_MESSAGES waskaweb/lib waskaweb/model waskaweb/public/images waskaweb/public/images/icons waskaweb/public/styles waskaweb/templates waskaweb/templates/administration waskaweb/templates/administration/dialogs waskaweb/templates/casemanagement waskaweb/templates/casemanagement/dialogs waskaweb/templates/dialogs waskaweb/templates/documents waskaweb/templates/documents/dialogs waskaweb/templates/start waskaweb/templates/statement/dialogs

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Wed Aug 13 15:06:11 CEST 2008


Author: thomas
Date: 2008-08-13 15:06:10 +0200 (Wed, 13 Aug 2008)
New Revision: 22

Added:
   trunk/Changes.txt
   trunk/NEWS
   trunk/waskaweb/public/images/failure.png
   trunk/waskaweb/public/images/icons/delete_grey.gif
   trunk/waskaweb/public/images/icons/delete_red.gif
   trunk/waskaweb/public/images/icons/done_grey.gif
   trunk/waskaweb/public/images/icons/editor_grey.gif
   trunk/waskaweb/public/images/icons/recover_red.gif
   trunk/waskaweb/public/images/icons/stand-in_grey.gif
   trunk/waskaweb/public/images/icons/view_red.gif
   trunk/waskaweb/public/images/icons/work_in_progress_grey.gif
   trunk/waskaweb/templates/casemanagement/dialogs/confirm_close.mako
   trunk/waskaweb/templates/casemanagement/dialogs/confirm_delete.mako
   trunk/waskaweb/templates/casemanagement/dialogs/confirm_open.mako
   trunk/waskaweb/templates/casemanagement/dialogs/confirm_restore.mako
   trunk/waskaweb/templates/dialogs/failed.mako
   trunk/waskaweb/templates/dialogs/success.mako
   trunk/waskaweb/templates/documents/dialogs/failed_attachment.mako
   trunk/waskaweb/templates/documents/dialogs/failed_document.mako
   trunk/waskaweb/templates/documents/dialogs/success_attachment.mako
   trunk/waskaweb/templates/documents/dialogs/success_documents.mako
   trunk/waskaweb/templates/statement/dialogs/ee_decline_success.mako
Modified:
   trunk/ChangeLog.txt
   trunk/waskaweb/config/routing.py
   trunk/waskaweb/controllers/CaseBase.py
   trunk/waskaweb/controllers/administration.py
   trunk/waskaweb/controllers/case.py
   trunk/waskaweb/controllers/case_overview.py
   trunk/waskaweb/controllers/document.py
   trunk/waskaweb/controllers/statement.py
   trunk/waskaweb/controllers/usersettings.py
   trunk/waskaweb/controllers/waska.py
   trunk/waskaweb/i18n/de/LC_MESSAGES/waskaweb.po
   trunk/waskaweb/i18n/waskaweb.pot
   trunk/waskaweb/lib/helpers.py
   trunk/waskaweb/model/agency.py
   trunk/waskaweb/model/case.py
   trunk/waskaweb/model/expr.py
   trunk/waskaweb/public/styles/all.css
   trunk/waskaweb/public/styles/color3.css
   trunk/waskaweb/public/styles/screen.css
   trunk/waskaweb/templates/administration/dialogs/notificate_deleteuser.mako
   trunk/waskaweb/templates/administration/edit_settings.mako
   trunk/waskaweb/templates/administration/overview_user.mako
   trunk/waskaweb/templates/administration/show_settings.mako
   trunk/waskaweb/templates/casemanagement/bundle_standin.mako
   trunk/waskaweb/templates/casemanagement/caselist.mako
   trunk/waskaweb/templates/casemanagement/digest.mako
   trunk/waskaweb/templates/casemanagement/evaluation_result.mako
   trunk/waskaweb/templates/casemanagement/formular.mako
   trunk/waskaweb/templates/casemanagement/main.mako
   trunk/waskaweb/templates/casemanagement/overview.mako
   trunk/waskaweb/templates/dialogs/confirm.mako
   trunk/waskaweb/templates/dialogs/notification.mako
   trunk/waskaweb/templates/documents/case_overview.mako
   trunk/waskaweb/templates/documents/global_overview.mako
   trunk/waskaweb/templates/login.mako
   trunk/waskaweb/templates/start/help.mako
Log:
Load 4edf96a7d021 into trunk.


Modified: trunk/ChangeLog.txt
===================================================================
--- trunk/ChangeLog.txt	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/ChangeLog.txt	2008-08-13 13:06:10 UTC (rev 22)
@@ -1,3 +1,135 @@
+2008-01-24  Torsten Irlaender  <torsten.irlaender at intevation.de>
+
+	* waskaweb/controllers/statement.py, waskaweb/model/case.py: Cases are
+	  now marked as deleteable if the user declines the privacy statement.
+
+2008-01-24  Torsten Irlaender  <torsten.irlaender at intevation.de>
+
+	* waskaweb/controllers/case_overview.py, waskaweb/model/case.py,
+	  waskaweb/templates/casemanagement/caselist.mako, 
+	  waskaweb/templates/casemanagement/overview.mako:
+	  Enhanced Casesearch. Added more options for user to define their
+	  search. They can now filter "open", "closed" and "outstanding
+	  delete" cases. And they can choose if the want to see their own or
+	  standin cases. All option can be comibined in various ways. 
+
+2008-01-23 Benjamin Kirschner <benni.kirschner at intevation.de>
+
+	* waskaweb/lib/helpers.py:
+	  Added "CaseShort" to cut strings e.g. in caselist.mako (first_name,
+	  last_name) and infofield.
+
+2008-01-22  Torsten Irlaender  <torsten.irlaender at intevation.de>
+
+	* waskaweb/controllers/case_overview.py, waskaweb/model/case.py,
+	  waskaweb/templates/casemanagement/overview.mako: Enhanced cases
+	  search: Default behavior is now to filter out closed cases. Added
+	  checkbox to showup closed cases. The users search is now redisplayed
+	  on the result page. 
+
+2008-01-21  Torsten Irlaender  <torsten.irlaender at intevation.de>
+
+	* waskaweb/controllers/case_overview.py, waskaweb/model/case.py,
+	  waskaweb/templates/casemanagement/overview.mako:
+	  Implemented bundled delete action for cm_ka-users on the case
+	  overview page. All cases won't be actually delted but get marked to
+	  be deleted by the administration. 
+
+2008-01-18  Torsten Irlaender  <torsten.irlaender at intevation.de>
+
+	Added new workflow of cases. Cases can now have different states:
+		- Open (1)
+		- Closed (2)
+		- Outstanding delte (3)
+		- Outstanding anonymise (4)
+		- Anonymised (5)
+
+	* waskaweb/controllers/CaseBase.py,
+	  waskaweb/controllers/case.py, waskaweb/controllers/case_overview.py:
+	  Added new controller function to switch between the different states
+	  of a case. Casebundle actions: Non deleteable cases (state != 3) are
+	  filtered out in the casebundle.
+	* waskaweb/config/routing.py: Added routes for the new controllers.
+
+	* waskaweb/model/agency.py, waskaweb/model/case.py:
+	  Added new function to agency to get the max savetime im days for a
+	  the cases.
+	  Changed SQL Statements in model case to fetch the bearbeiter_id in
+	  the overview. Adjusted factory methods to build cases with the
+	  bearbeiter_id.  getEditor() method in case.py now really returns a
+	  UserObject instead of an user_id.  Added new class State which
+	  represents the State of a case. Added methods to Case and
+	  SessionCase to get the current state.
+
+	* waskaweb/templates/administration/edit_settings.mako,
+	  waskaweb/templates/administration/show_settings.mako:
+	  Added new fields to show and edit max savetime in agency
+	  configuration.
+
+	* waskaweb/templates/casemanagement/bundle_standin.mako,
+	  waskaweb/templates/casemanagement/caselist.mako,
+	  waskaweb/templates/casemanagement/main.mako,
+	  waskaweb/templates/casemanagement/overview.mako:
+	  Enhanced case overview pages: Added icons for action and
+	  state-information. Admins now see the (shorten) name of the editor
+	  of each case.
+	  Added new links into the main menu to open/close the case
+	* waskaweb/public/styles/all.css: Added new style for the status
+	  column of the case overview.
+
+	* waskaweb/public/images/icons/delete_red.gif, 
+	  waskaweb/public/images/icons/done_grey.gif,
+	  waskaweb/public/images/icons/editor_grey.gif,
+	  waskaweb/public/images/icons/recover_red.gif,
+	  waskaweb/public/images/icons/stand-in_grey.gif,
+	  waskaweb/public/images/icons/view_red.gif,
+	  waskaweb/public/images/icons/work_in_progress_grey.gif,
+	  waskaweb/templates/casemanagement/dialogs/confirm_close.mako,
+	  waskaweb/templates/casemanagement/dialogs/confirm_delete.mako,
+	  waskaweb/templates/casemanagement/dialogs/confirm_open.mako,
+	  waskaweb/templates/casemanagement/dialogs/confirm_restore.mako:
+	  Added icons for state and action in case overview.
+	  Added new confirmation dialogs which pop up if the user wants to
+	  change to a different state.
+
+	* waskaweb/i18n/de/LC_MESSAGES/waskaweb.po,
+	  waskaweb/i18n/waskaweb.pot:
+	  Added new translatet strings for the new actions and states.
+
+	* NEWS: Added NEWS files which should contain high level information
+	  of new Features and functions for endusers of waska. 
+
+2008-01-18  Sascha L. Teichmann <teichmann at intevation.de>
+
+	* waskaweb/model/expr.py: changed copyright to 2008
+
+2008-01-18 Benjamin Kirschner <benni.kirschner at intevation.de>
+
+	* waskaweb/templates/dialogs/failed.mako
+	  waskaweb/templates/dialogs/success.mako
+	  waskaweb/templates/documents/dialogs/failed_attachment.mako
+	  waskaweb/templates/documents/dialogs/failed_document.mako
+	  waskaweb/templates/documents/dialogs/success_attachment.mako
+	  waskaweb/templates/documents/dialogs/success_documents.mako
+	  waskaweb/controllers/document.py
+	  waskaweb/controllers/statement.py:
+	  Added dialog for document and attachment upload.
+	  Users get a direct feedback if the document/attachment has
+	  been uploaded or not.
+
+2008-01-14  Torsten Irlaender  <torsten.irlaender at intevation.de>
+
+	* waskaweb/model/case.py: Fix for issue 216
+
+2007-01-14 Sascha L. Teichmann <teichmann at intevation.de>
+
+	* waskaweb/model/case.py: Fix for issue 209
+
+2007-01-14  Sascha L. Teichmann <teichmann at intevation.de>
+
+	* Changes.txt: New. Userfriendly summary of changes.
+	* waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Tagged as Beta 14
+
 2008-01-11  Torsten Irlaender  <torsten.irlaender at intevation.de>
 
 	* waskaweb/public/styles/color3.css,

Added: trunk/Changes.txt
===================================================================
--- trunk/Changes.txt	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/Changes.txt	2008-08-13 13:06:10 UTC (rev 22)
@@ -0,0 +1,49 @@
+Beta 14:
+
+    Neu:
+
+    * Ausdruck der gesamten Fallakte ist bis auf die Unterstützungsangebote
+      nun möglich.
+
+    * Fallakten können nun gebündelt an andere Hauptbearbeiter zugewiesen
+      werden.
+
+    * Fallakten können nun gebündelt gelöscht werden.
+
+    * Vertretungen können nun gebündelt zugewiesen werden.
+
+    * Benutzer können nun geführt vom Administrator gelöscht werden.
+
+    Verbessert:
+
+    * Akten, bei denen die Einverständniserklärung nicht mehr vorliegen
+      wird, sind für Bearbeiten nicht mehr sichtbar. Der 
+      Administrator sieht sie aber weiterhin.
+
+    * Nach dem Anlegen eines neuen Benutzers wird die Anmeldekennung
+      und das Passwort deutlicher hervorgehoben.
+
+    * In der Fallaktenübersicht erscheinen die gefundenen Einträge
+      berücksichtigt die Sortierung nun auch Umlaute.
+
+    * Im Ansichtsmodus der Fallakte sind die Datenfelder nun besser
+      lesbar.
+
+    * Lange Seiten in der Fallakte sind nun gekürzt und deren Inhalt
+      ist auf mehrere Seiten verteilt worden. Dies minimiert die
+      Notwendigkeit, auf diesen Seiten zu scrollen.
+
+    * Die Navigation durch die Fallakte verhält sich jetzt mehr
+      wie ein Datei-Browser. Wenn man auf das Ordner-Symbol klickt,
+      werden Unterpunkte aufgeklappt. Wenn man auf die Namen
+      den Seite klickt, werden die entsprechende Seiten angezeigt.
+
+    * Das Feld in den Agentur-Einstellungen für das Übertragen der
+      anonymisierten Fallakten wird nun korrekt abgespeichert und
+      dargestellt. Die Übermittlung der anonymisierten Daten selbst
+      findet aber noch nicht statt.
+
+    * Einige Rechtschreibfehler wurden beseitigt.
+
+    * Die Darstellung wurde besser auf den Internet Explorer 6 und 7
+      abgestimmt.

Added: trunk/NEWS
===================================================================
--- trunk/NEWS	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/NEWS	2008-08-13 13:06:10 UTC (rev 22)
@@ -0,0 +1,25 @@
+Do 24. Jan 14:30:00 CET 2008 Torsten
+
+	* Die Fallübersicht wurde für die Nutzer um weiter Suchfilter er-
+	  weitert, die es erlauben die Menge der angezeigen Fälle
+	  genauer zu definieren. Die Optionen lassen sich frei kombinieren. 
+	  Weiter verfügt die Fallübersicht nun um Statusinformationen.
+	  Der Admin kann nun sehen wer der Hauptbearbeiter einer Fallakte ist.
+
+	* Fallakten für die explizit keine Einverständniserklärung
+	  vorliegt werden nun als "schwebend gelöscht" markiert.
+
+Fr 18. Jan 16:18:59 CET 2008 Torsten
+
+	* Die Agentureinstellungen enthalten nun eine Option die maximale
+	  Aufbewahrungsdauer von Fallakten (in Tagen) einstellen zu können. 
+	  Der Wert wird aber bislang noch nicht ausgewertet.
+
+	* Der Workflow beim Löschen von Fallakten wurde geändert. Fallakten
+	  können nun von dem Bearbeiter zum Löschen freigegeben werden. Die
+	  Fallakte sind dann "Schwebend gelöscht" und tauchen nicht mehr in
+	  der Übersicht auf. Administratoren können diese Fallakte dann
+	  tatsächlich löschen, oder aber wiederherstellen.
+
+	* Die Fallakte kann nun den Zustand "Abgeschlossen" bzw. "Offen"
+	  annehmen.

Modified: trunk/waskaweb/config/routing.py
===================================================================
--- trunk/waskaweb/config/routing.py	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/config/routing.py	2008-08-13 13:06:10 UTC (rev 22)
@@ -20,7 +20,11 @@
     map.connect('', controller='waska', action='index')
     map.connect('document/caseDelete/:id/:case/:confirmed', action="caseDelete", controller="document") 
     map.connect('rg_aid/delete/:rg_id/:ds_type/:confirmed', action="delete", controller="rg_aid") 
+    map.connect('case/markForDelete/:id/:confirmed', controller="case", action="markForDelete")
     map.connect('case/delete/:id/:confirmed', controller="case", action="delete")
+    map.connect('case/restore/:id/:confirmed', controller="case", action="restore")
+    map.connect('case/open/:id/:confirmed', controller="case", action="open")
+    map.connect('case/close/:id/:confirmed', controller="case", action="close")
     map.connect('case/select/:id/:confirmed', controller="case", action="select")
     map.connect('case/:action/:ds_id/:page_id/:form', controller="case") 
     map.connect('case/:action/:ds_id/:page_id', controller="case")

Modified: trunk/waskaweb/controllers/CaseBase.py
===================================================================
--- trunk/waskaweb/controllers/CaseBase.py	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/controllers/CaseBase.py	2008-08-13 13:06:10 UTC (rev 22)
@@ -73,4 +73,19 @@
             nc=[page.getWidget()])
         return formdata
 
+    def _setState(self, id, state):
+        id      = self._checkInt(id)
+        state   = self._checkInt(state)
+        try:
+            case  = self._loadCase(id)
+            case_state = case.getState()
+            case_state.setState(state)
+            session_case = session.get('case')
+            session_state = session_case.getState()
+            session_state.setState(state)
+            session.save()
+            return True 
+        except:
+            return False
+        
 # vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8:

Modified: trunk/waskaweb/controllers/administration.py
===================================================================
--- trunk/waskaweb/controllers/administration.py	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/controllers/administration.py	2008-08-13 13:06:10 UTC (rev 22)
@@ -20,20 +20,24 @@
 
 log = logging.getLogger(__name__)
 
-RESET_PASSWORD_CONFIRM          = u'Benutzerpasswort zur&uuml;cksetzen'
-RESET_PASSWORD_CONFIRM_QUESTION = u'Wollen Sie wirklich das Passwort f&uuml;r den Benutzer <strong>%s %s</strong> (login: %s) zur&uuml;cksetzen?' 
-DELETE_USER_NOTIFICATION_SUCCSESS        = u'L&ouml;schen Benutzer'
-DELETE_USER_NOTIFICATION_TEXT_SUCCESS   = u'''Der Benutzer <strong>%s %s</strong> (login: %s) wurde erfolgreich gelöscht. Klicken Sie auf 'OK', um wieder zur Benutzer Übersicht zu gelangen.''' 
+RESET_PASSWORD_CONFIRM                  = _('adm_reset_user_password')
+RESET_PASSWORD_CONFIRM_QUESTION         = _('adm_reset_user_password_question') 
 
-DELETE_USER_NOTIFICATION        = u'Löschen Benutzer'
-DELETE_USER_NOTIFICATION_TEXT   = u'''Der Benutzer kann nicht gelöscht werden, da er noch als Hauptbearbeiter für einige Fallakten eingetragen ist. Bitte weisen Sie den entsprechenden Fallakten einen neuen Bearbeiter zu. Klicken Sie auf 'OK', um wieder zur Benutzer Übersicht zu gelangen.'''
-DELETE_USER_CONFIRM             = 'L&ouml;schen Benutzer'
-DELETE_USER_CONFIRM_QUESTION    = u'Wollen Sie wirklich den Benutzer <strong>%s %s</strong> (login: %s) l&ouml;schen und die Daten unwiederbringlich verlieren?'
+DELETE_USER_NOTIFICATION_SUCCESS       = _('adm_delete_user_success_header')
+DELETE_USER_NOTIFICATION_TEXT_SUCCESS   = _('adm_delete_user_success_text')
 
-DIALOG_CONFIRM_SETEDITOR = u"""Fallakten übertragen"""
-SETEDITOR_NOTIFICATION_SUCCSESS = u"""Es wurden %s Fallakten erfolgreich an <strong>%s %s</strong> übertragen. Der Nutzer <strong>%s %s </strong> verfügt nun über keine Fallakten mehr und kann gelöscht werden. Klicken Sie auf 'OK' um den Benutzer zu löschen."""
-SETEDITOR_NOTIFICATION_SUCCSESS_REST = u"""Es wurden %s Fallakten erfolgreich an <strong>%s %s</strong> übertragen. Der Nutzer <strong>%s %s </strong> verfügt weiterhin über %s Fallakten. Klicken Sie auf 'OK', um mit dem Übertragen der Bearbeitung fortzufahren."""
+DELETE_USER_NOTIFICATION                = _('adm_delete_user_notification_header')
+DELETE_USER_NOTIFICATION_TEXT           = _('adm_delete_user_notification_text')
+DELETE_USER_SUCCESS_HEADER              = _('adm_delete_user_success_header')
+DELETE_USER_SUCCESS_TEXT                = _('adm_delete_user_success_text')
 
+DELETE_USER_CONFIRM                     = _('adm_delete_user_confirm_header')
+DELETE_USER_CONFIRM_QUESTION            = _('adm_delete_user_confirm_text')
+
+DIALOG_CONFIRM_SETEDITOR                = _('adm_set_editor_header')
+SETEDITOR_NOTIFICATION_SUCCSESS         = _('adm_set_editor_success_text')
+SETEDITOR_NOTIFICATION_SUCCSESS_REST    = _('adm_set_editor_success_text_rest')
+
 class AdministrationController(BaseController):
 
     def index(self):
@@ -83,7 +87,7 @@
         else:
             c.context = "../main.mako" 
             c.confirm_for = RESET_PASSWORD_CONFIRM 
-            c.question = RESET_PASSWORD_CONFIRM_QUESTION % (c.uo.first_name, c.uo.last_name, c.uo.getLogin()) 
+            c.question = "%s %s, %s" % (RESET_PASSWORD_CONFIRM_QUESTION, c.uo.first_name, c.uo.last_name) 
  
             c.url_yes = "/administration/resetUserPassword/%s/1" % id
             c.url_no  = "/administration/showUser/%s" % id
@@ -164,15 +168,17 @@
                     uo.delete()
                     # Showup not implemented dialog as there is still an
                     # persmission problem on the database
-                    c.notification_for = DELETE_USER_NOTIFICATION_SUCCSESS 
-                    c.notification_text = DELETE_USER_NOTIFICATION_TEXT_SUCCESS % (uo.first_name, uo.last_name, uo.getLogin())
+                    c.notification_for = DELETE_USER_NOTIFICATION_SUCCESS 
+                    c.notification_text = DELETE_USER_NOTIFICATION_TEXT_SUCCESS
+                    c.success_for = DELETE_USER_SUCCESS_HEADER 
+                    c.success_text = DELETE_USER_SUCCESS_TEXT
                     c.url_ok = "/administration/overviewUser"
                     return render('/administration/dialogs/notificate_deleteuser.mako')
 
             else:
                 c.context = "../main.mako" 
                 c.confirm_for = DELETE_USER_CONFIRM 
-                c.question = DELETE_USER_CONFIRM_QUESTION % (uo.first_name, uo.last_name, uo.getLogin()) 
+                c.question = DELETE_USER_CONFIRM_QUESTION
                 c.url_yes = "/administration/deleteUser/%s/1" % id
                 c.url_no  = "/administration/overviewUser/"
                 return render('/administration/dialogs/confirm_deleteuser.mako')
@@ -195,7 +201,6 @@
             all_cases.search('bearbeiter:%s' % del_user.id)
             num         = case_bundle.setEditor(form_result.get('editor'))
             rest        = all_cases.numDatasets() - case_bundle.numDatasets() 
-            print "bundle: %s, rest: %s" % (case_bundle.numDatasets(), rest)
             c.url_ok    = "/administration/deleteUser/%s/1" % form_result.get('user_id')
             if rest > 0:
                 c.notification_text = SETEDITOR_NOTIFICATION_SUCCSESS_REST % (str(num), new_editor.first_name, new_editor.last_name, del_user.first_name, del_user.last_name, str(rest))

Modified: trunk/waskaweb/controllers/case.py
===================================================================
--- trunk/waskaweb/controllers/case.py	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/controllers/case.py	2008-08-13 13:06:10 UTC (rev 22)
@@ -2,7 +2,7 @@
 #
 # Copyright (c) 2007 by Intevation GmbH
 # Authors:
-# Torsten Irländer <torsten.irlaender at intevation.de>
+# Torsten Irländer <torsten.irlaender at intevation.de>
 # Sascha L. Teichmann <teichmann at intevation.de>
 #
 
@@ -44,6 +44,19 @@
 PRINTALL_NOTIFICATION = u'Gesamte Fallakte drucken'
 PRINTALL_NOTIFICATION_TEXT = u'Leider ist die von Ihnen aufgerufene Funktion in der BETA Version dieser Anwendung noch nicht enthalten.' 
 
+DELETE_CONFIRM = u"""Löschen Fallakte""" 
+DELETE_CONFIRM_TEXT = u"""Wollen Sie wirklich die Fallakte löschen und die Daten unwiederbringlich verlieren?""" 
+MARKDELETE_CONFIRM_TEXT = u"""Wollen Sie wirklich die Fallakte zum Löschen freigeben? Die Fallakte steht Ihnen danach nicht mehr zur Bearbeitung zur Verfügung und wird durch die Administration gelöscht werden.""" 
+
+RESTORE_CONFIRM = u"""Wiederherstellen Fallakte"""
+RESTORE_CONFIRM_TEXT = u"""Wollen Sie wirklich die Fallakte wiederherstellen? Die Fallakte ist danach wieder für die Nutzer bearbeitbar."""
+
+CLOSE_CONFIRM = u"""Schließen Fallakte"""
+CLOSE_CONFIRM_TEXT = u"""Wollen Sie wirklich die Fallakte schließen? Das CM wird dann als beendet betrachtet"""
+
+OPEN_CONFIRM = u"""Geschlossene Fallakte öffnen"""
+OPEN_CONFIRM_TEXT = u"""Wollen Sie wirklich die Fallakte wieder öffnen? Das CM wird dann wird dann nicht als beendet betrachtet."""
+
 class CaseController(CasebaseController):
 
     def __before__(self):
@@ -372,7 +385,7 @@
         list      = UserListObject()
         c.case    = self._loadCase(id)
         c.standin = c.case.getStandin()
-        c.editor  = UserObject(c.case.getEditor())
+        c.editor  = c.case.getEditor()
         c.current_user = session['USER_AUTHORIZED']
         # Get available users for standin. filter out admins and the current
         # user
@@ -447,12 +460,29 @@
         c.form_navigation = self._getFormNavigation()
         return render('/documents/case_new.mako')
 
+    @checkRole('cm_ka')
+    def markForDelete(self, id, confirmed):
+        id        = self._checkInt(id)
+        confirmed = self._checkBool(confirmed)
+        c.ds_id   = id
+        if confirmed == 1:
+            case = self._loadCase(id)
+            case.setState(3)
+            redirect_to(controller="/case_overview")
+        else:
+            c.context = "../main.mako" 
+            c.confirm_for = DELETE_CONFIRM
+            c.question = MARKDELETE_CONFIRM_TEXT 
+            c.url_yes = "/case/markForDelete/%s/1" % id
+            c.url_no  = "/case_overview/"
+            return render('/casemanagement/dialogs/confirm.mako')
+
     @checkRole('admin_ka')
     def delete(self, id, confirmed):
         id        = self._checkInt(id)
         confirmed = self._checkBool(confirmed)
         c.ds_id   = id
-        if confirmed == '1':
+        if confirmed == 1:
             case = self._loadCase(id)
             if case.delete():
                 redirect_to(controller="/case_overview")
@@ -460,10 +490,59 @@
             return "Error! Could not delete ds."
         else:
             c.context = "../main.mako" 
-            c.confirm_for = 'L&ouml;schen Fallakte'
-            c.question = 'Wollen Sie wirklich die Fallakte l&ouml;schen und die Daten unwiederbringlich verlieren?' 
+            c.confirm_for = DELETE_CONFIRM 
+            c.question = DELETE_CONFIRM_TEXT 
             c.url_yes = "/case/delete/%s/1" % id
             c.url_no  = "/case_overview/"
-            return render('/casemanagement/dialogs/confirm.mako')
+            return render('/casemanagement/dialogs/confirm_delete.mako')
 
+    @checkRole('admin_ka')
+    def restore(self, id, confirmed):
+        id        = self._checkInt(id)
+        confirmed = self._checkBool(confirmed)
+        c.ds_id   = id
+        if confirmed == 1:
+            case = self._loadCase(id)
+            case.setState(1)
+            redirect_to(controller="/case_overview")
+        else:
+            c.context = "../main.mako" 
+            c.confirm_for = RESTORE_CONFIRM 
+            c.question = RESTORE_CONFIRM_TEXT 
+            c.url_yes = "/case/restore/%s/1" % id
+            c.url_no  = "/case_overview/"
+            return render('/casemanagement/dialogs/confirm_restore.mako')
+
+    @checkRole('cm_ka')
+    def open(self, id, confirmed):
+        id        = self._checkInt(id)
+        confirmed = self._checkBool(confirmed)
+        c.ds_id   = id
+        if confirmed == 1:
+            case = self._setState(id, 1)
+            return self.digest(id)
+        else:
+            c.context = "main.mako" 
+            c.confirm_for = OPEN_CONFIRM 
+            c.question = OPEN_CONFIRM_TEXT 
+            c.url_yes = "/case/open/%s/1" % id
+            c.url_no  = "/case_overview/"
+            return render('/casemanagement/dialogs/confirm_open.mako')
+
+    @checkRole('cm_ka')
+    def close(self, id, confirmed):
+        id        = self._checkInt(id)
+        confirmed = self._checkBool(confirmed)
+        c.ds_id   = id
+        if confirmed == 1:
+            case = self._setState(id, 2)
+            redirect_to(controller="/case_overview")
+        else:
+            c.context = "main.mako" 
+            c.confirm_for = CLOSE_CONFIRM
+            c.question = CLOSE_CONFIRM_TEXT 
+            c.url_yes = "/case/close/%s/1" % id
+            c.url_no  = "/case_overview/"
+            return render('/casemanagement/dialogs/confirm_close.mako')
+
 # vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8:

Modified: trunk/waskaweb/controllers/case_overview.py
===================================================================
--- trunk/waskaweb/controllers/case_overview.py	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/controllers/case_overview.py	2008-08-13 13:06:10 UTC (rev 22)
@@ -19,21 +19,22 @@
 log = logging.getLogger(__name__)
 
 DIALOG_EMPTY_SELECTION = u'''Keine Fallakten ausgewählt'''
-DIALOG_EMPTY_SELECTION_EXPLAINATION = u'''Sie haben keine Fallakten ausgewählt für die Sie die gewählte Aktion ausführen können. Bitte klicken Sie auf "OK" um zur Fallaktenübersicht zu gelangen und dort Fallakten auszuwählen'''
-DIALOG_CONFIRM_EXPLAINATION = u'''Wollen Sie wirklich die folgenden Fallakten löschen?%s'''
+DIALOG_EMPTY_SELECTION_EXPLAINATION = u'''Sie haben keine Fallakten ausgewählt für die Sie die gewählte Aktion ausführen können. Bitte klicken Sie auf "OK", um zur Fallaktenübersicht zu gelangen und dort Fallakten auszuwählen'''
 DIALOG_CONFIRM_DELETE = u'''Fallakten löschen'''
 DIALOG_CONFIRM_EXPLAINATION = u'''Wollen Sie wirklich die folgenden Fallakten löschen?%s'''
 
 DIALOG_CONFIRM_SETEDITOR = u"""Fallakten übertragen"""
-SETEDITOR_NOTIFICATION_SUCCSESS = u"""Es wurden %s Fallakten erfolgreich an <strong>%s %s</strong> übertragen. Klicken Sie auf 'OK' um zur Fallaktenübersicht zu gelangen."""
-SETEDITOR_NOTIFICATION_ERROR = u"""Bei dem Übertragen der Fallakten ist eine Fehler aufgetreten. Klicken Sie auf 'OK' um zur Fallaktenübersicht zu gelangen."""
+SETEDITOR_NOTIFICATION_SUCCSESS = u"""Es wurden %s Fallakten erfolgreich an <strong>%s %s</strong> übertragen. Klicken Sie auf 'OK', um zur Fallaktenübersicht zu gelangen."""
+SETEDITOR_NOTIFICATION_ERROR = u"""Bei dem Übertragen der Fallakten ist eine Fehler aufgetreten. Klicken Sie auf 'OK', um zur Fallaktenübersicht zu gelangen."""
 
 DIALOG_CONFIRM_SETSTANDIN = u"""Vertretung zuweisen"""
-SETSTANDIN_NOTIFICATION_SUCCSESS = u"""Es wurde für %s Fallakten erfolgreich die Vertretung gesetzt. Klicken Sie auf 'OK' um zur Fallaktenübersicht zu gelangen."""
-SETSTANDIN_NOTIFICATION_ERROR = u"""Bei dem Zuweisen der Vertretung für die Fallakten ist ein Fehler aufgetreten. Klicken Sie auf 'OK' um zur Fallaktenübersicht zu gelangen."""
+SETSTANDIN_NOTIFICATION_SUCCSESS = u"""Es wurde für %s Fallakten erfolgreich die Vertretung gesetzt. Klicken Sie auf 'OK', um zur Fallaktenübersicht zu gelangen."""
+SETSTANDIN_NOTIFICATION_ERROR = u"""Bei dem Zuweisen der Vertretung für die Fallakten ist ein Fehler aufgetreten. Klicken Sie auf 'OK', um zur Fallaktenübersicht zu gelangen."""
 
-DELETE_NOTIFICATION_SUCCSESS = u'''Es wurden %s Fallakten erfolgreich gelöscht. Klicken Sie auf 'OK' um zur Fallaktenübersicht zu gelangen.''' 
-DELETE_NOTIFICATION_ERROR = u'''Bei dem Löschen der Fallakten ist ein Fehler aufgetreten. Klicken Sie auf 'OK' um zur Fallaktenübersicht zu gelangen.''' 
+DELETE_NOTIFICATION_SUCCSESS = u'''Es wurden %s Fallakten erfolgreich gelöscht. Klicken Sie auf 'OK', um zur Fallaktenübersicht zu gelangen.''' 
+DELETE_NOTIFICATION_ERROR = u'''Bei dem Löschen der Fallakten ist ein Fehler aufgetreten. Klicken Sie auf 'OK', um zur Fallaktenübersicht zu gelangen.''' 
+MARKDELETE_NOTIFICATION_SUCCSESS = u'''Es wurden %s Fallakten erfolgreich zum Löschen freigegeben. Klicken Sie auf 'OK', um zur Fallaktenübersicht zu gelangen.''' 
+MARKDELETE_NOTIFICATION_ERROR = u'''Bei dem Freigeben zum Löschen der Fallakten ist ein Fehler aufgetreten. Klicken Sie auf 'OK', um zur Fallaktenübersicht zu gelangen.''' 
 DELETE_NOTIFICATION_EMPTYLIST = u'''Keine Fälle''' 
 
 class CaseOverviewController(CasebaseController):
@@ -48,29 +49,50 @@
     @checkRole(('admin_ka', 'cm_ka', 'pt_dlr'))
     def overview(self):
         c.cases = CaseOverview()
-        c.cases.search()
+        user = session['USER_AUTHORIZED']
+        # editor or standin setting will be ignored for admin users. They will
+        # be overwritten in case-controller
+        default_search_options = ['editor:%s' % user.id, 'state:1']
+        c.cases.search(";".join(default_search_options))
         c.cases.sortByLastname()
-        return render('/casemanagement/overview.mako')
+        c.form_defaults = {'show_own': 1, 'show_other': 0, 'show_open': 1, 'show_closed': 0, 'show_markdelete': 0} 
+        overview = render('/casemanagement/overview.mako')
+        return formencode.htmlfill.render(unicode(overview, 'utf-8'),defaults=c.form_defaults)
 
     @checkRole(('admin_ka', 'cm_ka', 'pt_dlr'))
     def search(self):
         validator = SearchCaseForm()
+        c.form_result = {}
+        c.form_errors = {}
         try:
-            form_result = validator.to_python(request.params)
+            c.form_result = validator.to_python(request.params)
             c.cases = CaseOverview()
-            if form_result.get('show_own') == '1':
-                user = session['USER_AUTHORIZED']
-                c.cases.search('bearbeiter:%s' % user.id)
-            else:
-                c.cases.search(form_result.get('search_str'))
+            search_str = []
+            user = session['USER_AUTHORIZED']
+            # editor or standin setting will be ignored for admin users. They will
+            # be overwritten in case-controller
+            if c.form_result.get('show_own') == '1':
+                search_str.append('editor:%s' % user.id)
+            if c.form_result.get('show_other') == '1':
+                search_str.append('standin:%s' % user.id)
+
+            if c.form_result.get('show_open') == '1':
+                search_str.append('state:%s' % 1)
+            if c.form_result.get('show_closed') == '1':
+                search_str.append('state:%s' % 2)
+            if c.form_result.get('show_markdelete') == '1':
+                search_str.append('state:%s' % 3)
+            search_str.append(c.form_result.get('search_str'))
+            c.cases.search(";".join(search_str))
+            c.search_str = c.form_result.get('search_str')
             c.cases.sortByLastname()
         except formencode.Invalid, error:
             c.form_result = error.value
             c.form_errors = error.error_dict or {}
             c.cases = CaseOverview()
             c.cases.search()
-            return render('/casemanagement/overview.mako')
-        return render('/casemanagement/overview.mako')
+        overview = render('/casemanagement/overview.mako')
+        return formencode.htmlfill.render(unicode(overview, 'utf-8'),defaults=c.form_result, errors=c.form_errors, auto_insert_errors=False)
 
     @checkRole(('admin_ka', 'cm_ka', 'pt_dlr'))
     def bundleAction(self):
@@ -101,12 +123,14 @@
             c.case_list = case_bundle.getCases()
             if action == 'delete':
                 return self.delete(0)
+            if action == 'markdelete':
+                return self.markDelete(0)
             elif action == 'stand-in':
                 # filter out cases where the user is not the editor and
                 # therefor is not allowed to set the standin
                 filtered = []
                 for case in c.case_list:
-                    if case.getEditor() == c.current_user.id or c.current_user.isAdmin():
+                    if case.getEditor().id == c.current_user.id or c.current_user.isAdmin():
                         filtered.append(case.id)
                 session['casebundle'] = CaseBundle(filtered)
                 session.save()
@@ -207,6 +231,9 @@
             else:
                 c.context     = "../main.mako" 
                 c.confirm_for = DIALOG_CONFIRM_DELETE
+                case_bundle   = CaseBundle([case.id for case in case_bundle.getCases() if case.getState().getState() == 3])  
+                session['casebundle'] = case_bundle
+                session.save()
                 c.question    = DIALOG_CONFIRM_EXPLAINATION % "\n".join(self._buildCaseList(case_bundle)) 
                 c.url_yes     = "/case_overview/delete/1"
                 c.url_no      = "/case_overview/"
@@ -215,4 +242,34 @@
             c.notification_text = DELETE_NOTIFICATION_EMPTYLIST
         return render('/casemanagement/dialogs/notificate_bundle_delete.mako')
 
+    @checkRole(('cm_ka'))
+    def markDelete(self, confirmed):
+        confirmed           = self._checkBool(confirmed)
+        c.context           = "../main.mako" 
+        c.url_ok            = "/case_overview"
+        c.notification_for  = DIALOG_CONFIRM_DELETE 
+        case_bundle         = session.get('casebundle')
+        if case_bundle and not case_bundle.isEmpty():
+            if confirmed == 1:
+                try:
+                    num = case_bundle.markDelete()
+                    c.notification_text = MARKDELETE_NOTIFICATION_SUCCSESS % str(num)
+                except StandardError, err:
+                    print err
+                    c.notification_text = MARKDELETE_NOTIFICATION_ERROR
+                del session['casebundle']
+            else:
+                c.context     = "../main.mako" 
+                c.confirm_for = DIALOG_CONFIRM_DELETE
+                case_bundle   = CaseBundle([case.id for case in case_bundle.getCases() if case.getState().getState() <= 2])  
+                session['casebundle'] = case_bundle
+                session.save()
+                c.question    = DIALOG_CONFIRM_EXPLAINATION % "\n".join(self._buildCaseList(case_bundle)) 
+                c.url_yes     = "/case_overview/markDelete/1"
+                c.url_no      = "/case_overview/"
+                return render('/casemanagement/dialogs/confirm.mako')
+        else:
+            c.notification_text = DELETE_NOTIFICATION_EMPTYLIST
+        return render('/casemanagement/dialogs/notificate_bundle_delete.mako')
+
 # vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8:

Modified: trunk/waskaweb/controllers/document.py
===================================================================
--- trunk/waskaweb/controllers/document.py	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/controllers/document.py	2008-08-13 13:06:10 UTC (rev 22)
@@ -22,6 +22,18 @@
 
 log = logging.getLogger(__name__)
 
+
+SET_DOCUMENT_SUCCESS_HEADER   = u"""Dokument hinzugefügt!"""
+SET_DOCUMENT_SUCCESS_TEXT     = u"""Klicken Sie auf OK um fortzufahren."""
+SET_DOCUMENT_FAILED_HEADER    = u"""Kein Dokument hinzugefügt!"""
+SET_DOCUMENT_FAILED_TEXT      = u"""Klicken Sie auf OK um fortzufahren"""
+SET_ATTACHMENT_SUCCESS_HEADER = u"""Anlage hinzugefügt!"""
+SET_ATTACHMENT_SUCCESS_TEXT   = u"""Klicken Sie auf OK um fortzufahre."""
+SET_ATTACHMENT_FAILED_HEADER  = u"""Keine Anlage hinzugefügt!"""
+SET_ATTACHMENT_FAILED_TEXT    = u"""Klicken Sie auf "OK" um fortzufahren."""
+
+
+
 class DocumentController(BaseController):
 
     @checkRole(('admin_ka', 'cm_ka'))
@@ -51,16 +63,24 @@
                 myfile = request.POST.get('file')
                 if not myfile is None:
                     doc.create(myfile.filename, myfile.file)
+                    c.success_for = SET_DOCUMENT_SUCCESS_HEADER
+                    c.success_text = SET_DOCUMENT_SUCCESS_TEXT
+                    c.url_ok = h.url_for(controller="document", action="globalOverview")
+                    return render('/documents/dialogs/success_documents.mako')
             finally:
                 if not myfile is None:
                     try: myfile.file.close()
                     except: pass
         except:
             traceback.print_exc(file=sys.stderr)
-            #return render('/tests/trace.mako')
+            c.failed_for = SET_DOCUMENT_FAILED_HEADER
+            c.failed_text = SET_DOCUMENT_FAILED_TEXT
+            c.url_ok = h.url_for(controller="document", action="globalUpload")
+            return render('/documents/dialogs/failed_document.mako')
 
-        return self.globalOverview() 
+            return self.globalUpload()
 
+
     @checkRole('cm_ka')
     def caseUploadAction(self):
         try:
@@ -75,16 +95,22 @@
                 myfile = request.POST.get('file')
                 if not myfile is None:
                     doc.create(myfile.filename, myfile.file, case)
+                    c.success_for = SET_ATTACHMENT_SUCCESS_HEADER
+                    c.success_text = SET_ATTACHMENT_SUCCESS_TEXT
+                    c.url_ok = h.url_for(controller="document", action="caseUploadAction")
+                    return render('/documents/dialogs/success_attachment.mako')
             finally:
                 if not myfile is None:
                     try: myfile.file.close()
                     except: pass
         except:
             traceback.print_exc(file=sys.stderr)
-            #return render('/tests/trace.mako')
+            c.failed_for = SET_ATTACHMENT_FAILED_HEADER
+            c.failed_text = SET_ATTACHMENT_FAILED_TEXT
+            c.url_ok = h.url_for(controller="case", action="newDocument", id=case)
+            return render('/documents/dialogs/failed_attachment.mako')
+ 
 
-        redirect_to(controller="case", action="documents", id=case) 
-
     @checkRole(('admin_ka', 'cm_ka'))
     def globalShow(self, id):
         id = self._checkInt(id)
@@ -133,8 +159,8 @@
             return self.globalOverview()
         else:
             c.context     = "../main.mako" 
-            c.confirm_for = u'Löschen Dokument'
-            c.question    = u'Wollen Sie das Dokument wirklich löschen und die Daten unwiederbringlich verlieren?'
+            c.confirm_for = u'Löschen Dokument'
+            c.question    = u'Wollen Sie das Dokument wirklich löschen und die Daten unwiederbringlich verlieren?'
             c.url_yes     = "/document/globalDelete/%d/1" % id
             c.url_no      = "/document/globalOverview/"
             return render('/documents/dialogs/confirm.mako')
@@ -153,8 +179,8 @@
             redirect_to(controller="/case", action="documents", id=case) 
         else:
             c.context     = "../main.mako" 
-            c.confirm_for = u'Löschen Dokument'
-            c.question    = u'Wollen Sie das Dokument wirklich löschen und die Daten unwiederbringlich verlieren?'
+            c.confirm_for = u'Löschen Dokument'
+            c.question    = u'Wollen Sie das Dokument wirklich löschen und die Daten unwiederbringlich verlieren?'
             c.url_yes     = "/document/caseDelete/%d/%d/1" % (id, case)
             c.url_no      = h.url_for(controller="/case", action="documents", id=case)
             return render('/documents/dialogs/confirm.mako')

Modified: trunk/waskaweb/controllers/statement.py
===================================================================
--- trunk/waskaweb/controllers/statement.py	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/controllers/statement.py	2008-08-13 13:06:10 UTC (rev 22)
@@ -2,7 +2,7 @@
 #
 # Copyright (c) 2007 by Intevation GmbH
 # Authors:
-# Torsten Irländer <torsten.irlaender at intevation.de>
+# Torsten Irländer <torsten.irlaender at intevation.de>
 #
 
 import logging
@@ -20,7 +20,10 @@
 HEADER           = u"""Angaben zur Einverständniserklärung""" 
 ACCEPT_QUESTION  = u"""Sie haben angegeben, das eine Einverständniserklärung des Jugendlichen zur Erfassung, Verarbeitung und Speicherung personenbezogener Daten vorliegt. Sind Sie sicher das diese Angabe korrekt ist?"""  
 DECLINE_QUESTION = u"""Sie haben angegeben, das keine Einverständniserklärung des Jugendlichen zur Erfassung, Verarbeitung und Speicherung personenbezogener Daten vorliegt. Dies bedeutet das die bislang gespeicherten Daten der Fallakte zur Wahrung des Datenschutzes gelöscht werden und unwiederbringlich verloren gehen. Sind Sie sicher das diese Angabe korrekt ist?"""  
-
+SET_EE_SUCCESS_HEADER = u"""Einwilligungserklärung gesetzt!"""
+SET_EE_SUCCESS_TEXT = u"""Klicken Sie auf "OK" um fortzufahren."""
+SET_EE_DECLINE_SUCCESS_HEADER = u"""Daten wurden gelöscht!"""
+SET_EE_DECLINE_SUCCESS_TEXT = u"""Die personenbezogenen Daten der Fallakte wurden gelöscht. Klicken Sie auf OK um fortzufahren"""
 class StatementController(CasebaseController):
 
     def __before__(self):
@@ -56,10 +59,16 @@
 
     @checkRole('cm_ka')
     def setPrivacyStatementAction(self):
-        if request.params['statement_signed'] == "1": 
-            self.acceptPrivacyStatement(request.params['case_id'], "1")
+        if request.params.get('statement_signed') == "1": 
+            self.acceptPrivacyStatement(request.params.get('case_id'), "1")
+        elif request.params.get('statement_signed') == "0":
+            return self.declinePrivacyStatement(request.params.get('case_id'), "0")
         else:
-            return self.declinePrivacyStatement(request.params['case_id'], '0')
+            session_case = session.get('case')
+            redirect_to(controller="/statement", action="setPrivacyStatement", id=session_case.id)
+            #return render('statement/dialogs/ee_accept_success.mako') 
+            #session.save()
+            # redirect_to(controller="case", action="digest", id=id) 
 
     @checkRole('cm_ka')
     def acceptPrivacyStatement(self, id, confirmed):
@@ -75,6 +84,16 @@
             session_case = session.get('case')
             session_case.privacy_statement = True
             session.save()
+            #dialog erfolgreich gesetzt
+            #c.success_for = SET_EE_SUCCESS_HEADER
+            #c.success_text = SET_EE_SUCCESS_TEXT
+            #c.url_ok = h.url_for(controller="case", action="digest")
+            #c.url_ok= h.url_for(
+            #    controller="case", 
+            #   action="digest", id=id, confirmed="1")
+            #return "<title>hello</title>"
+            #return render('statement/dialogs/ee_accept_success.mako')
+            #session.save()
             redirect_to(controller="case", action="digest", id=id) 
         else:
             c.confirm_for = HEADER 
@@ -83,7 +102,8 @@
                 controller="statement", 
                 action="acceptPrivacyStatement", id=id, confirmed="1")
             c.url_no = h.url_for('digest', id=id)
-            return render('statement/dialogs/confirm.mako')
+            return "<title>hello</title>"
+            #return render('statement/dialogs/confirm.mako')
 
     @checkRole('cm_ka')
     def declinePrivacyStatement(self, id, confirmed):
@@ -93,17 +113,20 @@
         c.form_navigation = self._getFormNavigation()
         if confirmed:
             statement = case.getPrivacyStatement()
-            # TODO: Delete case or delete personal data from case, at least hide
-            # this case in the case list from further editing by the user.
-            # Solution: Anonymize the data 
-            # Solution: SQL view? 
             statement.decline()
+            # Mark case for deletion
+            state = case.getState()
+            state.setState(3)
 
             # TODO: Think about refreshing the state of the privacy statement
             # in the statement model
             session_case = session.get('case')
             session_case.privacy_statement = True
             session.save()
+            #c.success_for = SET_EE_DECLINE_SUCCESS_HEADER
+            #c.success_text = SET_EE_DECLINE_SUCCESS_TEXT
+            #c.url_ok = h.url_for ('/case_overview')
+            #return render('/statement/dialogs/ee_decline_success.mako')
             redirect_to('/case_overview') 
         else:
             c.confirm_for = HEADER 
@@ -111,7 +134,7 @@
             c.url_yes = h.url_for(
                 controller="statement", 
                 action="declinePrivacyStatement", id=id, confirmed="1")
-            c.url_no = h.url_for('digest', id=id)
+            c.url_no = h.url_for(controller="statement", action="setPrivacyStatement", id=id)
             return render('statement/dialogs/confirm.mako')
-       
+           # return render('/statement/dialogs/success_ee.mako')
 # vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8:

Modified: trunk/waskaweb/controllers/usersettings.py
===================================================================
--- trunk/waskaweb/controllers/usersettings.py	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/controllers/usersettings.py	2008-08-13 13:06:10 UTC (rev 22)
@@ -2,7 +2,7 @@
 #
 # Copyright (c) 2007 by Intevation GmbH
 # Authors:
-# Torsten Irländer <torsten.irlaender at intevation.de>
+# Torsten Irländer <torsten.irlaender at intevation.de>
 # Sascha L. Teichmann <teichmann at intevation.de>
 #
 
@@ -17,7 +17,7 @@
 log = logging.getLogger(__name__)
 
 SET_PASSWORD_NOTIFICATION_HEADER = u"""&Auml;ndern des Benutzerpasswort"""
-SET_PASSWORD_NOTIFICATION_TEXT = u"""<p>Ihr Passwort wurde erfolgreich ge&auml;ndert.</p><p>Bitte klicken Sie auf "OK", um zu den Benutzereinstellungen zu gelangen.</p>"""
+SET_PASSWORD_NOTIFICATION_TEXT = u"""Ihr Passwort wurde erfolgreich ge&auml;ndert. Bitte klicken Sie auf "OK", um zu den Benutzereinstellungen zu gelangen."""
 
 class UsersettingsController(BaseController):
 

Modified: trunk/waskaweb/controllers/waska.py
===================================================================
--- trunk/waskaweb/controllers/waska.py	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/controllers/waska.py	2008-08-13 13:06:10 UTC (rev 22)
@@ -2,7 +2,7 @@
 #
 # Copyright (c) 2007 by Intevation GmbH
 # Authors:
-# Torsten Irländer <torsten.irlaender at intevation.de>
+# Torsten Irländer <torsten.irlaender at intevation.de>
 # Sascha L. Teichmann <teichmann at intevation.de>
 #
 
@@ -51,12 +51,16 @@
             passwd = request.params.getone('password')
             user   = checkLogin(login, passwd)
             if user:
+                c.login_failed = False
                 shared = generateID()
                 session['USER_AUTHORIZED'] = user
                 session['AUTH'] = md5.new(shared + userIdentity()).digest()
                 session.save()
                 response.set_cookie('waska_auth', shared)
-                redirect_to(action="start") 
+                redirect_to(action="start")
+            else:
+                c.login_failed = True
+                return self.login()
         except KeyError:
             pass
         return self.login()

Modified: trunk/waskaweb/i18n/de/LC_MESSAGES/waskaweb.po
===================================================================
--- trunk/waskaweb/i18n/de/LC_MESSAGES/waskaweb.po	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/i18n/de/LC_MESSAGES/waskaweb.po	2008-08-13 13:06:10 UTC (rev 22)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: waskaweb 0.0.0\n"
 "Report-Msgid-Bugs-To: EMAIL at ADDRESS\n"
-"POT-Creation-Date: 2008-01-11 10:37+0100\n"
+"POT-Creation-Date: 2008-01-24 14:49+0100\n"
 "PO-Revision-Date: 2007-10-14 20:33+0200\n"
 "Last-Translator: Torsten Irländer<torsten.irlaender at intevation.de>\n"
 "Language-Team: de <LL at li.org>\n"
@@ -17,6 +17,60 @@
 "Plural-Forms: nplurals=2; plural=(n != 1)\n"
 "Generated-By: Babel 0.9.1\n"
 
+#: waskaweb/controllers/administration.py:23
+msgid "adm_reset_user_password"
+msgstr "Benutzerpasswort wirklich zurücksetzen?"
+
+#: waskaweb/controllers/administration.py:24
+msgid "adm_reset_user_password_question"
+msgstr "Wollen Sie wirklich das Passwort für folgenden Benutzer zurücksetzen:"
+
+#: waskaweb/controllers/administration.py:26
+#: waskaweb/controllers/administration.py:31
+msgid "adm_delete_user_success_header"
+msgstr "Benutzer gelöscht!"
+
+#: waskaweb/controllers/administration.py:27
+#: waskaweb/controllers/administration.py:32
+msgid "adm_delete_user_success_text"
+msgstr ""
+"Der Benutzer wurde erfolgreich gelöscht. Klicken Sie auf OK um fortzufahren."
+
+#: waskaweb/controllers/administration.py:29
+msgid "adm_delete_user_notification_header"
+msgstr "Benutzer nicht gelöscht!"
+
+#: waskaweb/controllers/administration.py:30
+msgid "adm_delete_user_notification_text"
+msgstr ""
+"Der Benutzer kann nicht gelöscht werden, da er noch als Hauptbearbeiter für "
+"einige Fallakten eingetragen ist. Bitte weisen Sie den entsprechenden "
+"Fallakten einen neuen Bearbeiter zu. Klicken Sie auf OK, um wieder zur "
+"Benutzerübersicht zu gelangen."
+
+#: waskaweb/controllers/administration.py:34
+msgid "adm_delete_user_confirm_header"
+msgstr "Benutzer wirklich löschen"
+
+#: waskaweb/controllers/administration.py:35
+msgid "adm_delete_user_confirm_text"
+msgstr ""
+"Wollen Sie den Benutzer löschen und die Daten unwiederbringlich verlieren?"
+
+#: waskaweb/controllers/administration.py:37
+msgid "adm_set_editor_header"
+msgstr "Fallakten übertragen"
+
+#: waskaweb/controllers/administration.py:38
+msgid "adm_set_editor_success_text"
+msgstr "Fallakte(n) wurden an ?bertragen. Klicken Sie OK um zu löschen."
+
+#: waskaweb/controllers/administration.py:39
+msgid "adm_set_editor_success_text_rest"
+msgstr ""
+"Fallakten wurden an übertragen. verfügt weiterhin über Fallakten. Klicken Si "
+"auf OK, um fortzufahren."
+
 #: waskaweb/lib/renderer.py:208
 msgid "cm_rg_aid_overview_table_institution"
 msgstr "Institution"
@@ -85,19 +139,51 @@
 msgid "cm_rg_aid_overview_legend_new_offer"
 msgstr "Neues Angebot hinzufügen"
 
+#: waskaweb/model/case.py:871
+#: waskaweb/templates/casemanagement/caselist.mako:37
+#: waskaweb/templates/casemanagement/caselist.mako:72
+msgid "case_state_label_open"
+msgstr "Offen"
+
+#: waskaweb/model/case.py:872
+#: waskaweb/templates/casemanagement/caselist.mako:39
+#: waskaweb/templates/casemanagement/caselist.mako:74
+msgid "case_state_label_closed"
+msgstr "Geschlossen"
+
+#: waskaweb/model/case.py:873
+msgid "case_state_label_outstanding_delete"
+msgstr "Schwebend gelöscht"
+
+#: waskaweb/model/case.py:874
+msgid "case_state_label_outstanding_anon"
+msgstr "Schwebend anonymisiert"
+
+#: waskaweb/model/case.py:875
+msgid "case_state_label_anon"
+msgstr "Anonymisiert"
+
 #: waskaweb/templates/login.mako:3
 msgid "login_header_waska_login"
 msgstr "WASKA Login"
 
-#: waskaweb/templates/login.mako:5
+#: waskaweb/templates/login.mako:8
+msgid "login_input_error"
+msgstr "Falsche Eingabe"
+
+#: waskaweb/templates/login.mako:10
+msgid "login_input_error_message"
+msgstr "Anmeldekennung und/oder Passwort sind nicht korrekt"
+
+#: waskaweb/templates/login.mako:15
 msgid "login_p_insert_pw_and_identifier"
 msgstr "Geben Sie bitte Anmeldekennung und Passwort ein, um sich anzumelden."
 
-#: waskaweb/templates/login.mako:8
+#: waskaweb/templates/login.mako:18
 msgid "login_label_identifier"
 msgstr "Anmeldekennung:"
 
-#: waskaweb/templates/login.mako:15
+#: waskaweb/templates/login.mako:26
 msgid "login_label_pw"
 msgstr "Passwort:"
 
@@ -194,7 +280,7 @@
 
 #: waskaweb/templates/main.mako:173
 msgid "footer_version"
-msgstr "11.01.2008 | Beta 13"
+msgstr "14.01.2008 | Beta 14"
 
 #: waskaweb/templates/main_login.mako:38
 #: waskaweb/templates/start/responsible.mako:71
@@ -235,6 +321,7 @@
 #: waskaweb/templates/administration/dialogs/confirm_deleteuser.mako:5
 #: waskaweb/templates/administration/dialogs/confirm_resetpassword.mako:5
 #: waskaweb/templates/administration/dialogs/notificate_deleteuser.mako:5
+#: waskaweb/templates/statement/dialogs/ee_decline_success.mako:5
 msgid "adm_np_root"
 msgstr "Administration"
 
@@ -247,6 +334,7 @@
 #: waskaweb/templates/administration/show_user.mako:6
 #: waskaweb/templates/administration/dialogs/confirm_deleteuser.mako:6
 #: waskaweb/templates/administration/dialogs/confirm_resetpassword.mako:6
+#: waskaweb/templates/statement/dialogs/ee_decline_success.mako:6
 msgid "adm_np_overview"
 msgstr "Benutzerübersicht"
 
@@ -308,12 +396,17 @@
 msgid "adm_form_settings_fkz"
 msgstr "FKZ der KA"
 
-#: waskaweb/templates/administration/edit_settings.mako:53
+#: waskaweb/templates/administration/edit_settings.mako:45
 #: waskaweb/templates/administration/show_settings.mako:34
+msgid "adm_form_settings_max_savetime"
+msgstr "Maximale Aufbewahrungsdauer von Fallakten in Tagen"
+
+#: waskaweb/templates/administration/edit_settings.mako:60
+#: waskaweb/templates/administration/show_settings.mako:38
 msgid "adm_form_settings_anontransfer"
 msgstr "Anonymisierte Fallakten übermitteln"
 
-#: waskaweb/templates/administration/edit_settings.mako:70
+#: waskaweb/templates/administration/edit_settings.mako:77
 msgid "adm_form_settings_save"
 msgstr "Einstellungen speichern"
 
@@ -435,7 +528,8 @@
 
 #: waskaweb/templates/administration/new_user_result.mako:23
 msgid "adm_form_new_user_notice"
-msgstr "Bitte geben Sie Anmeldekennung und Passwort an den neuen Nutzer weiter."
+msgstr ""
+"Bitte geben Sie Anmeldekennung und Passwort an den neuen Nutzer weiter."
 
 #: waskaweb/templates/administration/new_user_result.mako:26
 msgid "adm_form_label_forename"
@@ -515,21 +609,28 @@
 
 #: waskaweb/templates/administration/overview_user.mako:36
 #: waskaweb/templates/administration/overview_user.mako:46
-#: waskaweb/templates/appointments/overview_body.mako:14
-#: waskaweb/templates/appointments/overview_body.mako:22
-#: waskaweb/templates/appointments/overview_body.mako:30
-#: waskaweb/templates/appointments/overview_body.mako:37
-#: waskaweb/templates/appointments/overview_body.mako:48
-msgid "app_overview_body_table_show"
+#: waskaweb/templates/casemanagement/caselist.mako:43
+#: waskaweb/templates/casemanagement/caselist.mako:78
+#: waskaweb/templates/documents/case_overview.mako:42
+#: waskaweb/templates/documents/case_overview.mako:51
+#: waskaweb/templates/documents/global_overview.mako:39
+#: waskaweb/templates/documents/global_overview.mako:40
+#: waskaweb/templates/documents/global_overview.mako:51
+#: waskaweb/templates/documents/global_overview.mako:52
+msgid "cm_overview_a_show"
 msgstr "Anzeigen"
 
 #: waskaweb/templates/administration/overview_user.mako:37
 #: waskaweb/templates/administration/overview_user.mako:47
-#: waskaweb/templates/appointments/overview_body.mako:15
-#: waskaweb/templates/appointments/overview_body.mako:23
-#: waskaweb/templates/appointments/overview_body.mako:38
-#: waskaweb/templates/appointments/overview_body.mako:49
-msgid "app_overview_body_table_delete"
+#: waskaweb/templates/casemanagement/caselist.mako:45
+#: waskaweb/templates/casemanagement/caselist.mako:48
+#: waskaweb/templates/casemanagement/caselist.mako:80
+#: waskaweb/templates/casemanagement/caselist.mako:83
+#: waskaweb/templates/documents/case_overview.mako:43
+#: waskaweb/templates/documents/case_overview.mako:52
+#: waskaweb/templates/documents/global_overview.mako:42
+#: waskaweb/templates/documents/global_overview.mako:54
+msgid "cm_overview_a_delete"
 msgstr "Löschen"
 
 #: waskaweb/templates/administration/reset_password.mako:9
@@ -586,11 +687,11 @@
 msgid "adm_con_ss_view_agency"
 msgstr "Hier können Sie die agenturweiten Einstellungen sehen."
 
-#: waskaweb/templates/administration/show_settings.mako:37
+#: waskaweb/templates/administration/show_settings.mako:41
 msgid "adm_form_settings_anontransfer_yes"
 msgstr "Ja"
 
-#: waskaweb/templates/administration/show_settings.mako:39
+#: waskaweb/templates/administration/show_settings.mako:43
 msgid "adm_form_settings_anontransfer_no"
 msgstr "Nein"
 
@@ -778,6 +879,21 @@
 msgid "app_overview_tbl_header_actions"
 msgstr "Aktionen"
 
+#: waskaweb/templates/appointments/overview_body.mako:14
+#: waskaweb/templates/appointments/overview_body.mako:22
+#: waskaweb/templates/appointments/overview_body.mako:30
+#: waskaweb/templates/appointments/overview_body.mako:37
+#: waskaweb/templates/appointments/overview_body.mako:48
+msgid "app_overview_body_table_show"
+msgstr "Anzeigen"
+
+#: waskaweb/templates/appointments/overview_body.mako:15
+#: waskaweb/templates/appointments/overview_body.mako:23
+#: waskaweb/templates/appointments/overview_body.mako:38
+#: waskaweb/templates/appointments/overview_body.mako:49
+msgid "app_overview_body_table_delete"
+msgstr "Löschen"
+
 #: waskaweb/templates/appointments/show.mako:5
 #: waskaweb/templates/appointments/beta/show_1.mako:5
 #: waskaweb/templates/appointments/beta/show_10.mako:5
@@ -843,8 +959,12 @@
 #: waskaweb/templates/casemanagement/formular.mako:34
 #: waskaweb/templates/casemanagement/new_appointment.mako:5
 #: waskaweb/templates/casemanagement/organisation.mako:5
+#: waskaweb/templates/casemanagement/dialogs/confirm_close.mako:5
+#: waskaweb/templates/casemanagement/dialogs/confirm_open.mako:5
 #: waskaweb/templates/documents/case_new.mako:4
 #: waskaweb/templates/documents/case_overview.mako:5
+#: waskaweb/templates/documents/dialogs/failed_attachment.mako:4
+#: waskaweb/templates/documents/dialogs/success_attachment.mako:4
 msgid "cm_np_select"
 msgstr "Ausgewählte Fallakte"
 
@@ -898,21 +1018,34 @@
 msgid "cm_overview_tbl_header_lastname"
 msgstr "Name"
 
-#: waskaweb/templates/casemanagement/caselist.mako:9
+#: waskaweb/templates/casemanagement/caselist.mako:10
+msgid "cm_overview_tbl_header_editor"
+msgstr "Bearbeiter"
+
+#: waskaweb/templates/casemanagement/caselist.mako:12
+msgid "cm_overview_tbl_header_status"
+msgstr "Status"
+
+#: waskaweb/templates/casemanagement/caselist.mako:13
 msgid "cm_overview_tbl_header_actions"
 msgstr "Aktionen"
 
-#: waskaweb/templates/casemanagement/caselist.mako:20
+#: waskaweb/templates/casemanagement/caselist.mako:31
+#: waskaweb/templates/casemanagement/caselist.mako:66
+msgid "cm_overview_img_editor"
+msgstr "Bearbeiter"
+
 #: waskaweb/templates/casemanagement/caselist.mako:33
-msgid "cm_overview_a_show"
-msgstr "Anzeigen"
+#: waskaweb/templates/casemanagement/caselist.mako:68
+msgid "cm_overview_img_standin"
+msgstr "Vertreter"
 
-#: waskaweb/templates/casemanagement/caselist.mako:22
-#: waskaweb/templates/casemanagement/caselist.mako:35
-msgid "cm_overview_a_delete"
-msgstr "Löschen"
+#: waskaweb/templates/casemanagement/caselist.mako:46
+#: waskaweb/templates/casemanagement/caselist.mako:81
+msgid "cm_overview_a_restore"
+msgstr "Fallakte wiederherstellen"
 
-#: waskaweb/templates/casemanagement/caselist.mako:45
+#: waskaweb/templates/casemanagement/caselist.mako:93
 msgid "cm_overview_tbl_no_data_found"
 msgstr "Es wurden keine Datensätze gefunden."
 
@@ -983,12 +1116,14 @@
 
 #: waskaweb/templates/casemanagement/evaluation.mako:4
 #: waskaweb/templates/casemanagement/evaluation_result.mako:6
-#: waskaweb/templates/casemanagement/main.mako:8
+#: waskaweb/templates/casemanagement/main.mako:10
 #: waskaweb/templates/casemanagement/new.mako:5
 #: waskaweb/templates/casemanagement/overview.mako:6
 #: waskaweb/templates/casemanagement/upload.mako:5
 #: waskaweb/templates/casemanagement/dialogs/alert.mako:5
 #: waskaweb/templates/casemanagement/dialogs/confirm.mako:5
+#: waskaweb/templates/casemanagement/dialogs/confirm_delete.mako:5
+#: waskaweb/templates/casemanagement/dialogs/confirm_restore.mako:5
 #: waskaweb/templates/casemanagement/dialogs/notificate_import_dub.mako:5
 #: waskaweb/templates/casemanagement/dialogs/notificate_printall.mako:5
 #: waskaweb/templates/casemanagement/static_form/statement.mako:5
@@ -1284,65 +1419,77 @@
 msgid "cm_help_header_help_for_dossier"
 msgstr "Hilfe zum Fallakten-Formular"
 
-#: waskaweb/templates/casemanagement/main.mako:9
+#: waskaweb/templates/casemanagement/main.mako:11
 #: waskaweb/templates/casemanagement/overview.mako:7
 #: waskaweb/templates/statement/dialogs/missing_statement.mako:6
 msgid "cm_np_overview"
 msgstr "Fallaktenübersicht"
 
-#: waskaweb/templates/casemanagement/main.mako:17
+#: waskaweb/templates/casemanagement/main.mako:19
 msgid "cm_info_name"
 msgstr "Name"
 
-#: waskaweb/templates/casemanagement/main.mako:20
+#: waskaweb/templates/casemanagement/main.mako:22
+msgid "cm_info_status"
+msgstr "Status"
+
+#: waskaweb/templates/casemanagement/main.mako:24
 msgid "cm_info_nr"
 msgstr "Kundennr."
 
-#: waskaweb/templates/casemanagement/main.mako:29
+#: waskaweb/templates/casemanagement/main.mako:33
 msgid "cm_main_header_data_protection"
 msgstr "Datenschutz"
 
-#: waskaweb/templates/casemanagement/main.mako:33
+#: waskaweb/templates/casemanagement/main.mako:37
 msgid "cm_main_print_statement"
 msgstr "Erklärung drucken"
 
-#: waskaweb/templates/casemanagement/main.mako:34
+#: waskaweb/templates/casemanagement/main.mako:38
 msgid "cm_main_set_statement"
 msgstr "Erklärung setzen"
 
-#: waskaweb/templates/casemanagement/main.mako:44
+#: waskaweb/templates/casemanagement/main.mako:48
 msgid "cm_menu_header_cases"
 msgstr "Fallakte"
 
-#: waskaweb/templates/casemanagement/main.mako:50
-msgid "cm_menu_link_close"
-msgstr "Akte schließen"
+#: waskaweb/templates/casemanagement/main.mako:53
+msgid "cm_menu_link_backtooverview"
+msgstr "Zurück zur Übersicht"
 
-#: waskaweb/templates/casemanagement/main.mako:51
+#: waskaweb/templates/casemanagement/main.mako:54
 msgid "cm_menu_link_print"
 msgstr "Gesamte Akte drucken"
 
 #: waskaweb/templates/casemanagement/main.mako:57
+msgid "cm_menu_link_close"
+msgstr "Fallakte abschließen"
+
+#: waskaweb/templates/casemanagement/main.mako:60
+msgid "cm_menu_link_open"
+msgstr "CM wiederaufnehmen"
+
+#: waskaweb/templates/casemanagement/main.mako:67
 msgid "cm_menu_header_seperator"
 msgstr "Überblick"
 
-#: waskaweb/templates/casemanagement/main.mako:60
+#: waskaweb/templates/casemanagement/main.mako:70
 msgid "cm_menu_link_digest"
 msgstr "Zusammenfassung"
 
-#: waskaweb/templates/casemanagement/main.mako:62
+#: waskaweb/templates/casemanagement/main.mako:72
 msgid "cm_menu_link_organisation"
 msgstr "Organisation"
 
-#: waskaweb/templates/casemanagement/main.mako:63
+#: waskaweb/templates/casemanagement/main.mako:73
 msgid "cm_menu_link_appointment"
 msgstr "Termine"
 
-#: waskaweb/templates/casemanagement/main.mako:64
+#: waskaweb/templates/casemanagement/main.mako:74
 msgid "cm_menu_link_documents"
 msgstr "Anlagen"
 
-#: waskaweb/templates/casemanagement/main.mako:70
+#: waskaweb/templates/casemanagement/main.mako:80
 msgid "cm_menu_header_structure"
 msgstr "Gliederung"
 
@@ -1442,9 +1589,22 @@
 msgstr "Importieren"
 
 #: waskaweb/templates/casemanagement/dialogs/confirm.mako:6
+#: waskaweb/templates/casemanagement/dialogs/confirm_delete.mako:6
 msgid "cm_np_delete"
 msgstr "Fallakte löschen"
 
+#: waskaweb/templates/casemanagement/dialogs/confirm_close.mako:6
+msgid "cm_np_close"
+msgstr "Fallakte schließen"
+
+#: waskaweb/templates/casemanagement/dialogs/confirm_open.mako:6
+msgid "cm_np_open"
+msgstr "CM wiederaufnehmen"
+
+#: waskaweb/templates/casemanagement/dialogs/confirm_restore.mako:6
+msgid "cm_np_restore"
+msgstr "Fallakte wiederherstellen"
+
 #: waskaweb/templates/casemanagement/static_form/statement_print.mako:6
 msgid "cm_np_statement"
 msgstr "Einwilligungserklärung"
@@ -1454,6 +1614,8 @@
 msgstr "Achtung!"
 
 #: waskaweb/templates/dialogs/alert.mako:5
+#: waskaweb/templates/dialogs/failed.mako:5
+#: waskaweb/templates/dialogs/success.mako:5
 msgid "dialog_header_confirm_option_ok"
 msgstr "OK"
 
@@ -1461,28 +1623,22 @@
 msgid "dialog_header_confirm_option_cancel"
 msgstr "Abbrechen"
 
-#: waskaweb/templates/dialogs/confirm.mako:3
-msgid "dialog_header_confirm"
-msgstr "Bestätigung erforderlich"
-
-#: waskaweb/templates/dialogs/confirm.mako:6
+#: waskaweb/templates/dialogs/confirm.mako:5
 msgid "dialog_header_confirm_option_yes"
 msgstr "Ja"
 
-#: waskaweb/templates/dialogs/confirm.mako:7
+#: waskaweb/templates/dialogs/confirm.mako:6
 msgid "dialog_header_confirm_option_no"
 msgstr "Nein"
 
-#: waskaweb/templates/dialogs/notification.mako:3
-msgid "dialog_header_notification"
-msgstr "Hinweis"
-
-#: waskaweb/templates/dialogs/notification.mako:6
+#: waskaweb/templates/dialogs/notification.mako:5
 msgid "dialog_header_notification_option_ok"
 msgstr "OK"
 
 #: waskaweb/templates/documents/case_new.mako:5
 #: waskaweb/templates/documents/case_overview.mako:6
+#: waskaweb/templates/documents/dialogs/failed_attachment.mako:5
+#: waskaweb/templates/documents/dialogs/success_attachment.mako:5
 msgid "cm_np_doc_overview"
 msgstr "Anlagenübersicht"
 
@@ -1533,28 +1689,16 @@
 msgid "doc_overview_tbl_header_actions"
 msgstr "Aktionen"
 
-#: waskaweb/templates/documents/case_overview.mako:42
-#: waskaweb/templates/documents/case_overview.mako:51
-#: waskaweb/templates/documents/global_overview.mako:38
-#: waskaweb/templates/documents/global_overview.mako:49
-msgid "doc_overview_tbl_show"
-msgstr "Anzeigen"
-
-#: waskaweb/templates/documents/case_overview.mako:43
-#: waskaweb/templates/documents/case_overview.mako:52
-#: waskaweb/templates/documents/global_overview.mako:40
-#: waskaweb/templates/documents/global_overview.mako:51
-msgid "doc_overview_tbl_delete"
-msgstr "Löschen"
-
 #: waskaweb/templates/documents/case_overview.mako:61
-#: waskaweb/templates/documents/global_overview.mako:61
+#: waskaweb/templates/documents/global_overview.mako:64
 msgid "doc_overview_nofilesfound"
 msgstr "Es wurden keine Dateien gefunden"
 
 #: waskaweb/templates/documents/global_overview.mako:6
 #: waskaweb/templates/documents/global_upload.mako:4
 #: waskaweb/templates/documents/dialogs/confirm.mako:4
+#: waskaweb/templates/documents/dialogs/failed_document.mako:4
+#: waskaweb/templates/documents/dialogs/success_documents.mako:4
 msgid "doc_np_overview"
 msgstr "Dokumentenübersicht"
 
@@ -1567,6 +1711,8 @@
 msgstr "Neues Dokument hinzufügen"
 
 #: waskaweb/templates/documents/global_upload.mako:5
+#: waskaweb/templates/documents/dialogs/failed_document.mako:5
+#: waskaweb/templates/documents/dialogs/success_documents.mako:5
 msgid "doc_np_upload"
 msgstr "Dokument hinzufügen"
 
@@ -1582,6 +1728,16 @@
 msgid "doc_np_delete"
 msgstr "Dokument lösschen"
 
+#: waskaweb/templates/documents/dialogs/failed_attachment.mako:6
+#: waskaweb/templates/documents/dialogs/failed_document.mako:6
+msgid "cm_np_doc_failed"
+msgstr ""
+
+#: waskaweb/templates/documents/dialogs/success_attachment.mako:6
+#: waskaweb/templates/documents/dialogs/success_documents.mako:6
+msgid "cm_np_doc_success"
+msgstr ""
+
 #: waskaweb/templates/start/responsible.mako:4
 msgid "responsible_info_sponsorship"
 msgstr "Information zur Trägerschaft"
@@ -1643,6 +1799,10 @@
 msgid "statement_np_edit"
 msgstr "Einverständniserklärung setzen"
 
+#: waskaweb/templates/statement/dialogs/ee_decline_success.mako:7
+msgid "np_adm_statement_declined"
+msgstr "Daten gelöscht"
+
 #: waskaweb/templates/statement/dialogs/missing_statement.mako:7
 msgid "cm_np_show"
 msgstr "Fallakte anzeigen"
@@ -1776,6 +1936,40 @@
 msgid "usersettings_p_overview_personal_data"
 msgstr "Hier sehen sie eine Übersicht Ihrer persönlichen Daten."
 
+#~ msgid "dialog_header_notification"
+#~ msgstr "Hinweis"
+
+#~ msgid "dialog_header_confirm"
+#~ msgstr "Bestätigung erforderlich"
+
+#~ msgid "adm_reset_user_password_question_part1"
+#~ msgstr ""
+#~ "Wollen Sie wirklich das Passwort für folgenden Benutzer zurücksetzen:"
+
+#~ msgid "adm_reset_user_password_question_part2"
+#~ msgstr "zurücksetzen?"
+
+#~ msgid "doc_overview_tbl_show"
+#~ msgstr "Anzeigen"
+
+#~ msgid "doc_overview_tbl_delete"
+#~ msgstr "Löschen"
+
+#~ msgid "cm_menu_link_hide"
+#~ msgstr "Akte ausblenden"
+
+#~ msgid "cm_menu_link_delete"
+#~ msgstr "Akte löschen"
+
+#~ msgid "cm_menu_link_show"
+#~ msgstr "Akte einblenden"
+
+#~ msgid "cm_menu_link_restore"
+#~ msgstr "Akte wiederherstellen"
+
+#~ msgid "cm_menu_link_anonymise"
+#~ msgstr "Anonymisieren"
+
 #~ msgid "cm_rg_aid_overview_header_overview_support_offer"
 #~ msgstr "Übersicht Unterstützungsangebote"
 

Modified: trunk/waskaweb/i18n/waskaweb.pot
===================================================================
--- trunk/waskaweb/i18n/waskaweb.pot	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/i18n/waskaweb.pot	2008-08-13 13:06:10 UTC (rev 22)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: waskaweb 0.0.0\n"
 "Report-Msgid-Bugs-To: EMAIL at ADDRESS\n"
-"POT-Creation-Date: 2008-01-11 10:37+0100\n"
+"POT-Creation-Date: 2008-01-24 14:49+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -17,6 +17,52 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 0.9.1\n"
 
+#: waskaweb/controllers/administration.py:23
+msgid "adm_reset_user_password"
+msgstr ""
+
+#: waskaweb/controllers/administration.py:24
+msgid "adm_reset_user_password_question"
+msgstr ""
+
+#: waskaweb/controllers/administration.py:26
+#: waskaweb/controllers/administration.py:31
+msgid "adm_delete_user_success_header"
+msgstr ""
+
+#: waskaweb/controllers/administration.py:27
+#: waskaweb/controllers/administration.py:32
+msgid "adm_delete_user_success_text"
+msgstr ""
+
+#: waskaweb/controllers/administration.py:29
+msgid "adm_delete_user_notification_header"
+msgstr ""
+
+#: waskaweb/controllers/administration.py:30
+msgid "adm_delete_user_notification_text"
+msgstr ""
+
+#: waskaweb/controllers/administration.py:34
+msgid "adm_delete_user_confirm_header"
+msgstr ""
+
+#: waskaweb/controllers/administration.py:35
+msgid "adm_delete_user_confirm_text"
+msgstr ""
+
+#: waskaweb/controllers/administration.py:37
+msgid "adm_set_editor_header"
+msgstr ""
+
+#: waskaweb/controllers/administration.py:38
+msgid "adm_set_editor_success_text"
+msgstr ""
+
+#: waskaweb/controllers/administration.py:39
+msgid "adm_set_editor_success_text_rest"
+msgstr ""
+
 #: waskaweb/lib/renderer.py:208
 msgid "cm_rg_aid_overview_table_institution"
 msgstr ""
@@ -85,19 +131,49 @@
 msgid "cm_rg_aid_overview_legend_new_offer"
 msgstr ""
 
+#: waskaweb/model/case.py:871 waskaweb/templates/casemanagement/caselist.mako:37
+#: waskaweb/templates/casemanagement/caselist.mako:72
+msgid "case_state_label_open"
+msgstr ""
+
+#: waskaweb/model/case.py:872 waskaweb/templates/casemanagement/caselist.mako:39
+#: waskaweb/templates/casemanagement/caselist.mako:74
+msgid "case_state_label_closed"
+msgstr ""
+
+#: waskaweb/model/case.py:873
+msgid "case_state_label_outstanding_delete"
+msgstr ""
+
+#: waskaweb/model/case.py:874
+msgid "case_state_label_outstanding_anon"
+msgstr ""
+
+#: waskaweb/model/case.py:875
+msgid "case_state_label_anon"
+msgstr ""
+
 #: waskaweb/templates/login.mako:3
 msgid "login_header_waska_login"
 msgstr ""
 
-#: waskaweb/templates/login.mako:5
+#: waskaweb/templates/login.mako:8
+msgid "login_input_error"
+msgstr ""
+
+#: waskaweb/templates/login.mako:10
+msgid "login_input_error_message"
+msgstr ""
+
+#: waskaweb/templates/login.mako:15
 msgid "login_p_insert_pw_and_identifier"
 msgstr ""
 
-#: waskaweb/templates/login.mako:8
+#: waskaweb/templates/login.mako:18
 msgid "login_label_identifier"
 msgstr ""
 
-#: waskaweb/templates/login.mako:15
+#: waskaweb/templates/login.mako:26
 msgid "login_label_pw"
 msgstr ""
 
@@ -230,6 +306,7 @@
 #: waskaweb/templates/administration/dialogs/confirm_deleteuser.mako:5
 #: waskaweb/templates/administration/dialogs/confirm_resetpassword.mako:5
 #: waskaweb/templates/administration/dialogs/notificate_deleteuser.mako:5
+#: waskaweb/templates/statement/dialogs/ee_decline_success.mako:5
 msgid "adm_np_root"
 msgstr ""
 
@@ -242,6 +319,7 @@
 #: waskaweb/templates/administration/show_user.mako:6
 #: waskaweb/templates/administration/dialogs/confirm_deleteuser.mako:6
 #: waskaweb/templates/administration/dialogs/confirm_resetpassword.mako:6
+#: waskaweb/templates/statement/dialogs/ee_decline_success.mako:6
 msgid "adm_np_overview"
 msgstr ""
 
@@ -299,12 +377,17 @@
 msgid "adm_form_settings_fkz"
 msgstr ""
 
-#: waskaweb/templates/administration/edit_settings.mako:53
+#: waskaweb/templates/administration/edit_settings.mako:45
 #: waskaweb/templates/administration/show_settings.mako:34
+msgid "adm_form_settings_max_savetime"
+msgstr ""
+
+#: waskaweb/templates/administration/edit_settings.mako:60
+#: waskaweb/templates/administration/show_settings.mako:38
 msgid "adm_form_settings_anontransfer"
 msgstr ""
 
-#: waskaweb/templates/administration/edit_settings.mako:70
+#: waskaweb/templates/administration/edit_settings.mako:77
 msgid "adm_form_settings_save"
 msgstr ""
 
@@ -506,21 +589,28 @@
 
 #: waskaweb/templates/administration/overview_user.mako:36
 #: waskaweb/templates/administration/overview_user.mako:46
-#: waskaweb/templates/appointments/overview_body.mako:14
-#: waskaweb/templates/appointments/overview_body.mako:22
-#: waskaweb/templates/appointments/overview_body.mako:30
-#: waskaweb/templates/appointments/overview_body.mako:37
-#: waskaweb/templates/appointments/overview_body.mako:48
-msgid "app_overview_body_table_show"
+#: waskaweb/templates/casemanagement/caselist.mako:43
+#: waskaweb/templates/casemanagement/caselist.mako:78
+#: waskaweb/templates/documents/case_overview.mako:42
+#: waskaweb/templates/documents/case_overview.mako:51
+#: waskaweb/templates/documents/global_overview.mako:39
+#: waskaweb/templates/documents/global_overview.mako:40
+#: waskaweb/templates/documents/global_overview.mako:51
+#: waskaweb/templates/documents/global_overview.mako:52
+msgid "cm_overview_a_show"
 msgstr ""
 
 #: waskaweb/templates/administration/overview_user.mako:37
 #: waskaweb/templates/administration/overview_user.mako:47
-#: waskaweb/templates/appointments/overview_body.mako:15
-#: waskaweb/templates/appointments/overview_body.mako:23
-#: waskaweb/templates/appointments/overview_body.mako:38
-#: waskaweb/templates/appointments/overview_body.mako:49
-msgid "app_overview_body_table_delete"
+#: waskaweb/templates/casemanagement/caselist.mako:45
+#: waskaweb/templates/casemanagement/caselist.mako:48
+#: waskaweb/templates/casemanagement/caselist.mako:80
+#: waskaweb/templates/casemanagement/caselist.mako:83
+#: waskaweb/templates/documents/case_overview.mako:43
+#: waskaweb/templates/documents/case_overview.mako:52
+#: waskaweb/templates/documents/global_overview.mako:42
+#: waskaweb/templates/documents/global_overview.mako:54
+msgid "cm_overview_a_delete"
 msgstr ""
 
 #: waskaweb/templates/administration/reset_password.mako:9
@@ -577,11 +667,11 @@
 msgid "adm_con_ss_view_agency"
 msgstr ""
 
-#: waskaweb/templates/administration/show_settings.mako:37
+#: waskaweb/templates/administration/show_settings.mako:41
 msgid "adm_form_settings_anontransfer_yes"
 msgstr ""
 
-#: waskaweb/templates/administration/show_settings.mako:39
+#: waskaweb/templates/administration/show_settings.mako:43
 msgid "adm_form_settings_anontransfer_no"
 msgstr ""
 
@@ -769,6 +859,21 @@
 msgid "app_overview_tbl_header_actions"
 msgstr ""
 
+#: waskaweb/templates/appointments/overview_body.mako:14
+#: waskaweb/templates/appointments/overview_body.mako:22
+#: waskaweb/templates/appointments/overview_body.mako:30
+#: waskaweb/templates/appointments/overview_body.mako:37
+#: waskaweb/templates/appointments/overview_body.mako:48
+msgid "app_overview_body_table_show"
+msgstr ""
+
+#: waskaweb/templates/appointments/overview_body.mako:15
+#: waskaweb/templates/appointments/overview_body.mako:23
+#: waskaweb/templates/appointments/overview_body.mako:38
+#: waskaweb/templates/appointments/overview_body.mako:49
+msgid "app_overview_body_table_delete"
+msgstr ""
+
 #: waskaweb/templates/appointments/show.mako:5
 #: waskaweb/templates/appointments/beta/show_1.mako:5
 #: waskaweb/templates/appointments/beta/show_10.mako:5
@@ -834,8 +939,12 @@
 #: waskaweb/templates/casemanagement/formular.mako:34
 #: waskaweb/templates/casemanagement/new_appointment.mako:5
 #: waskaweb/templates/casemanagement/organisation.mako:5
+#: waskaweb/templates/casemanagement/dialogs/confirm_close.mako:5
+#: waskaweb/templates/casemanagement/dialogs/confirm_open.mako:5
 #: waskaweb/templates/documents/case_new.mako:4
 #: waskaweb/templates/documents/case_overview.mako:5
+#: waskaweb/templates/documents/dialogs/failed_attachment.mako:4
+#: waskaweb/templates/documents/dialogs/success_attachment.mako:4
 msgid "cm_np_select"
 msgstr ""
 
@@ -887,21 +996,34 @@
 msgid "cm_overview_tbl_header_lastname"
 msgstr ""
 
-#: waskaweb/templates/casemanagement/caselist.mako:9
+#: waskaweb/templates/casemanagement/caselist.mako:10
+msgid "cm_overview_tbl_header_editor"
+msgstr ""
+
+#: waskaweb/templates/casemanagement/caselist.mako:12
+msgid "cm_overview_tbl_header_status"
+msgstr ""
+
+#: waskaweb/templates/casemanagement/caselist.mako:13
 msgid "cm_overview_tbl_header_actions"
 msgstr ""
 
-#: waskaweb/templates/casemanagement/caselist.mako:20
+#: waskaweb/templates/casemanagement/caselist.mako:31
+#: waskaweb/templates/casemanagement/caselist.mako:66
+msgid "cm_overview_img_editor"
+msgstr ""
+
 #: waskaweb/templates/casemanagement/caselist.mako:33
-msgid "cm_overview_a_show"
+#: waskaweb/templates/casemanagement/caselist.mako:68
+msgid "cm_overview_img_standin"
 msgstr ""
 
-#: waskaweb/templates/casemanagement/caselist.mako:22
-#: waskaweb/templates/casemanagement/caselist.mako:35
-msgid "cm_overview_a_delete"
+#: waskaweb/templates/casemanagement/caselist.mako:46
+#: waskaweb/templates/casemanagement/caselist.mako:81
+msgid "cm_overview_a_restore"
 msgstr ""
 
-#: waskaweb/templates/casemanagement/caselist.mako:45
+#: waskaweb/templates/casemanagement/caselist.mako:93
 msgid "cm_overview_tbl_no_data_found"
 msgstr ""
 
@@ -967,12 +1089,14 @@
 
 #: waskaweb/templates/casemanagement/evaluation.mako:4
 #: waskaweb/templates/casemanagement/evaluation_result.mako:6
-#: waskaweb/templates/casemanagement/main.mako:8
+#: waskaweb/templates/casemanagement/main.mako:10
 #: waskaweb/templates/casemanagement/new.mako:5
 #: waskaweb/templates/casemanagement/overview.mako:6
 #: waskaweb/templates/casemanagement/upload.mako:5
 #: waskaweb/templates/casemanagement/dialogs/alert.mako:5
 #: waskaweb/templates/casemanagement/dialogs/confirm.mako:5
+#: waskaweb/templates/casemanagement/dialogs/confirm_delete.mako:5
+#: waskaweb/templates/casemanagement/dialogs/confirm_restore.mako:5
 #: waskaweb/templates/casemanagement/dialogs/notificate_import_dub.mako:5
 #: waskaweb/templates/casemanagement/dialogs/notificate_printall.mako:5
 #: waskaweb/templates/casemanagement/static_form/statement.mako:5
@@ -1264,65 +1388,77 @@
 msgid "cm_help_header_help_for_dossier"
 msgstr ""
 
-#: waskaweb/templates/casemanagement/main.mako:9
+#: waskaweb/templates/casemanagement/main.mako:11
 #: waskaweb/templates/casemanagement/overview.mako:7
 #: waskaweb/templates/statement/dialogs/missing_statement.mako:6
 msgid "cm_np_overview"
 msgstr ""
 
-#: waskaweb/templates/casemanagement/main.mako:17
+#: waskaweb/templates/casemanagement/main.mako:19
 msgid "cm_info_name"
 msgstr ""
 
-#: waskaweb/templates/casemanagement/main.mako:20
+#: waskaweb/templates/casemanagement/main.mako:22
+msgid "cm_info_status"
+msgstr ""
+
+#: waskaweb/templates/casemanagement/main.mako:24
 msgid "cm_info_nr"
 msgstr ""
 
-#: waskaweb/templates/casemanagement/main.mako:29
+#: waskaweb/templates/casemanagement/main.mako:33
 msgid "cm_main_header_data_protection"
 msgstr ""
 
-#: waskaweb/templates/casemanagement/main.mako:33
+#: waskaweb/templates/casemanagement/main.mako:37
 msgid "cm_main_print_statement"
 msgstr ""
 
-#: waskaweb/templates/casemanagement/main.mako:34
+#: waskaweb/templates/casemanagement/main.mako:38
 msgid "cm_main_set_statement"
 msgstr ""
 
-#: waskaweb/templates/casemanagement/main.mako:44
+#: waskaweb/templates/casemanagement/main.mako:48
 msgid "cm_menu_header_cases"
 msgstr ""
 
-#: waskaweb/templates/casemanagement/main.mako:50
-msgid "cm_menu_link_close"
+#: waskaweb/templates/casemanagement/main.mako:53
+msgid "cm_menu_link_backtooverview"
 msgstr ""
 
-#: waskaweb/templates/casemanagement/main.mako:51
+#: waskaweb/templates/casemanagement/main.mako:54
 msgid "cm_menu_link_print"
 msgstr ""
 
 #: waskaweb/templates/casemanagement/main.mako:57
+msgid "cm_menu_link_close"
+msgstr ""
+
+#: waskaweb/templates/casemanagement/main.mako:60
+msgid "cm_menu_link_open"
+msgstr ""
+
+#: waskaweb/templates/casemanagement/main.mako:67
 msgid "cm_menu_header_seperator"
 msgstr ""
 
-#: waskaweb/templates/casemanagement/main.mako:60
+#: waskaweb/templates/casemanagement/main.mako:70
 msgid "cm_menu_link_digest"
 msgstr ""
 
-#: waskaweb/templates/casemanagement/main.mako:62
+#: waskaweb/templates/casemanagement/main.mako:72
 msgid "cm_menu_link_organisation"
 msgstr ""
 
-#: waskaweb/templates/casemanagement/main.mako:63
+#: waskaweb/templates/casemanagement/main.mako:73
 msgid "cm_menu_link_appointment"
 msgstr ""
 
-#: waskaweb/templates/casemanagement/main.mako:64
+#: waskaweb/templates/casemanagement/main.mako:74
 msgid "cm_menu_link_documents"
 msgstr ""
 
-#: waskaweb/templates/casemanagement/main.mako:70
+#: waskaweb/templates/casemanagement/main.mako:80
 msgid "cm_menu_header_structure"
 msgstr ""
 
@@ -1410,9 +1546,22 @@
 msgstr ""
 
 #: waskaweb/templates/casemanagement/dialogs/confirm.mako:6
+#: waskaweb/templates/casemanagement/dialogs/confirm_delete.mako:6
 msgid "cm_np_delete"
 msgstr ""
 
+#: waskaweb/templates/casemanagement/dialogs/confirm_close.mako:6
+msgid "cm_np_close"
+msgstr ""
+
+#: waskaweb/templates/casemanagement/dialogs/confirm_open.mako:6
+msgid "cm_np_open"
+msgstr ""
+
+#: waskaweb/templates/casemanagement/dialogs/confirm_restore.mako:6
+msgid "cm_np_restore"
+msgstr ""
+
 #: waskaweb/templates/casemanagement/static_form/statement_print.mako:6
 msgid "cm_np_statement"
 msgstr ""
@@ -1421,7 +1570,8 @@
 msgid "dialog_header_alert"
 msgstr ""
 
-#: waskaweb/templates/dialogs/alert.mako:5
+#: waskaweb/templates/dialogs/alert.mako:5 waskaweb/templates/dialogs/failed.mako:5
+#: waskaweb/templates/dialogs/success.mako:5
 msgid "dialog_header_confirm_option_ok"
 msgstr ""
 
@@ -1429,28 +1579,22 @@
 msgid "dialog_header_confirm_option_cancel"
 msgstr ""
 
-#: waskaweb/templates/dialogs/confirm.mako:3
-msgid "dialog_header_confirm"
+#: waskaweb/templates/dialogs/confirm.mako:5
+msgid "dialog_header_confirm_option_yes"
 msgstr ""
 
 #: waskaweb/templates/dialogs/confirm.mako:6
-msgid "dialog_header_confirm_option_yes"
-msgstr ""
-
-#: waskaweb/templates/dialogs/confirm.mako:7
 msgid "dialog_header_confirm_option_no"
 msgstr ""
 
-#: waskaweb/templates/dialogs/notification.mako:3
-msgid "dialog_header_notification"
-msgstr ""
-
-#: waskaweb/templates/dialogs/notification.mako:6
+#: waskaweb/templates/dialogs/notification.mako:5
 msgid "dialog_header_notification_option_ok"
 msgstr ""
 
 #: waskaweb/templates/documents/case_new.mako:5
 #: waskaweb/templates/documents/case_overview.mako:6
+#: waskaweb/templates/documents/dialogs/failed_attachment.mako:5
+#: waskaweb/templates/documents/dialogs/success_attachment.mako:5
 msgid "cm_np_doc_overview"
 msgstr ""
 
@@ -1501,28 +1645,16 @@
 msgid "doc_overview_tbl_header_actions"
 msgstr ""
 
-#: waskaweb/templates/documents/case_overview.mako:42
-#: waskaweb/templates/documents/case_overview.mako:51
-#: waskaweb/templates/documents/global_overview.mako:38
-#: waskaweb/templates/documents/global_overview.mako:49
-msgid "doc_overview_tbl_show"
-msgstr ""
-
-#: waskaweb/templates/documents/case_overview.mako:43
-#: waskaweb/templates/documents/case_overview.mako:52
-#: waskaweb/templates/documents/global_overview.mako:40
-#: waskaweb/templates/documents/global_overview.mako:51
-msgid "doc_overview_tbl_delete"
-msgstr ""
-
 #: waskaweb/templates/documents/case_overview.mako:61
-#: waskaweb/templates/documents/global_overview.mako:61
+#: waskaweb/templates/documents/global_overview.mako:64
 msgid "doc_overview_nofilesfound"
 msgstr ""
 
 #: waskaweb/templates/documents/global_overview.mako:6
 #: waskaweb/templates/documents/global_upload.mako:4
 #: waskaweb/templates/documents/dialogs/confirm.mako:4
+#: waskaweb/templates/documents/dialogs/failed_document.mako:4
+#: waskaweb/templates/documents/dialogs/success_documents.mako:4
 msgid "doc_np_overview"
 msgstr ""
 
@@ -1535,6 +1667,8 @@
 msgstr ""
 
 #: waskaweb/templates/documents/global_upload.mako:5
+#: waskaweb/templates/documents/dialogs/failed_document.mako:5
+#: waskaweb/templates/documents/dialogs/success_documents.mako:5
 msgid "doc_np_upload"
 msgstr ""
 
@@ -1550,6 +1684,16 @@
 msgid "doc_np_delete"
 msgstr ""
 
+#: waskaweb/templates/documents/dialogs/failed_attachment.mako:6
+#: waskaweb/templates/documents/dialogs/failed_document.mako:6
+msgid "cm_np_doc_failed"
+msgstr ""
+
+#: waskaweb/templates/documents/dialogs/success_attachment.mako:6
+#: waskaweb/templates/documents/dialogs/success_documents.mako:6
+msgid "cm_np_doc_success"
+msgstr ""
+
 #: waskaweb/templates/start/responsible.mako:4
 msgid "responsible_info_sponsorship"
 msgstr ""
@@ -1602,6 +1746,10 @@
 msgid "statement_np_edit"
 msgstr ""
 
+#: waskaweb/templates/statement/dialogs/ee_decline_success.mako:7
+msgid "np_adm_statement_declined"
+msgstr ""
+
 #: waskaweb/templates/statement/dialogs/missing_statement.mako:7
 msgid "cm_np_show"
 msgstr ""

Modified: trunk/waskaweb/lib/helpers.py
===================================================================
--- trunk/waskaweb/lib/helpers.py	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/lib/helpers.py	2008-08-13 13:06:10 UTC (rev 22)
@@ -29,6 +29,13 @@
     except KeyError:
         return ''
 
+def getCaseShort(name, n):
+    if len(name) < n:
+         return name
+    else:
+         n = n-3
+         return "%s..." % (name[:n])
+
 def getLogin():
     try:
         user = session['USER_AUTHORIZED']

Modified: trunk/waskaweb/model/agency.py
===================================================================
--- trunk/waskaweb/model/agency.py	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/model/agency.py	2008-08-13 13:06:10 UTC (rev 22)
@@ -62,8 +62,11 @@
         return unicode(str(self.conf.get('fkz', '')), 'utf-8')
 
     def getName(self):
-        return unicode(str(self.conf.get('ka_name', '')), 'utf-8')
+       return unicode(str(self.conf.get('ka_name', '')), 'utf-8')
 
+    def getMaxSavetime(self):
+       return unicode(str(self.conf.get('max_speicherdauer', '')), 'utf-8')
+
     def _loadDefaultStatement(self, filename):
         # XXX: Dead ugly!
         path = os.path.join(os.path.dirname(__file__), '..', '..', 'formed')

Modified: trunk/waskaweb/model/case.py
===================================================================
--- trunk/waskaweb/model/case.py	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/model/case.py	2008-08-13 13:06:10 UTC (rev 22)
@@ -6,58 +6,49 @@
 #
 
 import sys
+import re
 import traceback
 import psycopg2.extras
 import cStringIO as StringIO
 import shutil
 from locale import strcoll
 from sets import Set
+from pylons.i18n                import _, ungettext, N_
 from waskaweb.lib.db import db
 from waskaweb.lib.base import session, g, h 
 from waskaweb.lib.pdfimporter import asXFA, FieldExtractor
+from waskaweb.model.user import UserObject 
 from waskaweb.model.agency import Agency
 from waskaweb.model.repeatgroup import AidList, CREATE_RG_BILDEN_DS,CREATE_RG_LEBEN_DS, CREATE_RG_QUALI_DS, CREATE_RG_BERUF_DS
 from waskaweb.model.statement import PrivacyStatement, AidPlanStatement
 from waskaweb.model.document import listDocuments 
 
+SAVE_SEARCH = re.compile(r'[^\w:; ]', re.UNICODE)
+
 # SQL STATEMENTS
-LOAD_CASE_OVERVIEW_SQL = \
-""" SELECT id, 
-      name_1, 
-      vorname_1, 
-      kundennummer 
-    FROM master_tbl_view 
-    WHERE 
-      TRUE 
-      %s
-    ORDER by name_1"""
-
-EDITOR_CASE_OVERVIEW_SQL = \
-""" SELECT 
-      id, 
-      name_1, 
-      vorname_1, 
-      kundennummer 
-    FROM master_tbl_view 
-    WHERE 
-      bearbeiter_id = %%(editor)s 
-      %s
-    ORDER by name_1"""
-
 SEARCH_CASE_OVERVIEW_SQL = \
 """ SELECT 
-      id, 
-      name_1, 
-      vorname_1,
-      kundennummer
-    FROM master_tbl_view 
+      m.id, 
+      m.name_1, 
+      m.vorname_1,
+      m.kundennummer,
+      m.bearbeiter_id,
+      st.status
+    FROM master_tbl_view m
+    JOIN ka_status_tbl_view st ON
+    m.id = st.master_id
     WHERE
-      vorname_1 ~* %%(needle)s 
-      OR name_1 ~* %%(needle)s 
-      OR kundennummer ~* %%(needle)s
-      %s
-    ORDER by name_1"""
+      (m.vorname_1 ~* %%(needle)s 
+      OR m.name_1 ~* %%(needle)s 
+      OR m.kundennummer ~* %%(needle)s)
+      AND st.status IN (%s)
+      AND %s
+      AND %s
+    ORDER by m.name_1"""
 
+LOAD_CASESTATE_SQL = """SELECT id, status, zugriff from ka_status_tbl_view WHERE master_id = %(id)s"""
+SET_CASESTATE_SQL = """UPDATE ka_status_tbl_view SET status = %(status)s WHERE id = %(id)s"""
+
 LOAD_CASE_DIGEST_SQL = """SELECT name_1, vorname_1, kundennummer, date_part('year', age(geburtsdatum::timestamp)) as alter, plz, strasse, wohnort, vorwahl, telefon_1, einverstaendniserklaerung from master_tbl_view WHERE id = %(id)s"""
 LOAD_CASE_SQL = """SELECT name_1, vorname_1, bearbeiter_id, kundennummer from master_tbl_view WHERE id = %(id)s"""
 DELETE_CASE_SQL = """select delete_master_ds(%(id)s)""" 
@@ -160,39 +151,64 @@
                 print "Could not delete Case from bundle"
         return num
 
+    def markDelete(self):
+        factory = CaseFactory()
+        num = 0
+        for id in self.case_list:
+            case = factory.loadById(id)
+            try:
+                state = case.getState()
+                state.setState(3)
+                num += 1
+            except:
+                print "Could not mark Case to delete from bundle"
+        return num
+
 class CaseOverview:
     def __init__(self, search_str=None):
         self.ds_list = []
 
-    def _parse_options(self, str):
+    def _parse_options(self, s):
         # TODO This is a very very simple approach. We should defentiley
         # implement some searchengine here
-        self.VALID_OPTIONS = ['bearbeiter']
+        self.VALID_OPTIONS = ['editor', 'standin', 'state']
         search = []
+        allowed_states = [-1]
         options = {}
+        fields = {'needle': ""}
 
-        if str:
-            option_list = [o.strip() for o in str.split(';')]
+        if s:
+            s = SAVE_SEARCH.sub(u'', s)
+            option_list = [o.strip() for o in s.split(';')]
+            print option_list
             for option in option_list:
                 if option.find(":") > 0:
                     try:
                         key, value = [x.strip() for x in option.split(":")]
                         if key in self.VALID_OPTIONS:
-                            options[key] = value
+                            if key == 'state':
+                                allowed_states.append(int(value))
+                            else:
+                                options[key] = value
                     except ValueError:
                         print "Found invalid search syntax in options"
                 else:
                     search.append(option)
 
-        if options.has_key('bearbeiter'):
-            fields = {'editor': options.get('bearbeiter')}
-            return (EDITOR_CASE_OVERVIEW_SQL, fields)
-        if not search:
-            return (LOAD_CASE_OVERVIEW_SQL, None)
-        else:
-            fields = {'needle': " ".join(search)}
-            return (SEARCH_CASE_OVERVIEW_SQL, fields) 
+        ee =  h.hasRole(['cm_ka']) and "m.einverstaendniserklaerung <> 0" or "TRUE"
+        which_user = 0 
+        allowed_viewer = "FALSE"
+        if options.has_key('editor'): which_user += 2  
+        if options.has_key('standin'): which_user += 1
+        if which_user == 1: allowed_viewer = "m.bearbeiter_id <> %s" % options.get('standin')
+        if which_user == 2: allowed_viewer = "m.bearbeiter_id = %s" % options.get('editor')
+        if which_user == 3: allowed_viewer = "TRUE"
+        allowed_viewer =  h.hasRole(['admin_ka']) and "TRUE" or allowed_viewer 
 
+        fields['needle'] = " ".join(search) 
+        SQL = SEARCH_CASE_OVERVIEW_SQL % (",".join([str(x) for x in allowed_states]), ee, allowed_viewer) 
+        return (SQL, fields) 
+
     def sortByLastname(self):
         def _cmp(a, b):
             if a is None and b is None: return 0
@@ -203,23 +219,20 @@
 
     def search(self, search_str=None):
         self.ds_list = []
+        print search_str
         SQL, fields = self._parse_options(search_str)
-        if h.hasRole(['cm_ka']):
-            SQL = SQL % " AND einverstaendniserklaerung <> 0 " 
-        else:
-            SQL = SQL % "" 
         con, cur = None, None
         try:
             con = db.getConnection()
             cur = con.cursor(cursor_factory=psycopg2.extras.DictCursor)
-            if fields:
-                cur.execute(SQL, fields)
-            else:
-                cur.execute(SQL)
+            print SQL
+            cur.execute(SQL, fields)
+            print cur.query
             rows = cur.fetchall()
             factory = CaseFactory()
             for row in rows:
-                self.ds_list.append(factory.loadByName(row['id'], row['vorname_1'], row['name_1'], row['kundennummer']))
+                case = factory.loadByName(row['id'], row['vorname_1'], row['name_1'], row['kundennummer'], row['bearbeiter_id'])
+                self.ds_list.append(case)
         finally:
             db.recycleConnection(con, cur)
         return self.ds_list
@@ -254,9 +267,10 @@
         case.first_name = unicode(str(result.get('vorname_1', '')), 'utf-8')
         case.knr        = unicode(str(result.get('kundennummer', '')), 'utf-8')
         case.editor     = result.get('bearbeiter_id', None)
+        case.state      = State(id)
         return case
 
-    def loadByName(self, id, first_name, last_name, knr):
+    def loadByName(self, id, first_name, last_name, knr, bearbeiter_id):
         '''This method does not actually loads a case from the database. It
         just returns a case object initiated with the provided parameters'''
         case = Case()
@@ -264,6 +278,8 @@
         case.first_name = unicode(str(first_name), 'utf-8')
         case.last_name  = unicode(str(last_name),  'utf-8')
         case.knr        = unicode(str(knr),        'utf-8')
+        case.editor     = bearbeiter_id
+        case.state      = State(id)
         return case
 
     def importPdf(self, pdf):
@@ -570,12 +586,19 @@
         self.last_name = None
         self.first_name = None
         self.knr = None
+        self.state = None
         self.privacy_statement = False
 
         self.street = None 
         self.plz = None 
-        self.city = None 
+        self.city = None
 
+    def getState(self):
+        return self.state
+
+    def getEditor(self):
+        return self.state
+
     def getMode(self):
         return self.mode
 
@@ -615,6 +638,7 @@
         self.knr = None 
         self.editor = None
         self.standin = None 
+        self.state = None
 
         self.digest = None
         self.page = None
@@ -626,6 +650,8 @@
     def delete(self):
         '''Deletes the case from data base. Returns True if deletion succseeds'''
         conn, cur = None, None
+        # Only delete if the case state is set to outstandig deletion (3)
+        if self.state.getState() != 3: return False
         try:
             try:
                 conn = db.getConnection()
@@ -648,12 +674,19 @@
         s.setMode(mode)
         s.save()
 
+    def getState(self):
+        return self.state
+
+    def setState(self, value):
+        self.state.setState(value)
+
     def getSessionCase(self):
         '''Returns a SessionCaseObject which is initiated with values from the current user'''
         session = SessionCase(self.id)
         session.last_name = self.last_name
         session.first_name = self.first_name 
         session.knr = self.knr
+        session.state = self.state
         privacy_statement = self.getPrivacyStatement()
         session.privacy_statement = privacy_statement.isSigned() 
         return session
@@ -671,7 +704,7 @@
 
     def getEditor(self):
         '''Returns the editor of the case'''
-        return self.editor
+        return UserObject(self.editor)
 
     def setEditor(self, userid):
         '''sets the editor of the case to the given userid'''
@@ -779,4 +812,71 @@
             raise
         return [] 
 
+class State:
+    '''This class store the state and the last accesstime of the case.
+    Possible states are:
+        * Open (1)
+        * Closes (2)j
+        * outstanding deletion (3)
+        * outstanding anonymision (4)
+        * anonymised (5)'''
+
+    def __init__(self, master_id):
+        self.master_id = master_id
+        self.id  = None
+        self.state = None
+        self.access = None
+        self._load()
+
+    def _load(self):
+        conn, cur = None, None
+        try:
+            try:
+                conn = db.getConnection()
+                cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
+                cur.execute(LOAD_CASESTATE_SQL, {'id': self.master_id})
+                result = cur.fetchone()
+                self.id     = result.get('id')
+                self.state  = result.get('status')
+                self.access = result.get('zugriff')
+            finally:
+                db.recycleConnection(conn, cur)
+        except:
+            traceback.print_exc(file=sys.stderr)
+        return False 
+
+    def getStateLabel(self):
+        state_labels = {'1'   : _('case_state_label_open'),
+                        '2'   : _('case_state_label_closed'),
+                        '3'   : _('case_state_label_outstanding_delete'),
+                        '4'   : _('case_state_label_outstanding_anon'),
+                        '5'   : _('case_state_label_anon')
+                      }
+        return state_labels.get(str(self.state))
+
+    def getState(self):
+        return self.state
+
+    def setState(self, value):
+        conn, cur = None, None
+        try:
+            try:
+                conn = db.getConnection()
+                cur = conn.cursor()
+                fields =  {'status': value, 'id': self.id}
+                cur.execute(SET_CASESTATE_SQL, fields)
+                conn.commit()
+                self.state = value
+            finally:
+                db.recycleConnection(conn, cur)
+        except:
+            traceback.print_exc(file=sys.stderr)
+        return False 
+
+    def getAccessTime(self):
+        return self.access
+
+    def setAccessTime(self):
+        pass
+        
 # vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8:

Modified: trunk/waskaweb/model/expr.py
===================================================================
--- trunk/waskaweb/model/expr.py	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/model/expr.py	2008-08-13 13:06:10 UTC (rev 22)
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 # -*- coding: latin1 -*-
 #
-# Copyright (c) 2007 by Intevation GmbH
+# Copyright (c) 2007, 2008 by Intevation GmbH
 # Authors:
 # Sascha L. Teichmann <teichmann at intevation.de>
 #

Added: trunk/waskaweb/public/images/failure.png
===================================================================
(Binary files differ)


Property changes on: trunk/waskaweb/public/images/failure.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/waskaweb/public/images/icons/delete_grey.gif
===================================================================
(Binary files differ)


Property changes on: trunk/waskaweb/public/images/icons/delete_grey.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: trunk/waskaweb/public/images/icons/delete_red.gif
===================================================================
(Binary files differ)


Property changes on: trunk/waskaweb/public/images/icons/delete_red.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: trunk/waskaweb/public/images/icons/done_grey.gif
===================================================================
(Binary files differ)


Property changes on: trunk/waskaweb/public/images/icons/done_grey.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: trunk/waskaweb/public/images/icons/editor_grey.gif
===================================================================
(Binary files differ)


Property changes on: trunk/waskaweb/public/images/icons/editor_grey.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: trunk/waskaweb/public/images/icons/recover_red.gif
===================================================================
(Binary files differ)


Property changes on: trunk/waskaweb/public/images/icons/recover_red.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: trunk/waskaweb/public/images/icons/stand-in_grey.gif
===================================================================
(Binary files differ)


Property changes on: trunk/waskaweb/public/images/icons/stand-in_grey.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: trunk/waskaweb/public/images/icons/view_red.gif
===================================================================
(Binary files differ)


Property changes on: trunk/waskaweb/public/images/icons/view_red.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: trunk/waskaweb/public/images/icons/work_in_progress_grey.gif
===================================================================
(Binary files differ)


Property changes on: trunk/waskaweb/public/images/icons/work_in_progress_grey.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Modified: trunk/waskaweb/public/styles/all.css
===================================================================
--- trunk/waskaweb/public/styles/all.css	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/public/styles/all.css	2008-08-13 13:06:10 UTC (rev 22)
@@ -27,7 +27,7 @@
 }
 
 table th {
-	padding: 0.1em 1em 0.1 0.25em;
+	padding: 0.1em 0.6em 0.1 0.25em;
 }
 
 table th.number_field {
@@ -46,6 +46,9 @@
 	font-weight: bold; 
 }
 
+td {overflow: hidden;}
+tr {width:50em}
+
 .table_checkbox {
 	width:1.6em;
 }
@@ -62,19 +65,37 @@
 	width:9em;
 }
 
-.table_width_long, .table_action {
+.table_width_long {
 	width:12em;
 }
 
+.table_action {
+	width:7em;;	
+}
+
+.table_status {
+	width: 5em;
+}
+
 .table_name {
-	width: 14em;
+	width: 8em;
 }
 
+.table_width_name {
+	width:16em;
+}
+
+
 .table_description {
-	width:26em;
+	width:32em;
 }
 
+table {width:50em;
+overflow: hidden;}
 
+.table_checkbox {
+	width: 1.5em;
+}
 /*----------------------*/
 /* 2. Evaluation Formats*/
 /*----------------------*/
@@ -168,6 +189,7 @@
         float: left;
         clear: left;
 	margin-top:0.5em;
+	margin-right:0em;
 }
 
 .waska_form input[type="radio"] {
@@ -177,12 +199,12 @@
 
 .waska_form input[type="submit"] {
 	margin-left: 0.1em;
-	margin-top: 0.5em;
+/*	margin-top: 0.5em;*/
 }
 
 #waska_form input[type="submit"] {
 	margin-left: 0.1em;
-	margin-top: 0.5em;
+/*	margin-top: 0.5em;*/
 }
 
 .waska_form textarea {
@@ -297,6 +319,11 @@
         width: 25%;
 }
 
+.w30 {
+	width:30%;
+	margin-right:0.4em;
+}
+
 .waska_form div.w100 br {
         clear:both;
 }
@@ -304,3 +331,7 @@
 br.newline {
         clear:both;
 }
+
+label{
+	margin-left:0.3em;
+}

Modified: trunk/waskaweb/public/styles/color3.css
===================================================================
--- trunk/waskaweb/public/styles/color3.css	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/public/styles/color3.css	2008-08-13 13:06:10 UTC (rev 22)
@@ -16,16 +16,17 @@
 
 body { background-color: white;}
 
-a { color: #000; }
+a {color:#000000;
+}
 
 a.button {
-	border-color: #ad224c;
+	border-color: #000000;
 	background-color: #cccccc;
 }
 
+
 li tt { text-decoration: none; }
 
-
 /*------------------*/
 /* 2.	Header      */
 /*------------------*/
@@ -63,27 +64,12 @@
 	color: #fff;
 }
 
-/*
-.formpage span:hover {
-	background:#cfd1d1;
-	#background-image:url(../images/square.gif);
-	background-repeat:no-repeat;
-	background-position:1em 0.4em;
-}
-*/
 .menu .actions a:hover {
 	background:#cfd1d1;
-	background-image:url(../images/arrow.gif);
-	background-repeat:no-repeat;
-	background-position:1.1em 0.4em;
 }
 
 .formpage_highlight, .formpage span:hover.formpage_highlight, .formpage span:active {
 	background:#bec3c3;
-	/*background-image:url(../images/square.gif);
-	background-repeat:no-repeat;
-	background-position:1em 0.4em;
-	*/
 }
 
 /*--------------*/
@@ -96,9 +82,6 @@
 
 div#modusfield .actions a:hover {
 	background:#cfd1d1;
-	background-image:url(../images/arrow.gif);
-	background-repeat:no-repeat;
-	background-position:1.1em 0.4em;
 }
 
 .table_row_h, .table_row_v, .table_row_v_12 {
@@ -168,4 +151,8 @@
 
 #footer_login a { color:#ffffff; }
 
+#content_login div.form_errors a, #content_login div.form_errors h1 {
+	color: #a5103b; 
+	background-color: #ffffff;
+}
 

Modified: trunk/waskaweb/public/styles/screen.css
===================================================================
--- trunk/waskaweb/public/styles/screen.css	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/public/styles/screen.css	2008-08-13 13:06:10 UTC (rev 22)
@@ -18,6 +18,7 @@
 * { padding: 0; margin: 0; }
 ul, ol { margin-bottom: 1em; } 
 ul { margin-left:1em; }
+li {  list-style-type: none;} 
 li {  list-style-type: square;} 
 
 html {	
@@ -31,11 +32,17 @@
 	padding: 0.2em 0em 0em 0.4em;
 }
 
-h1 { font-size: 1.2em; padding-bottom:0em;}
-h2 { font-size: 1.1em; padding-top:1em;}
+h1 { font-size: 1.2em; padding-bottom:0.4em;}
+h2 { font-size: 1.1em; }
 h3 { font-size: 1.1em; }
 h4 { font-size: 1.0em; }
+h5 { font-size: 1.0em; padding-left:0.2em;}
 
+p {
+	padding:0.2em 0;
+	margin:0;
+}
+
 li h1 {
 	font-size:1em;
 }
@@ -79,8 +86,13 @@
 	margin-right: 3em;
 	border-style: solid ;
 	padding: 0 2em;
+	text-decoration:none;
 }
 
+a img, td img{
+	vertical-align:bottom;
+}
+
 div.dialog img { 
 	vertical-align: middle;
 	margin-right: 1em;
@@ -231,10 +243,6 @@
 
 }
 
-div#navigation {
-	padding-bottom: 0.5em;
-}
-
 div.navigation .error {
  	font-weight: bold;	
 }
@@ -250,7 +258,7 @@
 
 .menu h1 {
 	font-size: 1.1em;
-	padding: 0em 1em;
+	padding: 0.1em 1em;
 }
 
 .menu .actions ul {
@@ -266,16 +274,24 @@
 
 div.menu .actions a {
 	display: block;
-	padding: 0.1em 1.1em 0.3em 2.5em;
+	padding: 0em 0.4em 0.6em 2.5em !important;
+	padding: 0em 0.4em 0.2em 2.5em;
+/*	padding-left:2.5em;*/
 	text-decoration:none;
 	background-image:url(../images/arrow.gif);
 	background-repeat:no-repeat;
-	height:1.5em;
-	background-position:1.1em 0.7em!important;
-	background-position:1.1em 0.4em;
-	
+	height:1em;
+	background-position:12px 8px !important;
+	background-position:12px 4px;
 }
 
+.menu .actions a:hover {
+	background-image:url(../images/arrow.gif);
+	background-repeat:no-repeat;
+	background-position:12px 8px !important;
+	background-position:12px 4px;
+}
+
 .menu ul {
 	margin-top:0.4em;
 	margin-left:0em;
@@ -295,22 +311,13 @@
 
 .menu .formpage li {
 	margin-left: 0.1em;
-	padding-left:0.1em;
+	padding:0.1em;
 }
 
-/*
-.menu .formpage span, .menu .formpage li span, .menu .formpage li li span {
-	display:block;
-	text-decoration:none;
-	padding-left:0.3em;
-	//background-image:url(../images/square.gif);
-	background-repeat:no-repeat;
-	background-position:1em 0.7em!important;
-	background-position:1em 0.5em;
+.formpage a img {
+	margin-left:2px
 }
-*/
 
-
 /*------------*/
 /* 5. Content */
 /*------------*/
@@ -389,6 +396,13 @@
 	margin-bottom:0.1em;
 }
 
+div#modusfield .actions a:hover {
+	background-image:url(../images/arrow.gif);
+	background-repeat:no-repeat;
+	background-position:1.1em 0.4em;
+}
+
+
 #content_header #modusfield ul, #content_header #modusfield li, #content_header_small #modusfield ul, #content_header_small #modusfield li{
 	display:inline;
 	list-style-type:none;
@@ -401,7 +415,7 @@
 	padding:0 0.4em 0em 1.4em;
 	background-image:url(../images/arrow.gif);
 	background-repeat:no-repeat;
-	background-position:0.4em 0.6em!important;
+	background-position:4px 8px!important;
 	background-position:0.4em 0.3em;
 }
 
@@ -412,7 +426,7 @@
 }
 
 .table_header_h th, .wable_header_h{
-	border-bottom:0.5pt solid;
+	border-bottom:0.5pt solid #000000;
 }
 
 .additional_information {
@@ -438,11 +452,15 @@
 	clear:both;
 }
 
+#standin {
+	max-width:20em;
+}
+
 div#clearer {clear:both;}
 .clearer {clear:left;}
 
 /*--------------*/
-/* 6. Login	*/i
+/* 6. Login	*/
 /*--------------*/
 
 #header_login {
@@ -594,3 +612,19 @@
 .traeger_name_img img{
 	margin-bottom:0.4em;
 }
+
+
+/* Suche */
+
+#search_criteria {
+	margin:0.2em 0 1em 0em;
+}
+
+#search_field {
+	margin:0.4em 0 0 0;
+}
+
+#show_own, #show_closed {
+	margin:0 0 0.3em 0 !important;
+	margin:0;
+}

Modified: trunk/waskaweb/templates/administration/dialogs/notificate_deleteuser.mako
===================================================================
--- trunk/waskaweb/templates/administration/dialogs/notificate_deleteuser.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/administration/dialogs/notificate_deleteuser.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -5,4 +5,4 @@
 	<li><a href="/case/">${_('adm_np_root')}</a></li>
 	<li><a href="#">${_('adm_np_deleteuser')}</a></li>
 </%def>
-<%include file="../../dialogs/notification.mako" />
+<%include file="../../dialogs/success.mako" />

Modified: trunk/waskaweb/templates/administration/edit_settings.mako
===================================================================
--- trunk/waskaweb/templates/administration/edit_settings.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/administration/edit_settings.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -42,6 +42,13 @@
 	</div>
         </div>
         <div class="waska_form_element w100">
+                <label for="max_speicherdauer">${_('adm_form_settings_max_savetime')}</label><br>
+                % if c.form_errors.get('max_speicherdauer'):
+                  <a href="#error_list"><img class="smallicon" src="/images/error_small.png"></a>
+                % endif
+                <input type="text" id="max_speicherdauer" name="max_speicherdauer", value="${c.form_result.get('max_speicherdauer', c.agency.getMaxSavetime())| h}"><br>
+        </div>
+        <div class="waska_form_element w100">
                 % if c.form_errors.get('anon_transfer'):
                   <a href="#error_list"><img class="smallicon" src="/images/error_small.png"></a>
                 % endif

Modified: trunk/waskaweb/templates/administration/overview_user.mako
===================================================================
--- trunk/waskaweb/templates/administration/overview_user.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/administration/overview_user.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -33,8 +33,8 @@
      <td>${user.last_name| F.NA, h}</td>
      <td>${user.first_name| F.NA, h}</td>
      <td>
-       <a href="/administration/showUser/${user.id}">${_('app_overview_body_table_show')}</a>
-       <a href="/administration/deleteUser/${user.id}">${_('app_overview_body_table_delete')}</a>
+       <a href="/administration/showUser/${user.id}"><img src="/images/icons/view_red.gif" border="0" alt="${_('cm_overview_a_show')}" title="${_('cm_overview_a_show')}"></a>
+       <a href="/administration/deleteUser/${user.id}"><img src="/images/icons/delete_red.gif" border="0" alt="${_('cm_overview_a_delete')}" title="${_('cm_overview_a_delete')}"></a>
      </td>
    </tr>
    <% idset = 1 %>
@@ -43,8 +43,8 @@
      <td class="table_row_h">${user.last_name| F.NA, h}</td>
      <td class="table_row_h">${user.first_name| F.NA, h}</td>
      <td class="table_row_h">
-       <a href="/administration/showUser/${user.id}">${_('app_overview_body_table_show')}</a>
-       <a href="/administration/deleteUser/${user.id}">${_('app_overview_body_table_delete')}</a>
+       <a href="/administration/showUser/${user.id}"><img src="/images/icons/view_red.gif" border="0" alt="${_('cm_overview_a_show')}" title="${_('cm_overview_a_show')}"></a>
+       <a href="/administration/deleteUser/${user.id}"><img src="/images/icons/delete_red.gif" border="0" alt="${_('cm_overview_a_delete')}" title="${_('cm_overview_a_delete')}"></a>
      </td>
    </tr>
    <% idset = 0 %>

Modified: trunk/waskaweb/templates/administration/show_settings.mako
===================================================================
--- trunk/waskaweb/templates/administration/show_settings.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/administration/show_settings.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -23,7 +23,7 @@
 <p>${_('adm_con_ss_view_agency')}</p>
 <table>
 <tr>
-<td class="label table_header_v table_name">${_('adm_form_settings_kaname')}</td>
+<td class="label table_header_v table_width_name">${_('adm_form_settings_kaname')}</td>
   <td class="table_row_v table_description">${c.agency.getName()| F.NA, h}</td>
 </tr>
 <tr>
@@ -31,8 +31,12 @@
   <td class="table_row_v_2">${c.agency.getFKZ()| F.NA, h}</td>
 </tr>
 <tr>
-  <td class="label table_header_v">${_('adm_form_settings_anontransfer')}</td>
-  <td class="table_row_v">
+  <td class="label table_header_v">${_('adm_form_settings_max_savetime')}</td>
+  <td class="table_row_v">${c.agency.getMaxSavetime()| F.NA, h}</td>
+</tr>
+<tr>
+  <td class="label table_header">${_('adm_form_settings_anontransfer')}</td>
+  <td class="table_row_v_2">
     % if c.agency.isAnonTransfer():
       ${_('adm_form_settings_anontransfer_yes')}
     % else:

Modified: trunk/waskaweb/templates/casemanagement/bundle_standin.mako
===================================================================
--- trunk/waskaweb/templates/casemanagement/bundle_standin.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/casemanagement/bundle_standin.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -18,7 +18,7 @@
 </p>
 <ul>
 % for case in c.case_list:
-  % if case.getEditor() == c.current_user.id or c.current_user.isAdmin():
+  % if case.getEditor().id == c.current_user.id or c.current_user.isAdmin():
     <li>${case.first_name}, ${case.last_name}</li>
   % else:
     <li>${case.first_name}, ${case.last_name} (wird nicht bearbeitet)</li>

Modified: trunk/waskaweb/templates/casemanagement/caselist.mako
===================================================================
--- trunk/waskaweb/templates/casemanagement/caselist.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/casemanagement/caselist.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -2,10 +2,14 @@
 <%! import waskaweb.lib.filters as F %>
 <table>
   <tr>
-    <th class="table_header_h"></th>
+    <th class="table_header_h table_checkbox">&nbsp;</th>
     <th class="table_id table_header_h">${_('cm_overview_tbl_header_id')}</th>
     <th class="table_name table_header_h">${_('cm_overview_tbl_header_firstname')}</th>
     <th class="table_name table_header_h">${_('cm_overview_tbl_header_lastname')}</th>
+    % if h.hasRole(['admin_ka']):
+      <th class="table_name table_header_h">${_('cm_overview_tbl_header_editor')}</th>
+    % endif
+    <th class="table_status table_header_h">${_('cm_overview_tbl_header_status')}</th>
     <th class="table_action table_header_h">${_('cm_overview_tbl_header_actions')}</th>
   </tr>
   <% idset = True %>
@@ -14,27 +18,75 @@
       <tr>
         <td><input type="checkbox" name="case_id" value="${case.id}"></td>
         <td>${case.knr       | F.NA, h}</td>
-        <td>${case.first_name| F.NA, h}</td>
-        <td>${case.last_name | F.NA, h}</td>
+        <td>${h.getCaseShort(case.first_name, 15) | F.NA, h}</td>
+        <td>${h.getCaseShort(case.last_name, 15) | F.NA, h}</td>
+        % if h.hasRole(['admin_ka']):
+          <td>
+            ${case.getEditor().first_name[0] | F.NA, h}. ${case.getEditor().last_name | F.NA, h}         
+          </td>
+        % endif
         <td>
-          <a href="/case/select/${case.id}/0/">${_('cm_overview_a_show')}</a> 
-          % if h.hasRole('admin_ka'):
-            <a href="/case/delete/${case.id}/0/">${_('cm_overview_a_delete')}</a> 
+          % if h.hasRole(['cm_ka']):
+            % if str(case.getEditor().id) == str(session.get('USER_AUTHORIZED').id):
+              <img src="/images/icons/editor_grey.gif" border="0" alt="${_('cm_overview_img_editor')}" title="${_('cm_overview_img_editor')}">
+            % else:
+              <img src="/images/icons/stand-in_grey.gif" border="0" alt="${_('cm_overview_img_standin')}" title="${_('cm_overview_img_standin')}">
+            % endif
+          % endif 
+          % if case.getState().getState() == 1:
+            <img src="/images/icons/work_in_progress_grey.gif" border="0" alt="${_('case_state_label_open')}" title="${_('case_state_label_open')}">
+          % elif case.getState().getState() == 2:
+            <img src="/images/icons/done_grey.gif" border="0" alt="${_('case_state_label_closed')}" title="${_('case_state_label_closed')}">
+          % elif case.getState().getState() == 3:
+            <img src="/images/icons/delete_grey.gif" border="0" alt="${_('case_state_label_delete')}" title="${_('case_state_label_delete')}">
           % endif
         </td>
+        <td>
+          <a href="/case/select/${case.id}/0/"><img src="/images/icons/view_red.gif" border="0" alt="${_('cm_overview_a_show')}" title="${_('cm_overview_a_show')}"></a> 
+          % if h.hasRole(['admin_ka']) and case.getState().getState() == 3:
+            <a href="/case/delete/${case.id}/0/"><img src="/images/icons/delete_red.gif" border="0" alt="${_('cm_overview_a_delete')}" title="${_('cm_overview_a_delete')}"></a> 
+            <a href="/case/restore/${case.id}/0/"><img src="/images/icons/recover_red.gif" border="0" alt="${_('cm_overview_a_restore')}" title="${_('cm_overview_a_restore')}"></a> 
+          % elif h.hasRole(['cm_ka']) and case.getState().getState() <= 2: 
+            <a href="/case/markForDelete/${case.id}/0/"><img src="/images/icons/delete_red.gif" border="0" alt="${_('cm_overview_a_delete')}" title="${_('cm_overview_a_delete')}"></a> 
+          % endif
+        </td>
       </tr>
     % else:
       <tr>
         <td class="table_row_h"><input type="checkbox" name="case_id" value="${case.id}"></td>
         <td class="table_row_h">${case.knr       | F.NA, h}</td>
-        <td class="table_row_h">${case.first_name| F.NA, h}</td>
-        <td class="table_row_h">${case.last_name | F.NA, h}</td>
+        <td class="table_row_h">${h.getCaseShort(case.first_name, 15) | F.NA, h}</td>
+        <td class="table_row_h">${h.getCaseShort(case.last_name, 15) | F.NA, h}</td>
+        % if h.hasRole(['admin_ka']):
+          <td class="table_row_h">
+            ${case.getEditor().first_name[0] | F.NA, h}. ${case.getEditor().last_name | F.NA, h}         
+          </td>
+        % endif
         <td class="table_row_h">
-          <a href="/case/select/${case.id}/0/">${_('cm_overview_a_show')}</a> 
-          % if h.hasRole('admin_ka'):
-          <a href="/case/delete/${case.id}/0/">${_('cm_overview_a_delete')}</a> 
+          % if h.hasRole(['cm_ka']):
+            % if str(case.getEditor().id) == str(session.get('USER_AUTHORIZED').id):
+              <img src="/images/icons/editor_grey.gif" border="0" alt="${_('cm_overview_img_editor')}" title="${_('cm_overview_img_editor')}">
+            % else:
+              <img src="/images/icons/stand-in_grey.gif" border="0" alt="${_('cm_overview_img_standin')}" title="${_('cm_overview_img_standin')}">
+            % endif
           % endif
+          % if case.getState().getState() == 1:
+            <img src="/images/icons/work_in_progress_grey.gif" border="0" alt="${_('case_state_label_open')}" title="${_('case_state_label_open')}">
+          % elif case.getState().getState() == 2:
+            <img src="/images/icons/done_grey.gif" border="0" alt="${_('case_state_label_closed')}" title="${_('case_state_label_closed')}">
+          % elif case.getState().getState() == 3:
+            <img src="/images/icons/delete_grey.gif" border="0" alt="${_('case_state_label_delete')}" title="${_('case_state_label_delete')}">
+          % endif
         </td>
+        <td class="table_row_h">
+          <a href="/case/select/${case.id}/0/"><img src="/images/icons/view_red.gif" border="0" alt="${_('cm_overview_a_show')}" title="${_('cm_overview_a_show')}"></a> 
+          % if h.hasRole(['admin_ka']) and case.getState().getState() == 3:
+            <a href="/case/delete/${case.id}/0/"><img src="/images/icons/delete_red.gif" border="0" alt="${_('cm_overview_a_delete')}" title="${_('cm_overview_a_delete')}"></a> 
+            <a href="/case/restore/${case.id}/0/"><img src="/images/icons/recover_red.gif" border="0" alt="${_('cm_overview_a_restore')}" title="${_('cm_overview_a_restore')}"></a> 
+          % elif h.hasRole(['cm_ka']) and case.getState().getState() <= 2: 
+            <a href="/case/markForDelete/${case.id}/0/"><img src="/images/icons/delete_red.gif" border="0" alt="${_('cm_overview_a_delete')}" title="${_('cm_overview_a_delete')}"></a> 
+          % endif
+        </td>
       </tr>
     % endif
     <% idset = not idset %>

Added: trunk/waskaweb/templates/casemanagement/dialogs/confirm_close.mako
===================================================================
--- trunk/waskaweb/templates/casemanagement/dialogs/confirm_close.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/casemanagement/dialogs/confirm_close.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -0,0 +1,8 @@
+## -*- coding: utf-8 -*- 
+<%inherit file="../main.mako" />
+<%def name="buildNavipath()">
+	${parent.buildNavipath()}
+	<li><a href="/case/select/${session.get('case').id}/1" onclick="return checkModification();">${_('cm_np_select')}</a></li>
+	<li><a href="#">${_('cm_np_close')}</a></li>
+</%def>
+<%include file="../../dialogs/confirm.mako" />

Added: trunk/waskaweb/templates/casemanagement/dialogs/confirm_delete.mako
===================================================================
--- trunk/waskaweb/templates/casemanagement/dialogs/confirm_delete.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/casemanagement/dialogs/confirm_delete.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -0,0 +1,8 @@
+## -*- coding: utf-8 -*- 
+<%inherit file="../../main.mako" />
+<%def name="buildNavipath()">
+	${parent.buildNavipath()}
+	<li><a href="/case/">${_('cm_np_root')}</a></li>
+	<li><a href="#">${_('cm_np_delete')}</a></li>
+</%def>
+<%include file="../../dialogs/confirm.mako" />

Added: trunk/waskaweb/templates/casemanagement/dialogs/confirm_open.mako
===================================================================
--- trunk/waskaweb/templates/casemanagement/dialogs/confirm_open.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/casemanagement/dialogs/confirm_open.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -0,0 +1,8 @@
+## -*- coding: utf-8 -*- 
+<%inherit file="../main.mako" />
+<%def name="buildNavipath()">
+	${parent.buildNavipath()}
+	<li><a href="/case/select/${session.get('case').id}/1" onclick="return checkModification();">${_('cm_np_select')}</a></li>
+	<li><a href="#">${_('cm_np_open')}</a></li>
+</%def>
+<%include file="../../dialogs/confirm.mako" />

Added: trunk/waskaweb/templates/casemanagement/dialogs/confirm_restore.mako
===================================================================
--- trunk/waskaweb/templates/casemanagement/dialogs/confirm_restore.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/casemanagement/dialogs/confirm_restore.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -0,0 +1,8 @@
+## -*- coding: utf-8 -*- 
+<%inherit file="../../main.mako" />
+<%def name="buildNavipath()">
+	${parent.buildNavipath()}
+	<li><a href="/case/">${_('cm_np_root')}</a></li>
+	<li><a href="#">${_('cm_np_restore')}</a></li>
+</%def>
+<%include file="../../dialogs/confirm.mako" />

Modified: trunk/waskaweb/templates/casemanagement/digest.mako
===================================================================
--- trunk/waskaweb/templates/casemanagement/digest.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/casemanagement/digest.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -13,8 +13,8 @@
 </div>
 <!--<div class="additional_information">
 <div class="additional_information_img"><img src="/images/info_small.png"  alt="Information"/> </div>
-<div class="additional_information_p">-->${_('cm_digest_con_digest_dossier')}<!--<br></div>
-</div> -->
+<div class="additional_information_p">${_('cm_digest_con_digest_dossier')}<br></div>
+</div>-->
 <h2>${_('cm_header_digest_personal')}</h2>
 <table>
 	<tr>

Modified: trunk/waskaweb/templates/casemanagement/evaluation_result.mako
===================================================================
--- trunk/waskaweb/templates/casemanagement/evaluation_result.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/casemanagement/evaluation_result.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -39,7 +39,7 @@
     <th class="table_header_h table_width_long">${_('cm_eval_table_adolescent')}</th>
     <th class="table_header_h table_width_mid_s">${_('cm_eval_table_number')}</th>
     <th class="table_header_h table_width_mid_s">${_('cm_eval_table_percent')}</th>
-    <th class="table_header_h table_width_mid_s"></th>
+    <th class="table_header_h table_width_mid_s">&nbsp;</th>
   </tr>
   <tr>
     <td>${_('cm_eval_table_consult_customer')}</td>
@@ -51,7 +51,7 @@
     <td class="label table_row_v_12">${_('cm_eval_table_taken_over_to_cm')}</td>
     <td class="table_row_v_12" >${c.eval_1_cm| F.NA, h}</td>
     <td class="table_row_v_12">(${c.eval_1_percent| F.NA, h}%)</td>
-    <td class="table_row_v_12 table_width_mid_s"></td>
+    <td class="table_row_v_12 table_width_mid_s">&nbsp;</td>
   </tr>
 </table>
 <a href="#top">${_('cm_eval_table_to_overview')}</a> | <a href="/evaluate/exportEvaluation_1/auswertung_1_beratung.csv">${_('cm_eval_table_export_analysis')}</a>
@@ -63,7 +63,7 @@
     <th class="table_header_h table_width_mid_s">${_('cm_eval_table_month')}</th>
     <th class="table_header_h table_width_mid_l">${_('cm_eval_table_completed')}</th>
     <th class="table_header_h table_width_mid_l">${_('cm_eval_table_aborted')}</th>
-    <th class="table_header_h table_width_mid_s" ></th>
+    <th class="table_header_h table_width_mid_s" >&nbsp;</th>
   </tr>
   <% idset = 0 %>
   % for r in c.eval_10:
@@ -80,7 +80,7 @@
      <td class="table_row_v_12">${r[0]}</td>
      <td class="table_row_v_12">${r[1]| F.NA, h} (${r[2]| F.NA, h}%)</td>
      <td class="table_row_v_12">${r[3]| F.NA, h} (${r[4]| F.NA, h}%)</td>
-     <td class="table_row_v_12 table_width_mid_s"></td>
+     <td class="table_row_v_12 table_width_mid_s">&nbsp;</td>
    </tr>
   <% idset = 0 %>
   % endif
@@ -96,7 +96,7 @@
     <th class="table_header_h table_width_mid_s">${_('cm_eval_table_gender')}</th>
     <th class="table_header_h table_width_mid_s">${_('cm_eval_table_number')}</th>
     <th class="table_header_h table_width_mid_s">${_('cm_eval_table_percent')}</th>
-    <th class="table_header_h table_width_long"></th>
+    <th class="table_header_h table_width_long">&nbsp;</th>
   </tr>
   <tr>
     <td>${_('cm_eval_label_male')}</td>
@@ -108,7 +108,7 @@
     <td class="table_row_v_12">${_('cm_eval_label_female')}</td>
     <td class="table_row_v_12">${c.eval_2_w[0]| F.NA, h}</td>
     <td class="table_row_v_12">(${c.eval_2_w[1]| F.NA, h}%)</td>
-    <td class="table_row_v_12 table_width_long"></td>
+    <td class="table_row_v_12 table_width_long">&nbsp;</td>
   </tr>
   <tr>
     <td>${_('cm_eval_label_intersexual')}</td>
@@ -124,7 +124,7 @@
     <th class="table_header_h table_width_mid_s">${_('cm_eval_table_age')}</th>
     <th class="table_header_h table_width_mid_s">${_('cm_eval_table_number')}</th>
     <th class="table_header_h table_width_mid_s">${_('cm_eval_table_percent')}</th>
-    <th class="table_header_h table_width_long"></th>
+    <th class="table_header_h table_width_long">&nbsp;</th>
   </tr>
 <% idset = 0 %>
 % for v in c.eval_8:
@@ -141,7 +141,7 @@
     <td class="table_row_v_12">${v[0]| F.NA, h}</td>
     <td class="table_row_v_12">${v[1]| F.NA, h}</td>
     <td class="table_row_v_12">${v[2]| F.NA, h}%</td>
-    <td class="table_row_v_12 table_width_long"></td>
+    <td class="table_row_v_12 table_width_long">&nbsp;</td>
   </tr>
   <% idset = 0 %>
   % endif
@@ -156,7 +156,7 @@
     <th class="table_header_h table_width_long">${_('cm_eval_table_category')}</th>
     <th class="table_header_h table_width_mid_s">${_('cm_eval_table_number')}</th>
     <th class="table_header_h table_width_mid_s">${_('cm_eval_table_percent')}</th>
-    <th class="table_header_h table_width_mid_s"></th>
+    <th class="table_header_h table_width_mid_s">&nbsp;</th>
   </tr>
   <tr>
     <td>${_('cm_eval_label_migration_background')}</td>
@@ -175,7 +175,7 @@
     <th class="table_header_h table_width_long">${_('cm_eval_table_access')}</th>
     <th class="table_header_h table_width_mid_s">${_('cm_eval_table_number')}</th>
     <th class="table_header_h table_width_mid_s">${_('cm_eval_table_percent')}</th>
-    <th class="table_header_h table_width_mid_s"></th>
+    <th class="table_header_h table_width_mid_s">&nbsp;</th>
   </tr> 
 <% idset = 0 %>
 % for r in c.eval_4.itervalues():
@@ -192,7 +192,7 @@
       <td class="table_row_v_12 table_width_long">${r[0]}</td>
       <td class="table_row_v_12">${r[1]| F.NA, h}</td>
       <td class="table_row_v_12">(${r[2]| F.NA, h}%)</td>
-      <td class="table_row_v_12 table_width_mid_s "></td>
+      <td class="table_row_v_12 table_width_mid_s ">&nbsp;</td>
     </tr>
     <% idset = 0 %>
   % endif
@@ -205,7 +205,7 @@
     <th class="table_header_h table_width_mid_l">${_('cm_eval_table_law')}</th>
     <th class="table_header_h table_width_mid_s">${_('cm_eval_table_number')}</th>
     <th class="table_header_h table_width_mid_s">${_('cm_eval_table_percent')}</th>
-    <th class="table_header_h table_width_mid_l"></th>
+    <th class="table_header_h table_width_mid_l">&nbsp;</th>
   </tr> 
 <% idset = 0 %>
 % for r in c.eval_5.itervalues():
@@ -222,7 +222,7 @@
      <td class="table_row_v_12">${r[0]| F.NA, h}</td>
      <td class="table_row_v_12">${r[1]| F.NA, h}</td>
      <td class="table_row_v_12">(${r[2]| F.NA, h}%)</td>
-     <td class="table_row_v_12 table_width_mid_l"></td>
+     <td class="table_row_v_12 table_width_mid_l">&nbsp;</td>
    </tr>
    <% idset = 0 %>
   % endif
@@ -237,7 +237,7 @@
     <th class="table_header_h table_width_long">${_('cm_eval_table_offer')}</th>
     <th class="table_header_h table_width_mid_s">${_('cm_eval_table_number')}</th>
     <th class="table_header_h table_width_mid_s">${_('cm_eval_table_percent')}</th>
-    <th class="table_header_h table_width_mid_s"></th>
+    <th class="table_header_h table_width_mid_s">&nbsp;</th>
   </tr>
 <% idset = 0 %>
 % for r in c.eval_9:
@@ -254,7 +254,7 @@
      <td class="table_row_v_12">${r[0]| F.NA, h}</td>
      <td class="table_row_v_12">${r[1]| F.NA, h}</td>
      <td class="table_row_v_12">(${r[2]| F.NA, h}%)</td>
-     <td class="table_row_v_12 table_width_mid_s"></td>
+     <td class="table_row_v_12 table_width_mid_s">&nbsp;</td>
    </tr>
    <% idset = 0 %>
   % endif
@@ -270,7 +270,7 @@
     <th class="table_header_h table_width_mid_l">${_('cm_eval_table_place')}</th>
     <th class="table_header_h table_width_mid_s">${_('cm_eval_table_number')}</th>
     <th class="table_header_h table_width_mid_s">${_('cm_eval_table_percent')}</th>
-    <th class="table_header_h table_width_mid_l"></th>
+    <th class="table_header_h table_width_mid_l">&nbsp;</th>
   </tr>
 <% idset = 0 %>
 % for r in c.eval_6.itervalues():
@@ -287,7 +287,7 @@
      <td class="table_row_v_12">${r[0]| F.NA, h}</td>
      <td class="table_row_v_12">${r[1]| F.NA, h}</td>
      <td class="table_row_v_12">(${r[2]| F.NA, h}%)</td>
-     <td class="table_row_v_12 table_width_mid_l"></td>
+     <td class="table_row_v_12 table_width_mid_l">&nbsp;</td>
    </tr>
    <% idset = 0 %>
  % endif
@@ -300,7 +300,7 @@
     <th class="table_header_h table_width_mid_l">${_('cm_eval_table_law_change')}</th>
     <th class="table_header_h table_width_mid_s">${_('cm_eval_table_number')}</th>
     <th class="table_header_h table_width_mid_s">${_('cm_eval_table_percent')}</th>
-    <th class="table_header_h table_width_mid_l"></th>
+    <th class="table_header_h table_width_mid_l">&nbsp;</th>
   </tr>
 <% idset = 0 %>
 % for r in c.eval_7.itervalues():
@@ -317,7 +317,7 @@
      <td class="table_row_v_12">${r[0]| F.NA, h}</td>
      <td class="table_row_v_12">${r[1]| F.NA, h}</td>
      <td class="table_row_v_12">(${r[2]| F.NA, h}%)</td>
-     <td class="table_row_v_12 table_width_mid_l"></td>
+     <td class="table_row_v_12 table_width_mid_l">&nbsp;</td>
    </tr>
    <% idset = 0 %>
  % endif

Modified: trunk/waskaweb/templates/casemanagement/formular.mako
===================================================================
--- trunk/waskaweb/templates/casemanagement/formular.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/casemanagement/formular.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -71,9 +71,9 @@
   <div id="modusfield">
     <div id="modusinfo">
     % if session.get('case').getMode() == "show":
-      <h1>Ansichtsmodus</h1>
+      <h5>Ansichtsmodus</h5>
     % else:
-      <h1>Bearbeitungsmodus</h1>
+      <h5>Bearbeitungsmodus</h5>
     % endif
     </div>
     <div class="actions">

Modified: trunk/waskaweb/templates/casemanagement/main.mako
===================================================================
--- trunk/waskaweb/templates/casemanagement/main.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/casemanagement/main.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -3,6 +3,8 @@
 <%!  import waskaweb.lib.filters as F %>
 ${next.body()}
 
+
+
 <%def name="buildNavipath()">
   ${parent.buildNavipath()}
   <li><a href="/case/" onclick="return checkModification();">${_('cm_np_root')}</a></li>
@@ -15,8 +17,10 @@
 <%def name="buildInfofield()">
   <div id="infofield">
     <strong>${_('cm_info_name')}:</strong>
-       ${session.get('case').first_name | F.NA, h} 
-       ${session.get('case').last_name  | F.NA, h}<br>
+       ${h.getCaseShort(session.get('case').first_name, 15) | F.NA, h} 
+       ${h.getCaseShort(session.get('case').last_name, 15)  | F.NA, h}<br>
+    <strong>${_('cm_info_status')}:</strong>
+       ${session.get('case').getState().getStateLabel()  | F.NA, h}<br>
     <strong>${_('cm_info_nr')}:</strong> ${session.get('case').knr | F.NA, h}
   </div>
 </%def>
@@ -43,14 +47,20 @@
   <div class="menu">
     <h1>${_('cm_menu_header_cases')}</h1>
     <div class="actions">
-      
-        % if h.hasRole(['cm_ka', 'admin_ka']):
-              ${self.buildInfofield()}
+    % if h.hasRole(['cm_ka', 'admin_ka']):
+      ${self.buildInfofield()}
       <ul>
-        <li><a href="${h.url_for(controller='/case_overview')}" onclick="return checkModification();"> ${_('cm_menu_link_close')}</a></li>
+        <li><a href="${h.url_for(controller='/case_overview')}" onclick="return checkModification();"> ${_('cm_menu_link_backtooverview')}</a></li>
         <li><a href="/case/printAll/${session.get('case').id}" onclick="return checkModification();"> ${_('cm_menu_link_print')}</a></li>
+
+        % if session.get('case').getState().getState() == 1 and h.hasRole(['cm_ka']):
+        <li><a href="${h.url_for(controller='/case', action='close', id=session.get('case').id, confirmed='0')}" onclick="return checkModification();"> ${_('cm_menu_link_close')}</a></li>
         % endif
+        % if session.get('case').getState().getState() == 2 and h.hasRole(['cm_ka']):
+        <li><a href="${h.url_for(controller='/case', action='open', id=session.get('case').id, confirmed='0')}" onclick="return checkModification();"> ${_('cm_menu_link_open')}</a></li>
+        % endif 
       </ul>
+    % endif
     </div>
   </div>
   <div class="menu">

Modified: trunk/waskaweb/templates/casemanagement/overview.mako
===================================================================
--- trunk/waskaweb/templates/casemanagement/overview.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/casemanagement/overview.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -8,23 +8,29 @@
 </%def>
 <h1>${_('cm_header_overview')}</h1>
 % if h.hasRole(['admin_ka']):
-  <p>${_('cm_overview_con_list_dossiers_admin')}</p>
+ <!-- <p>${_('cm_overview_con_list_dossiers_admin')}</p>-->
 % endif
 
 % if h.hasRole(['cm_ka']):
-  <p>${_('cm_overview_con_list_dossiers_cm')}</p>
+ <!-- <p>${_('cm_overview_con_list_dossiers_cm')}</p>-->
 %endif
 <h2>${_('cm_header_search')}</h2>
-<div>
+<div id="search_field">
   <form name="case_search" action="/case_overview/search/">
   <div>
     <input type="text" size="40" name="search_str">
     <input type="submit" value="${_('cm_form_overview_search_submit')}">
   </div>
-  <div>
-  
-% if h.hasRole(['cm_ka']):
-    <input type="checkbox" name="show_own" id="show_own" value="1"><label for="show_own">Nur eigene Fallakten anzeigen</label>
+  <div id="search_criteria">
+    <strong>Suchfilter:</strong>
+    % if h.hasRole(['cm_ka']):
+    <input type="checkbox" name="show_own" id="show_own" value="1" checked="checked"><label for="show_own"><img title="Eigene Fallakten" alt="Bearbeiter"  src="/images/icons/editor_grey.gif">Eigene</label>
+    <input type="checkbox" name="show_other" id="show_other" value="1" checked="checked"><label for="show_other"><img title="Vertreter Fallakten" alt="Vertreter"  src="/images/icons/stand-in_grey.gif">Vertretung</label>
+    % endif
+    <input type="checkbox" name="show_open" id="show_open" value="1" checked="checked"><label for="show_open"><img title="Offene Fallakten" alt="Offene" src="/images/icons/work_in_progress_grey.gif">Offen</label>
+    <input type="checkbox" name="show_closed" id="show_closed" value="1" checked="checked"><label for="show_closed"><img title="Geschlossene Fallakten" alt="Geschlossene" src="/images/icons/done_grey.gif">Geschlossen</label>
+    % if h.hasRole(['admin_ka']):
+    <input type="checkbox" name="show_markdelete" id="show_markdelete" value="1" checked="checked"><label for="show_markdelete"><img title="Zu löschende Fallakten" alt="Schwebend Gelöscht" src="/images/icons/delete_grey.gif">Schwebend gelöscht</label>
 % endif
   </div>
   </form>
@@ -32,13 +38,16 @@
 <div class="waska_form">
   ${h.form(h.url(action='bundleAction'), method='post')}
   <%include file="./caselist.mako" />
-  <div class="waska_form_element w25">
+  <div class="waska_form_element w30">
     <select name="action">
       <option value="no_action">Keine Aktion</option>
       % if h.hasRole(['admin_ka']):
-      <option value="delete">Auswahl löschen</option>
-      <option value="transfer">Auswahl Bearbeitung übertragen</option>
+        <option value="delete">Auswahl löschen</option>
+        <option value="transfer">Auswahl Bearbeitung übertragen</option>
       % endif
+      % if h.hasRole(['cm_ka']):
+        <option value="markdelete">Auswahl löschen</option>
+      % endif
       % if h.hasRole(['admin_ka', 'cm_ka']):
       <option value="stand-in">Auswahl Vertretung zuweisen</option>
       <!--<option value="export">Auswahl exportieren</option>-->
@@ -46,8 +55,8 @@
       % endif
     </select>
   </div>
-  <div class="waska_form_element w75">
-    ${h.submit('Aktion f&uuml;r Auswahl ausf&uuml;hren')}
+  <div class="waska_form_element w50">
+    <input type="submit" value="Aktion für Auswahl ausführen">
   </div>
   ${h.end_form()}
   <br class="newline">

Modified: trunk/waskaweb/templates/dialogs/confirm.mako
===================================================================
--- trunk/waskaweb/templates/dialogs/confirm.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/dialogs/confirm.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -1,7 +1,6 @@
 ## -*- coding: utf-8 -*-
 <div class="dialog" />
-<h1><img src="/images/question.png" alt="achtung"/>${_('dialog_header_confirm')}</h1>
-<h2>${c.confirm_for}</h2>
+<h1><img src="/images/question.png" alt="achtung"/>${c.confirm_for}</h1>
 <p>${c.question}</p>
 <a class="button" href="${c.url_yes}">${_('dialog_header_confirm_option_yes')}</a>
 <a class="button" href="${c.url_no}">${_('dialog_header_confirm_option_no')}</a>

Added: trunk/waskaweb/templates/dialogs/failed.mako
===================================================================
--- trunk/waskaweb/templates/dialogs/failed.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/dialogs/failed.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -0,0 +1,6 @@
+## -*- coding: utf-8 -*-
+<div class="dialog" />
+<h1><img src="/images/failure.png" alt="Erledigt"/>${c.failed_for}</h1>
+<p>${c.failed_text}</p>
+<a class="button" href="${c.url_ok}">${_('dialog_header_confirm_option_ok')}</a>
+</div>

Modified: trunk/waskaweb/templates/dialogs/notification.mako
===================================================================
--- trunk/waskaweb/templates/dialogs/notification.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/dialogs/notification.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -1,7 +1,6 @@
 ## -*- coding: utf-8 -*-
 <div class="dialog" />
-<h1><img src="/images/alert.png" alt="Achtung"/>${_('dialog_header_notification')}</h1>
-<h2>${c.notification_for}</h2>
+<h1><img src="/images/alert.png" alt="Achtung"/>${c.notification_for}</h1>
 <p>${c.notification_text}</p>
 <a class="button" href="${c.url_ok}">${_('dialog_header_notification_option_ok')}</a>
 </div>

Added: trunk/waskaweb/templates/dialogs/success.mako
===================================================================
--- trunk/waskaweb/templates/dialogs/success.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/dialogs/success.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -0,0 +1,6 @@
+## -*- coding: utf-8 -*-
+<div class="dialog" />
+<h1><img src="/images/confirmation.png" alt="Erledigt"/>${c.success_for}</h1>
+<p>${c.success_text}</p>
+<a class="button" href="${c.url_ok}">${_('dialog_header_confirm_option_ok')}</a>
+</div>

Modified: trunk/waskaweb/templates/documents/case_overview.mako
===================================================================
--- trunk/waskaweb/templates/documents/case_overview.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/documents/case_overview.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -39,8 +39,8 @@
    <tr>
      <td>${ f.getName() | F.shorten, h}</td>
      <td class="number_field">${kb(f.size)} KB</td>
-     <td class="table_action"><a href="/document/caseShow/${f.id}/${f.getName() | F.H}" target="_blank">${_('doc_overview_tbl_show')}</a>
-     <a href="/document/caseDelete/${f.id}/${myid}/0">${_('doc_overview_tbl_delete')}</a>
+     <td class="table_action"><a href="/document/caseShow/${f.id}/${f.getName() | F.H}" target="_blank"><img src="/images/icons/view_red.gif" border="0" alt="${_('cm_overview_a_show')}" title="${_('cm_overview_a_show')}"></a>
+     <a href="/document/caseDelete/${f.id}/${myid}/0"><img src="/images/icons/delete_red.gif" border="0" alt="${_('cm_overview_a_delete')}" title="${_('cm_overview_a_delete')}"></a>
      </td>
    </tr>
    <% idset = 1 %>
@@ -48,8 +48,8 @@
    <tr>
     <td class="table_row_h">${ f.getName() | F.shorten, h}</td>
     <td class="number_field table_row_h">${kb(f.size)} KB</td>
-    <td class="table_row_h table_action"><a href="/document/caseShow/${f.id}/${f.getName() | F.H}" target="_blank">${_('doc_overview_tbl_show')}</a>
-    <a href="/document/caseDelete/${f.id}/${myid}/0">${_('doc_overview_tbl_delete')}</a>
+    <td class="table_row_h table_action"><a href="/document/caseShow/${f.id}/${f.getName() | F.H}" target="_blank"><img src="/images/icons/view_red.gif" border="0" alt="${_('cm_overview_a_show')}" title="${_('cm_overview_a_show')}"></a>
+    <a href="/document/caseDelete/${f.id}/${myid}/0"><img src="/images/icons/delete_red.gif" border="0" alt="${_('cm_overview_a_delete')}" title="${_('cm_overview_a_delete')}"></a>
     </td>
    </tr>
    <% idset = 0 %>

Added: trunk/waskaweb/templates/documents/dialogs/failed_attachment.mako
===================================================================
--- trunk/waskaweb/templates/documents/dialogs/failed_attachment.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/documents/dialogs/failed_attachment.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -0,0 +1,8 @@
+<%inherit file="../../casemanagement/main.mako" />
+<%def name="buildNavipath()">
+	${parent.buildNavipath()}
+        <li><a href="/case/select/${session.get('case').id}/1">${_('cm_np_select')}</a></li>
+	<li><a href="/case/documents/${session.get('case').id}">${_('cm_np_doc_overview')}</a></li>
+	<li><a href="#">${_('cm_np_doc_failed')}</a></li>
+</%def>
+<%include file="../../dialogs/failed.mako" />

Added: trunk/waskaweb/templates/documents/dialogs/failed_document.mako
===================================================================
--- trunk/waskaweb/templates/documents/dialogs/failed_document.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/documents/dialogs/failed_document.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -0,0 +1,8 @@
+<%inherit file="../../main.mako" />
+<%def name="buildNavipath()">
+	${parent.buildNavipath()}
+        <li><a href="/document/globalOverview">${_('doc_np_overview')}</a></li>
+	<li><a href="/document/globalUpload">${_('doc_np_upload')}</a></li>
+	<li><a href="#">${_('cm_np_doc_failed')}</a></li>
+</%def>
+<%include file="../../dialogs/failed.mako" />

Added: trunk/waskaweb/templates/documents/dialogs/success_attachment.mako
===================================================================
--- trunk/waskaweb/templates/documents/dialogs/success_attachment.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/documents/dialogs/success_attachment.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -0,0 +1,8 @@
+<%inherit file="../../casemanagement/main.mako" />
+<%def name="buildNavipath()">
+	${parent.buildNavipath()}
+        <li><a href="/case/select/${session.get('case').id}/1">${_('cm_np_select')}</a></li>
+	<li><a href="/case/documents/${session.get('case').id}">${_('cm_np_doc_overview')}</a></li>
+	<li><a href="#">${_('cm_np_doc_success')}</a></li>
+</%def>
+<%include file="../../dialogs/success.mako" />

Added: trunk/waskaweb/templates/documents/dialogs/success_documents.mako
===================================================================
--- trunk/waskaweb/templates/documents/dialogs/success_documents.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/documents/dialogs/success_documents.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -0,0 +1,8 @@
+<%inherit file="../../main.mako" />
+<%def name="buildNavipath()">
+	${parent.buildNavipath()}
+        <li><a href="/document/globalOverview">${_('doc_np_overview')}</a></li>
+	<li><a href="/document/globalUpload">${_('doc_np_upload')}</a></li>
+	<li><a href="#">${_('cm_np_doc_success')}</a></li>
+</%def>
+<%include file="../../dialogs/success.mako" />

Modified: trunk/waskaweb/templates/documents/global_overview.mako
===================================================================
--- trunk/waskaweb/templates/documents/global_overview.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/documents/global_overview.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -35,9 +35,11 @@
   <tr>
     <td>${ f.getName() | F.shorten, h}</td>
     <td class="number_field">${kb(f.size)} KB</td>
-    <td class="table_action"><a href="/document/globalShow/${f.id}/${f.getName() | F.H}" target="_blank">${_('doc_overview_tbl_show')}</a>
+    <td class="table_action"><a href="/document/globalShow/${f.id}/${f.getName() | F.H}" 
+    target="_blank"><img src="/images/icons/view_red.gif" border="0" alt="${_('cm_overview_a_show')}" 
+    title="${_('cm_overview_a_show')}" title="${_('cm_overview_a_show')}"></a>
     % if h.hasRole(['admin_ka']):
-    <a href="/document/globalDelete/${f.id}">${_('doc_overview_tbl_delete')}</a>
+    <a href="/document/globalDelete/${f.id}"><img src="/images/icons/delete_red.gif" border="0" alt="${_('cm_overview_a_delete')}" title="${_('cm_overview_a_delete')}"></a>
     % endif
     </td>
   </tr>
@@ -46,9 +48,10 @@
     <tr>
       <td class="table_row_h">${ f.getName() | F.shorten, h}</td>
       <td class="number_field table_row_h">${kb(f.size)} KB</td>
-      <td class="table_row_h table_action"><a href="/document/globalShow/${f.id}/${f.getName() | F.H}" target="_blank">${_('doc_overview_tbl_show')}</a>
+      <td class="table_row_h table_action"><a href="/document/globalShow/${f.id}/${f.getName() | F.H}" target="_blank"><img src="/images/icons/view_red.gif" border="0" alt="${_('cm_overview_a_show')}" 
+    title="${_('cm_overview_a_show')}" title="${_('cm_overview_a_show')}"></a>
         % if h.hasRole(['admin_ka']):
-          <a href="/document/globalDelete/${f.id}">${_('doc_overview_tbl_delete')}</a>
+          <a href="/document/globalDelete/${f.id}"><img src="/images/icons/delete_red.gif" border="0" alt="${_('cm_overview_a_delete')}" title="${_('cm_overview_a_delete')}"></a>
         % endif
       </td>
     </tr>

Modified: trunk/waskaweb/templates/login.mako
===================================================================
--- trunk/waskaweb/templates/login.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/login.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -2,10 +2,21 @@
 <%inherit file="main_login.mako" />
 <h1>${_('login_header_waska_login')}</h1>
 <div id="waska_form_login">
+
+% if c.login_failed:
+  <div class="form_errors">
+    <a name="error_list"><h1>${_('login_input_error')}</h1></a>
+    <ul>
+      <li>${_('login_input_error_message')}</li>
+    </ul>
+  </div>
+% endif
+
 <p>${_('login_p_insert_pw_and_identifier')}</p>
 <form name="login" action="${h.url_for(controller='waska', action='loginAction')}" accept-charset="UTF-8" method="POST">
 <div class="label">
    <label for="login">${_('login_label_identifier')}</label>
+   
 </div>
 <div class="input">
    <input type="text" size="20" name="username">
@@ -13,11 +24,12 @@
 <div class="clearer"> </div>
 <div class="label">
     <label for="pass">${_('login_label_pw')}</label>
+    
 </div>
 
 <div class="input">
     <input type="password" size="20" name="password">
-</div>
+  </div>
 <div class="clearer"> </div>
 <p id="login_btn">
 <input type="submit" value="Anmelden" name="authform">

Modified: trunk/waskaweb/templates/start/help.mako
===================================================================
--- trunk/waskaweb/templates/start/help.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/start/help.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -1,28 +1,11 @@
 <%inherit file="../main.mako" />
 <h1>WASKA Hilfe</h1>
- 
-<p>An dieser Stelle wird Ihnen eine Hilfe zur Verf&#252;gung stehen.</p>
-<!--<ul>
-	<li><a href="#help_1">Abschnitt 1</a></li>
-	<li><a href="#help_2">Abschnitt 2</a></li>
-	<li><a href="#help_3">Abschnitt 3</a></li>
-	<li><a href="#help_4">Abschnitt 4</a></li>
-	<li><a href="#help_5">Abschnitt 5</a></li>
-</ul>
-<h2><a id="help_1" name="help_1">Abschnitt 1</a></h2>
-<p>Nus obnixe boatus. Canonus nam Pax For Ideo Vindico Ico lex iter laxo incredibilis Cariosus perturpis. Optimates veho insigniter invisus eia causa Quod sciscitor, paro os in Insignio exemplar male. Stillicidium excedo pes Neco blatta, immo ut ordo, no hio palus tollo Fere. Si Quin vix lex tres gens ora nam iucunditas. Mica ita amo sui Monstrum ile aut culpa, qui qui cavo sum epulor oraculum humo quis Nominatim Pius Mundus agnosco podagra mica per lugo Purgatio neo promontorium Ne mos repo, his vis sis Ingens uber. Qualis, hoc eo cos Parum tribuo, ornus nam condoleo constrictio. Dux cautor sino pando nec venio compatior inopinatus bos quinquagesimus undo his stupidus Agon quo nec Malbodiensis fortitudo. Illic ile pes Vastata sitis tergeo castigator Laetor se Ne. Salveo intolerabiliter. eligo furtim incrementabiliter convenienter prothoplastus. Heus spes ne aliquantum gaudium. Prohibeo quo. Plebs peto. Porta. Pax veno. Far crucio. Oestrus. Discerpo. Conjuro. Typus arbustum. Sum pecunia. Quin. Tantummodo. Tres Semestris, tui lex ut praetermissio plerumque. Cui tot lea Insumo, feculentia, profectio Inter, gelo contremisco Apud se Hora. Sto de neco in rogo una amo, lex natu Placo. Possessio res tot Peragro ex ne Attinet, eia consolo pax martyrium, amo et egeo St quasso. Mus vis boo pax tam, os crinis ros singultim qui de ferveo hic piger sentio novus solamen, juge pie pareo Caelum en nex Accommodo turma, quem optatus crus Idem nam mei hic, te. En repo agna, hac reverto grator via beo Indigeo, iam abhinc hae levo.. Tego, dis no invocatio.Sive infinitas pax St falx hoc multi. Tum sto se post Caetera. Boo, his nam tergo scisco lex puga per Virtus. Illo queo Sino sine lea do Ferula emo exorior per dies iam Mollio Res exinde. Si, sis Genero In ter deficio vis thorax Fugo Puto, eo Prodigus tam Prenda Si sui viridis zephyr Ego libero In modo sui seco macula os, se Res Sine unde neo paene, fas cui ascia Deficio hoc, par ars hos iam ut ars. Qua emo lac cito fides for, lex Quiesc
-</p>
-<h2><a id="help_2" name="help_2">Abschnitt 2</a></h2>
-<p>Nus obnixe boatus. Canonus nam Pax For Ideo Vindico Ico lex iter laxo incredibilis Cariosus perturpis. Optimates veho insigniter invisus eia causa Quod sciscitor, paro os in Insignio exemplar male. Stillicidium excedo pes Neco blatta, immo ut ordo, no hio palus tollo Fere. Si Quin vix lex tres gens ora nam iucunditas. Mica ita amo sui Monstrum ile aut culpa, qui qui cavo sum epulor oraculum humo quis Nominatim Pius Mundus agnosco podagra mica per lugo Purgatio neo promontorium Ne mos repo, his vis sis Ingens uber. Qualis, hoc eo cos Parum tribuo, ornus nam condoleo constrictio. Dux cautor sino pando nec venio compatior inopinatus bos quinquagesimus undo his stupidus Agon quo nec Malbodiensis fortitudo. Illic ile pes Vastata sitis tergeo castigator Laetor se Ne. Salveo intolerabiliter. eligo furtim incrementabiliter convenienter prothoplastus. Heus spes ne aliquantum gaudium. Prohibeo quo. Plebs peto. Porta. Pax veno. Far crucio. Oestrus. Discerpo. Conjuro. Typus arbustum. Sum pecunia. Quin. Tantummodo. Tres Semestris, tui lex ut praetermissio plerumque. Cui tot lea Insumo, feculentia, profectio Inter, gelo contremisco Apud se Hora. Sto de neco in rogo una amo, lex natu Placo. Possessio res tot Peragro ex ne Attinet, eia consolo pax martyrium, amo et egeo St quasso. Mus vis boo pax tam, os crinis ros singultim qui de ferveo hic piger sentio novus solamen, juge pie pareo Caelum en nex Accommodo turma, quem optatus crus Idem nam mei hic, te. En repo agna, hac reverto grator via beo Indigeo, iam abhinc hae levo.. Tego, dis no invocatio.Sive infinitas pax St falx hoc multi. Tum sto se post Caetera. Boo, his nam tergo scisco lex puga per Virtus. Illo queo Sino sine lea do Ferula emo exorior per dies iam Mollio Res exinde. Si, sis Genero In ter deficio vis thorax Fugo Puto, eo Prodigus tam Prenda Si sui viridis zephyr Ego libero In modo sui seco macula os, se Res Sine unde neo paene, fas cui ascia Deficio hoc, par ars hos iam ut ars. Qua emo lac cito fides for, lex Quiesc
-</p>
-<h2><a id="help_3" name="help_3">Abschnitt 3</a></h2>
-<p>Nus obnixe boatus. Canonus nam Pax For Ideo Vindico Ico lex iter laxo incredibilis Cariosus perturpis. Optimates veho insigniter invisus eia causa Quod sciscitor, paro os in Insignio exemplar male. Stillicidium excedo pes Neco blatta, immo ut ordo, no hio palus tollo Fere. Si Quin vix lex tres gens ora nam iucunditas. Mica ita amo sui Monstrum ile aut culpa, qui qui cavo sum epulor oraculum humo quis Nominatim Pius Mundus agnosco podagra mica per lugo Purgatio neo promontorium Ne mos repo, his vis sis Ingens uber. Qualis, hoc eo cos Parum tribuo, ornus nam condoleo constrictio. Dux cautor sino pando nec venio compatior inopinatus bos quinquagesimus undo his stupidus Agon quo nec Malbodiensis fortitudo. Illic ile pes Vastata sitis tergeo castigator Laetor se Ne. Salveo intolerabiliter. eligo furtim incrementabiliter convenienter prothoplastus. Heus spes ne aliquantum gaudium. Prohibeo quo. Plebs peto. Porta. Pax veno. Far crucio. Oestrus. Discerpo. Conjuro. Typus arbustum. Sum pecunia. Quin. Tantummodo. Tres Semestris, tui lex ut praetermissio plerumque. Cui tot lea Insumo, feculentia, profectio Inter, gelo contremisco Apud se Hora. Sto de neco in rogo una amo, lex natu Placo. Possessio res tot Peragro ex ne Attinet, eia consolo pax martyrium, amo et egeo St quasso. Mus vis boo pax tam, os crinis ros singultim qui de ferveo hic piger sentio novus solamen, juge pie pareo Caelum en nex Accommodo turma, quem optatus crus Idem nam mei hic, te. En repo agna, hac reverto grator via beo Indigeo, iam abhinc hae levo.. Tego, dis no invocatio.Sive infinitas pax St falx hoc multi. Tum sto se post Caetera. Boo, his nam tergo scisco lex puga per Virtus. Illo queo Sino sine lea do Ferula emo exorior per dies iam Mollio Res exinde. Si, sis Genero In ter deficio vis thorax Fugo Puto, eo Prodigus tam Prenda Si sui viridis zephyr Ego libero In modo sui seco macula os, se Res Sine unde neo paene, fas cui ascia Deficio hoc, par ars hos iam ut ars. Qua emo lac cito fides for, lex Quiesc
-</p>
-<h2><a id="help_4" name="help_4">Abschnitt 4</a></h2>
-<p>Nus obnixe boatus. Canonus nam Pax For Ideo Vindico Ico lex iter laxo incredibilis Cariosus perturpis. Optimates veho insigniter invisus eia causa Quod sciscitor, paro os in Insignio exemplar male. Stillicidium excedo pes Neco blatta, immo ut ordo, no hio palus tollo Fere. Si Quin vix lex tres gens ora nam iucunditas. Mica ita amo sui Monstrum ile aut culpa, qui qui cavo sum epulor oraculum humo quis Nominatim Pius Mundus agnosco podagra mica per lugo Purgatio neo promontorium Ne mos repo, his vis sis Ingens uber. Qualis, hoc eo cos Parum tribuo, ornus nam condoleo constrictio. Dux cautor sino pando nec venio compatior inopinatus bos quinquagesimus undo his stupidus Agon quo nec Malbodiensis fortitudo. Illic ile pes Vastata sitis tergeo castigator Laetor se Ne. Salveo intolerabiliter. eligo furtim incrementabiliter convenienter prothoplastus. Heus spes ne aliquantum gaudium. Prohibeo quo. Plebs peto. Porta. Pax veno. Far crucio. Oestrus. Discerpo. Conjuro. Typus arbustum. Sum pecunia. Quin. Tantummodo. Tres Semestris, tui lex ut praetermissio plerumque. Cui tot lea Insumo, feculentia, profectio Inter, gelo contremisco Apud se Hora. Sto de neco in rogo una amo, lex natu Placo. Possessio res tot Peragro ex ne Attinet, eia consolo pax martyrium, amo et egeo St quasso. Mus vis boo pax tam, os crinis ros singultim qui de ferveo hic piger sentio novus solamen, juge pie pareo Caelum en nex Accommodo turma, quem optatus crus Idem nam mei hic, te. En repo agna, hac reverto grator via beo Indigeo, iam abhinc hae levo.. Tego, dis no invocatio.Sive infinitas pax St falx hoc multi. Tum sto se post Caetera. Boo, his nam tergo scisco lex puga per Virtus. Illo queo Sino sine lea do Ferula emo exorior per dies iam Mollio Res exinde. Si, sis Genero In ter deficio vis thorax Fugo Puto, eo Prodigus tam Prenda Si sui viridis zephyr Ego libero In modo sui seco macula os, se Res Sine unde neo paene, fas cui ascia Deficio hoc, par ars hos iam ut ars. Qua emo lac cito fides for, lex Quiesc
-</p>
-<h2><a id="help_5" name="help_5" >Abschnitt 5</a></h2>
-<p>Nus obnixe boatus. Canonus nam Pax For Ideo Vindico Ico lex iter laxo incredibilis Cariosus perturpis. Optimates veho insigniter invisus eia causa Quod sciscitor, paro os in Insignio exemplar male. Stillicidium excedo pes Neco blatta, immo ut ordo, no hio palus tollo Fere. Si Quin vix lex tres gens ora nam iucunditas. Mica ita amo sui Monstrum ile aut culpa, qui qui cavo sum epulor oraculum humo quis Nominatim Pius Mundus agnosco podagra mica per lugo Purgatio neo promontorium Ne mos repo, his vis sis Ingens uber. Qualis, hoc eo cos Parum tribuo, ornus nam condoleo constrictio. Dux cautor sino pando nec venio compatior inopinatus bos quinquagesimus undo his stupidus Agon quo nec Malbodiensis fortitudo. Illic ile pes Vastata sitis tergeo castigator Laetor se Ne. Salveo intolerabiliter. eligo furtim incrementabiliter convenienter prothoplastus. Heus spes ne aliquantum gaudium. Prohibeo quo. Plebs peto. Porta. Pax veno. Far crucio. Oestrus. Discerpo. Conjuro. Typus arbustum. Sum pecunia. Quin. Tantummodo. Tres Semestris, tui lex ut praetermissio plerumque. Cui tot lea Insumo, feculentia, profectio Inter, gelo contremisco Apud se Hora. Sto de neco in rogo una amo, lex natu Placo. Possessio res tot Peragro ex ne Attinet, eia consolo pax martyrium, amo et egeo St quasso. Mus vis boo pax tam, os crinis ros singultim qui de ferveo hic piger sentio novus solamen, juge pie pareo Caelum en nex Accommodo turma, quem optatus crus Idem nam mei hic, te. En repo agna, hac reverto grator via beo Indigeo, iam abhinc hae levo.. Tego, dis no invocatio.Sive infinitas pax St falx hoc multi. Tum sto se post Caetera. Boo, his nam tergo scisco lex puga per Virtus. Illo queo Sino sine lea do Ferula emo exorior per dies iam Mollio Res exinde. Si, sis Genero In ter deficio vis thorax Fugo Puto, eo Prodigus tam Prenda Si sui viridis zephyr Ego libero In modo sui seco macula os, se Res Sine unde neo paene, fas cui ascia Deficio hoc, par ars hos iam ut ars. Qua emo lac cito fides for, lex Quiesc
-</p>
+ <p>An dieser Stelle wird Ihnen eine Hilfe zur Verf&#252;gung stehen.</p>
+  <!--
+  <p>
+    <form method="post" action="/usersettings/">
+    <input type="checkbox" value="1" id="help_check" name="help_check" checked="checked"/>
+    <label for="help_check">Hilfeboxen sichtbar</label>
+    </form>
+</p>-->
 
--->
\ No newline at end of file

Added: trunk/waskaweb/templates/statement/dialogs/ee_decline_success.mako
===================================================================
--- trunk/waskaweb/templates/statement/dialogs/ee_decline_success.mako	2008-08-13 13:05:41 UTC (rev 21)
+++ trunk/waskaweb/templates/statement/dialogs/ee_decline_success.mako	2008-08-13 13:06:10 UTC (rev 22)
@@ -0,0 +1,9 @@
+## -*- coding: utf-8 -*-
+<%inherit file="../../main.mako" />
+<%def name="buildNavipath()">
+	${parent.buildNavipath()}
+	<li><a href="/administration">${_('adm_np_root')}</a></li>
+	<li><a href="/administration/overviewUser">${_('adm_np_overview')}</a></li>
+	<li><a href="#">${_('np_adm_statement_declined')}</a></li>
+</%def>
+<%include file="../../dialogs/success.mako" />



More information about the Mpuls-commits mailing list