From 5202421654ce2bb4537d47a193a52d24250fb09c Mon Sep 17 00:00:00 2001 From: helmutm Date: Thu, 10 Mar 2011 13:56:48 +0000 Subject: [PATCH] delegate or move work item: select target party or task via FilteringSelect widget git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@4199 fd906abe-77d9-0310-91a1-e0d9ade77398 --- organize/work/README.txt | 5 +++-- organize/work/browser.py | 22 ++++++++++++++++------ organize/work/work_macros.pt | 32 ++++++++++++++++++-------------- 3 files changed, 37 insertions(+), 22 deletions(-) diff --git a/organize/work/README.txt b/organize/work/README.txt index ea70153..85d6bc0 100644 --- a/organize/work/README.txt +++ b/organize/work/README.txt @@ -142,8 +142,9 @@ only available for privileged users. >>> form.actions [{'name': 'plan', 'title': 'plan'}, {'name': 'accept', 'title': 'accept'}, {'name': 'start', 'title': 'start working'}, {'name': 'work', 'title': 'work'}, - {'name': 'finish', 'title': 'finish'}, {'name': 'move', 'title': 'move'}, - {'name': 'cancel', 'title': 'cancel'}, {'name': 'modify', 'title': 'modify'}] + {'name': 'finish', 'title': 'finish'}, {'name': 'delegate', 'title': 'delegate'}, + {'name': 'move', 'title': 'move'}, {'name': 'cancel', 'title': 'cancel'}, + {'name': 'modify', 'title': 'modify'}] Work Item Queries diff --git a/organize/work/browser.py b/organize/work/browser.py index ee9affe..1b64e60 100644 --- a/organize/work/browser.py +++ b/organize/work/browser.py @@ -336,22 +336,32 @@ class CreateWorkItemForm(ObjectForm, BaseTrackView): @Lazy def actions(self): result = [dict(name=t.name, title=t.title) - for t in self.track.getAvailableTransitions() - if t.name != 'delegate' or - checkPermission('loops.ManageSite', self.context)] + for t in self.track.getAvailableTransitions()] + #if t.name != 'delegate' or + # checkPermission('loops.ManageSite', self.context)] return result + def getTypesParamsForFilteringSelect(self, types=['person']): + result = [] + for t in types: + result.append('searchType=loops:concept:%s' % t) + if result: + return '?' + '&'.join(result) + return '' + @Lazy - def candidates(self): + def x_candidates(self): ptype = self.conceptManager['person'] persons = ptype.getChildren([self.typePredicate]) return [dict(name=util.getUidForObject(p), title=p.title) for p in persons] + taskTypes = ['task', 'event'] + @Lazy - def tasks(self): + def x_tasks(self): tasks = [] - tnames = ['task', 'event'] + tnames = self.taskTypes ttypes = [self.conceptManager.get(tname) for tname in tnames] for ttype in ttypes: if ttype is not None: diff --git a/organize/work/work_macros.pt b/organize/work/work_macros.pt index 2bb6f63..49a6a2c 100644 --- a/organize/work/work_macros.pt +++ b/organize/work/work_macros.pt @@ -67,9 +67,8 @@
+ xx_dojoType="dijit.form.Form"> -
Add Work Item
@@ -90,7 +89,6 @@
-
@@ -151,7 +156,6 @@