new report field RelationField
This commit is contained in:
		
							parent
							
								
									335c52e3cb
								
							
						
					
					
						commit
						2426e580ff
					
				
					 1 changed files with 16 additions and 9 deletions
				
			
		|  | @ -41,30 +41,37 @@ class UrlField(Field): | ||||||
|     renderer = 'target' |     renderer = 'target' | ||||||
| 
 | 
 | ||||||
|     def getDisplayValue(self, row): |     def getDisplayValue(self, row): | ||||||
|         nv = row.parent.context.view.nodeView |  | ||||||
|         if row.context is None:     # probably a totals row |         if row.context is None:     # probably a totals row | ||||||
|             return dict(title=u'', url=u'') |             return dict(title=u'', url=u'') | ||||||
|  |         nv = row.parent.context.view.nodeView | ||||||
|         return dict(title=self.getValue(row), |         return dict(title=self.getValue(row), | ||||||
|                     url=nv.getUrlForTarget(baseObject(row.context))) |                     url=nv.getUrlForTarget(baseObject(row.context))) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class TargetField(Field): | class RelationField(Field): | ||||||
| 
 | 
 | ||||||
|     renderer = 'target' |     renderer = 'target' | ||||||
| 
 | 
 | ||||||
|  |     def getValue(self, row): | ||||||
|  |         return self.getRawValue(row) | ||||||
|  | 
 | ||||||
|  |     def getDisplayValue(self, row): | ||||||
|  |         value = self.getValue(row) | ||||||
|  |         if value is None: | ||||||
|  |             return dict(title=u'', url=u'') | ||||||
|  |         nv = row.parent.context.view.nodeView | ||||||
|  |         return dict(title=value.title, | ||||||
|  |                     url=nv.getUrlForTarget(baseObject(value))) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class TargetField(RelationField): | ||||||
|  | 
 | ||||||
|     def getValue(self, row): |     def getValue(self, row): | ||||||
|         value = self.getRawValue(row) |         value = self.getRawValue(row) | ||||||
|         if value is None: |         if value is None: | ||||||
|             return None |             return None | ||||||
|         return util.getObjectForUid(value) |         return util.getObjectForUid(value) | ||||||
| 
 | 
 | ||||||
|     def getDisplayValue(self, row): |  | ||||||
|         value = self.getValue(row) |  | ||||||
|         if value is None: |  | ||||||
|             return dict(title=u'', url=u'') |  | ||||||
|         view = row.parent.context.view |  | ||||||
|         return dict(title=value.title, url=view.getUrlForTarget(value)) |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| # sub-report stuff | # sub-report stuff | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue