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

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

Graphical touch up of task show view, add recurring schedule enabled icon.

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