source: branches/features/taskProcedureRework/grails-app/views/taskDetailed/show.gsp @ 785

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

Show the assemblies parentItem (machine) in the procedure show tab, part 2.

File size: 47.6 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:'arrow_right.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" title="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" title="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" title="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                                            <td valign="top" class="value">
516                                                ${fieldValue(bean:taskProcedureInstance, field:'id')}
517                                            </td>
518                                        </tr>
519
520                                        <tr class="prop">
521                                            <td valign="top" class="name">Linked Task:</td>
522                                            <td valign="top" class="value">
523                                                <g:link controller="taskDetailed"
524                                                                action="show"
525                                                                id="${taskProcedureInstance.linkedTask.id}">
526                                                    ${taskProcedureInstance.linkedTask.encodeAsHTML()}
527                                                </g:link>
528                                            </td>
529                                        </tr>
530
531                                        <tr class="prop">
532                                            <td valign="top" class="name">Linked Asset:</td>
533                                            <td valign="top" class="value">
534                                                <g:render template="/shared/assetTreeCompact" model="['assetInstance': taskProcedureInstance.linkedTask.primaryAsset]" />
535                                            </td>
536                                        </tr>
537
538                                        <tr class="prop">
539                                            <td valign="top" class="name">Version:</td>
540                                            <td valign="top" class="value">
541                                                    ${fieldValue(bean:taskProcedureInstance, field:'version')}
542                                            </td>
543                                        </tr>
544
545                                        <tr class="prop">
546                                            <td valign="top" class="name">Last Updated:</td>
547                                            <td valign="top" class="value">
548                                                <g:formatDate date="${taskProcedureInstance.lastUpdated}"
549                                                                            format="EEE, dd-MMM-yyyy"/>
550                                            </td>
551                                        </tr>
552
553                                    </tbody>
554                                </table>
555                            </div>
556                            <div class="buttons">
557                                <g:form controller="taskProcedureDetailed">
558                                    <input type="hidden" name="id" value="${taskProcedureInstance?.id}" />
559                                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
560                                </g:form>
561                            </div>
562
563                            <div class="list">
564                                <table>
565                                    <thead>
566                                        <tr>
567                                            <th>Step</th>
568                                            <th>Assembly</th>
569                                            <th>Description</th>
570                                            <th>Reference</th>
571                                        </tr>
572                                    </thead>
573                                    <tbody>
574                                        <g:each in="${maintenanceActionList}" status="i" var="maintenanceAction">
575                                            <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
576
577                                                <td valign="top" class="name">
578                                                    ${fieldValue(bean:maintenanceAction, field:'procedureStepNumber')}
579                                                </td>
580
581                                                <td  valign="top" style="text-align:left;" class="value">
582                                                    <g:if test="${maintenanceAction.assetSubItem}">
583                                                        ${maintenanceAction.assetSubItem.parentItem?.encodeAsHTML()}
584                                                        --
585                                                        ${maintenanceAction.assetSubItem.encodeAsHTML()}
586                                                    </g:if>
587                                                </td>
588
589                                                <td  valign="top" style="text-align:left;" class="value">
590                                                    ${fieldValue(bean:maintenanceAction, field:'description')}
591                                                </td>
592
593                                                <td  valign="top" style="text-align:left;" class="value">
594                                                    ${fieldValue(bean:maintenanceAction, field:'reasoning')}
595                                                </td>
596
597                                            </tr>
598                                        </g:each>
599
600                                    </tbody>
601                                </table>
602                            </div>
603
604                        </g:else>
605
606                    </richui:tabContent>
607<!-- End Task Procedure tab-->
608
609<!-- Start Task Recurrence tab -->
610                    <richui:tabContent>
611
612                        <g:if test="${!taskRecurringScheduleExits}">
613                            <br />
614                            No Recurring Schedule.
615                            <br />
616                            <br />
617                            <g:form controller="taskRecurringScheduleDetailed" >
618                                <g:hiddenField name="task.id" value="${taskInstance.id}" />
619
620                                <div class="buttons">
621                                    <span class="button">
622                                        <g:actionSubmit value="Add" action="create" class="add" />
623                                    </span>
624                                </div>
625
626                            </g:form>
627
628                        </g:if>
629                        <g:else>
630
631                        <div class="dialog">
632                                <table>
633                                    <tbody>
634                                        <tr class="prop">
635                                            <td valign="top" class="name">Recurring Schedule:</td>
636
637                                            <td valign="top" class="value">${taskRecurringScheduleInstance.encodeAsHTML()}</td>
638                                        </tr>
639
640                                        <tr class="prop">
641                                            <td valign="top" class="name">Enabled:</td>
642
643                                            <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'enabled')}</td>
644                                        </tr>
645
646                                        <tr class="prop">
647                                            <td valign="top" class="name">Next Generation Date:</td>
648
649                                            <td valign="top" class="value">
650                                                <g:formatDate date="${taskRecurringScheduleInstance.nextGenerationDate}" format="EEE, dd-MMM-yyyy"/>
651                                            </td>
652                                        </tr>
653
654                                        <tr class="prop">
655                                            <td valign="top" class="name">Generate Ahead:</td>
656
657                                            <td valign="top" class="value">
658                                                ${taskRecurringScheduleInstance?.generateAhead} ${Period.get(1).encodeAsHTML()}
659                                            </td>
660                                        </tr>
661
662                                        <tr class="prop">
663                                            <td valign="top" class="name">Next Target Start Date:</td>
664
665                                            <td valign="top" class="value">
666                                                <g:formatDate date="${taskRecurringScheduleInstance.nextTargetStartDate}" format="EEE, dd-MMM-yyyy"/>
667                                            </td>
668                                        </tr>
669
670                                        <tr class="prop">
671                                            <td valign="top" class="name">Task Duration:</td>
672
673                                            <td valign="top" class="value">
674                                                ${taskRecurringScheduleInstance?.taskDuration} ${taskRecurringScheduleInstance?.taskDurationPeriod}
675                                            </td>
676                                        </tr>
677
678                                        <tr class="prop">
679                                            <td valign="top" class="name">Next Target Completion Date:</td>
680
681                                            <td valign="top" class="value">
682                                                <g:formatDate date="${taskRecurringScheduleInstance.nextTargetCompletionDate}" format="EEE, dd-MMM-yyyy"/>
683                                            </td>
684                                        </tr>
685
686                                    </tbody>
687                                </table>
688                            </div>
689                            <div class="buttons">
690                                <g:form controller="taskRecurringScheduleDetailed">
691                                    <input type="hidden" name="id" value="${taskRecurringScheduleInstance?.id}" />
692                                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
693                                    <span class="button"><g:actionSubmit class="go" value="Show" /></span>
694                                </g:form>
695                            </div>
696
697                        </g:else>
698                    </richui:tabContent>
699<!-- End Task Recurrence tab -->
700
701<!-- Start Inventory tab -->
702                    <richui:tabContent>
703
704                        <g:if test="${inventoryMovementList.isEmpty()}">
705                            <br />
706                            No Inventory Movements.
707                            <br />
708                            <br />
709                        </g:if>
710                        <g:else>
711                            <div class="list">
712                                <table>
713                                    <thead>
714                                        <tr>
715                                            <th>Inventory Item</th>
716                                            <th>Quantity</th>
717                                            <th>Movement Type</th>
718                                            <th>Date</th>
719                                            <th></th>
720                                        </tr>
721                                    </thead>
722                                    <tbody>
723                                        <g:each in="${inventoryMovementList}" status="i" var="inventoryMovementInstance">
724                                            <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
725
726                                                <td onclick='window.location = "${request.getContextPath()}/inventoryMovementDetailed/show/${inventoryMovementInstance.id}"'>
727                                                    ${fieldValue(bean:inventoryMovementInstance, field:'inventoryItem')}
728                                                </td>
729
730                                                <td onclick='window.location = "${request.getContextPath()}/inventoryMovementDetailed/show/${inventoryMovementInstance.id}"'>
731                                                    ${fieldValue(bean:inventoryMovementInstance, field:'quantity')}
732                                                </td>
733
734                                                <td onclick='window.location = "${request.getContextPath()}/inventoryMovementDetailed/show/${inventoryMovementInstance.id}"'>
735                                                    ${fieldValue(bean:inventoryMovementInstance, field:'inventoryMovementType')}
736                                                </td>
737
738                                                <td onclick='window.location = "${request.getContextPath()}/inventoryMovementDetailed/show/${inventoryMovementInstance.id}"'>
739                                                    <g:formatDate date="${inventoryMovementInstance.date}" format="EEE, dd-MMM-yyyy"/>
740                                                </td>
741
742                                                <td class="notClickable">
743                                                    <g:link controller="inventoryMovementDetailed" action="show" id="${inventoryMovementInstance.id}">
744                                                        <img  src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" title="Show" />
745                                                    </g:link>
746                                                </td>
747
748                                            </tr>
749                                        </g:each>
750                                    </tbody>
751                                </table>
752                            </div>
753                        </g:else>
754
755                        <g:form controller="inventoryItemDetailed" >
756                            <g:hiddenField name="task.id" value="${taskInstance?.id}" />
757                            <div class="buttons">
758                                <g:if test="${!inventoryMovementList.isEmpty()}">
759                                    Results: ${inventoryMovementList.size()}
760                                    <br />
761                                </g:if>
762                                <span class="button">
763                                    <g:actionSubmit action="findInventoryItemForMovement" class="add" value="Add" />
764                                </span>
765                            </div>
766                        </g:form>
767
768                    </richui:tabContent>
769<!-- End Inventory tab -->
770
771<!-- Start Sub Task tab -->
772                    <richui:tabContent>
773                        <g:if test="${subTaskInstanceTotal > 0}">
774                            <div class="list">
775                                <table>
776                                    <thead>
777                                        <tr>
778
779                                            <th>Id</th>
780
781                                            <th>Target Start Date</th>
782
783                                            <th>Description</th>
784
785                                            <th>Lead Person</th>
786
787                                            <th>Task Priority</th>
788
789                                            <th>Task Status</th>
790
791                                            <th></th>
792
793                                        </tr>
794                                    </thead>
795                                    <tbody>
796                                    <g:each in="${subTaskInstanceList}" status="i" var="subTaskInstance">
797                                        <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
798
799                                            <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>
800                                                ${fieldValue(bean:subTaskInstance, field:'id')}
801                                            </td>
802
803                                            <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>
804                                                <g:formatDate date="${subTaskInstance.targetStartDate}" format="EEE, dd-MMM-yyyy"/>
805                                            </td>
806
807                                            <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>
808                                                ${fieldValue(bean:subTaskInstance, field:'description')}
809                                            </td>
810
811
812                                            <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>
813                                                ${fieldValue(bean:subTaskInstance, field:'leadPerson')}
814                                            </td>
815
816                                            <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>
817                                                ${fieldValue(bean:subTaskInstance, field:'taskPriority')}
818                                            </td>
819
820                                            <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>
821                                                ${fieldValue(bean:subTaskInstance, field:'taskStatus')}
822                                            </td>
823
824                                            <td class="notClickable">
825                                                <g:link action="show" id="${subTaskInstance.id}">
826                                                    <img  src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" title="Show" />
827                                                </g:link>
828                                            </td>
829
830                                        </tr>
831                                    </g:each>
832                                    </tbody>
833                                </table>
834                            </div>
835
836                            <div class="buttons">
837                                <g:form>
838                                    <g:hiddenField name="id" value="${taskInstance?.id}" />
839                                    <g:if test="${subTaskInstanceTotal > subTaskInstanceMax}">
840                                        Showing ${subTaskInstanceMax} of ${subTaskInstanceTotal}
841                                        <br />
842                                    </g:if>
843                                    <g:else>
844                                        Total ${subTaskInstanceTotal}
845                                        <br />
846                                    </g:else>
847                                    <span class="button"><g:actionSubmit action="listSubTasks" class="table" value="List" /></span>
848                                    <span class="button"><g:actionSubmit action="createSubTask" class="save" value="Create" onclick="return confirm('${g.message(code: 'sub.task.create.confirm')}');" /></span>
849                                </g:form>
850                            </div>
851
852                        </g:if>
853                        <g:else>
854                            <br />
855                            No Sub Tasks.
856                            <br />
857                            <br />
858
859                            <div class="buttons">
860                                <g:form>
861                                    <g:hiddenField name="id" value="${taskInstance?.id}" />
862                                    <span class="button"><g:actionSubmit action="createSubTask" class="save" value="Create" onclick="return confirm('${g.message(code: 'sub.task.create.confirm')}');" /></span>
863                                </g:form>
864                            </div>
865                        </g:else>
866
867                    </richui:tabContent>
868<!-- End Sub Task tab -->
869
870                </richui:tabContents>
871            </richui:tabView>
872
873        </div> <!--body-->
874    </body>
875</html>
Note: See TracBrowser for help on using the repository browser.