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

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

Domain change, split Task.mandatoryRegulatory into regulatoryRequirement and mandatoryRequirement.

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