check permission when displaying part views; restrict access to person work items

This commit is contained in:
Helmut Merz 2013-07-15 16:50:41 +02:00
parent e88e30539d
commit 6f59f3892a
3 changed files with 10 additions and 2 deletions

View file

@ -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>

View file

@ -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

View file

@ -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)