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 @@ ...@@ -30,16 +30,12 @@
import re import re
from AccessControl import ClassSecurityInfo from AccessControl import ClassSecurityInfo
from Acquisition import aq_inner, aq_parent
from Persistence import PersistentMapping from Persistence import PersistentMapping
from Products.CMFCore.utils import getToolByName
from Products.ERP5Type import Permissions, PropertySheet from Products.ERP5Type import Permissions, PropertySheet
from Products.ERP5Type.id_as_reference import IdAsReferenceMixin from Products.ERP5Type.id_as_reference import IdAsReferenceMixin
from Products.DCWorkflow.Expression import createExprContext
from Products.ERP5Type.XMLObject import XMLObject 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.Guard import Guard
from Products.DCWorkflow.permissions import ManagePortal
from zLOG import LOG, WARNING from zLOG import LOG, WARNING
...@@ -90,21 +86,19 @@ class Worklist(IdAsReferenceMixin("worklist_", "prefix"), XMLObject): ...@@ -90,21 +86,19 @@ class Worklist(IdAsReferenceMixin("worklist_", "prefix"), XMLObject):
return res return res
def generateGuard(self): def generateGuard(self):
if self.getRoleList() != [] or self.getGroupList() != []:
if self.guard == None: if self.guard == None:
self.guard = Guard(permissions=self.getPermissionList(), self.guard = Guard(permissions=self.getPermissionList(),
roles=self.getRoleList(), roles=self.getRoleList(),
groups=self.getGroupList(), groups=self.getGroupList(),
expr=self.getExpression()) expr=Expression(self.getExpression()))
else: if self.getRoleList() is not None:
if self.guard.roles != self.getRoleList(): self.guard.roles = self.getRoleList()
self.guard.roles = self.getRoleList() if self.getPermissionList() is not None:
if self.guard.permissions != self.getPermissionList(): self.guard.permissions = self.getPermissionList()
self.guard.permissions = self.getPermissionList() if self.getGroupList() is not None:
if self.guard.groups != self.getGroupList(): self.guard.groups = self.getGroupList()
self.guard.groups = self.getGroupList() if self.getExpression() is not None:
if self.guard.expr != self.getExpression(): self.guard.expr = Expression(self.getExpression())
self.guard.expr = self.getExpression()
def getAvailableCatalogVars(self): def getAvailableCatalogVars(self):
res = [] 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