define and register separate action for creating events

This commit is contained in:
Helmut Merz 2012-05-30 15:37:21 +02:00
parent 24966cefa7
commit 009d91ffee
4 changed files with 25 additions and 16 deletions

View file

@ -83,7 +83,7 @@ class ObjectForm(NodeView):
def checkPermissions(self): def checkPermissions(self):
obj = self.target obj = self.target
if obj is None: if obj is None:
obj = self.context obj = self.containerext
return canWriteObject(obj) return canWriteObject(obj)
@Lazy @Lazy
@ -289,7 +289,9 @@ class CreateObjectForm(ObjectForm):
@Lazy @Lazy
def title(self): def title(self):
if self.fixedType: 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: else:
return _(self.defaultTitle) return _(self.defaultTitle)

Binary file not shown.

View file

@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: $Id$\n" "Project-Id-Version: $Id$\n"
"POT-Creation-Date: 2007-05-22 12:00 CET\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 <helmutm@cy55.de>\n" "Last-Translator: Helmut Merz <helmutm@cy55.de>\n"
"Language-Team: loops developers <helmutm@cy55.de>\n" "Language-Team: loops developers <helmutm@cy55.de>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -47,6 +47,9 @@ msgstr "Ressource anlegen..."
msgid "Create %s" msgid "Create %s"
msgstr "%s anlegen" msgstr "%s anlegen"
msgid "Create $type"
msgstr "$type anlegen"
msgid "Create a new resource object." msgid "Create a new resource object."
msgstr "Eine neue Ressource erzeugen" msgstr "Eine neue Ressource erzeugen"
@ -230,7 +233,7 @@ msgstr "Begriff bearbeiten"
msgid "Create Event..." msgid "Create Event..."
msgstr "Termin anlegen..." msgstr "Termin anlegen..."
msgid "Create a new event" msgid "Create a new event."
msgstr "Einen neuen Termin anlegen." msgstr "Einen neuen Termin anlegen."
msgid "Create Task..." msgid "Create Task..."

View file

@ -27,6 +27,7 @@ from zope import interface, component
from zope.app.pagetemplate import ViewPageTemplateFile from zope.app.pagetemplate import ViewPageTemplateFile
from zope.cachedescriptors.property import Lazy from zope.cachedescriptors.property import Lazy
from cybertools.browser.action import actions
from cybertools.meta.interfaces import IOptions from cybertools.meta.interfaces import IOptions
from loops.browser.action import DialogAction from loops.browser.action import DialogAction
from loops.browser.concept import ConceptView from loops.browser.concept import ConceptView
@ -38,6 +39,17 @@ from loops.util import _
organize_macros = ViewPageTemplateFile('view_macros.pt') 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): class Events(ConceptView):
@Lazy @Lazy
@ -45,19 +57,11 @@ class Events(ConceptView):
return organize_macros.macros['events'] return organize_macros.macros['events']
def getActions(self, category='object', page=None, target=None): def getActions(self, category='object', page=None, target=None):
actions = [] acts = super(Events, self).getActions(category, page, target)
if category == 'portlet': if category == 'portlet':
actions.append(DialogAction(self, title=_(u'Create Event...'), acts.extend(actions.get(category, ['createEvent'],
description=_(u'Create a new event.'), view=self, page=page, target=target))
viewName='create_concept.html', return acts
dialogName='createEvent',
typeToken='.loops/concepts/event',
fixedType=True,
innerForm='inner_concept_form.html',
page=page,
target=target))
self.registerDojoDateWidget()
return actions
@Lazy @Lazy
def selectedDate(self): def selectedDate(self):