From 009d91ffee782046601f2671f82c075f981c7303 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Wed, 30 May 2012 15:37:21 +0200 Subject: [PATCH] define and register separate action for creating events --- browser/form.py | 6 ++++-- locales/de/LC_MESSAGES/loops.mo | Bin 17190 -> 17234 bytes locales/de/LC_MESSAGES/loops.po | 7 +++++-- organize/browser/event.py | 28 ++++++++++++++++------------ 4 files changed, 25 insertions(+), 16 deletions(-) diff --git a/browser/form.py b/browser/form.py index ce3cd2e..e7ac588 100644 --- a/browser/form.py +++ b/browser/form.py @@ -83,7 +83,7 @@ class ObjectForm(NodeView): def checkPermissions(self): obj = self.target if obj is None: - obj = self.context + obj = self.containerext return canWriteObject(obj) @Lazy @@ -289,7 +289,9 @@ class CreateObjectForm(ObjectForm): @Lazy def title(self): if self.fixedType: - return _(u'Create %s') % self.typeConcept.title + #return _(u'Create %s') % self.typeConcept.title + return _(u'Create $type', + mapping=dict(type=self.typeConcept.title)) else: return _(self.defaultTitle) diff --git a/locales/de/LC_MESSAGES/loops.mo b/locales/de/LC_MESSAGES/loops.mo index d8111cfefcd5567c2585d33aeb5771728415b2cc..6abb17f17598be60e78b8997f5449ac49ad7e119 100644 GIT binary patch delta 6590 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 delta 6559 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 A9smFU diff --git a/locales/de/LC_MESSAGES/loops.po b/locales/de/LC_MESSAGES/loops.po index 2a8925c..157d161 100644 --- a/locales/de/LC_MESSAGES/loops.po +++ b/locales/de/LC_MESSAGES/loops.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: $Id$\n" "POT-Creation-Date: 2007-05-22 12:00 CET\n" -"PO-Revision-Date: 2012-05-09 12:00 CET\n" +"PO-Revision-Date: 2012-05-30 12:00 CET\n" "Last-Translator: Helmut Merz \n" "Language-Team: loops developers \n" "MIME-Version: 1.0\n" @@ -47,6 +47,9 @@ msgstr "Ressource anlegen..." msgid "Create %s" msgstr "%s anlegen" +msgid "Create $type" +msgstr "$type anlegen" + msgid "Create a new resource object." msgstr "Eine neue Ressource erzeugen" @@ -230,7 +233,7 @@ msgstr "Begriff bearbeiten" msgid "Create Event..." msgstr "Termin anlegen..." -msgid "Create a new event" +msgid "Create a new event." msgstr "Einen neuen Termin anlegen." msgid "Create Task..." diff --git a/organize/browser/event.py b/organize/browser/event.py index fb97b4b..17220f9 100644 --- a/organize/browser/event.py +++ b/organize/browser/event.py @@ -27,6 +27,7 @@ from zope import interface, component from zope.app.pagetemplate import ViewPageTemplateFile from zope.cachedescriptors.property import Lazy +from cybertools.browser.action import actions from cybertools.meta.interfaces import IOptions from loops.browser.action import DialogAction from loops.browser.concept import ConceptView @@ -38,6 +39,17 @@ from loops.util import _ organize_macros = ViewPageTemplateFile('view_macros.pt') +actions.register('createEvent', 'portlet', DialogAction, + title=_(u'Create Event...'), + description=_(u'Create a new event.'), + viewName='create_concept.html', + dialogName='createEvent', + typeToken='.loops/concepts/event', + fixedType=True, + prerequisites=['registerDojoDateWidget'], +) + + class Events(ConceptView): @Lazy @@ -45,19 +57,11 @@ class Events(ConceptView): return organize_macros.macros['events'] def getActions(self, category='object', page=None, target=None): - actions = [] + acts = super(Events, self).getActions(category, page, target) if category == 'portlet': - actions.append(DialogAction(self, title=_(u'Create Event...'), - description=_(u'Create a new event.'), - viewName='create_concept.html', - dialogName='createEvent', - typeToken='.loops/concepts/event', - fixedType=True, - innerForm='inner_concept_form.html', - page=page, - target=target)) - self.registerDojoDateWidget() - return actions + acts.extend(actions.get(category, ['createEvent'], + view=self, page=page, target=target)) + return acts @Lazy def selectedDate(self):