Shows the attendee’s name in the attendee list.
This commit is contained in:
		
							parent
							
								
									4dbe69574c
								
							
						
					
					
						commit
						f3a08a82bb
					
				
					 2 changed files with 15 additions and 6 deletions
				
			
		|  | @ -67,6 +67,13 @@ class AttendeeProfileBase(models.Model): | ||||||
|         ''' |         ''' | ||||||
|         return None |         return None | ||||||
| 
 | 
 | ||||||
|  |     def attendee_name(self): | ||||||
|  |         if type(self) == AttendeeProfileBase: | ||||||
|  |             real = AttendeeProfileBase.objects.get_subclass(id=self.id) | ||||||
|  |         else: | ||||||
|  |             real = self | ||||||
|  |         return getattr(real, real.name_field()) | ||||||
|  | 
 | ||||||
|     def invoice_recipient(self): |     def invoice_recipient(self): | ||||||
|         ''' |         ''' | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -332,28 +332,30 @@ def attendee_list(request): | ||||||
| 
 | 
 | ||||||
|     attendees = people.Attendee.objects.all().select_related( |     attendees = people.Attendee.objects.all().select_related( | ||||||
|         "attendeeprofilebase", |         "attendeeprofilebase", | ||||||
|  |         "user", | ||||||
|     ) |     ) | ||||||
| 
 | 
 | ||||||
|     attendees = attendees.values("id", "user__email").annotate( |     attendees = attendees.annotate( | ||||||
|         has_registered=Count( |         has_registered=Count( | ||||||
|             Q(user__invoice__status=commerce.Invoice.STATUS_PAID) |             Q(user__invoice__status=commerce.Invoice.STATUS_PAID) | ||||||
|         ), |         ), | ||||||
|     ) |     ) | ||||||
| 
 | 
 | ||||||
|     headings = [ |     headings = [ | ||||||
|         "User ID", "Email", "Has registered", |         "User ID", "Name", "Email", "Has registered", | ||||||
|     ] |     ] | ||||||
| 
 | 
 | ||||||
|     data = [] |     data = [] | ||||||
| 
 | 
 | ||||||
|     for attendee in attendees: |     for attendee in attendees: | ||||||
|         data.append([ |         data.append([ | ||||||
|             attendee["id"], |             attendee.id, | ||||||
|             attendee["user__email"], |             attendee.attendeeprofilebase.attendee_name(), | ||||||
|             attendee["has_registered"], |             attendee.user.email, | ||||||
|  |             attendee.has_registered > 0, | ||||||
|         ]) |         ]) | ||||||
| 
 | 
 | ||||||
|     # Sort by whether they've registered, then ID. |     # Sort by whether they've registered, then ID. | ||||||
|     data.sort(key=lambda attendee: (-attendee[2], attendee[0])) |     data.sort(key=lambda attendee: (-attendee[3], attendee[0])) | ||||||
| 
 | 
 | ||||||
|     return Report("Attendees", headings, data, link_view="attendee") |     return Report("Attendees", headings, data, link_view="attendee") | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Christopher Neugebauer
						Christopher Neugebauer