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

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

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

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