work in progress: notifications listing
This commit is contained in:
		
							parent
							
								
									9f9df6599f
								
							
						
					
					
						commit
						853782fb35
					
				
					 4 changed files with 72 additions and 0 deletions
				
			
		|  | @ -149,6 +149,12 @@ It's possible to store more than one notification concerning the same object. | ||||||
|   >>> len(list(notifications.listTracks())) |   >>> len(list(notifications.listTracks())) | ||||||
|   2 |   2 | ||||||
| 
 | 
 | ||||||
|  | User interface | ||||||
|  | -------------- | ||||||
|  | 
 | ||||||
|  |   >>> from loops.organize.personal.browser.notification import NotificationsListing | ||||||
|  |   >>> view = NotificationsListing(home, TestRequest()) | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| Filters - Show only Certain Parts of the Concept Map | Filters - Show only Certain Parts of the Concept Map | ||||||
| ==================================================== | ==================================================== | ||||||
|  |  | ||||||
|  | @ -29,4 +29,10 @@ | ||||||
|     <page name="deactivateFilter.html" attribute="deactivate" /> |     <page name="deactivateFilter.html" attribute="deactivate" /> | ||||||
|   </browser:pages> |   </browser:pages> | ||||||
| 
 | 
 | ||||||
|  |   <browser:page | ||||||
|  |       for="loops.interfaces.IConceptSchema" | ||||||
|  |       name="list_notifications.html" | ||||||
|  |       class="loops.organize.personal.browser.notification.NotificationsListing" | ||||||
|  |       permission="zope.View" /> | ||||||
|  | 
 | ||||||
| </configure> | </configure> | ||||||
|  |  | ||||||
							
								
								
									
										44
									
								
								organize/personal/browser/notification.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								organize/personal/browser/notification.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,44 @@ | ||||||
|  | # | ||||||
|  | #  Copyright (c) 2015 Helmut Merz helmutm@cy55.de | ||||||
|  | # | ||||||
|  | #  This program is free software; you can redistribute it and/or modify | ||||||
|  | #  it under the terms of the GNU General Public License as published by | ||||||
|  | #  the Free Software Foundation; either version 2 of the License, or | ||||||
|  | #  (at your option) any later version. | ||||||
|  | # | ||||||
|  | #  This program is distributed in the hope that it will be useful, | ||||||
|  | #  but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | #  GNU General Public License for more details. | ||||||
|  | # | ||||||
|  | #  You should have received a copy of the GNU General Public License | ||||||
|  | #  along with this program; if not, write to the Free Software | ||||||
|  | #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | """ | ||||||
|  | Notifications listing. | ||||||
|  | """ | ||||||
|  | 
 | ||||||
|  | from zope import component | ||||||
|  | from zope.app.pagetemplate import ViewPageTemplateFile | ||||||
|  | from zope.cachedescriptors.property import Lazy | ||||||
|  | 
 | ||||||
|  | from loops.browser.concept import ConceptView | ||||||
|  | from loops.organize.party import getPersonForUser | ||||||
|  | from loops import util | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | personal_macros = ViewPageTemplateFile('personal_macros.pt') | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class NotificationsListing(ConceptView): | ||||||
|  | 
 | ||||||
|  |     @Lazy | ||||||
|  |     def macro(self): | ||||||
|  |         return personal_macros.macros['notifications'] | ||||||
|  | 
 | ||||||
|  |     @Lazy | ||||||
|  |     def person(self): | ||||||
|  |         return getPersonForUser(self.context, self.request) | ||||||
|  | 
 | ||||||
|  | @ -45,3 +45,19 @@ | ||||||
|          i18n:attributes="title">Add Filter</a> |          i18n:attributes="title">Add Filter</a> | ||||||
|     </div> |     </div> | ||||||
| </metal:actions> | </metal:actions> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <metal:block define-macro="notifications"> | ||||||
|  |   <div tal:attributes="class string:content-$level;"> | ||||||
|  |     <metal:title use-macro="item/concept_macros/concepttitle" /> | ||||||
|  |     <table class="listing"> | ||||||
|  |       <tr class="header"> | ||||||
|  |         <th>Date/Time</th> | ||||||
|  |         <th>Sender</th> | ||||||
|  |         <th>Object</th> | ||||||
|  |         <th>Text</th> | ||||||
|  |         <th>Date/Time read</th> | ||||||
|  |       </tr> | ||||||
|  |     </table> | ||||||
|  |   </div> | ||||||
|  | </metal:block> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue