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

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

Task trash improvements.
Allow trashed parentTask to break subTask links (only with auth).
Prevent trashing of tasks linked to taskProcedure or Parent PM type tasks.

File size: 49.8 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
273                                        <span class="button"><g:actionSubmit class="complete" value="Resolved" action="complete"/></span>
[431]274                                        <g:helpBalloon class="helpballoon" code="task.status.resolved" />
[418]275
[181]276                                        <g:if test="${taskInstance.approved}" >
277                                            <span class="button"><g:actionSubmit class="renegeApproval" value="Renege Approval" action="renegeApproval" /></span>
278                                        </g:if>
279                                        <g:else>
280                                            <span class="button"><g:actionSubmit class="approve" value="Approve" /></span>
281                                        </g:else>
282
283                                        <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
[802]284                                        <span class="button">
285                                            <g:actionSubmit class="trash"
286                                                                        onclick="return confirm('${message(code:'task.trash.confirm')}');"
287                                                                        value="Trash" />
288                                        </span>
[181]289
290                                    </g:if>
291                                    <g:else>
292                                        <span class="button"><g:actionSubmit class="reopen" value="Reopen" /></span>
293                                    </g:else>
294
295                                </g:else>
[131]296                            </g:form>
297                        </div>
[153]298
[191]299                        <br />
[153]300
[191]301                        <g:if test="${entryFaultList.isEmpty()}">
302                            <h1>No Faults</h1>
303                            <br />
304                        </g:if>
305                        <g:else>
306                            <div class="list">
307                                <h1>Faults</h1>
308                                <table>
309                                    <thead>
310                                        <tr>
311                                            <th>Comment</th>
[431]312                                            <th>Date</th>
313                                            <th>Production</th>
[418]314                                            <th>Down Time</th>
[191]315                                            <th>Entered By</th>
316                                            <th></th>
[131]317                                        </tr>
[191]318                                    </thead>
319                                    <tbody>
320                                        <g:each in="${entryFaultList}" status="i" var="entry">
[498]321                                                <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
[153]322
[498]323                                                    <td style="width:65%" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
324                                                        ${entry.comment.encodeAsHTML()}
325                                                    </td>
326
327                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
328                                                        <g:formatDate date="${entry.dateDone}" format="EEE, dd-MMM-yyyy"/>
329                                                    </td>
330
331                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
[431]332                                                        <g:if test="${entry.productionReference}">
333                                                            ${entry.productionReference.encodeAsHTML()}
334                                                        </g:if>
335                                                        <g:else>
336                                                            <g:message code="default.none.text" />
337                                                        </g:else>
338                                                    </td>
[153]339
[498]340                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
341                                                        ${entry.durationHour}:${entry.durationMinute}
342                                                    </td>
343
344                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
345                                                        ${entry.enteredBy.encodeAsHTML()}
346                                                    </td>
347
348                                                    <td class="notClickable">
[191]349                                                        <g:link controller="entryDetailed" action="edit" id="${entry.id}">
[736]350                                                            <img  src="${resource(dir:'images/skin',file:'database_edit.png')}" alt="Edit" title="Edit" />
[191]351                                                        </g:link>
352                                                    </td>
[153]353
[191]354                                                </tr>
355                                        </g:each>
356                                    </tbody>
357                                </table>
358                            </div>
359                        </g:else>
[153]360
[191]361                        <div class="buttons">
362                            <g:form controller="entryDetailed">
363                                <g:hiddenField name="taskInstance.id" value="${taskInstance?.id}" />
364                                <g:hiddenField name="entryType.id" value="1" />
365                                <span class="button">
366                                    <g:actionSubmit value="Add Fault" action="create"  class="add"/>
367                                </span>
368                            </g:form>
[131]369                        </div>
[153]370
[131]371                        <br />
[153]372
[418]373                        <g:if test="${entryCauseList.isEmpty()}">
374                            <h1>No Causes</h1>
375                            <br />
376                        </g:if>
377                        <g:else>
378                            <div class="list">
379                                <h1>Causes</h1>
380                                <table>
381                                    <thead>
382                                        <tr>
383                                            <th>Comment</th>
384                                            <th>Date Done</th>
385                                            <th>Entered By</th>
386                                            <th></th>
387                                        </tr>
388                                    </thead>
389                                    <tbody>
390                                        <g:each in="${entryCauseList}" status="i" var="entry">
[498]391                                                <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
[418]392
[498]393                                                    <td style="width:65%" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
394                                                        ${entry.comment.encodeAsHTML()}
395                                                    </td>
[418]396
[498]397                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
398                                                        <g:formatDate date="${entry.dateDone}" format="EEE, dd-MMM-yyyy"/>
399                                                    </td>
400
401                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
402                                                        ${entry.enteredBy.encodeAsHTML()}
403                                                    </td>
404
405                                                    <td class="notClickable">
[418]406                                                        <g:link controller="entryDetailed" action="edit" id="${entry.id}">
[736]407                                                            <img  src="${resource(dir:'images/skin',file:'database_edit.png')}" alt="Edit" title="Edit" />
[418]408                                                        </g:link>
409                                                    </td>
410
411                                                </tr>
412                                        </g:each>
413                                    </tbody>
414                                </table>
415                            </div>
416                        </g:else>
417
418                        <div class="buttons">
419                            <g:form controller="entryDetailed">
420                                <g:hiddenField name="taskInstance.id" value="${taskInstance?.id}" />
421                                <g:hiddenField name="entryType.id" value="2" />
422                                <span class="button">
423                                    <g:actionSubmit value="Add Cause" action="create"  class="add"/>
424                                </span>
425                            </g:form>
426                        </div>
427
428                        <br />
429
[191]430                        <g:if test="${entryWorkDoneList.isEmpty()}">
431                            <h1>No Work Done</h1>
432                            <br />
433                        </g:if>
434                        <g:else>
435                            <div class="list">
436                                <h1>Work Done</h1>
437                                <table>
438                                    <thead>
439                                        <tr>
440                                            <th>Comment</th>
441                                            <th>Date Done</th>
442                                            <th>Duration</th>
443                                            <th>Entered By</th>
444                                            <th></th>
445                                        </tr>
446                                    </thead>
447                                    <tbody>
448                                        <g:each in="${entryWorkDoneList}" status="i" var="entry">
[498]449                                                <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
[191]450
[498]451                                                    <td width="65%" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
452                                                        ${entry.comment.encodeAsHTML()}
453                                                    </td>
454                                                   
455                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
456                                                        <g:formatDate date="${entry.dateDone}" format="EEE, dd-MMM-yyyy"/>
457                                                    </td>
458                                                   
459                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
460                                                        ${entry.durationHour}:${entry.durationMinute}
461                                                    </td>
462                                                   
463                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
464                                                        ${entry.enteredBy.encodeAsHTML()}
465                                                    </td>
[191]466
[498]467                                                    <td class="notClickable">
[191]468                                                        <g:link controller="entryDetailed" action="edit" id="${entry.id}">
[736]469                                                            <img  src="${resource(dir:'images/skin',file:'database_edit.png')}" alt="Edit" title="Edit" />
[191]470                                                        </g:link>
471                                                    </td>
472
473                                                </tr>
474                                        </g:each>
475                                    </tbody>
476                                </table>
477                            </div>
478                        </g:else>
479
[131]480                        <div class="buttons">
481                            <g:form controller="entryDetailed">
[191]482                                <g:hiddenField name="taskInstance.id" value="${taskInstance?.id}" />
[418]483                                <g:hiddenField name="entryType.id" value="3" />
[131]484                                <span class="button">
[191]485                                    <g:actionSubmit value="Add Work Done" action="create"  class="add"/>
[131]486                                </span>
487                            </g:form>
488                        </div>
489                    </richui:tabContent>
490<!-- End Task tab -->
[126]491
[137]492
[131]493<!-- Start Task Procedure tab-->
494                    <richui:tabContent>
[133]495                        <g:if test="${!taskProcedureExits}">
[153]496                            <br />
497                            No Procedure linked.
498                            <br />
499                            <br />
[134]500                            <g:form controller="taskProcedureDetailed" >
[203]501                                <g:hiddenField name="taskInstance.id" value="${taskInstance?.id}" />
[133]502
503                                <div class="buttons">
504                                    <span class="button">
[175]505                                        <g:actionSubmit value="New" action="create" class="add"/>
[133]506                                    </span>
507                                    <span class="button">
[175]508                                        <g:actionSubmit value="Search" action="search" class="search"/>
[133]509                                    </span>
510                                </div>
[134]511
[133]512                            </g:form>
[126]513
[133]514                        </g:if>
515                        <g:else>
[153]516                            <div class="dialog">
[133]517                                <table>
518                                    <tbody>
[153]519
[133]520                                        <tr class="prop">
521                                            <td valign="top" class="name">Procedure Id:</td>
[798]522                                            <td valign="top" class="value">
523                                                ${fieldValue(bean:taskProcedureInstance, field:'id')}
524                                            </td>
525                                        </tr>
[153]526
[798]527                                        <tr class="prop">
528                                            <td valign="top" class="name">Linked Task:</td>
529                                            <td valign="top" class="value">
530                                                <g:link controller="taskDetailed"
531                                                                action="show"
532                                                                id="${taskProcedureInstance.linkedTask.id}">
533                                                    ${taskProcedureInstance.linkedTask.encodeAsHTML()}
534                                                </g:link>
535                                            </td>
[133]536                                        </tr>
[153]537
[133]538                                        <tr class="prop">
[798]539                                            <td valign="top" class="name">Linked Asset:</td>
540                                            <td valign="top" class="value">
541                                                <g:render template="/shared/assetTreeCompact" model="['assetInstance': taskProcedureInstance.linkedTask.primaryAsset]" />
542                                            </td>
[133]543                                        </tr>
[153]544
[133]545                                        <tr class="prop">
[798]546                                            <td valign="top" class="name">Version:</td>
547                                            <td valign="top" class="value">
548                                                    ${fieldValue(bean:taskProcedureInstance, field:'version')}
549                                            </td>
[133]550                                        </tr>
[153]551
[133]552                                        <tr class="prop">
[798]553                                            <td valign="top" class="name">Last Updated:</td>
554                                            <td valign="top" class="value">
555                                                <g:formatDate date="${taskProcedureInstance.lastUpdated}"
556                                                                            format="EEE, dd-MMM-yyyy"/>
557                                            </td>
[133]558                                        </tr>
[153]559
[133]560                                    </tbody>
561                                </table>
562                            </div>
563                            <div class="buttons">
564                                <g:form controller="taskProcedureDetailed">
565                                    <input type="hidden" name="id" value="${taskProcedureInstance?.id}" />
566                                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
[153]567                                </g:form>
[133]568                            </div>
[126]569
[798]570                            <br />
571
572                            <g:if test="${taskProcedureInstance.documentReferences}">
573                                <div class="list">
574                                    <table>
575                                        <thead>
576                                            <tr>
577                                                <th>Document Reference</th>
578                                                <th>Location</th>
579                                            </tr>
580                                        </thead>
581                                        <tbody>
582                                            <g:each in="${taskProcedureInstance.documentReferences}" status="i" var="docRef">
583                                                <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
584
585                                                    <td valign="top" class="name">
586                                                        ${fieldValue(bean:docRef, field:'name')}
587                                                    </td>
588
589                                                    <td  valign="top" style="text-align:left;" class="value">
590                                                        <custom:easyUrl url="${docRef.location}" />
591                                                    </td>
592
593                                                </tr>
594                                            </g:each>
595
596                                        </tbody>
597                                    </table>
598                                </div>
599                            </g:if>
600
601                            <br />
602
[153]603                            <div class="list">
604                                <table>
605                                    <thead>
606                                        <tr>
607                                            <th>Step</th>
[798]608                                            <th>Assembly</th>
[153]609                                            <th>Description</th>
[798]610                                            <th>Page Ref</th>
611                                            <th>Condition</th>
[153]612                                        </tr>
613                                    </thead>
614                                    <tbody>
615                                        <g:each in="${maintenanceActionList}" status="i" var="maintenanceAction">
616                                            <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
617
618                                                <td valign="top" class="name">
[498]619                                                    ${fieldValue(bean:maintenanceAction, field:'procedureStepNumber')}
[153]620                                                </td>
621
622                                                <td  valign="top" style="text-align:left;" class="value">
[798]623                                                    <g:if test="${maintenanceAction.assetSubItem}">
624                                                        ${maintenanceAction.assetSubItem.parentItem?.encodeAsHTML()}
625                                                        --
626                                                        ${maintenanceAction.assetSubItem.encodeAsHTML()}
627                                                    </g:if>
[153]628                                                </td>
629
[474]630                                                <td  valign="top" style="text-align:left;" class="value">
[798]631                                                    ${fieldValue(bean:maintenanceAction, field:'description')}
[474]632                                                </td>
633
634                                                <td  valign="top" style="text-align:left;" class="value">
[798]635                                                    ${fieldValue(bean:maintenanceAction, field:'pageRef')}
[474]636                                                </td>
637
638                                                <td  valign="top" style="text-align:left;" class="value">
639                                                </td>
640
[153]641                                            </tr>
642                                        </g:each>
643
644                                    </tbody>
645                                </table>
646                            </div>
647
[133]648                        </g:else>
649
[131]650                    </richui:tabContent>
651<!-- End Task Procedure tab-->
[126]652
[131]653<!-- Start Task Recurrence tab -->
654                    <richui:tabContent>
[134]655
656                        <g:if test="${!taskRecurringScheduleExits}">
[153]657                            <br />
658                            No Recurring Schedule.
659                            <br />
660                            <br />
[134]661                            <g:form controller="taskRecurringScheduleDetailed" >
[203]662                                <g:hiddenField name="task.id" value="${taskInstance.id}" />
[134]663
664                                <div class="buttons">
665                                    <span class="button">
[736]666                                        <g:actionSubmit value="Add" action="create" class="add" />
[134]667                                    </span>
668                                </div>
669
670                            </g:form>
671
672                        </g:if>
673                        <g:else>
[153]674
675                        <div class="dialog">
676                                <table>
677                                    <tbody>
678                                        <tr class="prop">
679                                            <td valign="top" class="name">Recurring Schedule:</td>
680
681                                            <td valign="top" class="value">${taskRecurringScheduleInstance.encodeAsHTML()}</td>
[137]682                                        </tr>
[153]683
[137]684                                        <tr class="prop">
[445]685                                            <td valign="top" class="name">Enabled:</td>
686
687                                            <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'enabled')}</td>
688                                        </tr>
689
690                                        <tr class="prop">
[199]691                                            <td valign="top" class="name">Next Generation Date:</td>
[153]692
693                                            <td valign="top" class="value">
[199]694                                                <g:formatDate date="${taskRecurringScheduleInstance.nextGenerationDate}" format="EEE, dd-MMM-yyyy"/>
[153]695                                            </td>
696                                        </tr>
697
698                                        <tr class="prop">
[137]699                                            <td valign="top" class="name">Generate Ahead:</td>
[153]700
[137]701                                            <td valign="top" class="value">
[199]702                                                ${taskRecurringScheduleInstance?.generateAhead} ${Period.get(1).encodeAsHTML()}
[137]703                                            </td>
704                                        </tr>
[153]705
706                                        <tr class="prop">
[199]707                                            <td valign="top" class="name">Next Target Start Date:</td>
[153]708
709                                            <td valign="top" class="value">
710                                                <g:formatDate date="${taskRecurringScheduleInstance.nextTargetStartDate}" format="EEE, dd-MMM-yyyy"/>
711                                            </td>
712                                        </tr>
713
714                                        <tr class="prop">
[199]715                                            <td valign="top" class="name">Task Duration:</td>
[153]716
[137]717                                            <td valign="top" class="value">
[199]718                                                ${taskRecurringScheduleInstance?.taskDuration} ${taskRecurringScheduleInstance?.taskDurationPeriod}
[137]719                                            </td>
720                                        </tr>
[153]721
[137]722                                        <tr class="prop">
[199]723                                            <td valign="top" class="name">Next Target Completion Date:</td>
[153]724
[137]725                                            <td valign="top" class="value">
[199]726                                                <g:formatDate date="${taskRecurringScheduleInstance.nextTargetCompletionDate}" format="EEE, dd-MMM-yyyy"/>
[137]727                                            </td>
728                                        </tr>
[153]729
730                                    </tbody>
731                                </table>
732                            </div>
[134]733                            <div class="buttons">
734                                <g:form controller="taskRecurringScheduleDetailed">
[135]735                                    <input type="hidden" name="id" value="${taskRecurringScheduleInstance?.id}" />
[134]736                                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
[199]737                                    <span class="button"><g:actionSubmit class="go" value="Show" /></span>
[153]738                                </g:form>
[134]739                            </div>
[153]740
741                        </g:else>
[131]742                    </richui:tabContent>
743<!-- End Task Recurrence tab -->
[126]744
[131]745<!-- Start Inventory tab -->
746                    <richui:tabContent>
[175]747
748                        <g:if test="${inventoryMovementList.isEmpty()}">
749                            <br />
[225]750                            No Inventory Movements.
[175]751                            <br />
752                            <br />
753                        </g:if>
754                        <g:else>
755                            <div class="list">
756                                <table>
757                                    <thead>
758                                        <tr>
759                                            <th>Inventory Item</th>
760                                            <th>Quantity</th>
761                                            <th>Movement Type</th>
762                                            <th>Date</th>
763                                            <th></th>
764                                        </tr>
765                                    </thead>
766                                    <tbody>
767                                        <g:each in="${inventoryMovementList}" status="i" var="inventoryMovementInstance">
[498]768                                            <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
[175]769
[498]770                                                <td onclick='window.location = "${request.getContextPath()}/inventoryMovementDetailed/show/${inventoryMovementInstance.id}"'>
771                                                    ${fieldValue(bean:inventoryMovementInstance, field:'inventoryItem')}
772                                                </td>
773
774                                                <td onclick='window.location = "${request.getContextPath()}/inventoryMovementDetailed/show/${inventoryMovementInstance.id}"'>
775                                                    ${fieldValue(bean:inventoryMovementInstance, field:'quantity')}
776                                                </td>
777
778                                                <td onclick='window.location = "${request.getContextPath()}/inventoryMovementDetailed/show/${inventoryMovementInstance.id}"'>
779                                                    ${fieldValue(bean:inventoryMovementInstance, field:'inventoryMovementType')}
780                                                </td>
781
782                                                <td onclick='window.location = "${request.getContextPath()}/inventoryMovementDetailed/show/${inventoryMovementInstance.id}"'>
783                                                    <g:formatDate date="${inventoryMovementInstance.date}" format="EEE, dd-MMM-yyyy"/>
784                                                </td>
785
786                                                <td class="notClickable">
[175]787                                                    <g:link controller="inventoryMovementDetailed" action="show" id="${inventoryMovementInstance.id}">
[736]788                                                        <img  src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" title="Show" />
[175]789                                                    </g:link>
790                                                </td>
791
792                                            </tr>
793                                        </g:each>
794                                    </tbody>
795                                </table>
796                            </div>
797                        </g:else>
798
[225]799                        <g:form controller="inventoryItemDetailed" >
800                            <g:hiddenField name="task.id" value="${taskInstance?.id}" />
[175]801                            <div class="buttons">
802                                <g:if test="${!inventoryMovementList.isEmpty()}">
803                                    Results: ${inventoryMovementList.size()}
804                                    <br />
805                                </g:if>
806                                <span class="button">
[736]807                                    <g:actionSubmit action="findInventoryItemForMovement" class="add" value="Add" />
[175]808                                </span>
809                            </div>
810                        </g:form>
811
[131]812                    </richui:tabContent>
813<!-- End Inventory tab -->
[126]814
[153]815<!-- Start Sub Task tab -->
[131]816                    <richui:tabContent>
[574]817                        <g:if test="${subTaskInstanceTotal > 0}">
[153]818                            <div class="list">
819                                <table>
820                                    <thead>
821                                        <tr>
[134]822
[153]823                                            <th>Id</th>
824
825                                            <th>Target Start Date</th>
826
827                                            <th>Description</th>
828
829                                            <th>Lead Person</th>
830
831                                            <th>Task Priority</th>
832
833                                            <th>Task Status</th>
834
835                                            <th></th>
836
837                                        </tr>
838                                    </thead>
839                                    <tbody>
840                                    <g:each in="${subTaskInstanceList}" status="i" var="subTaskInstance">
[498]841                                        <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
[153]842
[498]843                                            <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>
844                                                ${fieldValue(bean:subTaskInstance, field:'id')}
845                                            </td>
[153]846
[498]847                                            <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>
848                                                <g:formatDate date="${subTaskInstance.targetStartDate}" format="EEE, dd-MMM-yyyy"/>
849                                            </td>
[153]850
[498]851                                            <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>
852                                                ${fieldValue(bean:subTaskInstance, field:'description')}
853                                            </td>
[153]854
855
[498]856                                            <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>
857                                                ${fieldValue(bean:subTaskInstance, field:'leadPerson')}
858                                            </td>
[153]859
[498]860                                            <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>
861                                                ${fieldValue(bean:subTaskInstance, field:'taskPriority')}
862                                            </td>
[153]863
[498]864                                            <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>
865                                                ${fieldValue(bean:subTaskInstance, field:'taskStatus')}
866                                            </td>
[153]867
[498]868                                            <td class="notClickable">
[153]869                                                <g:link action="show" id="${subTaskInstance.id}">
[736]870                                                    <img  src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" title="Show" />
[153]871                                                </g:link>
872                                            </td>
873
874                                        </tr>
875                                    </g:each>
876                                    </tbody>
877                                </table>
878                            </div>
879
880                            <div class="buttons">
881                                <g:form>
[196]882                                    <g:hiddenField name="id" value="${taskInstance?.id}" />
[153]883                                    <g:if test="${subTaskInstanceTotal > subTaskInstanceMax}">
884                                        Showing ${subTaskInstanceMax} of ${subTaskInstanceTotal}
885                                        <br />
886                                    </g:if>
887                                    <g:else>
888                                        Total ${subTaskInstanceTotal}
889                                        <br />
890                                    </g:else>
[196]891                                    <span class="button"><g:actionSubmit action="listSubTasks" class="table" value="List" /></span>
[257]892                                    <span class="button"><g:actionSubmit action="createSubTask" class="save" value="Create" onclick="return confirm('${g.message(code: 'sub.task.create.confirm')}');" /></span>
[153]893                                </g:form>
894                            </div>
895
896                        </g:if>
897                        <g:else>
898                            <br />
899                            No Sub Tasks.
[196]900                            <br />
901                            <br />
902
903                            <div class="buttons">
904                                <g:form>
905                                    <g:hiddenField name="id" value="${taskInstance?.id}" />
[257]906                                    <span class="button"><g:actionSubmit action="createSubTask" class="save" value="Create" onclick="return confirm('${g.message(code: 'sub.task.create.confirm')}');" /></span>
[196]907                                </g:form>
908                            </div>
[153]909                        </g:else>
910
[131]911                    </richui:tabContent>
912<!-- End Sub Task tab -->
[126]913
[131]914                </richui:tabContents>
915            </richui:tabView>
[153]916
[418]917        </div> <!--body-->
[84]918    </body>
919</html>
Note: See TracBrowser for help on using the repository browser.