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

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

Domain change, added safetyRequirement, mandatoryRegulatory and positiveFault attributes to Task.
Update views and logic to suite.
Complete's ticket #70.

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