source: trunk/grails-app/views/taskDetailed/show.gsp @ 729

Last change on this file since 729 was 729, checked in by gav, 13 years ago

Graphical touch up of task show view with icons.

File size: 46.0 KB
Line 
1<html>
2    <head>
3        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
4        <meta name="layout" content="main" />
5        <title>Show Task #${taskInstance.id}</title>
6        <nav:resources override="true"/>
7        <resource:tabView skin="tabviewCustom" />
8    </head>
9    <body>
10        <div class="nav">
11            <nav:renderSubItems group="nav"/>
12        </div>
13        <div class="body">
14            <g:render template="/shared/messages" />
15            <g:if test="${taskInstance.trash}" >
16                <div class="errors">
17                        <ul><li>This task is in the trash bin, but can be restored if required.<li><ul>
18                </div>
19            </g:if>
20            <g:hasErrors bean="${taskInstance}">
21            <div class="errors">
22                <g:renderErrors bean="${taskInstance}" as="list" />
23            </div>
24            </g:hasErrors>
25
26            <div class="tabHeader">
27                <h1>
28                    Task #${taskInstance.id}
29
30                    <g:if test="${taskInstance.approved}" >
31                        <img  src="${resource(dir:'images/skin',file:'cog.png')}" alt="Approved" title="Approved" />
32                    </g:if>
33                    <g:if test="${taskInstance.taskStatus.id == 2}" >
34                        <img  src="${resource(dir:'images/skin',file:'bullet_go.png')}" alt="In Progress" title="In Progress" />
35                    </g:if>
36                    <g:if test="${taskInstance.attentionFlag}" >
37                        <img  src="${resource(dir:'images/skin',file:'flag_red.png')}" alt="Attention Flag" title="Attention Flag" />
38                    </g:if>
39                    <g:if test="${taskInstance.taskStatus.id == 3}" >
40                        <img  src="${resource(dir:'images/skin',file:'tick.png')}" alt="Complete" title="Complete" />
41                    </g:if>
42                </h1>
43                ${fieldValue(bean:taskInstance, field:'description')}
44                <g:if test="${taskInstance.safetyRequirement}" >
45                    <img  src="${resource(dir:'images/skin',file:'lightning.png')}" alt="Safety Requirement" title="Safety Requirement" />
46                    Safety
47                </g:if>
48                <g:if test="${taskInstance.regulatoryRequirement}" >
49                    <img  src="${resource(dir:'images/skin',file:'script_lightning.png')}" alt="Regulatory Requirement" title="Regulatory Requirement" />
50                    Regulatory
51                </g:if>
52                <g:if test="${taskInstance.mandatoryRequirement}" >
53                    <img  src="${resource(dir:'images/skin',file:'script.png')}" alt="Mandatory Requirement" title="Mandatory Requirement" />
54                    Mandatory
55                </g:if>
56            </div>
57
58            <br/>
59
60            <richui:tabView id="tabView">
61
62                <richui:tabLabels>
63                    <richui:tabLabel selected="${showTab.task}" title="Details" />
64                    <g:if test="${taskProcedureExits}">
65                        <richui:tabLabel selected="${showTab.procedure}" title="Procedure (!)" />
66                    </g:if>
67                    <g:else>
68                        <richui:tabLabel selected="${showTab.procedure}" title="Procedure" />
69                    </g:else>
70                    <g:if test="${taskRecurringScheduleExits}">
71                        <richui:tabLabel selected="${showTab.recurrence}" title="Recurrence (!)" />
72                    </g:if>
73                    <g:else>
74                        <richui:tabLabel selected="${showTab.recurrence}" title="Recurrence" />
75                    </g:else>
76                    <g:if test="${!inventoryMovementList.isEmpty()}">
77                        <richui:tabLabel selected="${showTab.inventory}" title="Inventory (${inventoryMovementList.size()})" />
78                    </g:if>
79                    <g:else>
80                        <richui:tabLabel selected="${showTab.inventory}" title="Inventory (0)" />
81                    </g:else>
82                    <g:if test="${subTaskInstanceTotal > 0}">
83                        <richui:tabLabel selected="${showTab.subTasks}" title="Sub Tasks (${subTaskInstanceTotal})" />
84                    </g:if>
85                    <g:else>
86                        <richui:tabLabel selected="${showTab.subTasks}" title="Sub Tasks (0)" />
87                    </g:else>
88                </richui:tabLabels>
89
90                <richui:tabContents>
91
92<!-- Start Task tab -->
93                    <richui:tabContent>
94
95                        <div class="dialog">
96                            <table>
97                                <tbody>
98
99                                    <g:if test="${taskInstance.parentTask}">
100                                        <tr class="prop">
101                                            <td valign="top" class="name">Parent Task:</td>
102
103                                            <td valign="top" class="value">
104                                                <g:link controller="taskDetailed" action="show" id="${taskInstance.parentTask.id}">
105                                                    ${taskInstance.parentTask.encodeAsHTML()}
106                                                </g:link>
107                                            </td>
108
109                                        </tr>
110                                    </g:if>
111
112                                    <tr class="prop">
113                                        <td valign="top" class="name">Comment:</td>
114
115                                        <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'comment')}</td>
116
117                                    </tr>
118
119                                    <tr class="prop">
120                                        <td valign="top" class="name">Target Start:</td>
121
122                                        <td valign="top" class="value">
123                                            <g:formatDate date="${taskInstance.targetStartDate}" format="EEE, dd-MMM-yyyy"/>
124                                        </td>
125
126                                    </tr>
127
128                                    <tr class="prop">
129                                        <td valign="top" class="name">Target Completion:</td>
130
131                                        <td valign="top" class="value">
132                                            <g:formatDate date="${taskInstance.targetCompletionDate}" format="EEE, dd-MMM-yyyy"/>
133                                        </td>
134
135                                    </tr>
136
137                                    <tr class="prop">
138                                        <td valign="top" class="name">
139
140                                            <jsUtil:toggleControl toggleId="modifications"
141                                                                                    imageId="modificationsImg"
142                                                                                    closedImgUrl="${resource(dir:'images/skin',file:'bullet_toggle_plus.png')}"
143                                                                                    openImgUrl="${resource(dir:'images/skin',file:'bullet_toggle_minus.png')}"
144                                                                                    effect="fade"
145                                                                                    text="Modifications"
146                                                                                    />
147                                        </td>
148
149                                        <td  valign="top" style="text-align:left;" class="value">
150                                            <div id="modifications" style="display:none;">
151                                                <ul>
152                                                <g:each var="a" in="${taskModificationList}">
153                                                    <li>${a?.encodeAsHTML()}</li>
154                                                </g:each>
155                                                </ul>
156                                            </div>
157                                        </td>
158                                    </tr>
159
160                                    <tr class="prop">
161                                        <td valign="top" class="name">Primary Asset:</td>
162
163                                        <td valign="top" class="value"><g:link controller="assetDetailed" action="show" id="${taskInstance?.primaryAsset?.id}">${taskInstance?.primaryAsset?.encodeAsHTML()}</g:link></td>
164
165                                    </tr>
166
167                                    <tr class="prop">
168                                        <td valign="top" class="name">Associated Assets:</td>
169
170                                        <td  valign="top" style="text-align:left;" class="value">
171                                            <ul>
172                                            <g:each var="a" in="${taskInstance.associatedAssets}">
173                                                <li>${a?.encodeAsHTML()}</li>
174                                            </g:each>
175                                            </ul>
176                                        </td>
177
178                                    </tr>
179
180                                    <tr class="prop">
181                                        <td valign="top" class="name">Priority:</td>
182
183                                        <td valign="top" class="value">${taskInstance?.taskPriority?.encodeAsHTML()}</td>
184
185                                    </tr>
186
187                                    <tr class="prop">
188                                        <td valign="top" class="name">Positive Fault:</td>
189
190                                        <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'positiveFault')}</td>
191
192                                    </tr>
193
194                                    <tr class="prop">
195                                        <td valign="top" class="name">Group:</td>
196
197                                        <td valign="top" class="value">${taskInstance?.taskGroup?.encodeAsHTML()}</td>
198
199                                    </tr>
200
201                                    <tr class="prop">
202                                        <td valign="top" class="name">Type:</td>
203
204                                        <td valign="top" class="value">${taskInstance?.taskType?.encodeAsHTML()}</td>
205
206                                    </tr>
207
208                                    <tr class="prop">
209                                        <td valign="top" class="name">Lead Person:</td>
210
211                                        <td valign="top" class="value">${taskInstance?.leadPerson?.encodeAsHTML()}</td>
212
213                                    </tr>
214
215                                    <tr class="prop">
216                                        <td valign="top" class="name">Assigned Groups:</td>
217
218                                        <td  valign="top" style="text-align:left;" class="value">
219                                            <ul>
220                                            <g:each var="a" in="${assignedGroupList}">
221                                                <li><g:link controller="assignedGroupDetailed" action="edit" id="${a.id}" params="['task.id':taskInstance.id]">${a?.encodeAsHTML()}</g:link></li>
222                                            </g:each>
223                                            </ul>
224                                            <g:link controller="assignedGroupDetailed" action="create" params="['task.id':taskInstance.id]">+Add Group</g:link>
225                                        </td>
226
227                                    </tr>
228
229
230                                    <tr class="prop">
231                                        <td valign="top" class="name">Assigned Persons:</td>
232
233                                        <td  valign="top" style="text-align:left;" class="value">
234                                            <ul>
235                                            <g:each var="a" in="${assignedPersonList}">
236                                                <li><g:link controller="assignedPersonDetailed" action="edit" id="${a.id}" params="['task.id':taskInstance.id]">${a?.encodeAsHTML()}</g:link></li>
237                                            </g:each>
238                                            </ul>
239                                            <g:link controller="assignedPersonDetailed" action="create" params="['task.id':taskInstance?.id]">+Add Person</g:link>
240                                        </td>
241
242                                    </tr>
243
244                                </tbody>
245                            </table>
246                        </div>
247
248                        <div class="buttons">
249                            <g:form>
250                                <input type="hidden" name="id" value="${taskInstance?.id}" />
251
252                                <g:if test="${taskInstance.trash}" >
253                                    <span class="button"><g:actionSubmit class="restore" onclick="return confirm('Are you sure?');" value="Restore" /></span>
254                                </g:if>
255                                <g:else>
256
257                                    <g:if test="${taskInstance.taskStatus.id != 3}" >
258
259                                        <g:if test="${taskInstance.attentionFlag}" >
260                                            <span class="button"><g:actionSubmit class="flag" value="Clear" action="clearAttentionFlag"/></span>
261                                        </g:if>
262                                        <g:else>
263                                            <span class="button"><g:actionSubmit class="flag" value="Unresolved" action="setAttentionFlag"/></span>
264                                            <g:helpBalloon class="helpballoon" code="task.status.unresolved" />
265                                        </g:else>
266
267                                        <span class="button"><g:actionSubmit class="complete" value="Resolved" action="complete"/></span>
268                                        <g:helpBalloon class="helpballoon" code="task.status.resolved" />
269
270                                        <g:if test="${taskInstance.approved}" >
271                                            <span class="button"><g:actionSubmit class="renegeApproval" value="Renege Approval" action="renegeApproval" /></span>
272                                        </g:if>
273                                        <g:else>
274                                            <span class="button"><g:actionSubmit class="approve" value="Approve" /></span>
275                                        </g:else>
276
277                                        <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
278                                        <span class="button"><g:actionSubmit class="trash" onclick="return confirm('Are you sure?');" value="Trash" /></span>
279
280                                    </g:if>
281                                    <g:else>
282                                        <span class="button"><g:actionSubmit class="reopen" value="Reopen" /></span>
283                                    </g:else>
284
285                                </g:else>
286                            </g:form>
287                        </div>
288
289                        <br />
290
291                        <g:if test="${entryFaultList.isEmpty()}">
292                            <h1>No Faults</h1>
293                            <br />
294                        </g:if>
295                        <g:else>
296                            <div class="list">
297                                <h1>Faults</h1>
298                                <table>
299                                    <thead>
300                                        <tr>
301                                            <th>Comment</th>
302                                            <th>Date</th>
303                                            <th>Production</th>
304                                            <th>Down Time</th>
305                                            <th>Entered By</th>
306                                            <th></th>
307                                        </tr>
308                                    </thead>
309                                    <tbody>
310                                        <g:each in="${entryFaultList}" status="i" var="entry">
311                                                <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
312
313                                                    <td style="width:65%" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
314                                                        ${entry.comment.encodeAsHTML()}
315                                                    </td>
316
317                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
318                                                        <g:formatDate date="${entry.dateDone}" format="EEE, dd-MMM-yyyy"/>
319                                                    </td>
320
321                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
322                                                        <g:if test="${entry.productionReference}">
323                                                            ${entry.productionReference.encodeAsHTML()}
324                                                        </g:if>
325                                                        <g:else>
326                                                            <g:message code="default.none.text" />
327                                                        </g:else>
328                                                    </td>
329
330                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
331                                                        ${entry.durationHour}:${entry.durationMinute}
332                                                    </td>
333
334                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
335                                                        ${entry.enteredBy.encodeAsHTML()}
336                                                    </td>
337
338                                                    <td class="notClickable">
339                                                        <g:link controller="entryDetailed" action="edit" id="${entry.id}">
340                                                            <img  src="${resource(dir:'images/skin',file:'database_edit.png')}" alt="Edit" />
341                                                        </g:link>
342                                                    </td>
343
344                                                </tr>
345                                        </g:each>
346                                    </tbody>
347                                </table>
348                            </div>
349                        </g:else>
350
351                        <div class="buttons">
352                            <g:form controller="entryDetailed">
353                                <g:hiddenField name="taskInstance.id" value="${taskInstance?.id}" />
354                                <g:hiddenField name="entryType.id" value="1" />
355                                <span class="button">
356                                    <g:actionSubmit value="Add Fault" action="create"  class="add"/>
357                                </span>
358                            </g:form>
359                        </div>
360
361                        <br />
362
363                        <g:if test="${entryCauseList.isEmpty()}">
364                            <h1>No Causes</h1>
365                            <br />
366                        </g:if>
367                        <g:else>
368                            <div class="list">
369                                <h1>Causes</h1>
370                                <table>
371                                    <thead>
372                                        <tr>
373                                            <th>Comment</th>
374                                            <th>Date Done</th>
375                                            <th>Entered By</th>
376                                            <th></th>
377                                        </tr>
378                                    </thead>
379                                    <tbody>
380                                        <g:each in="${entryCauseList}" status="i" var="entry">
381                                                <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
382
383                                                    <td style="width:65%" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
384                                                        ${entry.comment.encodeAsHTML()}
385                                                    </td>
386
387                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
388                                                        <g:formatDate date="${entry.dateDone}" format="EEE, dd-MMM-yyyy"/>
389                                                    </td>
390
391                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
392                                                        ${entry.enteredBy.encodeAsHTML()}
393                                                    </td>
394
395                                                    <td class="notClickable">
396                                                        <g:link controller="entryDetailed" action="edit" id="${entry.id}">
397                                                            <img  src="${resource(dir:'images/skin',file:'database_edit.png')}" alt="Edit" />
398                                                        </g:link>
399                                                    </td>
400
401                                                </tr>
402                                        </g:each>
403                                    </tbody>
404                                </table>
405                            </div>
406                        </g:else>
407
408                        <div class="buttons">
409                            <g:form controller="entryDetailed">
410                                <g:hiddenField name="taskInstance.id" value="${taskInstance?.id}" />
411                                <g:hiddenField name="entryType.id" value="2" />
412                                <span class="button">
413                                    <g:actionSubmit value="Add Cause" action="create"  class="add"/>
414                                </span>
415                            </g:form>
416                        </div>
417
418                        <br />
419
420                        <g:if test="${entryWorkDoneList.isEmpty()}">
421                            <h1>No Work Done</h1>
422                            <br />
423                        </g:if>
424                        <g:else>
425                            <div class="list">
426                                <h1>Work Done</h1>
427                                <table>
428                                    <thead>
429                                        <tr>
430                                            <th>Comment</th>
431                                            <th>Date Done</th>
432                                            <th>Duration</th>
433                                            <th>Entered By</th>
434                                            <th></th>
435                                        </tr>
436                                    </thead>
437                                    <tbody>
438                                        <g:each in="${entryWorkDoneList}" status="i" var="entry">
439                                                <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
440
441                                                    <td width="65%" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
442                                                        ${entry.comment.encodeAsHTML()}
443                                                    </td>
444                                                   
445                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
446                                                        <g:formatDate date="${entry.dateDone}" format="EEE, dd-MMM-yyyy"/>
447                                                    </td>
448                                                   
449                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
450                                                        ${entry.durationHour}:${entry.durationMinute}
451                                                    </td>
452                                                   
453                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
454                                                        ${entry.enteredBy.encodeAsHTML()}
455                                                    </td>
456
457                                                    <td class="notClickable">
458                                                        <g:link controller="entryDetailed" action="edit" id="${entry.id}">
459                                                            <img  src="${resource(dir:'images/skin',file:'database_edit.png')}" alt="Edit" />
460                                                        </g:link>
461                                                    </td>
462
463                                                </tr>
464                                        </g:each>
465                                    </tbody>
466                                </table>
467                            </div>
468                        </g:else>
469
470                        <div class="buttons">
471                            <g:form controller="entryDetailed">
472                                <g:hiddenField name="taskInstance.id" value="${taskInstance?.id}" />
473                                <g:hiddenField name="entryType.id" value="3" />
474                                <span class="button">
475                                    <g:actionSubmit value="Add Work Done" action="create"  class="add"/>
476                                </span>
477                            </g:form>
478                        </div>
479                    </richui:tabContent>
480<!-- End Task tab -->
481
482
483<!-- Start Task Procedure tab-->
484                    <richui:tabContent>
485                        <g:if test="${!taskProcedureExits}">
486                            <br />
487                            No Procedure linked.
488                            <br />
489                            <br />
490                            <g:form controller="taskProcedureDetailed" >
491                                <g:hiddenField name="taskInstance.id" value="${taskInstance?.id}" />
492
493                                <div class="buttons">
494                                    <span class="button">
495                                        <g:actionSubmit value="New" action="create" class="add"/>
496                                    </span>
497                                    <span class="button">
498                                        <g:actionSubmit value="Search" action="search" class="search"/>
499                                    </span>
500                                </div>
501
502                            </g:form>
503
504                        </g:if>
505                        <g:else>
506                            <div class="dialog">
507                                <table>
508                                    <tbody>
509
510                                        <tr class="prop">
511                                            <td valign="top" class="name">Procedure Id:</td>
512
513                                            <td valign="top" class="value">${fieldValue(bean:taskProcedureInstance, field:'id')}</td>
514
515                                        </tr>
516
517                                        <tr class="prop">
518                                            <td valign="top" class="name">Name:</td>
519
520                                            <td valign="top" class="value">${fieldValue(bean:taskProcedureInstance, field:'name')}</td>
521
522                                        </tr>
523
524                                        <tr class="prop">
525                                            <td valign="top" class="name">Description:</td>
526
527                                            <td valign="top" class="value">${fieldValue(bean:taskProcedureInstance, field:'description')}</td>
528
529                                        </tr>
530
531                                        <tr class="prop">
532                                            <td valign="top" class="name">Is Active:</td>
533
534                                            <td valign="top" class="value">${fieldValue(bean:taskProcedureInstance, field:'isActive')}</td>
535
536                                        </tr>
537
538                                    </tbody>
539                                </table>
540                            </div>
541                            <div class="buttons">
542                                <g:form controller="taskProcedureDetailed">
543                                    <input type="hidden" name="id" value="${taskProcedureInstance?.id}" />
544                                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
545                                </g:form>
546                            </div>
547
548                            <div class="list">
549                                <table>
550                                    <thead>
551                                        <tr>
552                                            <th>Step</th>
553                                            <th>Description</th>
554                                            <th>Reasoning</th>
555                                            <th>Asset</th>
556                                            <th>Sub Item</th>
557                                        </tr>
558                                    </thead>
559                                    <tbody>
560                                        <g:each in="${maintenanceActionList}" status="i" var="maintenanceAction">
561                                            <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
562
563                                                <td valign="top" class="name">
564                                                    ${fieldValue(bean:maintenanceAction, field:'procedureStepNumber')}
565                                                </td>
566
567                                                <td  valign="top" style="text-align:left;" class="value">
568                                                    ${fieldValue(bean:maintenanceAction, field:'description')}
569                                                </td>
570
571                                                <td  valign="top" style="text-align:left;" class="value">
572                                                    ${fieldValue(bean:maintenanceAction, field:'reasoning')}
573                                                </td>
574
575                                                <td  valign="top" style="text-align:left;" class="value">
576                                                    ${fieldValue(bean:maintenanceAction, field:'asset')}
577                                                </td>
578
579                                                <td  valign="top" style="text-align:left;" class="value">
580                                                    ${fieldValue(bean:maintenanceAction, field:'assetSubItem')}
581                                                </td>
582
583                                            </tr>
584                                        </g:each>
585
586                                    </tbody>
587                                </table>
588                            </div>
589
590                        </g:else>
591
592                    </richui:tabContent>
593<!-- End Task Procedure tab-->
594
595<!-- Start Task Recurrence tab -->
596                    <richui:tabContent>
597
598                        <g:if test="${!taskRecurringScheduleExits}">
599                            <br />
600                            No Recurring Schedule.
601                            <br />
602                            <br />
603                            <g:form controller="taskRecurringScheduleDetailed" >
604                                <g:hiddenField name="task.id" value="${taskInstance.id}" />
605
606                                <div class="buttons">
607                                    <span class="button">
608                                        <g:actionSubmit value="Add" action="create"  class="add"/>
609                                    </span>
610                                </div>
611
612                            </g:form>
613
614                        </g:if>
615                        <g:else>
616
617                        <div class="dialog">
618                                <table>
619                                    <tbody>
620                                        <tr class="prop">
621                                            <td valign="top" class="name">Recurring Schedule:</td>
622
623                                            <td valign="top" class="value">${taskRecurringScheduleInstance.encodeAsHTML()}</td>
624                                        </tr>
625
626                                        <tr class="prop">
627                                            <td valign="top" class="name">Enabled:</td>
628
629                                            <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'enabled')}</td>
630                                        </tr>
631
632                                        <tr class="prop">
633                                            <td valign="top" class="name">Next Generation Date:</td>
634
635                                            <td valign="top" class="value">
636                                                <g:formatDate date="${taskRecurringScheduleInstance.nextGenerationDate}" format="EEE, dd-MMM-yyyy"/>
637                                            </td>
638                                        </tr>
639
640                                        <tr class="prop">
641                                            <td valign="top" class="name">Generate Ahead:</td>
642
643                                            <td valign="top" class="value">
644                                                ${taskRecurringScheduleInstance?.generateAhead} ${Period.get(1).encodeAsHTML()}
645                                            </td>
646                                        </tr>
647
648                                        <tr class="prop">
649                                            <td valign="top" class="name">Next Target Start Date:</td>
650
651                                            <td valign="top" class="value">
652                                                <g:formatDate date="${taskRecurringScheduleInstance.nextTargetStartDate}" format="EEE, dd-MMM-yyyy"/>
653                                            </td>
654                                        </tr>
655
656                                        <tr class="prop">
657                                            <td valign="top" class="name">Task Duration:</td>
658
659                                            <td valign="top" class="value">
660                                                ${taskRecurringScheduleInstance?.taskDuration} ${taskRecurringScheduleInstance?.taskDurationPeriod}
661                                            </td>
662                                        </tr>
663
664                                        <tr class="prop">
665                                            <td valign="top" class="name">Next Target Completion Date:</td>
666
667                                            <td valign="top" class="value">
668                                                <g:formatDate date="${taskRecurringScheduleInstance.nextTargetCompletionDate}" format="EEE, dd-MMM-yyyy"/>
669                                            </td>
670                                        </tr>
671
672                                    </tbody>
673                                </table>
674                            </div>
675                            <div class="buttons">
676                                <g:form controller="taskRecurringScheduleDetailed">
677                                    <input type="hidden" name="id" value="${taskRecurringScheduleInstance?.id}" />
678                                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
679                                    <span class="button"><g:actionSubmit class="go" value="Show" /></span>
680                                </g:form>
681                            </div>
682
683                        </g:else>
684                    </richui:tabContent>
685<!-- End Task Recurrence tab -->
686
687<!-- Start Inventory tab -->
688                    <richui:tabContent>
689
690                        <g:if test="${inventoryMovementList.isEmpty()}">
691                            <br />
692                            No Inventory Movements.
693                            <br />
694                            <br />
695                        </g:if>
696                        <g:else>
697                            <div class="list">
698                                <table>
699                                    <thead>
700                                        <tr>
701                                            <th>Inventory Item</th>
702                                            <th>Quantity</th>
703                                            <th>Movement Type</th>
704                                            <th>Date</th>
705                                            <th></th>
706                                        </tr>
707                                    </thead>
708                                    <tbody>
709                                        <g:each in="${inventoryMovementList}" status="i" var="inventoryMovementInstance">
710                                            <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
711
712                                                <td onclick='window.location = "${request.getContextPath()}/inventoryMovementDetailed/show/${inventoryMovementInstance.id}"'>
713                                                    ${fieldValue(bean:inventoryMovementInstance, field:'inventoryItem')}
714                                                </td>
715
716                                                <td onclick='window.location = "${request.getContextPath()}/inventoryMovementDetailed/show/${inventoryMovementInstance.id}"'>
717                                                    ${fieldValue(bean:inventoryMovementInstance, field:'quantity')}
718                                                </td>
719
720                                                <td onclick='window.location = "${request.getContextPath()}/inventoryMovementDetailed/show/${inventoryMovementInstance.id}"'>
721                                                    ${fieldValue(bean:inventoryMovementInstance, field:'inventoryMovementType')}
722                                                </td>
723
724                                                <td onclick='window.location = "${request.getContextPath()}/inventoryMovementDetailed/show/${inventoryMovementInstance.id}"'>
725                                                    <g:formatDate date="${inventoryMovementInstance.date}" format="EEE, dd-MMM-yyyy"/>
726                                                </td>
727
728                                                <td class="notClickable">
729                                                    <g:link controller="inventoryMovementDetailed" action="show" id="${inventoryMovementInstance.id}">
730                                                        <img  src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" />
731                                                    </g:link>
732                                                </td>
733
734                                            </tr>
735                                        </g:each>
736                                    </tbody>
737                                </table>
738                            </div>
739                        </g:else>
740
741                        <g:form controller="inventoryItemDetailed" >
742                            <g:hiddenField name="task.id" value="${taskInstance?.id}" />
743                            <div class="buttons">
744                                <g:if test="${!inventoryMovementList.isEmpty()}">
745                                    Results: ${inventoryMovementList.size()}
746                                    <br />
747                                </g:if>
748                                <span class="button">
749                                    <g:actionSubmit action="findInventoryItemForMovement" class="add" value="Add"/>
750                                </span>
751                            </div>
752                        </g:form>
753
754                    </richui:tabContent>
755<!-- End Inventory tab -->
756
757<!-- Start Sub Task tab -->
758                    <richui:tabContent>
759                        <g:if test="${subTaskInstanceTotal > 0}">
760                            <div class="list">
761                                <table>
762                                    <thead>
763                                        <tr>
764
765                                            <th>Id</th>
766
767                                            <th>Target Start Date</th>
768
769                                            <th>Description</th>
770
771                                            <th>Lead Person</th>
772
773                                            <th>Task Priority</th>
774
775                                            <th>Task Status</th>
776
777                                            <th></th>
778
779                                        </tr>
780                                    </thead>
781                                    <tbody>
782                                    <g:each in="${subTaskInstanceList}" status="i" var="subTaskInstance">
783                                        <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
784
785                                            <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>
786                                                ${fieldValue(bean:subTaskInstance, field:'id')}
787                                            </td>
788
789                                            <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>
790                                                <g:formatDate date="${subTaskInstance.targetStartDate}" format="EEE, dd-MMM-yyyy"/>
791                                            </td>
792
793                                            <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>
794                                                ${fieldValue(bean:subTaskInstance, field:'description')}
795                                            </td>
796
797
798                                            <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>
799                                                ${fieldValue(bean:subTaskInstance, field:'leadPerson')}
800                                            </td>
801
802                                            <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>
803                                                ${fieldValue(bean:subTaskInstance, field:'taskPriority')}
804                                            </td>
805
806                                            <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>
807                                                ${fieldValue(bean:subTaskInstance, field:'taskStatus')}
808                                            </td>
809
810                                            <td class="notClickable">
811                                                <g:link action="show" id="${subTaskInstance.id}">
812                                                    <img  src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" />
813                                                </g:link>
814                                            </td>
815
816                                        </tr>
817                                    </g:each>
818                                    </tbody>
819                                </table>
820                            </div>
821
822                            <div class="buttons">
823                                <g:form>
824                                    <g:hiddenField name="id" value="${taskInstance?.id}" />
825                                    <g:if test="${subTaskInstanceTotal > subTaskInstanceMax}">
826                                        Showing ${subTaskInstanceMax} of ${subTaskInstanceTotal}
827                                        <br />
828                                    </g:if>
829                                    <g:else>
830                                        Total ${subTaskInstanceTotal}
831                                        <br />
832                                    </g:else>
833                                    <span class="button"><g:actionSubmit action="listSubTasks" class="table" value="List" /></span>
834                                    <span class="button"><g:actionSubmit action="createSubTask" class="save" value="Create" onclick="return confirm('${g.message(code: 'sub.task.create.confirm')}');" /></span>
835                                </g:form>
836                            </div>
837
838                        </g:if>
839                        <g:else>
840                            <br />
841                            No Sub Tasks.
842                            <br />
843                            <br />
844
845                            <div class="buttons">
846                                <g:form>
847                                    <g:hiddenField name="id" value="${taskInstance?.id}" />
848                                    <span class="button"><g:actionSubmit action="createSubTask" class="save" value="Create" onclick="return confirm('${g.message(code: 'sub.task.create.confirm')}');" /></span>
849                                </g:form>
850                            </div>
851                        </g:else>
852
853                    </richui:tabContent>
854<!-- End Sub Task tab -->
855
856                </richui:tabContents>
857            </richui:tabView>
858
859        </div> <!--body-->
860    </body>
861</html>
Note: See TracBrowser for help on using the repository browser.