create follow-up event: extend form showing tasks of base event for selection
This commit is contained in:
		
							parent
							
								
									ef927c830e
								
							
						
					
					
						commit
						59bb401b8f
					
				
					 5 changed files with 75 additions and 6 deletions
				
			
		
										
											Binary file not shown.
										
									
								
							|  | @ -3,7 +3,7 @@ msgstr "" | ||||||
| 
 | 
 | ||||||
| "Project-Id-Version: $Id$\n" | "Project-Id-Version: $Id$\n" | ||||||
| "POT-Creation-Date: 2007-05-22 12:00 CET\n" | "POT-Creation-Date: 2007-05-22 12:00 CET\n" | ||||||
| "PO-Revision-Date: 2012-05-30 12:00 CET\n" | "PO-Revision-Date: 2012-06-10 12:00 CET\n" | ||||||
| "Last-Translator: Helmut Merz <helmutm@cy55.de>\n" | "Last-Translator: Helmut Merz <helmutm@cy55.de>\n" | ||||||
| "Language-Team: loops developers <helmutm@cy55.de>\n" | "Language-Team: loops developers <helmutm@cy55.de>\n" | ||||||
| "MIME-Version: 1.0\n" | "MIME-Version: 1.0\n" | ||||||
|  | @ -242,6 +242,9 @@ msgstr "Folgetermin anlegen..." | ||||||
| msgid "Create an event that is linked to this one." | msgid "Create an event that is linked to this one." | ||||||
| msgstr "Einen neuen Termin anlegen, der mit diesem verknüpft ist." | msgstr "Einen neuen Termin anlegen, der mit diesem verknüpft ist." | ||||||
| 
 | 
 | ||||||
|  | msgid "Create Follow-up Event for: $event" | ||||||
|  | msgstr "Folgetermin anlegen für: $event" | ||||||
|  | 
 | ||||||
| msgid "Edit Event..." | msgid "Edit Event..." | ||||||
| msgstr "Termin bearbeiten..." | msgstr "Termin bearbeiten..." | ||||||
| 
 | 
 | ||||||
|  | @ -395,6 +398,9 @@ msgstr "Thema" | ||||||
| msgid "Task" | msgid "Task" | ||||||
| msgstr "Aufgabe" | msgstr "Aufgabe" | ||||||
| 
 | 
 | ||||||
|  | msgid "Tasks" | ||||||
|  | msgstr "Aufgaben" | ||||||
|  | 
 | ||||||
| msgid "Domain" | msgid "Domain" | ||||||
| msgstr "Bereich" | msgstr "Bereich" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -35,7 +35,9 @@ from loops.browser.form import CreateConceptPage, CreateConcept | ||||||
| from loops.browser.form import EditConceptPage, EditConcept | 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.organize.work.meeting import MeetingMinutes | ||||||
| from loops.util import _ | from loops.util import _ | ||||||
|  | from loops import util | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| organize_macros = ViewPageTemplateFile('view_macros.pt') | organize_macros = ViewPageTemplateFile('view_macros.pt') | ||||||
|  | @ -247,12 +249,39 @@ class CalendarInfo(NodeView): | ||||||
| 
 | 
 | ||||||
| # special forms | # special forms | ||||||
| 
 | 
 | ||||||
| class CreateFollowUpEventForm(CreateConceptPage): | class CreateFollowUpEventForm(CreateConceptPage, MeetingMinutes): | ||||||
| 
 | 
 | ||||||
|     fixedType = True |     fixedType = True | ||||||
|     typeToken = '.loops/concepts/event' |     typeToken = '.loops/concepts/event' | ||||||
|     form_action = 'create_followup_event' |     form_action = 'create_followup_event' | ||||||
|     showAssignments = True |     showAssignments = False | ||||||
|  | 
 | ||||||
|  |     @Lazy | ||||||
|  |     def macro(self): | ||||||
|  |         return organize_macros.macros['create_followup_event'] | ||||||
|  | 
 | ||||||
|  |     @Lazy | ||||||
|  |     def baseEvent(self): | ||||||
|  |         return adapted(self.virtualTargetObject) | ||||||
|  | 
 | ||||||
|  |     @Lazy | ||||||
|  |     def title(self): | ||||||
|  |         event = self.baseEvent | ||||||
|  |         evView = ConceptView(event, self.request) | ||||||
|  |         eventTitle = u'%s, %s' % (event.title, evView.data['start']) | ||||||
|  |         return _(u'Create Follow-up Event for: $event',  | ||||||
|  |                     mapping=dict(event=eventTitle)) | ||||||
|  | 
 | ||||||
|  |     @Lazy | ||||||
|  |     def data(self): | ||||||
|  |         data = self.getData() | ||||||
|  |         data['title'] = self.baseEvent.title | ||||||
|  |         data['description'] = self.baseEvent.description | ||||||
|  |         return data | ||||||
|  | 
 | ||||||
|  |     def results(self): | ||||||
|  |         return self.reportInstance.getResults( | ||||||
|  |                 dict(tasks=util.getUidForObject(self.virtualTargetObject))) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class EditFollowUpEventForm(EditConceptPage, CreateFollowUpEventForm): | class EditFollowUpEventForm(EditConceptPage, CreateFollowUpEventForm): | ||||||
|  |  | ||||||
|  | @ -1,5 +1,4 @@ | ||||||
| <!-- $Id$ --> | <html i18n:domain="loops"> | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| <metal:task define-macro="task"> | <metal:task define-macro="task"> | ||||||
|   <metal:data use-macro="view/concept_macros/conceptdata"> |   <metal:data use-macro="view/concept_macros/conceptdata"> | ||||||
|  | @ -56,6 +55,25 @@ | ||||||
| </metal:block> | </metal:block> | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | <form metal:define-macro="create_followup_event" method="post" | ||||||
|  |       id="dialog_form" class="dialog" | ||||||
|  |       dojoType="dijit.form.Form" | ||||||
|  |       tal:define="item nocall:item|nocall:view"> | ||||||
|  |   <h2 tal:content="view/title" | ||||||
|  |       i18n:translate="" /> | ||||||
|  |   <input type="hidden" name="form.action" | ||||||
|  |          tal:attributes="value view/form_action" /> | ||||||
|  |   <metal:data use-macro="view/fieldRenderers/fields" /> | ||||||
|  |   <h3 i18n:translate="">Tasks</h3> | ||||||
|  |   <tal:tasks define="report item/reportInstance; | ||||||
|  |                      reportView nocall:item; | ||||||
|  |                      cb_name string:cb_select_tasks;"> | ||||||
|  |     <metal:results use-macro="view/resultsRenderer" /> | ||||||
|  |   </tal:tasks> | ||||||
|  |   <metal:buttons use-macro="view/form_macros/buttons" /> | ||||||
|  | </form> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| <form metal:define-macro="send_email" | <form metal:define-macro="send_email" | ||||||
|       method="post" id="sendEmail_form" name="sendEmail" class="dialog" |       method="post" id="sendEmail_form" name="sendEmail" class="dialog" | ||||||
|       dojoType="dijit.form.Form"> |       dojoType="dijit.form.Form"> | ||||||
|  | @ -113,3 +131,6 @@ | ||||||
|     </div> |     </div> | ||||||
|   </div> |   </div> | ||||||
| </form> | </form> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | </html> | ||||||
|  |  | ||||||
|  | @ -14,8 +14,14 @@ | ||||||
| 
 | 
 | ||||||
| <div metal:define-macro="results"> | <div metal:define-macro="results"> | ||||||
|   <table class="report" |   <table class="report" | ||||||
|          tal:define="results reportView/results"> |          tal:define="results reportView/results; | ||||||
|  |                      showCheckboxes cb_name|nothing"> | ||||||
|     <tr> |     <tr> | ||||||
|  |         <th tal:condition="showCheckboxes" | ||||||
|  |             style="border: 1px solid grey"> | ||||||
|  |           <input type="checkbox" checked | ||||||
|  |                  tal:attributes="onclick  | ||||||
|  |                       string:toggleCheckBoxes(this, '$cb_name:list')" /></th> | ||||||
|         <th i18n:translate="" |         <th i18n:translate="" | ||||||
|             style="border: 1px solid grey">Task/Action</th> |             style="border: 1px solid grey">Task/Action</th> | ||||||
|         <th style="border: 1px solid grey" |         <th style="border: 1px solid grey" | ||||||
|  | @ -27,6 +33,11 @@ | ||||||
|     </tr> |     </tr> | ||||||
|     <tal:task repeat="row results"> |     <tal:task repeat="row results"> | ||||||
|         <tr tal:repeat="colname python: ('title', 'description',)"> |         <tr tal:repeat="colname python: ('title', 'description',)"> | ||||||
|  |           <td tal:condition="showCheckboxes" | ||||||
|  |               style="border: 1px solid grey"> | ||||||
|  |             <input type="checkbox" checked | ||||||
|  |                    tal:condition="python:colname == 'title'" | ||||||
|  |                    tal:attributes="name string:$cb_name:list" /></td> | ||||||
|           <td style="border: 1px solid grey" |           <td style="border: 1px solid grey" | ||||||
|               tal:define="col report/fields/?colname" |               tal:define="col report/fields/?colname" | ||||||
|               tal:attributes="class col/cssClass"> |               tal:attributes="class col/cssClass"> | ||||||
|  | @ -49,6 +60,8 @@ | ||||||
| <div metal:define-macro="subreport" | <div metal:define-macro="subreport" | ||||||
|      tal:define="results python:col.getValue(row)"> |      tal:define="results python:col.getValue(row)"> | ||||||
|       <tr class="listing" tal:repeat="row results"> |       <tr class="listing" tal:repeat="row results"> | ||||||
|  |         <td tal:condition="showCheckboxes" | ||||||
|  |             style="border: 1px solid grey" /> | ||||||
|         <td tal:repeat="col results/displayedColumns" |         <td tal:repeat="col results/displayedColumns" | ||||||
|             tal:attributes="class col/cssClass" |             tal:attributes="class col/cssClass" | ||||||
|             style="border: 1px solid grey"> |             style="border: 1px solid grey"> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue