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"
"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"
"Language-Team: loops developers <helmutm@cy55.de>\n"
"MIME-Version: 1.0\n"
@ -242,6 +242,9 @@ 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 "Create Follow-up Event for: $event"
msgstr "Folgetermin anlegen für: $event"
msgid "Edit Event..."
msgstr "Termin bearbeiten..."
@ -395,6 +398,9 @@ msgstr "Thema"
msgid "Task"
msgstr "Aufgabe"
msgid "Tasks"
msgstr "Aufgaben"
msgid "Domain"
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.node import NodeView
from loops.common import adapted
from loops.organize.work.meeting import MeetingMinutes
from loops.util import _
from loops import util
organize_macros = ViewPageTemplateFile('view_macros.pt')
@ -247,12 +249,39 @@ class CalendarInfo(NodeView):
# special forms
class CreateFollowUpEventForm(CreateConceptPage):
class CreateFollowUpEventForm(CreateConceptPage, MeetingMinutes):
fixedType = True
typeToken = '.loops/concepts/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):

View file

@ -1,5 +1,4 @@
<!-- $Id$ -->
<html i18n:domain="loops">
<metal:task define-macro="task">
<metal:data use-macro="view/concept_macros/conceptdata">
@ -56,6 +55,25 @@
</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"
method="post" id="sendEmail_form" name="sendEmail" class="dialog"
dojoType="dijit.form.Form">
@ -113,3 +131,6 @@
</div>
</div>
</form>
</html>

View file

@ -14,8 +14,14 @@
<div metal:define-macro="results">
<table class="report"
tal:define="results reportView/results">
tal:define="results reportView/results;
showCheckboxes cb_name|nothing">
<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=""
style="border: 1px solid grey">Task/Action</th>
<th style="border: 1px solid grey"
@ -27,6 +33,11 @@
</tr>
<tal:task repeat="row results">
<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"
tal:define="col report/fields/?colname"
tal:attributes="class col/cssClass">
@ -49,6 +60,8 @@
<div metal:define-macro="subreport"
tal:define="results python:col.getValue(row)">
<tr class="listing" tal:repeat="row results">
<td tal:condition="showCheckboxes"
style="border: 1px solid grey" />
<td tal:repeat="col results/displayedColumns"
tal:attributes="class col/cssClass"
style="border: 1px solid grey">