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"
|
||||
"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"
|
||||
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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">
|
||||
|
|
Loading…
Add table
Reference in a new issue