[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