Commit d80b3812 authored by wenjie.zheng's avatar wenjie.zheng

Interaction.py: fix interaction guard generator.

parent ce2e49e1
......@@ -31,7 +31,7 @@ import transaction
from AccessControl import getSecurityManager, ClassSecurityInfo
from Acquisition import aq_inner, aq_parent
from Products.DCWorkflow.Guard import Guard
from Products.DCWorkflow.Expression import Expression, StateChangeInfo
from Products.DCWorkflow.Expression import Expression
from Products.ERP5Type import Globals, Permissions, PropertySheet
from Products.ERP5Type.Globals import PersistentMapping
from Products.ERP5Type.id_as_reference import IdAsReferenceMixin
......@@ -102,19 +102,20 @@ class Interaction(IdAsReferenceMixin('interaction_', "prefix"), XMLObject):
return self.guard
def generateGuard(self):
if self.guard == None:
if self.guard is None:
self.guard = Guard(permissions=self.getPermissionList(),
roles=self.getRoleList(),
groups=self.getGroupList(),
expr=self.getExpression())
if self.guard.roles != self.getRoleList():
expr=Expression(self.getExpression()))
if self.getRoleList() is not None:
self.guard.roles = self.getRoleList()
elif self.guard.permissions != self.getPermissionList():
if self.getPermissionList() is not None:
self.guard.permissions = self.getPermissionList()
elif self.guard.groups != self.getGroupList():
if self.getGroupList() is not None:
self.guard.groups = self.getGroupList()
elif self.guard.expr != self.getExpression():
self.guard.expr = self.getExpression()
if self.getExpression() is not None:
self.guard.expr = Expression(self.getExpression())
def getMethodId(self):
if type(self.method_id) is type(''):
......
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