provide generation of meeting minutes Word document
This commit is contained in:
parent
59bb401b8f
commit
4447ea04ef
5 changed files with 47 additions and 0 deletions
Binary file not shown.
|
@ -293,6 +293,9 @@ msgstr "Besprechungsprotokoll anzeigen..."
|
||||||
msgid "Show meeting minutes for this object."
|
msgid "Show meeting minutes for this object."
|
||||||
msgstr "Besprechungsprotokoll für dieses Objekt anzeigen."
|
msgstr "Besprechungsprotokoll für dieses Objekt anzeigen."
|
||||||
|
|
||||||
|
msgid "Download Meeting Minutes"
|
||||||
|
msgstr "Besprechungsprotokoll generieren"
|
||||||
|
|
||||||
msgid "Task/Action"
|
msgid "Task/Action"
|
||||||
msgstr "Aufgabe"
|
msgstr "Aufgabe"
|
||||||
|
|
||||||
|
|
|
@ -103,6 +103,12 @@
|
||||||
class="loops.organize.work.meeting.MeetingMinutes"
|
class="loops.organize.work.meeting.MeetingMinutes"
|
||||||
permission="zope.View" />
|
permission="zope.View" />
|
||||||
|
|
||||||
|
<browser:page
|
||||||
|
name="meeting_minutes.doc"
|
||||||
|
for="loops.interfaces.IConceptSchema"
|
||||||
|
class="loops.organize.work.meeting.MeetingMinutesDocument"
|
||||||
|
permission="zope.View" />
|
||||||
|
|
||||||
<!-- setup -->
|
<!-- setup -->
|
||||||
|
|
||||||
<zope:adapter factory="loops.organize.work.setup.SetupManager"
|
<zope:adapter factory="loops.organize.work.setup.SetupManager"
|
||||||
|
|
|
@ -8,6 +8,20 @@
|
||||||
<metal:block use-macro="view/concept_macros/concepttitle" />
|
<metal:block use-macro="view/concept_macros/concepttitle" />
|
||||||
<metal:block use-macro="view/concept_macros/conceptfields" />
|
<metal:block use-macro="view/concept_macros/conceptfields" />
|
||||||
</div><br />
|
</div><br />
|
||||||
|
<span class="button"
|
||||||
|
tal:condition="item/reportDownload">
|
||||||
|
<a target="_blank"
|
||||||
|
tal:attributes="href string:${item/targetUrl}/${item/reportDownload}"
|
||||||
|
i18n:translate="">Download Meeting Minutes</a></span>
|
||||||
|
<br />
|
||||||
|
<div metal:use-macro="reportView/resultsRenderer" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div metal:define-macro="document"
|
||||||
|
tal:define="item nocall:view;
|
||||||
|
report item/reportInstance;
|
||||||
|
reportView nocall:item">
|
||||||
<div metal:use-macro="reportView/resultsRenderer" />
|
<div metal:use-macro="reportView/resultsRenderer" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,7 @@ from zope.app.pagetemplate import ViewPageTemplateFile
|
||||||
from zope.cachedescriptors.property import Lazy
|
from zope.cachedescriptors.property import Lazy
|
||||||
|
|
||||||
from cybertools.browser.action import actions
|
from cybertools.browser.action import actions
|
||||||
|
from cybertools.docgen.base import WordDocument
|
||||||
from loops.browser.action import TargetAction
|
from loops.browser.action import TargetAction
|
||||||
from loops.expert.browser.report import ResultsConceptView
|
from loops.expert.browser.report import ResultsConceptView
|
||||||
from loops.util import _
|
from loops.util import _
|
||||||
|
@ -41,6 +42,7 @@ actions.register('meeting_minutes', 'portlet', TargetAction,
|
||||||
class MeetingMinutes(ResultsConceptView):
|
class MeetingMinutes(ResultsConceptView):
|
||||||
|
|
||||||
reportName = 'meeting_minutes'
|
reportName = 'meeting_minutes'
|
||||||
|
reportDownload = 'meeting_minutes.doc'
|
||||||
|
|
||||||
@Lazy
|
@Lazy
|
||||||
def meeting_macros(self):
|
def meeting_macros(self):
|
||||||
|
@ -59,3 +61,25 @@ class MeetingMinutes(ResultsConceptView):
|
||||||
if renderer == 'subreport':
|
if renderer == 'subreport':
|
||||||
return self.meeting_macros[renderer]
|
return self.meeting_macros[renderer]
|
||||||
return self.result_macros[renderer]
|
return self.result_macros[renderer]
|
||||||
|
|
||||||
|
|
||||||
|
class MeetingMinutesDocument(WordDocument, MeetingMinutes):
|
||||||
|
|
||||||
|
isToplevel = True
|
||||||
|
|
||||||
|
def __init__(self, context, request):
|
||||||
|
MeetingMinutes.__init__(self, context, request)
|
||||||
|
|
||||||
|
@Lazy
|
||||||
|
def macros(self):
|
||||||
|
return meeting_template.macros
|
||||||
|
|
||||||
|
@Lazy
|
||||||
|
def reportRenderer(self):
|
||||||
|
return self.macros['document']
|
||||||
|
|
||||||
|
@Lazy
|
||||||
|
def content(self):
|
||||||
|
return self.reportRenderer
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue