work in progress: work items listing

git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@3104 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2008-12-30 22:54:34 +00:00
parent ae108065de
commit 60c7d22e61
7 changed files with 63 additions and 25 deletions

View file

@ -69,6 +69,10 @@ table.listing td.center {
text-align: center;
}
table.listing td.nowrap {
white-space: nowrap;
}
table.listing td.checkbox {
text-align: center;
width: 10px;

View file

@ -30,6 +30,8 @@
set_schema="loops.organize.tracking.access.IAccessRecord" />
</zope:class>
<zope:subscriber handler="cybertools.tracking.btree.unindexTrack" />
<zope:subscriber handler="loops.organize.tracking.change.recordModification" />
<zope:subscriber handler="loops.organize.tracking.change.recordAdding" />
<zope:subscriber handler="loops.organize.tracking.change.recordAssignment" />

View file

@ -242,7 +242,15 @@ class TrackDetails(BaseView):
@Lazy
def timeStamp(self):
value = datetime.fromtimestamp(self.track.timeStamp)
return self.formatTimeStamp(self.track.timeStamp)
#value = datetime.fromtimestamp(self.track.timeStamp)
#return format.formatDate(value, 'dateTime', self.timeStampFormat,
# self.view.languageInfo.language)
def formatTimeStamp(self, ts):
if not ts:
return u''
value = datetime.fromtimestamp(ts)
return format.formatDate(value, 'dateTime', self.timeStampFormat,
self.view.languageInfo.language)

View file

@ -87,8 +87,8 @@ by calling the form controller's update method
>>> request.setPrincipal(pJohn)
>>> from loops.browser.node import NodeView
>>> view = NodeView(home, request)
>>> cwiController = CreateWorkItem(view, request)
>>> nodeView = NodeView(home, request)
>>> cwiController = CreateWorkItem(nodeView, request)
>>> cwiController.update()
False
@ -105,6 +105,11 @@ by calling the form controller's update method
>>> view.taskUrl
'http://127.0.0.1/loops/concepts/loops_dev/@@SelectedManagementView.html'
>>> from loops.organize.work.browser import WorkItemDetails
>>> view = WorkItemDetails(nodeView, wi01)
>>> view.start, view.end
(u'08/12/28 19:00', u'20:15')
Fin de partie
=============

View file

@ -75,6 +75,14 @@ class WorkItemDetails(TrackDetails):
def description(self):
return self.track.description
@Lazy
def start(self):
return self.formatTimeStamp(self.track.start)
@Lazy
def end(self):
return self.formatTimeStamp(self.track.end)[-5:]
class WorkItemView(BaseTrackView):
@ -121,7 +129,7 @@ class CreateWorkItem(EditObject, BaseTrackView):
v = form.get(k)
if v:
result[k] = v
for k in ('description', 'comment'):
for k in ('title', 'description', 'comment'):
setValue(k)
startDate = form.get('start_date')
startTime = form.get('start_time')

View file

@ -8,8 +8,6 @@
<zope:class class="loops.organize.work.base.WorkItem">
<require permission="zope.View"
interface="cybertools.organize.work.IWorkItem" />
<require permission="zope.View"
attributes="getName" />
<require permission="zope.ManageContent"
set_schema="cybertools.organize.work.IWorkItem" />
</zope:class>

View file

@ -9,39 +9,53 @@
<h2 i18n:translate="">Work Items</h2>
<metal:workitems define-macro="workitems_listing"
tal:define="workItems nocall:workItems|nocall:view/workItems;">
<tal:workitem tal:repeat="workItem workItems/allWorkItems">
<br />
<div class="comment">
<h3>
<span tal:content="workItem/description">Subject</span></h3>
<div class="info">
<span tal:replace="workItem/user/title">John</span>,
<span tal:replace="workItem/timeStamp">2007-03-30</span>
</div>
</div>
</tal:workitem>
<table class="listing">
<tr>
<th i18n:translate="">Title</th>
<th i18n:translate="">User</th>
<th i18n:translate="">Start</th>
<th i18n:translate="">End</th>
</tr>
<tal:workitem tal:repeat="workItem workItems/allWorkItems">
<tr tal:attributes="class python:
repeat['workItem'].odd() and 'even' or 'odd'">
<td>
<span tal:content="workItem/track/title">Title</span></td>
<td>
<span tal:replace="workItem/user/title">John</span></td>
<td class="nowrap">
<span tal:replace="workItem/start">2007-03-30</span></td>
<td class="nowrap">
<span tal:replace="workItem/end">2007-03-30</span></td>
</tr>
</tal:workitem>
</table>
</metal:workitems>
</metal:work>
<metal:block define-macro="create_workitem">
<form method="post"
id="addWorkitem_form" class="dialog"
<form method="post" id="addWorkitem_form" class="dialog"
dojoType="dijit.form.Form">
<input type="hidden" name="form.action" value="create_workitem" />
<input type="hidden" name="workitem.action" value="finish" />
<div class="heading" i18n:translate="">Add Work Item</div>
<div>
<label i18n:translate=""
for="description">Description</label>
<label i18n:translate="" for="title">Title</label>
<div>
<input name="title" id="title"
dojoType="dijit.form.ValidationTextBox" required
style="width: 60em" /></div>
</div>
<div>
<label i18n:translate="" for="description">Description</label>
<div>
<textarea name="description" cols="80" rows="4" id="description"
dojoType="dijit.form.SimpleTextarea"
style="width: 60em"></textarea></div>
</div>
<div>
<label i18n:translate=""
for="start-end">Start - End</label>
<label i18n:translate="" for="start-end">Start - End</label>
<div id="start-end">
<input type="text" name="start_date" style="width: 8em"
dojoType="dijit.form.DateTextBox"
@ -63,8 +77,7 @@
regexp="[0-9]{1,2}(:[0-5][0-9]){0,1}" /></div>
</div>
<div>
<label i18n:translate=""
for="comment">Comment</label>
<label i18n:translate="" for="comment">Comment</label>
<div>
<textarea name="comment" cols="80" rows="4" id="comment"
dojoType="dijit.form.SimpleTextarea"