Add ability to filter Send Messages by recipient name
This commit is contained in:
		
							parent
							
								
									def2931ba6
								
							
						
					
					
						commit
						38aaebe08f
					
				
					 1 changed files with 16 additions and 7 deletions
				
			
		|  | @ -176,24 +176,28 @@ class MessagesView(MasterView): | |||
|                       .outerjoin(model.MessageRecipient)\ | ||||
|                       .filter(model.MessageRecipient.recipient == self.request.user) | ||||
| 
 | ||||
|     def configure_grid(self, g): | ||||
| 
 | ||||
|     def _preconfigure_grid(self, g): | ||||
|         g.joiners['sender'] = lambda q: q.join(model.User, model.User.uuid == model.Message.sender_uuid).outerjoin(model.Person) | ||||
|         g.filters['sender'] = g.make_filter('sender', model.Person.display_name, | ||||
|                                             default_active=True, default_verb='contains') | ||||
|         g.sorters['sender'] = g.make_sorter(model.Person.display_name) | ||||
|         g.sender.set(label="From", renderer=SenderFieldRenderer) | ||||
| 
 | ||||
|         g.filters['subject'].default_active = True | ||||
|         g.filters['subject'].default_verb = 'contains' | ||||
|         g.subject.set(renderer=SubjectFieldRenderer) | ||||
| 
 | ||||
|         g.recipients.set(label="To", renderer=TerseRecipientsFieldRenderer) | ||||
| 
 | ||||
|         g.default_sortkey = 'sent' | ||||
|         g.default_sortdir = 'desc' | ||||
| 
 | ||||
|     def configure_grid(self, g): | ||||
|         g.configure( | ||||
|             include=[ | ||||
|                 g.subject.with_renderer(SubjectFieldRenderer), | ||||
|                 g.sender.with_renderer(SenderFieldRenderer).label("From"), | ||||
|                 g.recipients.with_renderer(TerseRecipientsFieldRenderer).label("To"), | ||||
|                 g.subject, | ||||
|                 g.sender, | ||||
|                 g.recipients, | ||||
|                 g.sent, | ||||
|             ], | ||||
|             readonly=True) | ||||
|  | @ -476,9 +480,14 @@ class SentView(MessagesView): | |||
|         return session.query(model.Message)\ | ||||
|                       .filter(model.Message.sender == self.request.user) | ||||
| 
 | ||||
|     def configure_grid(self, g): | ||||
|         super(SentView, self).configure_grid(g) | ||||
|     def _preconfigure_grid(self, g): | ||||
|         super(SentView, self)._preconfigure_grid(g) | ||||
|         g.filters['sender'].default_active = False | ||||
|         g.joiners['recipients'] = lambda q: q.join(model.MessageRecipient)\ | ||||
|                                              .join(model.User, model.User.uuid == model.MessageRecipient.recipient_uuid)\ | ||||
|                                              .join(model.Person) | ||||
|         g.filters['recipients'] = g.make_filter('recipients', model.Person.display_name, | ||||
|                                                 default_active=True, default_verb='contains') | ||||
| 
 | ||||
| 
 | ||||
| def includeme(config): | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Lance Edgar
						Lance Edgar