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

-
- - + + - + diff --git a/organize/browser/member.py b/organize/browser/member.py index 738b521..7cd4948 100644 --- a/organize/browser/member.py +++ b/organize/browser/member.py @@ -138,7 +138,7 @@ class BaseMemberRegistration(NodeView): name = '.'.join((self.text_names_prefix, self.info_key)) text = self.resourceManager.get(name) if text: - return self.renderText(text.data) + return self.renderText(text.data, text.contentType) return u'' @Lazy
Edit Information Object - - + +