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

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

Update to grails-1.1.1 release.
Fix WorkDone? and Fault entries not showing after update, now using criteria.
Work on TaskRecurringSchedule, add DateUtilService class, regenerate views to suite.
Finally have correct rollback behaviour on TaskRecurringSchedule? domain object updates by using transactions.
Added name to copyright since the license has no meaning without it.

File size: 27.1 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</title>
6        <resource:tabView skin="tabviewCustom" />
7    </head>
8    <body>
9        <div class="nav">
10            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
11            <span class="menuButton"><g:link class="list" action="list">Task List</g:link></span>
12            <span class="menuButton"><g:link class="create" action="create">New Task</g:link></span>
13        </div>
14        <div class="body">
15            <g:if test="${flash.message}">
16            <div class="message">${flash.message}</div>
17            </g:if>
18            <g:hasErrors bean="${taskProcedureInstance}">
19            <div class="errors">
20                <g:renderErrors bean="${taskProcedureInstance}" as="list" />
21            </div>
22            </g:hasErrors>
23
24            <richui:tabView id="tabView">
25
26                <richui:tabLabels>
27                    <richui:tabLabel selected="${showTaskTab}" title="Task #${taskInstance.id}" />
28                    <richui:tabLabel selected="${showProcedureTab}" title="Procedure" />
29                    <richui:tabLabel selected="${showRecurrenceTab}" title="Recurrence" />
30                    <richui:tabLabel selected="${showInventoryTab}" title="Inventory" />
31                    <richui:tabLabel selected="${showSubTasksTab}" title="Sub Tasks" />
32                </richui:tabLabels>
33
34                <richui:tabContents>
35
36<!-- Start Task tab -->
37                    <richui:tabContent>
38           
39                        <div class="dialog">
40                            <table>
41                                <tbody>
42           
43                               
44                                    <tr class="prop">
45                                        <td valign="top" class="name">Id:</td>
46                                       
47                                        <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'id')}</td>
48                                       
49                                    </tr>
50           
51                                    <tr class="prop">
52                                        <td valign="top" class="name">Description:</td>
53                                       
54                                        <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'description')}</td>
55                                       
56                                    </tr>
57           
58                                    <tr class="prop">
59                                        <td valign="top" class="name">Comment:</td>
60                                       
61                                        <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'comment')}</td>
62                                       
63                                    </tr>
64                               
65                                    <tr class="prop">
66                                        <td valign="top" class="name">Target Start Date:</td>
67                                       
68                                        <td valign="top" class="value"><g:formatDate date="${taskInstance.targetStartDate}" format="EEE, dd MMM yyyy"/></td>
69                                       
70                                    </tr>
71           
72                                    <tr class="prop">
73                                        <td valign="top" class="name">Target Completion Date:</td>
74                                       
75                                        <td valign="top" class="value"><g:formatDate date="${taskInstance.targetCompletionDate}" format="EEE, dd MMM yyyy"/></td>
76                                       
77                                    </tr>
78                               
79                                    <tr class="prop">
80                                        <td valign="top" class="name">Lead Person:</td>
81                                       
82                                        <td valign="top" class="value">${taskInstance?.leadPerson?.encodeAsHTML()}</td>
83                                       
84                                    </tr>
85                               
86                                    <tr class="prop">
87                                        <td valign="top" class="name">Task Priority:</td>
88                                       
89                                        <td valign="top" class="value">${taskInstance?.taskPriority?.encodeAsHTML()}</td>
90                                       
91                                    </tr>
92                               
93                                    <tr class="prop">
94                                        <td valign="top" class="name">Task Status:</td>
95                                       
96                                        <td valign="top" class="value">${taskInstance?.taskStatus?.encodeAsHTML()}</td>
97                                       
98                                    </tr>
99                               
100                                    <tr class="prop">
101                                        <td valign="top" class="name">Is Active:</td>
102                                       
103                                        <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'isActive')}</td>
104                                       
105                                    </tr>
106                               
107                                    <tr class="prop">
108                                        <td valign="top" class="name">Is Approved:</td>
109                                       
110                                        <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'isApproved')}</td>
111                                       
112                                    </tr>
113                               
114                                    <tr class="prop">
115                                        <td valign="top" class="name">Is Scheduled:</td>
116                                       
117                                        <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'isScheduled')}</td>
118                                       
119                                    </tr>
120           
121                                    <tr class="prop">
122                                        <td valign="top" class="name">Parent Task:</td>
123                                       
124                                        <td valign="top" class="value"><g:link controller="taskDetailed" action="show" id="${taskInstance?.parentTask?.id}">${taskInstance?.parentTask?.encodeAsHTML()}</g:link></td>
125                                       
126                                    </tr>
127                               
128                                    <tr class="prop">
129                                        <td valign="top" class="name">Task Group:</td>
130                                       
131                                        <td valign="top" class="value">${taskInstance?.taskGroup?.encodeAsHTML()}</td>
132                                       
133                                    </tr>
134                               
135                                    <tr class="prop">
136                                        <td valign="top" class="name">Task Type:</td>
137                                       
138                                        <td valign="top" class="value">${taskInstance?.taskType?.encodeAsHTML()}</td>
139                                       
140                                    </tr>
141           
142                                    <tr class="prop">
143                                        <td valign="top" class="name">Assigned Persons:</td>
144                                       
145                                        <td  valign="top" style="text-align:left;" class="value">
146                                            <ul>
147                                            <g:each var="a" in="${taskInstance.assignedPersons}">
148                                                <li><g:link controller="assignedPersonDetailed" action="edit" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
149                                            </g:each>
150                                            </ul>
151                                            <g:link controller="assignedPersonDetailed" params="['task.id':taskInstance?.id]" action="create">Add AssignedPerson</g:link>
152                                        </td>
153                                       
154                                    </tr>
155                               
156                                </tbody>
157                            </table>
158                        </div>
159           
160                        <div class="buttons">
161                            <g:form>
162                                <input type="hidden" name="id" value="${taskInstance?.id}" />
163                                <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
164                                <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
165                            </g:form>
166                        </div>
167           
168                        <div class="list">
169                            <h1>Faults</h1>
170                            <table>
171                                <thead>
172                                    <tr>
173                                        <th>Comment</th>
174                                        <th>Date Done</th>
175                                        <th>Duration</th>
176                                        <th>Entered By</th>
177                                        <th></th>
178           
179            <!--                            <g:sortableColumn property="comment" title="Comment" />
180                                   
181                                        <g:sortableColumn property="dateDone" title="Date Done" />
182                                   
183                                        <g:sortableColumn property="enteredBy" title="Entered By" />-->
184                                    </tr>
185                                </thead>
186                                <tbody>
187                                <g:each in="${entryFaultList}" status="i" var="entry">
188                                        <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'/>
189                                       
190                                            <td style="width:65%">${entry.comment}</td>
191                                            <td><g:formatDate date="${entry.dateDone}" format="EEE, dd MMM yyyy"/></td>
192                                            <td>${entry.durationHour}:${entry.durationMinute}</td>
193                                            <td>${entry.enteredBy}</td>
194           
195                                            <td>
196                                                <g:link controller="entryDetailed" action="edit" id="${entry.id}">
197                                                    <img  src="${createLinkTo(dir:'images/skin',file:'database_edit.png')}" alt="Edit" />
198                                                </g:link>
199                                            </td>
200           
201                                        </tr>
202                                </g:each>
203                                </tbody>
204                            </table>
205                        </div>
206           
207                        <div class="list">
208                            <h1>Work Done</h1>
209                            <table>
210                                <thead>
211                                    <tr>
212                                        <th>Comment</th>
213                                        <th>Date Done</th>
214                                        <th>Duration</th>
215                                        <th>Entered By</th>
216                                        <th></th>
217           
218            <!--                            <g:sortableColumn property="commentW" title="Comment" />
219                                   
220                                        <g:sortableColumn property="dateDoneW" title="Date Done" />
221                                   
222                                        <g:sortableColumn property="enteredByW" title="Entered By" />-->
223                                    </tr>
224                                </thead>
225                                <tbody>
226                                <g:each in="${entryWorkDoneList}" status="i" var="entry">
227                                        <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'/>
228           
229                                            <td width="65%">${entry.comment}</td>
230                                            <td><g:formatDate date="${entry.dateDone}" format="EEE, dd MMM yyyy"/></td>
231                                            <td>${entry.durationHour}:${entry.durationMinute}</td>
232                                            <td>${entry.enteredBy}</td>
233           
234                                            <td>
235                                                <g:link controller="entryDetailed" action="edit" id="${entry.id}">
236                                                    <img  src="${createLinkTo(dir:'images/skin',file:'database_edit.png')}" alt="Edit" />
237                                                </g:link>
238                                            </td>
239           
240                                        </tr>
241                                </g:each>
242                                </tbody>
243                            </table>
244                        </div>
245           
246                        <br />
247           
248                        <div class="buttons">
249                            <g:form controller="entryDetailed">
250                                <input type="hidden" name="taskInstance.id" value="${taskInstance?.id}" />
251                                <span class="button">
252                                    <g:actionSubmit value="Add Entry" action="create"  class="add"/>
253                                </span>
254                            </g:form>
255                        </div>
256                    </richui:tabContent>
257<!-- End Task tab -->
258
259
260
261<!-- Start Task Procedure tab-->
262                    <richui:tabContent>
263                        <g:if test="${!taskProcedureExits}">
264                                <br />
265                                No Procedure linked.
266                                <br />
267                                                        <br />
268                            <g:form controller="taskProcedureDetailed" >
269                                <input type="hidden" name="taskInstance.id" value="${taskInstance?.id}" />
270
271                                <div class="buttons">
272                                    <span class="button">
273                                        <g:actionSubmit value="New" action="create"  class="add"/>
274                                    </span>
275                                    <span class="button">
276                                        <g:actionSubmit value="Search" action="search"  class="search"/>
277                                    </span>
278                                </div>
279
280                            </g:form>
281
282                        </g:if>
283                        <g:else>
284                                <div class="dialog">
285                                <table>
286                                    <tbody>
287               
288                                   
289                                        <tr class="prop">
290                                            <td valign="top" class="name">Procedure Id:</td>
291                                           
292                                            <td valign="top" class="value">${fieldValue(bean:taskProcedureInstance, field:'id')}</td>
293                                           
294                                        </tr>
295                                   
296                                        <tr class="prop">
297                                            <td valign="top" class="name">Name:</td>
298                                           
299                                            <td valign="top" class="value">${fieldValue(bean:taskProcedureInstance, field:'name')}</td>
300                                           
301                                        </tr>
302                                   
303                                        <tr class="prop">
304                                            <td valign="top" class="name">Description:</td>
305                                           
306                                            <td valign="top" class="value">${fieldValue(bean:taskProcedureInstance, field:'description')}</td>
307                                           
308                                        </tr>
309                                   
310                                        <tr class="prop">
311                                            <td valign="top" class="name">Is Active:</td>
312                                           
313                                            <td valign="top" class="value">${fieldValue(bean:taskProcedureInstance, field:'isActive')}</td>
314                                           
315                                        </tr>
316                                   
317                                    </tbody>
318                                </table>
319                            </div>
320                            <div class="buttons">
321                                <g:form controller="taskProcedureDetailed">
322                                    <input type="hidden" name="id" value="${taskProcedureInstance?.id}" />
323                                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
324                                                                </g:form>
325                            </div>
326                           
327                                                        <div class="list">
328                                                                <table>
329                                                                        <thead>
330                                                                                <tr>
331                                                                                        <th>Step</th>
332                                                                                        <th>Description</th>
333                                                                                </tr>
334                                                                        </thead>
335                                                                        <tbody>
336                                                                                <g:each in="${maintenanceActionList}" status="i" var="maintenanceAction">
337                                                                                        <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
338                                                                                               
339                                                                                                <td valign="top" class="name">
340                                                                                                        ${maintenanceAction?.procedureStepNumber}
341                                                                                                </td>
342                                                                                               
343                                                                                                <td  valign="top" style="text-align:left;" class="value">
344                                                                                                        ${maintenanceAction?.description}
345                                                                                                </td>
346                                                                                               
347                                                                                        </tr>
348                                                                                </g:each>
349       
350                                                                        </tbody>
351                                                                </table>
352                                                        </div>
353
354                        </g:else>
355
356                    </richui:tabContent>
357<!-- End Task Procedure tab-->
358
359<!-- Start Task Recurrence tab -->
360                    <richui:tabContent>
361
362                        <g:if test="${!taskRecurringScheduleExits}">
363                                <br />
364                                No Recurring Schedule.
365                                <br />
366                                                        <br />
367                            <g:form controller="taskRecurringScheduleDetailed" >
368                                <input type="hidden" name="taskInstance.id" value="${taskInstance?.id}" />
369
370                                <div class="buttons">
371                                    <span class="button">
372                                        <g:actionSubmit value="Create" action="create"  class="add"/>
373                                    </span>
374                                </div>
375
376                            </g:form>
377
378                        </g:if>
379                        <g:else>
380                                                       
381                                                <div class="dialog">
382                                                                <table>
383                                                                        <tbody>
384                                                                                <tr class="prop">
385                                                                                        <td valign="top" class="name">Recurring Schedule:</td>
386                                                                                       
387                                                                                        <td valign="top" class="value">${taskRecurringScheduleInstance.encodeAsHTML()}</td>
388                                                                                       
389                                                                                </tr>
390                               
391                                                                                <tr class="prop">
392                                                                                        <td valign="top" class="name">Start Date:</td>
393                                                                                       
394                                                                                        <td valign="top" class="value">
395                                                                                                <g:formatDate date="${taskRecurringScheduleInstance.startDate}" format="EEE, dd MMM yyyy"/>
396                                                                                        </td>
397                           
398                                        </tr>
399                                   
400                                        <tr class="prop">
401                                            <td valign="top" class="name">Task Duration:</td>
402                                           
403                                            <td valign="top" class="value">
404                                                ${taskRecurringScheduleInstance?.taskDuration} ${taskRecurringScheduleInstance?.taskDurationPeriod}
405                                            </td>
406                                        </tr>
407                   
408                                        <tr class="prop">
409                                            <td valign="top" class="name">Generate Ahead:</td>
410                                           
411                                            <td valign="top" class="value">
412                                                ${taskRecurringScheduleInstance?.generateAhead} ${taskRecurringScheduleInstance?.generateAheadPeriod}
413                                            </td>
414                                           
415                                        </tr>
416                                                                                       
417                                                                                </tr>
418                   
419                                                                                <tr class="prop">
420                                                                                        <td valign="top" class="name">Is Enabled:</td>
421                                                                                       
422                                                                                        <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'isEnabled')}</td>
423                                                                                       
424                                                                                </tr>
425                                       
426                                    </tbody>
427                                </table>
428               
429                                <table>
430                                    <tbody>
431                       
432                                                                                <tr class="prop">
433                                                                                        <td valign="top" class="name">Next Target Start Date:</td>   
434                                                                                                                 
435                                                                                        <td valign="top" class="value">
436                                                                                                <g:formatDate date="${taskRecurringScheduleInstance.nextTargetStartDate}" format="EEE, dd MMM yyyy"/>
437                                                                                        </td>
438                                                                                       
439                                                                                </tr>
440               
441                                        <tr class="prop">
442                                            <td valign="top" class="name">Next Target Completion Date:</td>   
443                                                                     
444                                            <td valign="top" class="value">
445                                                <g:formatDate date="${taskRecurringScheduleInstance.nextTargetCompletionDate}" format="EEE, dd MMM yyyy"/>
446                                            </td>
447                                           
448                                        </tr>
449                       
450                                        <tr class="prop">
451                                            <td valign="top" class="name">Next Generation Date:</td>
452                                           
453                                            <td valign="top" class="value">
454                                                <g:formatDate date="${taskRecurringScheduleInstance.nextGenerationDate}" format="EEE, dd MMM yyyy"/>
455                                            </td>
456                                        </tr>
457                               
458                                                                                <tr class="prop">
459                                                                                        <td valign="top" class="name">Last Generated Date:</td>
460                                                                                                                   
461                                                                                        <td valign="top" class="value">
462                                                                                                <g:formatDate date="${taskRecurringScheduleInstance.lastGeneratedDate}" format="EEE, dd MMM yyyy"/>
463                                                                                        </td>
464                                                                                       
465                                                                                </tr>
466                               
467                                                                                <tr class="prop">
468                                                                                        <td valign="top" class="name">Last Generated Sub Task:</td>
469                                                                                   
470                                                                                        <td valign="top" class="value">
471                                                                                                <g:link controller="taskDetailed" action="show" id="${taskRecurringScheduleInstance?.lastGeneratedSubTask?.id}">
472                                                                                                        ${taskRecurringScheduleInstance?.lastGeneratedSubTask?.encodeAsHTML()}
473                                                                                                </g:link>
474                                                                                        </td>
475                                                                                </tr>
476                                                                        </tbody>
477                                                                </table>
478                                                        </div>
479                            <div class="buttons">
480                                <g:form controller="taskRecurringScheduleDetailed">
481                                    <input type="hidden" name="id" value="${taskRecurringScheduleInstance?.id}" />
482                                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
483                                                                </g:form>
484                            </div>
485                           
486                                                </g:else>
487                    </richui:tabContent>
488<!-- End Task Recurrence tab -->
489
490<!-- Start Inventory tab -->
491                    <richui:tabContent>
492                        Used Inventory
493                    </richui:tabContent>
494<!-- End Inventory tab -->
495
496<!-- Start Sub Task tab --> 
497                    <richui:tabContent>
498                        <g:if test="${subTaskInstanceTotal >= 1}">
499                                                        <div class="list">
500                                                                <table>
501                                                                        <thead>
502                                                                                <tr>
503                                                                               
504                                                                                        <th>Id</th>
505                                                                                       
506                                                                                        <th>Target Start Date</th>
507                                                                                       
508                                                                                        <th>Description</th>
509                                                                                       
510                                                                                        <th>Lead Person</th>
511                                                                                       
512                                                                                        <th>Task Priority</th>
513                                                                               
514                                                                                        <th>Task Status</th>
515                                                                                       
516                                                                                        <th></th>
517                                                                               
518                                                                                </tr>
519                                                                        </thead>
520                                                                        <tbody>
521                                                                        <g:each in="${subTaskInstanceList}" status="i" var="subTaskInstance">
522                                                                        <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'/>
523       
524                                                                                        <td>${fieldValue(bean:subTaskInstance, field:'id')}</td>
525                                                                                       
526                                                                                        <td><g:formatDate date="${subTaskInstance.targetStartDate}" format="EEE, dd MMM yyyy"/></td>
527                                                                                       
528                                                                                        <td>${subTaskInstance.description}</td>
529                                                                               
530       
531                                                                                        <td>${subTaskInstance.leadPerson}</td>
532                                                                                       
533                                                                                        <td>${subTaskInstance.taskPriority}</td>
534                                                                                       
535                                                                                        <td>${subTaskInstance.taskStatus}</td>
536                                                                                       
537                                                                                        <td>
538                                                                                                <g:link action="show" id="${subTaskInstance.id}">
539                                                                                                        <img  src="${createLinkTo(dir:'images/skin',file:'database_go.png')}" alt="Show" />
540                                                                                                </g:link>
541                                                                                        </td>
542       
543                                                                               
544                                                                                </tr>
545                                                                        </g:each>
546                                                                        </tbody>
547                                                                </table>
548                                                        </div>
549                                                       
550                                                       
551                                                        <div class="buttons">
552                                                                <g:form>
553                                                                        <input type="hidden" name="id" value="${taskInstance?.id}" />
554                                                                        <g:if test="${subTaskInstanceTotal > subTaskInstanceMax}">
555                                                                                Showing ${subTaskInstanceMax} of ${subTaskInstanceTotal}
556                                                                                <br />
557                                                                        </g:if>
558                                                                        <g:else>
559                                                                                Total ${subTaskInstanceTotal}
560                                                                                <br />
561                                                                        </g:else>
562                                                                        <span class="button"><g:actionSubmit action="listSubTasks" class="table" value="Sortable List" /></span>
563                                                                </g:form>
564                                                        </div>
565                                                       
566                                                </g:if>
567                                                <g:else>
568                                                        <br />
569                                                        No Sub Tasks.
570                                                </g:else>
571
572                    </richui:tabContent>
573<!-- End Sub Task tab -->
574
575                </richui:tabContents>
576            </richui:tabView>
577           
578        </div>
579    </body>
580</html>
Note: See TracBrowser for help on using the repository browser.