provide actions for agenda items; show state in meeting minutes browser view

This commit is contained in:
Helmut Merz 2012-08-21 07:06:36 +02:00
parent 61562b6af6
commit 6c72358426
7 changed files with 67 additions and 13 deletions

View file

@ -597,6 +597,10 @@ div.comment {
/* calendar, work items */ /* calendar, work items */
.MinutesAndAgendaTitles a[href] {
color: white;
}
.today { .today {
color: #444488; color: #444488;
font-weight: bold; font-weight: bold;

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-08-09 12:00 CET\n" "PO-Revision-Date: 2012-08-20 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"
@ -254,6 +254,18 @@ msgstr "Termin bearbeiten"
msgid "Modify follow-up event." msgid "Modify follow-up event."
msgstr "Folgetermin bearbeiten" msgstr "Folgetermin bearbeiten"
msgid "Create Agenda Item..."
msgstr "Tagesordnungspunkt anlegen..."
msgid "Create a new agenda item."
msgstr "Einen neuen Tagesordnungspunkt anlegen."
msgid "Edit Agenda Item..."
msgstr "Tagesordnungspunkt bearbeiten..."
msgid "Modify agenda item."
msgstr "Tagesordnungspunkt bearbeiten"
msgid "Create Task..." msgid "Create Task..."
msgstr "Aufgabe anlegen..." msgstr "Aufgabe anlegen..."

View file

@ -80,6 +80,24 @@ actions.register('editFollowUpEvent', 'portlet', TargetAction,
prerequisites=['registerDojoDateWidget'], prerequisites=['registerDojoDateWidget'],
) )
actions.register('createAgendaItem', 'portlet', DialogAction,
title=_(u'Create Agenda Item...'),
description=_(u'Create a new agenda item.'),
viewName='create_concept.html',
dialogName='createAgendaItem',
typeToken='.loops/concepts/agendaitem',
fixedType=True,
innerForm='inner_concept_form.html',
prerequisites=['registerDojoDateWidget'],
)
actions.register('editAgendaItem', 'portlet', DialogAction,
title=_(u'Edit Agenda Item...'),
description=_(u'Modify agenda item.'),
viewName='edit_concept.html',
dialogName='editAgendaItem',
)
class Events(ConceptView): class Events(ConceptView):

View file

@ -58,7 +58,8 @@
<form metal:define-macro="create_followup_event" method="post" <form metal:define-macro="create_followup_event" method="post"
id="dialog_form" class="dialog" id="dialog_form" class="dialog"
dojoType="dijit.form.Form" dojoType="dijit.form.Form"
tal:define="item nocall:item|nocall:view"> tal:define="item nocall:item|nocall:view;
showState python:True">
<h2 tal:content="view/title" <h2 tal:content="view/title"
i18n:translate="" /> i18n:translate="" />
<input type="hidden" name="form.action" <input type="hidden" name="form.action"

View file

@ -4,7 +4,8 @@
<div metal:define-macro="content" <div metal:define-macro="content"
tal:define="report item/reportInstance; tal:define="report item/reportInstance;
reportView nocall:item; reportView nocall:item;
results reportView/results"> results reportView/results;
showState python:True">
<div tal:attributes="class string:content-$level;"> <div tal:attributes="class string:content-$level;">
<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" />
@ -24,11 +25,12 @@
report item/reportInstance; report item/reportInstance;
reportView nocall:item; reportView nocall:item;
results reportView/results; results reportView/results;
fields results/context/fields"> fields results/context/fields;
showCheckboxes nothing;
showState nothing">
<div class ="WordSection1"> <div class ="WordSection1">
<div align="center"> <div align="center">
<table class="MsoTableGrid" width="98%" cellpadding="0" cellspacing="0" <table class="MsoTableGrid" width="98%" cellpadding="0" cellspacing="0">
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>
@ -39,7 +41,7 @@
<metal:header define-macro="header" <metal:header define-macro="header"
tal:define="row results/first"> tal:define="row results/first">
<tr style="background-color: #777777"> <tr style="background-color: #777777; color: white">
<td colspan="4"> <td colspan="4">
<div tal:define="col fields/eventTitle" <div tal:define="col fields/eventTitle"
class="MinutesAndAgendaTitles"> class="MinutesAndAgendaTitles">
@ -84,6 +86,8 @@
<th colspan="4" <th colspan="4"
i18n:translate="" i18n:translate=""
style="border: 1px solid grey">Copy Agenda Items</th> style="border: 1px solid grey">Copy Agenda Items</th>
<td tal:condition="showState"
style="border: 1px solid #777777" />
</tr> </tr>
<tr> <tr>
<td tal:condition="showCheckboxes" style="width: 2%">&nbsp;</td> <td tal:condition="showCheckboxes" style="width: 2%">&nbsp;</td>
@ -91,24 +95,27 @@
<td style="width: 53%">&nbsp;</td> <td style="width: 53%">&nbsp;</td>
<td style="width: 20%">&nbsp;</td> <td style="width: 20%">&nbsp;</td>
<td style="width: 12%">&nbsp;</td> <td style="width: 12%">&nbsp;</td>
<td tal:condition="showState" style="width: 2%">&nbsp;</td>
</tr> </tr>
<tal:tasks repeat="row results"> <tal:tasks repeat="row results">
<tal:task define="taskUid row/context/uid"> <tal:task define="taskUid row/context/uid">
<tr class="agenda-item-headline" <tr class="agenda-item-headline"
style="background-color: #777777"> style="background-color: #777777">
<td tal:condition="showCheckboxes" <td tal:condition="showCheckboxes"
style="border: 1px solid grey" class="center"> style="border: 1px solid #777777" class="center">
<input type="checkbox" checked <input type="checkbox" checked
tal:attributes="name string:$cb_name:list; tal:attributes="name string:$cb_name:list;
value taskUid" /></td> value taskUid" /></td>
<td colspan="4" <td colspan="4"
style="border: 1px solid grey" style="border: 1px solid #777777"
tal:define="col report/fields/title" tal:define="col report/fields/title"
tal:attributes="class col/cssClass"> tal:attributes="class col/cssClass">
<div class="MinutesAndAgendaTitles"> <div class="MinutesAndAgendaTitles">
<metal:column use-macro="python: <metal:column use-macro="python:
reportView.getColumnRenderer(col)" /></div> reportView.getColumnRenderer(col)" /></div>
</td> </td>
<td tal:condition="showState"
style="border: 1px solid #777777" />
</tr> </tr>
<tal:item repeat="colname python: <tal:item repeat="colname python:
('responsible', 'description', 'discussion', 'consequences')"> ('responsible', 'description', 'discussion', 'consequences')">
@ -125,7 +132,9 @@
<metal:column use-macro="python: <metal:column use-macro="python:
reportView.getColumnRenderer(col)" /> reportView.getColumnRenderer(col)" />
</td> </td>
</tal:field> </tal:field>
<td tal:condition="showState"
style="border-right: 1px solid #777777" />
</tr> </tr>
</tal:item> </tal:item>
<tal:workitems define="col report/fields/workItems; <tal:workitems define="col report/fields/workItems;
@ -141,8 +150,10 @@
i18n:translate="">header_responsible</td> i18n:translate="">header_responsible</td>
<td style="border: 1px solid grey; width: 12%" class="center" <td style="border: 1px solid grey; width: 12%" class="center"
i18n:translate="">header_deadline</td> i18n:translate="">header_deadline</td>
<td tal:condition="showState"
style="border: 1px solid #777777" />
</tr> </tr>
<metal:column use-macro="python: <metal:column use-macro="python:
reportView.getColumnRenderer(col)" /> reportView.getColumnRenderer(col)" />
</tal:workitems> </tal:workitems>
</tal:task> </tal:task>
@ -182,6 +193,14 @@
<metal:column use-macro="python: <metal:column use-macro="python:
reportView.getColumnRenderer(col)" /> reportView.getColumnRenderer(col)" />
</td> </td>
<tal:state condition="showState">
<td tal:define="col fields/state"
tal:attributes="class col/cssClass"
style="border: 1px solid grey; width: 12%">
<metal:column use-macro="python:
reportView.getColumnRenderer(col)" />
</td>
</tal:state>
</tr> </tr>
</metal:sub> </metal:sub>

View file

@ -285,14 +285,14 @@ class MeetingMinutesWorkRow(WorkRow):
@Lazy @Lazy
def isActive(self): def isActive(self):
return self.context.state not in ( return self.context.state not in (
'finished', 'closed', 'cancelled') 'finished', 'closed', 'cancelled', 'moved')
class MeetingMinutesWork(WorkReportInstance, SubReport): class MeetingMinutesWork(WorkReportInstance, SubReport):
rowFactory = MeetingMinutesWorkRow rowFactory = MeetingMinutesWorkRow
fields = Jeep((workTitle, party, deadline)) #, state)) #description, fields = Jeep((workTitle, party, deadline, state)) #description,
defaultOutputFields = fields defaultOutputFields = fields
defaultSortCriteria = (day,) defaultSortCriteria = (day,)
states = ('planned', 'accepted', 'running', 'done', states = ('planned', 'accepted', 'running', 'done',