Allows for callable attributes to be specified in QuerysetReports.
This commit is contained in:
		
							parent
							
								
									4c9f426a47
								
							
						
					
					
						commit
						bbce369a38
					
				
					 2 changed files with 14 additions and 13 deletions
				
			
		|  | @ -128,6 +128,13 @@ class QuerysetReport(BasicReport): | |||
|         def rgetattr(item, attr): | ||||
|             for i in attr.split("__"): | ||||
|                 item = getattr(item, i) | ||||
| 
 | ||||
|             if callable(item): | ||||
|                 try: | ||||
|                     return item() | ||||
|                 except TypeError: | ||||
|                     pass | ||||
| 
 | ||||
|             return item | ||||
| 
 | ||||
|         for row in self._queryset: | ||||
|  |  | |||
|  | @ -285,21 +285,16 @@ def attendee(request, form, user_id=None): | |||
|     )) | ||||
| 
 | ||||
|     # Invoices | ||||
|     # TODO make this a querysetreport | ||||
|     headings = ["Invoice ID", "Status", "Value"] | ||||
|     data = [] | ||||
| 
 | ||||
|     invoices = commerce.Invoice.objects.filter( | ||||
|         user=attendee.user, | ||||
|     ) | ||||
|     for invoice in invoices: | ||||
|         data.append([ | ||||
|             invoice.id, invoice.get_status_display(), invoice.value, | ||||
|         ]) | ||||
| 
 | ||||
|     reports.append( | ||||
|         ListReport("Invoices", headings, data, link_view=views.invoice) | ||||
|     ) | ||||
|     reports.append(QuerysetReport( | ||||
|         "Invoices", | ||||
|         ["Invoice ID", "Status", "Value"], | ||||
|         ["id", "get_status_display", "value"], | ||||
|         invoices, | ||||
|         link_view=views.invoice, | ||||
|     )) | ||||
| 
 | ||||
|     # Credit Notes | ||||
|     credit_notes = commerce.CreditNote.objects.filter( | ||||
|  | @ -325,7 +320,6 @@ def attendee(request, form, user_id=None): | |||
|         link_view=views.invoice, | ||||
|     )) | ||||
| 
 | ||||
| 
 | ||||
|     return reports | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Christopher Neugebauer
						Christopher Neugebauer