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"> | ||||||
|  |     <tal:check condition="item/checkPermissions"> | ||||||
|       <metal:part use-macro="item/macro" /> |       <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