diff --git a/browser/common.py b/browser/common.py
index 00ec412..1b07b43 100755
--- a/browser/common.py
+++ b/browser/common.py
@@ -68,6 +68,7 @@ from loops.config.base import DummyOptions
from loops.i18n.browser import I18NView
from loops.interfaces import IResource, IView, INode, ITypeConcept
from loops.organize.tracking import access
+from loops.organize.util import getRolesForPrincipal
from loops.resource import Resource
from loops.security.common import checkPermission
from loops.security.common import canAccessObject, canListObject, canWriteObject
@@ -780,7 +781,16 @@ class BaseView(GenericView, I18NView):
@Lazy
def showObjectActions(self):
- return not IUnauthenticatedPrincipal.providedBy(self.request.principal)
+ principal = self.request.principal
+ if IUnauthenticatedPrincipal.providedBy(principal):
+ return False
+ perms = self.globalOptions('action.object.permissions')
+ if perms:
+ for p in perms:
+ if checkPermission(p, self.context):
+ return True
+ return False
+ return True
def checkAction(self, name, category, target):
if name in ('create_resource',):
diff --git a/browser/form_macros.pt b/browser/form_macros.pt
index b4b1fcf..068b433 100755
--- a/browser/form_macros.pt
+++ b/browser/form_macros.pt
@@ -25,30 +25,29 @@
Edit Information Object
-
Edit Information Object | -- - | ++ + |
---|