Commit 1999718b authored by Amos Latteier's avatar Amos Latteier

Fixed problems with product permissions registration methods that caused...

Fixed problems with product permissions registration methods that caused product permissions to get lost when adding, changing and deleting permission objects.
parent cc48fa4a
......@@ -165,25 +165,18 @@ class ProductRegistryMixin:
self, product, permission, methods=(), default=('Manager',)
):
pid=product.id
permissions=self._getProductRegistryData('permissions')
for d in permissions:
if d['name']==permission:
if not d.has_key('product'): d['product']=pid
if d['product'] != pid:
raise 'Type Exists', (
'The permission <em>%s</em> is already defined.'
% permission)
d['methods']=methods
d['default']=default
return
d={'name': permission, 'methods': methods, 'default': default}
if permission: d['permission']=permission
raise 'Type Exists', (
'The permission <em>%s</em> is already defined.'
% permission)
d={'name': permission, 'methods': methods, 'permission': permission,
'default': default, 'product': product.id}
self._setProductRegistryData('permissions', permissions+(d,))
self._setProductRegistryData('permissions', permissions + (d,))
self._setProductRegistryData(
'ac_permissions',
self._getProductRegistryData('ac_permissions')
......
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