From c970507c85657ebb83b8a3f27d69b16f10ddec31 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Sun, 26 Apr 2015 13:16:33 +0200 Subject: [PATCH] provide selectable standard texts for work items via data table 'organize.work.texts' --- browser/common.py | 6 ++++++ organize/work/browser.py | 18 ++++++++++++++++++ organize/work/work_macros.pt | 16 +++++++++++++--- 3 files changed, 37 insertions(+), 3 deletions(-) diff --git a/browser/common.py b/browser/common.py index d26966f..05e24c6 100644 --- a/browser/common.py +++ b/browser/common.py @@ -989,6 +989,12 @@ class BaseView(GenericView, I18NView, SortableMixin): jsCall = 'dojo.require("dojox.image.Lightbox");' self.controller.macros.register('js-execute', jsCall, jsCall=jsCall) + def registerDojoComboBox(self): + self.registerDojo() + jsCall = ('dojo.require("dijit.form.ComboBox");') + self.controller.macros.register('js-execute', + 'dojo.require.ComboBox', jsCall=jsCall) + def registerDojoFormAll(self): self.registerDojo() self.registerDojoEditor() diff --git a/organize/work/browser.py b/organize/work/browser.py index 9bc303d..f6be38f 100644 --- a/organize/work/browser.py +++ b/organize/work/browser.py @@ -380,6 +380,10 @@ class CreateWorkItemForm(ObjectForm, BaseTrackView): def checkPermissions(self): return canAccessObject(self.task or self.target) + def setupView(self): + self.setupController() + self.registerDojoComboBox() + @Lazy def macro(self): return self.template.macros['create_workitem'] @@ -404,6 +408,20 @@ class CreateWorkItemForm(ObjectForm, BaseTrackView): track.workItemType = types[0].name return track + @Lazy + def titleSelection(self): + result = [] + dt = adapted(self.conceptManager.get('organize.work.texts')) + if dt is None or not dt.data: + return result + names = ([getName(self.target)] + + [getName(p.object) + for p in self.target.getAllParents(ignoreTypes=True)]) + for name, text in dt.data.values(): + if not name or name in names: + result.append(text) + return result + @Lazy def title(self): return self.track.title or u'' diff --git a/organize/work/work_macros.pt b/organize/work/work_macros.pt index 7071d7c..959a814 100644 --- a/organize/work/work_macros.pt +++ b/organize/work/work_macros.pt @@ -70,7 +70,8 @@
+ workItemType view/workItemType; + dummy view/setupView"> @@ -94,8 +95,17 @@ tal:attributes="value python:workItemTypes[0].name" /> -
- + +