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

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

Add clear task attention flag and complete confirmation.

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