create follow-up event: extend form showing tasks of base event for selection

This commit is contained in:
Helmut Merz 2012-06-10 16:29:33 +02:00
parent ef927c830e
commit 59bb401b8f
5 changed files with 75 additions and 6 deletions

Binary file not shown.

View file

@ -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"

View file

@ -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):

View file

@ -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>

View file

@ -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">