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

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

Improved table row onclick implementation for all detailed list and search views.

File size: 44.6 KB
RevLine 
[84]1<html>
2    <head>
3        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
4        <meta name="layout" content="main" />
[196]5        <title>Show Task #${taskInstance.id}</title>
[139]6        <nav:resources override="true"/>
[126]7        <resource:tabView skin="tabviewCustom" />
[84]8    </head>
9    <body>
10        <div class="nav">
[139]11            <nav:renderSubItems group="nav"/>
[84]12        </div>
13        <div class="body">
[418]14            <g:render template="/shared/messages" />
[181]15            <g:if test="${taskInstance.trash}" >
16                <div class="errors">
[418]17                        <ul><li>This task is in the trash bin, but can be restored if required.<li><ul>
[181]18                </div>
19            </g:if>
[180]20            <g:hasErrors bean="${taskInstance}">
[133]21            <div class="errors">
[180]22                <g:renderErrors bean="${taskInstance}" as="list" />
[133]23            </div>
24            </g:hasErrors>
[126]25
[418]26            <div class="tabHeader">
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">
[498]293                                                <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
[153]294
[498]295                                                    <td style="width:65%" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
296                                                        ${entry.comment.encodeAsHTML()}
297                                                    </td>
298
299                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
300                                                        <g:formatDate date="${entry.dateDone}" format="EEE, dd-MMM-yyyy"/>
301                                                    </td>
302
303                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
[431]304                                                        <g:if test="${entry.productionReference}">
305                                                            ${entry.productionReference.encodeAsHTML()}
306                                                        </g:if>
307                                                        <g:else>
308                                                            <g:message code="default.none.text" />
309                                                        </g:else>
310                                                    </td>
[153]311
[498]312                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
313                                                        ${entry.durationHour}:${entry.durationMinute}
314                                                    </td>
315
316                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
317                                                        ${entry.enteredBy.encodeAsHTML()}
318                                                    </td>
319
320                                                    <td class="notClickable">
[191]321                                                        <g:link controller="entryDetailed" action="edit" id="${entry.id}">
322                                                            <img  src="${resource(dir:'images/skin',file:'database_edit.png')}" alt="Edit" />
323                                                        </g:link>
324                                                    </td>
[153]325
[191]326                                                </tr>
327                                        </g:each>
328                                    </tbody>
329                                </table>
330                            </div>
331                        </g:else>
[153]332
[191]333                        <div class="buttons">
334                            <g:form controller="entryDetailed">
335                                <g:hiddenField name="taskInstance.id" value="${taskInstance?.id}" />
336                                <g:hiddenField name="entryType.id" value="1" />
337                                <span class="button">
338                                    <g:actionSubmit value="Add Fault" action="create"  class="add"/>
339                                </span>
340                            </g:form>
[131]341                        </div>
[153]342
[131]343                        <br />
[153]344
[418]345                        <g:if test="${entryCauseList.isEmpty()}">
346                            <h1>No Causes</h1>
347                            <br />
348                        </g:if>
349                        <g:else>
350                            <div class="list">
351                                <h1>Causes</h1>
352                                <table>
353                                    <thead>
354                                        <tr>
355                                            <th>Comment</th>
356                                            <th>Date Done</th>
357                                            <th>Entered By</th>
358                                            <th></th>
359                                        </tr>
360                                    </thead>
361                                    <tbody>
362                                        <g:each in="${entryCauseList}" status="i" var="entry">
[498]363                                                <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
[418]364
[498]365                                                    <td style="width:65%" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
366                                                        ${entry.comment.encodeAsHTML()}
367                                                    </td>
[418]368
[498]369                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
370                                                        <g:formatDate date="${entry.dateDone}" format="EEE, dd-MMM-yyyy"/>
371                                                    </td>
372
373                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
374                                                        ${entry.enteredBy.encodeAsHTML()}
375                                                    </td>
376
377                                                    <td class="notClickable">
[418]378                                                        <g:link controller="entryDetailed" action="edit" id="${entry.id}">
379                                                            <img  src="${resource(dir:'images/skin',file:'database_edit.png')}" alt="Edit" />
380                                                        </g:link>
381                                                    </td>
382
383                                                </tr>
384                                        </g:each>
385                                    </tbody>
386                                </table>
387                            </div>
388                        </g:else>
389
390                        <div class="buttons">
391                            <g:form controller="entryDetailed">
392                                <g:hiddenField name="taskInstance.id" value="${taskInstance?.id}" />
393                                <g:hiddenField name="entryType.id" value="2" />
394                                <span class="button">
395                                    <g:actionSubmit value="Add Cause" action="create"  class="add"/>
396                                </span>
397                            </g:form>
398                        </div>
399
400                        <br />
401
[191]402                        <g:if test="${entryWorkDoneList.isEmpty()}">
403                            <h1>No Work Done</h1>
404                            <br />
405                        </g:if>
406                        <g:else>
407                            <div class="list">
408                                <h1>Work Done</h1>
409                                <table>
410                                    <thead>
411                                        <tr>
412                                            <th>Comment</th>
413                                            <th>Date Done</th>
414                                            <th>Duration</th>
415                                            <th>Entered By</th>
416                                            <th></th>
417                                        </tr>
418                                    </thead>
419                                    <tbody>
420                                        <g:each in="${entryWorkDoneList}" status="i" var="entry">
[498]421                                                <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
[191]422
[498]423                                                    <td width="65%" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
424                                                        ${entry.comment.encodeAsHTML()}
425                                                    </td>
426                                                   
427                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
428                                                        <g:formatDate date="${entry.dateDone}" format="EEE, dd-MMM-yyyy"/>
429                                                    </td>
430                                                   
431                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
432                                                        ${entry.durationHour}:${entry.durationMinute}
433                                                    </td>
434                                                   
435                                                    <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
436                                                        ${entry.enteredBy.encodeAsHTML()}
437                                                    </td>
[191]438
[498]439                                                    <td class="notClickable">
[191]440                                                        <g:link controller="entryDetailed" action="edit" id="${entry.id}">
441                                                            <img  src="${resource(dir:'images/skin',file:'database_edit.png')}" alt="Edit" />
442                                                        </g:link>
443                                                    </td>
444
445                                                </tr>
446                                        </g:each>
447                                    </tbody>
448                                </table>
449                            </div>
450                        </g:else>
451
[131]452                        <div class="buttons">
453                            <g:form controller="entryDetailed">
[191]454                                <g:hiddenField name="taskInstance.id" value="${taskInstance?.id}" />
[418]455                                <g:hiddenField name="entryType.id" value="3" />
[131]456                                <span class="button">
[191]457                                    <g:actionSubmit value="Add Work Done" action="create"  class="add"/>
[131]458                                </span>
459                            </g:form>
460                        </div>
461                    </richui:tabContent>
462<!-- End Task tab -->
[126]463
[137]464
[131]465<!-- Start Task Procedure tab-->
466                    <richui:tabContent>
[133]467                        <g:if test="${!taskProcedureExits}">
[153]468                            <br />
469                            No Procedure linked.
470                            <br />
471                            <br />
[134]472                            <g:form controller="taskProcedureDetailed" >
[203]473                                <g:hiddenField name="taskInstance.id" value="${taskInstance?.id}" />
[133]474
475                                <div class="buttons">
476                                    <span class="button">
[175]477                                        <g:actionSubmit value="New" action="create" class="add"/>
[133]478                                    </span>
479                                    <span class="button">
[175]480                                        <g:actionSubmit value="Search" action="search" class="search"/>
[133]481                                    </span>
482                                </div>
[134]483
[133]484                            </g:form>
[126]485
[133]486                        </g:if>
487                        <g:else>
[153]488                            <div class="dialog">
[133]489                                <table>
490                                    <tbody>
[153]491
[133]492                                        <tr class="prop">
493                                            <td valign="top" class="name">Procedure Id:</td>
[153]494
[133]495                                            <td valign="top" class="value">${fieldValue(bean:taskProcedureInstance, field:'id')}</td>
[153]496
[133]497                                        </tr>
[153]498
[133]499                                        <tr class="prop">
500                                            <td valign="top" class="name">Name:</td>
[153]501
[133]502                                            <td valign="top" class="value">${fieldValue(bean:taskProcedureInstance, field:'name')}</td>
[153]503
[133]504                                        </tr>
[153]505
[133]506                                        <tr class="prop">
507                                            <td valign="top" class="name">Description:</td>
[153]508
[133]509                                            <td valign="top" class="value">${fieldValue(bean:taskProcedureInstance, field:'description')}</td>
[153]510
[133]511                                        </tr>
[153]512
[133]513                                        <tr class="prop">
514                                            <td valign="top" class="name">Is Active:</td>
[153]515
[133]516                                            <td valign="top" class="value">${fieldValue(bean:taskProcedureInstance, field:'isActive')}</td>
[153]517
[133]518                                        </tr>
[153]519
[133]520                                    </tbody>
521                                </table>
522                            </div>
523                            <div class="buttons">
524                                <g:form controller="taskProcedureDetailed">
525                                    <input type="hidden" name="id" value="${taskProcedureInstance?.id}" />
526                                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
[153]527                                </g:form>
[133]528                            </div>
[126]529
[153]530                            <div class="list">
531                                <table>
532                                    <thead>
533                                        <tr>
534                                            <th>Step</th>
535                                            <th>Description</th>
[474]536                                            <th>Reasoning</th>
537                                            <th>Asset</th>
538                                            <th>Sub Item</th>
[153]539                                        </tr>
540                                    </thead>
541                                    <tbody>
542                                        <g:each in="${maintenanceActionList}" status="i" var="maintenanceAction">
543                                            <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
544
545                                                <td valign="top" class="name">
[498]546                                                    ${fieldValue(bean:maintenanceAction, field:'procedureStepNumber')}
[153]547                                                </td>
548
549                                                <td  valign="top" style="text-align:left;" class="value">
[498]550                                                    ${fieldValue(bean:maintenanceAction, field:'description')}
[153]551                                                </td>
552
[474]553                                                <td  valign="top" style="text-align:left;" class="value">
[498]554                                                    ${fieldValue(bean:maintenanceAction, field:'reasoning')}
[474]555                                                </td>
556
557                                                <td  valign="top" style="text-align:left;" class="value">
[498]558                                                    ${fieldValue(bean:maintenanceAction, field:'asset')}
[474]559                                                </td>
560
561                                                <td  valign="top" style="text-align:left;" class="value">
[498]562                                                    ${fieldValue(bean:maintenanceAction, field:'assetSubItem')}
[474]563                                                </td>
564
[153]565                                            </tr>
566                                        </g:each>
567
568                                    </tbody>
569                                </table>
570                            </div>
571
[133]572                        </g:else>
573
[131]574                    </richui:tabContent>
575<!-- End Task Procedure tab-->
[126]576
[131]577<!-- Start Task Recurrence tab -->
578                    <richui:tabContent>
[134]579
580                        <g:if test="${!taskRecurringScheduleExits}">
[153]581                            <br />
582                            No Recurring Schedule.
583                            <br />
584                            <br />
[134]585                            <g:form controller="taskRecurringScheduleDetailed" >
[203]586                                <g:hiddenField name="task.id" value="${taskInstance.id}" />
[134]587
588                                <div class="buttons">
589                                    <span class="button">
[247]590                                        <g:actionSubmit value="Add" action="create"  class="add"/>
[134]591                                    </span>
592                                </div>
593
594                            </g:form>
595
596                        </g:if>
597                        <g:else>
[153]598
599                        <div class="dialog">
600                                <table>
601                                    <tbody>
602                                        <tr class="prop">
603                                            <td valign="top" class="name">Recurring Schedule:</td>
604
605                                            <td valign="top" class="value">${taskRecurringScheduleInstance.encodeAsHTML()}</td>
[137]606                                        </tr>
[153]607
[137]608                                        <tr class="prop">
[445]609                                            <td valign="top" class="name">Enabled:</td>
610
611                                            <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'enabled')}</td>
612                                        </tr>
613
614                                        <tr class="prop">
[199]615                                            <td valign="top" class="name">Next Generation Date:</td>
[153]616
617                                            <td valign="top" class="value">
[199]618                                                <g:formatDate date="${taskRecurringScheduleInstance.nextGenerationDate}" format="EEE, dd-MMM-yyyy"/>
[153]619                                            </td>
620                                        </tr>
621
622                                        <tr class="prop">
[137]623                                            <td valign="top" class="name">Generate Ahead:</td>
[153]624
[137]625                                            <td valign="top" class="value">
[199]626                                                ${taskRecurringScheduleInstance?.generateAhead} ${Period.get(1).encodeAsHTML()}
[137]627                                            </td>
628                                        </tr>
[153]629
630                                        <tr class="prop">
[199]631                                            <td valign="top" class="name">Next Target Start Date:</td>
[153]632
633                                            <td valign="top" class="value">
634                                                <g:formatDate date="${taskRecurringScheduleInstance.nextTargetStartDate}" format="EEE, dd-MMM-yyyy"/>
635                                            </td>
636                                        </tr>
637
638                                        <tr class="prop">
[199]639                                            <td valign="top" class="name">Task Duration:</td>
[153]640
[137]641                                            <td valign="top" class="value">
[199]642                                                ${taskRecurringScheduleInstance?.taskDuration} ${taskRecurringScheduleInstance?.taskDurationPeriod}
[137]643                                            </td>
644                                        </tr>
[153]645
[137]646                                        <tr class="prop">
[199]647                                            <td valign="top" class="name">Next Target Completion Date:</td>
[153]648
[137]649                                            <td valign="top" class="value">
[199]650                                                <g:formatDate date="${taskRecurringScheduleInstance.nextTargetCompletionDate}" format="EEE, dd-MMM-yyyy"/>
[137]651                                            </td>
652                                        </tr>
[153]653
654                                    </tbody>
655                                </table>
656                            </div>
[134]657                            <div class="buttons">
658                                <g:form controller="taskRecurringScheduleDetailed">
[135]659                                    <input type="hidden" name="id" value="${taskRecurringScheduleInstance?.id}" />
[134]660                                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
[199]661                                    <span class="button"><g:actionSubmit class="go" value="Show" /></span>
[153]662                                </g:form>
[134]663                            </div>
[153]664
665                        </g:else>
[131]666                    </richui:tabContent>
667<!-- End Task Recurrence tab -->
[126]668
[131]669<!-- Start Inventory tab -->
670                    <richui:tabContent>
[175]671
672                        <g:if test="${inventoryMovementList.isEmpty()}">
673                            <br />
[225]674                            No Inventory Movements.
[175]675                            <br />
676                            <br />
677                        </g:if>
678                        <g:else>
679                            <div class="list">
680                                <table>
681                                    <thead>
682                                        <tr>
683                                            <th>Inventory Item</th>
684                                            <th>Quantity</th>
685                                            <th>Movement Type</th>
686                                            <th>Date</th>
687                                            <th></th>
688                                        </tr>
689                                    </thead>
690                                    <tbody>
691                                        <g:each in="${inventoryMovementList}" status="i" var="inventoryMovementInstance">
[498]692                                            <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
[175]693
[498]694                                                <td onclick='window.location = "${request.getContextPath()}/inventoryMovementDetailed/show/${inventoryMovementInstance.id}"'>
695                                                    ${fieldValue(bean:inventoryMovementInstance, field:'inventoryItem')}
696                                                </td>
697
698                                                <td onclick='window.location = "${request.getContextPath()}/inventoryMovementDetailed/show/${inventoryMovementInstance.id}"'>
699                                                    ${fieldValue(bean:inventoryMovementInstance, field:'quantity')}
700                                                </td>
701
702                                                <td onclick='window.location = "${request.getContextPath()}/inventoryMovementDetailed/show/${inventoryMovementInstance.id}"'>
703                                                    ${fieldValue(bean:inventoryMovementInstance, field:'inventoryMovementType')}
704                                                </td>
705
706                                                <td onclick='window.location = "${request.getContextPath()}/inventoryMovementDetailed/show/${inventoryMovementInstance.id}"'>
707                                                    <g:formatDate date="${inventoryMovementInstance.date}" format="EEE, dd-MMM-yyyy"/>
708                                                </td>
709
710                                                <td class="notClickable">
[175]711                                                    <g:link controller="inventoryMovementDetailed" action="show" id="${inventoryMovementInstance.id}">
712                                                        <img  src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" />
713                                                    </g:link>
714                                                </td>
715
716                                            </tr>
717                                        </g:each>
718                                    </tbody>
719                                </table>
720                            </div>
721                        </g:else>
722
[225]723                        <g:form controller="inventoryItemDetailed" >
724                            <g:hiddenField name="task.id" value="${taskInstance?.id}" />
[175]725                            <div class="buttons">
726                                <g:if test="${!inventoryMovementList.isEmpty()}">
727                                    Results: ${inventoryMovementList.size()}
728                                    <br />
729                                </g:if>
730                                <span class="button">
[225]731                                    <g:actionSubmit action="findInventoryItemForMovement" class="add" value="Add"/>
[175]732                                </span>
733                            </div>
734                        </g:form>
735
[131]736                    </richui:tabContent>
737<!-- End Inventory tab -->
[126]738
[153]739<!-- Start Sub Task tab -->
[131]740                    <richui:tabContent>
[153]741                        <g:if test="${subTaskInstanceTotal >= 1}">
742                            <div class="list">
743                                <table>
744                                    <thead>
745                                        <tr>
[134]746
[153]747                                            <th>Id</th>
748
749                                            <th>Target Start Date</th>
750
751                                            <th>Description</th>
752
753                                            <th>Lead Person</th>
754
755                                            <th>Task Priority</th>
756
757                                            <th>Task Status</th>
758
759                                            <th></th>
760
761                                        </tr>
762                                    </thead>
763                                    <tbody>
764                                    <g:each in="${subTaskInstanceList}" status="i" var="subTaskInstance">
[498]765                                        <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
[153]766
[498]767                                            <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>
768                                                ${fieldValue(bean:subTaskInstance, field:'id')}
769                                            </td>
[153]770
[498]771                                            <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>
772                                                <g:formatDate date="${subTaskInstance.targetStartDate}" format="EEE, dd-MMM-yyyy"/>
773                                            </td>
[153]774
[498]775                                            <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>
776                                                ${fieldValue(bean:subTaskInstance, field:'description')}
777                                            </td>
[153]778
779
[498]780                                            <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>
781                                                ${fieldValue(bean:subTaskInstance, field:'leadPerson')}
782                                            </td>
[153]783
[498]784                                            <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>
785                                                ${fieldValue(bean:subTaskInstance, field:'taskPriority')}
786                                            </td>
[153]787
[498]788                                            <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>
789                                                ${fieldValue(bean:subTaskInstance, field:'taskStatus')}
790                                            </td>
[153]791
[498]792                                            <td class="notClickable">
[153]793                                                <g:link action="show" id="${subTaskInstance.id}">
794                                                    <img  src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" />
795                                                </g:link>
796                                            </td>
797
798                                        </tr>
799                                    </g:each>
800                                    </tbody>
801                                </table>
802                            </div>
803
804                            <div class="buttons">
805                                <g:form>
[196]806                                    <g:hiddenField name="id" value="${taskInstance?.id}" />
[153]807                                    <g:if test="${subTaskInstanceTotal > subTaskInstanceMax}">
808                                        Showing ${subTaskInstanceMax} of ${subTaskInstanceTotal}
809                                        <br />
810                                    </g:if>
811                                    <g:else>
812                                        Total ${subTaskInstanceTotal}
813                                        <br />
814                                    </g:else>
[196]815                                    <span class="button"><g:actionSubmit action="listSubTasks" class="table" value="List" /></span>
[257]816                                    <span class="button"><g:actionSubmit action="createSubTask" class="save" value="Create" onclick="return confirm('${g.message(code: 'sub.task.create.confirm')}');" /></span>
[153]817                                </g:form>
818                            </div>
819
820                        </g:if>
821                        <g:else>
822                            <br />
823                            No Sub Tasks.
[196]824                            <br />
825                            <br />
826
827                            <div class="buttons">
828                                <g:form>
829                                    <g:hiddenField name="id" value="${taskInstance?.id}" />
[257]830                                    <span class="button"><g:actionSubmit action="createSubTask" class="save" value="Create" onclick="return confirm('${g.message(code: 'sub.task.create.confirm')}');" /></span>
[196]831                                </g:form>
832                            </div>
[153]833                        </g:else>
834
[131]835                    </richui:tabContent>
836<!-- End Sub Task tab -->
[126]837
[131]838                </richui:tabContents>
839            </richui:tabView>
[153]840
[418]841        </div> <!--body-->
[84]842    </body>
843</html>
Note: See TracBrowser for help on using the repository browser.