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

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

Add indication to task tabs as per ticket #67.

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