allow hiding of object actions: restrict via permissions
This commit is contained in:
parent
047d601043
commit
e78a5f4fc3
1 changed files with 11 additions and 1 deletions
|
@ -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
|
||||
|
@ -772,7 +773,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',):
|
||||
|
|
Loading…
Add table
Reference in a new issue