Commit 21f5943c authored by wenjie.zheng's avatar wenjie.zheng

Worklist.py: fix worklist guard, keep it be as the same as transition/variable guard.

parent 66987968
......@@ -30,16 +30,12 @@
import re
from AccessControl import ClassSecurityInfo
from Acquisition import aq_inner, aq_parent
from Persistence import PersistentMapping
from Products.CMFCore.utils import getToolByName
from Products.ERP5Type import Permissions, PropertySheet
from Products.ERP5Type.id_as_reference import IdAsReferenceMixin
from Products.DCWorkflow.Expression import createExprContext
from Products.ERP5Type.XMLObject import XMLObject
from Products.DCWorkflow.Expression import Expression, StateChangeInfo
from Products.CMFCore.Expression import Expression
from Products.DCWorkflow.Guard import Guard
from Products.DCWorkflow.permissions import ManagePortal
from zLOG import LOG, WARNING
......@@ -90,21 +86,19 @@ class Worklist(IdAsReferenceMixin("worklist_", "prefix"), XMLObject):
return res
def generateGuard(self):
if self.getRoleList() != [] or self.getGroupList() != []:
if self.guard == None:
self.guard = Guard(permissions=self.getPermissionList(),
roles=self.getRoleList(),
groups=self.getGroupList(),
expr=self.getExpression())
else:
if self.guard.roles != self.getRoleList():
self.guard.roles = self.getRoleList()
if self.guard.permissions != self.getPermissionList():
self.guard.permissions = self.getPermissionList()
if self.guard.groups != self.getGroupList():
self.guard.groups = self.getGroupList()
if self.guard.expr != self.getExpression():
self.guard.expr = self.getExpression()
expr=Expression(self.getExpression()))
if self.getRoleList() is not None:
self.guard.roles = self.getRoleList()
if self.getPermissionList() is not None:
self.guard.permissions = self.getPermissionList()
if self.getGroupList() is not None:
self.guard.groups = self.getGroupList()
if self.getExpression() is not None:
self.guard.expr = Expression(self.getExpression())
def getAvailableCatalogVars(self):
res = []
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment