work in progress: follow-up events, i.e. events that are connected to a previous event
This commit is contained in:
		
							parent
							
								
									009d91ffee
								
							
						
					
					
						commit
						3aa6649f11
					
				
					 4 changed files with 101 additions and 3 deletions
				
			
		
										
											Binary file not shown.
										
									
								
							|  | @ -236,16 +236,31 @@ msgstr "Termin anlegen..." | ||||||
| msgid "Create a new event." | msgid "Create a new event." | ||||||
| msgstr "Einen neuen Termin anlegen." | msgstr "Einen neuen Termin anlegen." | ||||||
| 
 | 
 | ||||||
|  | msgid "Create Follow-up Event..." | ||||||
|  | msgstr "Folgetermin anlegen..." | ||||||
|  | 
 | ||||||
|  | msgid "Create an event that is linked to this one." | ||||||
|  | msgstr "Einen neuen Termin anlegen, der mit diesem verknüpft ist." | ||||||
|  | 
 | ||||||
|  | msgid "Edit Event..." | ||||||
|  | msgstr "Termin bearbeiten..." | ||||||
|  | 
 | ||||||
|  | msgid "Modify event." | ||||||
|  | msgstr "Termin bearbeiten" | ||||||
|  | 
 | ||||||
|  | msgid "Modify follow-up event." | ||||||
|  | msgstr "Folgetermin bearbeiten" | ||||||
|  | 
 | ||||||
| msgid "Create Task..." | msgid "Create Task..." | ||||||
| msgstr "Aufgabe anlegen..." | msgstr "Aufgabe anlegen..." | ||||||
| 
 | 
 | ||||||
| msgid "Create a new task" | msgid "Create a new task." | ||||||
| msgstr "Eine neue Aufgabe anlegen." | msgstr "Eine neue Aufgabe anlegen." | ||||||
| 
 | 
 | ||||||
| msgid "Edit Task..." | msgid "Edit Task..." | ||||||
| msgstr "Aufgabe bearbeiten..." | msgstr "Aufgabe bearbeiten..." | ||||||
| 
 | 
 | ||||||
| msgid "Modify task" | msgid "Modify task." | ||||||
| msgstr "Aufgabe bearbeiten" | msgstr "Aufgabe bearbeiten" | ||||||
| 
 | 
 | ||||||
| msgid "Create Project..." | msgid "Create Project..." | ||||||
|  |  | ||||||
|  | @ -83,6 +83,32 @@ | ||||||
|       class="loops.organize.browser.party.EditPersonForm" |       class="loops.organize.browser.party.EditPersonForm" | ||||||
|       permission="zope.View" /> |       permission="zope.View" /> | ||||||
| 
 | 
 | ||||||
|  |   <browser:page | ||||||
|  |         name="create_followup_event.html" | ||||||
|  |         for="loops.interfaces.INode" | ||||||
|  |         class="loops.organize.browser.event.CreateFollowUpEventForm" | ||||||
|  |         permission="zope.View" /> | ||||||
|  | 
 | ||||||
|  |   <zope:adapter | ||||||
|  |       name="create_followup_event" | ||||||
|  |       for="loops.browser.node.NodeView | ||||||
|  |            zope.publisher.interfaces.browser.IBrowserRequest" | ||||||
|  |       factory="loops.organize.browser.event.CreateFollowUpEvent" | ||||||
|  |       permission="zope.View" /> | ||||||
|  | 
 | ||||||
|  |   <browser:page | ||||||
|  |         name="edit_followup_event.html" | ||||||
|  |         for="loops.interfaces.INode" | ||||||
|  |         class="loops.organize.browser.event.EditFollowUpEventForm" | ||||||
|  |         permission="zope.View" /> | ||||||
|  | 
 | ||||||
|  |   <zope:adapter | ||||||
|  |       name="edit_followup_event" | ||||||
|  |       for="loops.browser.node.NodeView | ||||||
|  |            zope.publisher.interfaces.browser.IBrowserRequest" | ||||||
|  |       factory="loops.organize.browser.event.EditFollowUpEvent" | ||||||
|  |       permission="zope.View" /> | ||||||
|  | 
 | ||||||
|   <!-- authentication --> |   <!-- authentication --> | ||||||
| 
 | 
 | ||||||
|   <browser:addform |   <browser:addform | ||||||
|  |  | ||||||
|  | @ -29,8 +29,10 @@ from zope.cachedescriptors.property import Lazy | ||||||
| 
 | 
 | ||||||
| from cybertools.browser.action import actions | from cybertools.browser.action import actions | ||||||
| from cybertools.meta.interfaces import IOptions | from cybertools.meta.interfaces import IOptions | ||||||
| from loops.browser.action import DialogAction | from loops.browser.action import DialogAction, TargetAction | ||||||
| from loops.browser.concept import ConceptView | from loops.browser.concept import ConceptView | ||||||
|  | from loops.browser.form import CreateConceptPage, CreateConcept | ||||||
|  | from loops.browser.form import EditConceptPage, EditConcept | ||||||
| from loops.browser.node import NodeView | from loops.browser.node import NodeView | ||||||
| from loops.common import adapted | from loops.common import adapted | ||||||
| from loops.util import _ | from loops.util import _ | ||||||
|  | @ -49,6 +51,28 @@ actions.register('createEvent', 'portlet', DialogAction, | ||||||
|         prerequisites=['registerDojoDateWidget'], |         prerequisites=['registerDojoDateWidget'], | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | actions.register('editEvent', 'portlet', DialogAction, | ||||||
|  |         title=_(u'Edit Event...'), | ||||||
|  |         description=_(u'Modify event.'), | ||||||
|  |         viewName='edit_concept.html', | ||||||
|  |         dialogName='editEvent', | ||||||
|  |         prerequisites=['registerDojoDateWidget'], | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | actions.register('createFollowUpEvent', 'portlet', TargetAction, | ||||||
|  |         title=_(u'Create Follow-up Event...'), | ||||||
|  |         description=_(u'Create an event that is linked to this one.'), | ||||||
|  |         viewName='create_followup_event.html', | ||||||
|  |         prerequisites=['registerDojoDateWidget'], | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | actions.register('editFollowUpEvent', 'portlet', TargetAction, | ||||||
|  |         title=_(u'Edit Event...'), | ||||||
|  |         description=_(u'Modify follow-up event.'), | ||||||
|  |         viewName='edit_followup_event.html', | ||||||
|  |         prerequisites=['registerDojoDateWidget'], | ||||||
|  | ) | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| class Events(ConceptView): | class Events(ConceptView): | ||||||
| 
 | 
 | ||||||
|  | @ -219,3 +243,36 @@ class CalendarInfo(NodeView): | ||||||
|     def getEventTitles(self, day): |     def getEventTitles(self, day): | ||||||
|         events = self.events[day-1] |         events = self.events[day-1] | ||||||
|         return '; '.join(ev.title for ev in events) |         return '; '.join(ev.title for ev in events) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # special forms | ||||||
|  | 
 | ||||||
|  | class CreateFollowUpEventForm(CreateConceptPage): | ||||||
|  | 
 | ||||||
|  |     fixedType = True | ||||||
|  |     typeToken = '.loops/concepts/event' | ||||||
|  |     form_action = 'create_followup_event' | ||||||
|  |     showAssignments = True | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class EditFollowUpEventForm(EditConceptPage, CreateFollowUpEventForm): | ||||||
|  | 
 | ||||||
|  |     pass | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # form controllers | ||||||
|  | 
 | ||||||
|  | class BaseFollowUpController(object): | ||||||
|  | 
 | ||||||
|  |     pass | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class CreateFollowUpEvent(CreateConcept, BaseFollowUpController): | ||||||
|  | 
 | ||||||
|  |     defaultTypeToken = '.loops/concepts/event' | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class EditFollowUpEvent(EditConcept, BaseFollowUpController): | ||||||
|  | 
 | ||||||
|  |     pass | ||||||
|  | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue