check permission when displaying part views; restrict access to person work items
This commit is contained in:
parent
e88e30539d
commit
6f59f3892a
3 changed files with 10 additions and 2 deletions
|
@ -3,7 +3,9 @@
|
||||||
|
|
||||||
<metal:data define-macro="standard">
|
<metal:data define-macro="standard">
|
||||||
<tal:part repeat="item item/getParts">
|
<tal:part repeat="item item/getParts">
|
||||||
<metal:part use-macro="item/macro" />
|
<tal:check condition="item/checkPermissions">
|
||||||
|
<metal:part use-macro="item/macro" />
|
||||||
|
</tal:check>
|
||||||
</tal:part>
|
</tal:part>
|
||||||
</metal:data>
|
</metal:data>
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,7 @@ from loops.organize.tracking.browser import BaseTrackView
|
||||||
from loops.organize.tracking.report import TrackDetails
|
from loops.organize.tracking.report import TrackDetails
|
||||||
from loops.organize.work.base import WorkItem
|
from loops.organize.work.base import WorkItem
|
||||||
from loops.security.common import canAccessObject, canListObject, canWriteObject
|
from loops.security.common import canAccessObject, canListObject, canWriteObject
|
||||||
from loops.security.common import checkPermission
|
from loops.security.common import canAccessRestricted, checkPermission
|
||||||
from loops import util
|
from loops import util
|
||||||
from loops.util import _
|
from loops.util import _
|
||||||
|
|
||||||
|
@ -322,6 +322,9 @@ class PersonWorkItems(BaseWorkItemsView, ConceptView):
|
||||||
|
|
||||||
columns = set(['Task', 'Title', 'Day', 'Start', 'End', 'Duration', 'Info'])
|
columns = set(['Task', 'Title', 'Day', 'Start', 'End', 'Duration', 'Info'])
|
||||||
|
|
||||||
|
def checkPermissions(self):
|
||||||
|
return canAccessRestricted(self.context)
|
||||||
|
|
||||||
def getCriteria(self):
|
def getCriteria(self):
|
||||||
return self.baseCriteria
|
return self.baseCriteria
|
||||||
|
|
||||||
|
|
|
@ -74,6 +74,9 @@ def canListObject(obj, noCheck=False):
|
||||||
return True
|
return True
|
||||||
return canAccess(obj, 'title')
|
return canAccess(obj, 'title')
|
||||||
|
|
||||||
|
def canAccessRestricted(obj):
|
||||||
|
return checkPermission('loops.ViewRestricted', obj)
|
||||||
|
|
||||||
def canWriteObject(obj):
|
def canWriteObject(obj):
|
||||||
return canWrite(obj, 'title') or canAssignAsParent(obj)
|
return canWrite(obj, 'title') or canAssignAsParent(obj)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue