limit tracking of changis to types specified in global option (if given)
This commit is contained in:
		
							parent
							
								
									311a3e5db4
								
							
						
					
					
						commit
						d93074a038
					
				
					 1 changed files with 9 additions and 4 deletions
				
			
		|  | @ -26,6 +26,7 @@ from zope.interface import implements | ||||||
| from zope.cachedescriptors.property import Lazy | from zope.cachedescriptors.property import Lazy | ||||||
| from zope.component import adapter | from zope.component import adapter | ||||||
| from zope.lifecycleevent.interfaces import IObjectModifiedEvent, IObjectCreatedEvent | from zope.lifecycleevent.interfaces import IObjectModifiedEvent, IObjectCreatedEvent | ||||||
|  | from zope.traversing.api import getName | ||||||
| 
 | 
 | ||||||
| from cybertools.meta.interfaces import IOptions | from cybertools.meta.interfaces import IOptions | ||||||
| from cybertools.tracking.btree import Track, getTimeStamp | from cybertools.tracking.btree import Track, getTimeStamp | ||||||
|  | @ -54,10 +55,14 @@ class ChangeManager(BaseRecordManager): | ||||||
|         req = util.getRequest() |         req = util.getRequest() | ||||||
|         if req and req.form.get('organize.suppress_tracking'): |         if req and req.form.get('organize.suppress_tracking'): | ||||||
|             return False |             return False | ||||||
|         return (not (self.context is None or |         if self.context is None or self.storage is None or self.personId is None: | ||||||
|                     self.storage is None or |             return False | ||||||
|                     self.personId is None) |         opt = self.options('organize.tracking.changes') | ||||||
|                 and self.options('organize.tracking.changes')) |         if isinstance(opt, (list, tuple)): | ||||||
|  |             type = self.context.getType() | ||||||
|  |             return type and getName(type) in opt | ||||||
|  |         else:  | ||||||
|  |             return bool(opt) | ||||||
| 
 | 
 | ||||||
|     def recordModification(self, action='modify', **kw): |     def recordModification(self, action='modify', **kw): | ||||||
|         if not self.valid: |         if not self.valid: | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue