From 009d91ffee782046601f2671f82c075f981c7303 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Wed, 30 May 2012 15:37:21 +0200 Subject: [PATCH 1/4] 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): From 3aa6649f1153e734d5dded4851eb97ac062eb320 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Thu, 31 May 2012 09:02:36 +0200 Subject: [PATCH 2/4] work in progress: follow-up events, i.e. events that are connected to a previous event --- locales/de/LC_MESSAGES/loops.mo | Bin 17234 -> 17622 bytes locales/de/LC_MESSAGES/loops.po | 19 ++++++++-- organize/browser/configure.zcml | 26 ++++++++++++++ organize/browser/event.py | 59 +++++++++++++++++++++++++++++++- 4 files changed, 101 insertions(+), 3 deletions(-) diff --git a/locales/de/LC_MESSAGES/loops.mo b/locales/de/LC_MESSAGES/loops.mo index 6abb17f17598be60e78b8997f5449ac49ad7e119..149decde020c9b503dc31e062cd2feb934a0c96e 100644 GIT binary patch delta 6986 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 LuY72SKO_DNl6&K! delta 6668 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 + + + + + + + + Date: Thu, 31 May 2012 10:21:28 +0200 Subject: [PATCH 3/4] bug fix: remove erroneous '.contex' reference --- common.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common.py b/common.py index f31aca5..fb12526 100644 --- a/common.py +++ b/common.py @@ -396,7 +396,7 @@ class ChildRelationSet(RelationSet): self.context.assignChild(related, self.predicate, order, relevance) def remove(self, related): - related = baseObject(related.context) + related = baseObject(related) self.context.deassignChild(related, [self.predicate]) def __iter__(self): From ce09c717e5fed313026878be8e79ff39fb5de803 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Fri, 1 Jun 2012 08:27:31 +0200 Subject: [PATCH 4/4] allow for specifying report type from results-based view --- expert/browser/report.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/expert/browser/report.py b/expert/browser/report.py index 79b5641..b33c715 100644 --- a/expert/browser/report.py +++ b/expert/browser/report.py @@ -115,6 +115,7 @@ class ResultsConceptView(ConceptView): """ reportName = None # define in subclass if applicable + reportType = None # set for using special report instance adapter @Lazy def result_macros(self): @@ -143,8 +144,9 @@ class ResultsConceptView(ConceptView): @Lazy def reportInstance(self): + reportType = self.reportType or self.report.reportType ri = component.getAdapter(self.report, IReportInstance, - name=self.report.reportType) + name=reportType) ri.view = self.nodeView return ri