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

Last change on this file since 799 was 799, checked in by gav, 13 years ago

Change Task.toString() and display primaryAsset.name in front of description.

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