[Zope-CMF] DCWorkflow: matching a catalogged variable with user id in woklist
Luca Olivetti
luca@wetron.es
Thu, 21 Mar 2002 14:33:50 +0100
Hi,
I have a catalogged variable in my workflow that stores the id of the user to whom the
task has been assigned.
In his/her worklist I want to show only items assigned to him/her (like, match
review_state to 'assigned' and match assigned_to to '%(user_id)s'), but, in the default
implementation, it's only possible to match a variable with a literal string so
%(user_id)s won't map to the user id (besides, there's no user_id attribute in
ActionInformation).
I had to do a couple of small changes but since I consider myself a newbie I cannot
evaluate all ramifications:
--- DCWorkflow/DCWorkflow.py.orig Thu Mar 21 12:33:30 2002
+++ DCWorkflow/DCWorkflow.py Thu Mar 21 12:34:42 2002
@@ -218,7 +218,7 @@
catalog = getToolByName(self, 'portal_catalog')
dict = {}
for k, v in qdef.var_matches.items():
- dict[k] = v
+ dict[k] = v % info
searchres = apply(catalog.searchResults, (), dict)
if not searchres:
continue
--- CMFCore/ActionsTool.py.orig Thu Mar 21 12:35:02 2002
+++ CMFCore/ActionsTool.py Thu Mar 21 12:46:21 2002
@@ -37,6 +37,10 @@
self.portal = portal = aq_parent(aq_inner(tool))
membership = getToolByName(tool, 'portal_membership')
self.isAnonymous = membership.isAnonymousUser()
+ if self.isAnonymous:
+ self.user_id = 'Guest'
+ else:
+ self.user_id = membership.getAuthenticatedMember().getMemberId()
self.portal_url = portal.absolute_url()
if folder is not None:
self.folder_url = folder.absolute_url()
These changes seem not to produce adverse effects, so I'm asking if it's possible to
incorporate this patches in DCWorkflow/CMFCore (I see that in the cvs version of CMFCore
the functionality of the ActionInformation class has been moved to the oai class in
ActionInformation.py).
Or plese tell me if I missed the boat and the above patch is dangerous or useless.
Bye
--
Luca Olivetti
Wetron Automatización S.A. http://www.wetron.es/
Tel. +34 93 5883004 Fax +34 93 5883007