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

Last change on this file since 431 was 431, checked in by gav, 14 years ago

Add ProductionReference.
Add ProductionManager and ProductionUser roles.
Update immediate callout help definitions, roll errors into one ul.
Add help definitions for resolved and unresolved.

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