[Mpuls-commits] r1055 - wasko/branches/2.0/waskaweb/controllers

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Mon Feb 1 14:13:39 CET 2010


Author: torsten
Date: 2010-02-01 14:13:39 +0100 (Mon, 01 Feb 2010)
New Revision: 1055

Modified:
   wasko/branches/2.0/waskaweb/controllers/logbook.py
Log:
* waskaweb/controllers/logbook.py (LogbookController.show): Moved to
logbook controller


Modified: wasko/branches/2.0/waskaweb/controllers/logbook.py
===================================================================
--- wasko/branches/2.0/waskaweb/controllers/logbook.py	2010-02-01 13:13:16 UTC (rev 1054)
+++ wasko/branches/2.0/waskaweb/controllers/logbook.py	2010-02-01 13:13:39 UTC (rev 1055)
@@ -29,8 +29,42 @@
 
 from waskaweb.lib.base import *
 from waskaweb.lib.security import checkRole
-from waskaweb.model.logbook import Logbook, LogbookEntry
+from waskaweb.lib.validators import CreateLogbookForm, EditLogbookForm
+from waskaweb.model.logbook import Logbook, LogbookEntry, LogbookEntryChecker
 
+LOGBOOK_ENTRY_CREATE_FAILED = u"Tagebucheintrag wurde nicht angelegt!"
+LOGBOOK_ENTRY_CREATE_FAILED_TEXT = u"\
+Beim Anlegen eines Tagebucheintrages is ein Fehler aufgetreten."
+
+CREATE_LOGBOOK_ENTRY_SUCCESS = u"Eintrag ins Tagebuch erfolgreich."
+CREATE_LOGBOOK_ENTRY_SUCCESS_TEXT = u"\
+Der Tagebucheintrag wurde erfolgreich durchgeführt."
+
+DELETE_LOGBOOK_ENTRY_CONFIRM = u"Tagebucheintrag löschen?"
+DELETE_LOGBOOK_ENTRY_CONFIRM_TEXT = u"""\
+Wollen Sie diesen Tagebucheintrag wirklich löschen?
+Er ginge damit unwiederbringlich verloren."""
+
+LOGBOOK_ENTRY_DELETE_SUCCESS = u"Tagebucheintrag erfolgreich gelöscht!"
+LOGBOOK_ENTRY_DELETE_SUCCESS_TEXT = u"\
+Der Tagebucheintrag wurde erfolgreich gelöscht!"
+
+LOGBOOK_ENTRY_DELETE_FAILED = u"Löschen des Tagebucheintrags fehlgeschlagen!"
+LOGBOOK_ENTRY_DELETE_FAILED_TEXT = u"\
+Beim Löschen des Tagebucheintrags ist ein Fehler aufgetreten."
+
+LOGBOOK_ENTRY_SHOW_FAILED = u"Anzeigen des Tagebucheintrags fehlgeschlagen!"
+LOGBOOK_ENTRY_SHOW_FAILED_TEXT = u"\
+Beim Anzeigen des Tagebucheintrags ist ein Fehler aufgetreten."
+
+LOGBOOK_ENTRY_SAVE_SUCCESS = u"Änderung des Eintrages erfolgreich!"
+LOGBOOK_ENTRY_SAVE_SUCCESS_TEXT = u"\
+Der Eintrag im Tagebuch wurde erfolgreich geändert."
+
+LOGBOOK_ENTRY_SAVE_FAILED = u"Änderung des Eintrages fehlgeschlagen!"
+LOGBOOK_ENTRY_SAVE_FAILED_TEXT = u"\
+Die Änderung des Eintrages im Tagebuch ist fehlgeschlagen."
+
 log = logging.getLogger(__name__)
 
 class LogbookController(BaseController):
@@ -51,6 +85,22 @@
         c.eval_effort = logbook.getEvaluation()
         return render('/logbook/overview.mako')
 
+    @checkRole(('cm_ka'))
+    def show(self, id):
+        id = self._checkInt(id)
+        try:
+            entry = LogbookEntry()
+            entry.loadById(id)
+        except Exception, e:
+            c.failed_for = LOGBOOK_ENTRY_SHOW_FAILED
+            c.failed_text = LOGBOOK_ENTRY_SHOW_FAILED_TEXT
+            c.url_ok = "/logbook/index/%s" % str(session['case'].id)
+            log.exception(e)
+            return render('/logbook/dialogs/failed_show_logbook_entry.mako')
+
+        c.entry = entry
+        return render('/logbook/show.mako')
+
     @checkRole('cm_ka')
     def new(self, id):
         id = self._checkInt(id)
@@ -73,6 +123,45 @@
                                           auto_insert_errors=False,
                                           errors=c.form_errors)
 
+    @checkRole('cm_ka')
+    def newAction(self):
+        checker = LogbookEntryChecker(request.params)
+        validator = CreateLogbookForm()
+        c.form_errors = {}
+        c.form_result = {}
+
+        try:
+            form_result = validator.to_python(request.params)
+        except formencode.Invalid, error:
+            c.form_result = error.value
+            c.form_errors = error.error_dict or {}
+            form = render('/logbook/new.mako')
+            return formencode.htmlfill.render(unicode(form, 'utf-8'),
+                                              defaults=c.form_result,
+                                              auto_insert_errors=False,
+                                              errors=c.form_errors)
+
+        #if checker.hasErrors():
+        #    c.ds_id           = session['case'].id
+        #    c.entry           = checker.getLogbookEntry()
+        #    c.form_errors     = checker.getErrors()
+
+        try:
+            log.debug("New Logbook entry from case %s" % checker.getCaseId())
+            logbook = Logbook(checker.getCaseId())
+            logbook.addEntry(checker.getLogbookEntry())
+            logbook.store(session['USER_AUTHORIZED'].id)
+            c.url_ok = "/case/logbook/%s" % str(session['case'].id)
+            c.success_for = CREATE_LOGBOOK_ENTRY_SUCCESS
+            c.success_text = CREATE_LOGBOOK_ENTRY_SUCCESS_TEXT
+            return render('/logbook/dialogs/success_create_logbook_entry.mako')
+        except:
+            traceback.print_exc(file=sys.stderr)
+            c.failed_for = LOGBOOK_ENTRY_CREATE_FAILED
+            c.failed_text = LOGBOOK_ENTRY_CREATE_FAILED_TEXT
+            c.url_ok = "/case/logbook/%s" % str(session['case'].id)
+            return render('/logbook/dialogs/failed_create_logbook_entry.mako')
+
     @checkRole(('cm_ka'))
     def printout(self, id):
         id = self._checkInt(id)



More information about the Mpuls-commits mailing list