meeting minutes: generate Word document by embedding content in .mht file

This commit is contained in:
Helmut Merz 2012-08-07 18:57:16 +02:00
parent c029e98878
commit 1b8146b683
4 changed files with 54 additions and 48 deletions

View file

@ -526,6 +526,12 @@ div.comment {
background-color: #eeeeff; background-color: #eeeeff;
} }
tr.agenda-item-headline td,
tr.agenda-item-headline td a,
tr.agenda-item-headline td a[href] {
color: white;
}
/* dojo stuff */ /* dojo stuff */
.dijitDialog { .dijitDialog {

View file

@ -115,6 +115,7 @@
name="meeting_minutes.doc" name="meeting_minutes.doc"
for="loops.interfaces.IConceptSchema" for="loops.interfaces.IConceptSchema"
class="loops.organize.work.meeting.MeetingMinutesDocument" class="loops.organize.work.meeting.MeetingMinutesDocument"
attribute="embed"
permission="zope.View" /> permission="zope.View" />
<!-- setup --> <!-- setup -->

View file

@ -25,39 +25,31 @@
reportView nocall:item; reportView nocall:item;
results reportView/results; results reportView/results;
fields results/context/fields"> fields results/context/fields">
<metal:page use-macro="item/macros/page_header" /> <div class ="WordSection1">
<div class ="Section2"> <div align="center">
<table class="report" width="100%" <table class="MsoTableGrid" width="98%" cellpadding="0" cellspacing="0"
tal:define="showCheckboxes nothing"> tal:define="showCheckboxes nothing">
<metal:header use-macro="item/macros/header" /> <metal:header use-macro="item/macros/header" />
<metal:header use-macro="item/macros/rows" /> <metal:header use-macro="item/macros/rows" />
</table> </table>
</div>
</div> </div>
</metal:doc> </metal:doc>
<metal:page define-macro="page_header">
<table width="100%">
<tr>
<td>&nbsp;</td>
<td><h1 i18n:translate="">Meeting Minutes</h1></td>
<td><span i18n:translate="">Page</span> </td>
</tr>
</table>
</metal:page>
<metal:header define-macro="header" <metal:header define-macro="header"
tal:define="row results/first"> tal:define="row results/first">
<tr> <tr style="background-color: #777777">
<td colspan="4"> <td colspan="4">
<div tal:define="col fields/eventTitle"> <div tal:define="col fields/eventTitle"
class="MinutesAndAgendaTitles">
<metal:col use-macro="python:item.getColumnRenderer(col)" /></div> <metal:col use-macro="python:item.getColumnRenderer(col)" /></div>
<div tal:define="col fields/eventDescription"> <div tal:define="col fields/eventDescription"
class="MinutesAndAgendaTitles">
<metal:col use-macro="python:item.getColumnRenderer(col)" /></div> <metal:col use-macro="python:item.getColumnRenderer(col)" /></div>
</td> </td>
</tr> </tr>
<tr> <tr style="background-color: #eeeeee">
<td colspan="2"> <td colspan="2">
<span tal:define="col fields/eventDate"> <span tal:define="col fields/eventDate">
<metal:col use-macro="python:item.getColumnRenderer(col)" /></span> <metal:col use-macro="python:item.getColumnRenderer(col)" /></span>
@ -100,7 +92,8 @@
<td style="width: 12%">&nbsp;</td> <td style="width: 12%">&nbsp;</td>
</tr> </tr>
<tal:task repeat="row results"> <tal:task repeat="row results">
<tr> <tr class="agenda-item-headline"
style="background-color: #777777">
<td tal:condition="showCheckboxes" <td tal:condition="showCheckboxes"
style="border: 1px solid grey"> style="border: 1px solid grey">
<input type="checkbox" checked <input type="checkbox" checked
@ -110,36 +103,39 @@
style="border: 1px solid grey" style="border: 1px solid grey"
tal:define="col report/fields/title" tal:define="col report/fields/title"
tal:attributes="class col/cssClass"> tal:attributes="class col/cssClass">
<metal:column use-macro="python: <div class="MinutesAndAgendaTitles">
reportView.getColumnRenderer(col)" /> <metal:column use-macro="python:
reportView.getColumnRenderer(col)" /></div>
</td> </td>
</tr> </tr>
<tr tal:repeat="colname python: <tal:item repeat="colname python:
('responsible', 'description', 'discussion', 'consequences')"> ('responsible', 'description', 'discussion', 'consequences')">
<tal:field define="col report/fields/?colname"> <tr>
<td style="border: 1px solid grey" <tal:field define="col report/fields/?colname">
tal:condition="showCheckboxes"></td> <td style="border: 1px solid grey"
<td style="border: 1px solid grey; width: 15%" tal:condition="showCheckboxes"></td>
tal:content="col/title" <td style="border: 1px solid grey; width: 15%"
i18n:translate=""></td> tal:content="col/title"
<td colspan="3" i18n:translate=""></td>
style="border: 1px solid grey; width: 85%" <td colspan="3"
tal:attributes="class col/cssClass"> style="border: 1px solid grey; width: 85%"
<metal:column use-macro="python: tal:attributes="class col/cssClass">
reportView.getColumnRenderer(col)" /> <metal:column use-macro="python:
</td> reportView.getColumnRenderer(col)" />
</td>
</tal:field> </tal:field>
</tr> </tr>
<tr> </tal:item>
<th style="border: 1px solid grey" <tr style="background-color: #eeeeee">
tal:condition="showCheckboxes"></th> <td style="border: 1px solid grey"
<th colspan="2" tal:condition="showCheckboxes"></td>
<td colspan="2"
style="border: 1px solid grey; width: 68%" style="border: 1px solid grey; width: 68%"
i18n:translate="">header_workitems</th> i18n:translate="">header_workitems</td>
<th style="border: 1px solid grey; width: 20%" <td style="border: 1px solid grey; width: 20%"
i18n:translate="">header_responsible</th> i18n:translate="">header_responsible</td>
<th style="border: 1px solid grey; width: 12%" <td style="border: 1px solid grey; width: 12%; text-align: center"
i18n:translate="">header_deadline</th> i18n:translate="">header_deadline</td>
</tr> </tr>
<tal:workitems define="col report/fields/workItems"> <tal:workitems define="col report/fields/workItems">
<metal:column use-macro="python: <metal:column use-macro="python:

View file

@ -71,6 +71,9 @@ class MeetingMinutesDocument(WordDocument, MeetingMinutes):
def __init__(self, context, request): def __init__(self, context, request):
MeetingMinutes.__init__(self, context, request) MeetingMinutes.__init__(self, context, request)
def __call__(self, *args, **kw):
return self.embed(*args, **kw)
@Lazy @Lazy
def macros(self): def macros(self):
return meeting_template.macros return meeting_template.macros