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

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

Add icons from famfamfam silk icons, add acknowledgement page to suite.
Adjust AssignedPerson? controller so that a task.id is required to create.
Move Add AssignedPerson? link up to TaskDetailed? show page.
Further improvements to taskDetailed show tabs.
Adjust TaskProcedureDetailed? controller to allow linking a Procedure to a task during creation.
Adjust TaskRecurringSchedule? to a one-to-one cascading relationship.
Modify CSS class duration to time and added icons.
Regenerate some pages.

File size: 24.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           
161                        <div class="buttons">
162                            <g:form>
163                                <input type="hidden" name="id" value="${taskInstance?.id}" />
164                                <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
165                                <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
166                            </g:form>
167                        </div>
168           
169                        <div class="list">
170                            <h1>Faults</h1>
171                            <table>
172                                <thead>
173                                    <tr>
174                                        <th>Comment</th>
175                                        <th>Date Done</th>
176                                        <th>Duration</th>
177                                        <th>Entered By</th>
178                                        <th></th>
179           
180            <!--                            <g:sortableColumn property="comment" title="Comment" />
181                                   
182                                        <g:sortableColumn property="dateDone" title="Date Done" />
183                                   
184                                        <g:sortableColumn property="enteredBy" title="Entered By" />-->
185                                    </tr>
186                                </thead>
187                                <tbody>
188                                <g:each in="${taskInstance?.entries}" status="i" var="entry">
189                                    <g:if test="${entry.entryType == EntryType.findByName('Fault')}">
190                                        <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'/>
191                                       
192                                            <td style="width:65%">${entry.comment}</td>
193                                            <td><g:formatDate date="${entry.dateDone}" format="EEE, dd MMM yyyy"/></td>
194                                            <td>${entry.durationHour}:${entry.durationMinute}</td>
195                                            <td>${entry.enteredBy}</td>
196           
197                                            <td>
198                                                <g:link controller="entryDetailed" action="edit" id="${entry.id}">
199                                                    <img  src="${createLinkTo(dir:'images/skin',file:'database_edit.png')}" alt="Edit" />
200                                                </g:link>
201                                            </td>
202           
203                                        </tr>
204                                    </g:if>
205                                </g:each>
206                                </tbody>
207                            </table>
208                        </div>
209           
210                        <div class="list">
211                            <h1>Work Done</h1>
212                            <table>
213                                <thead>
214                                    <tr>
215                                        <th>Comment</th>
216                                        <th>Date Done</th>
217                                        <th>Duration</th>
218                                        <th>Entered By</th>
219                                        <th></th>
220           
221            <!--                            <g:sortableColumn property="commentW" title="Comment" />
222                                   
223                                        <g:sortableColumn property="dateDoneW" title="Date Done" />
224                                   
225                                        <g:sortableColumn property="enteredByW" title="Entered By" />-->
226                                    </tr>
227                                </thead>
228                                <tbody>
229                                <g:each in="${taskInstance?.entries}" status="i" var="entry">
230                                    <g:if test="${entry.entryType == EntryType.findByName('WorkDone')}">
231                                        <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'/>
232           
233                                            <td width="65%">${entry.comment}</td>
234                                            <td><g:formatDate date="${entry.dateDone}" format="EEE, dd MMM yyyy"/></td>
235                                            <td>${entry.durationHour}:${entry.durationMinute}</td>
236                                            <td>${entry.enteredBy}</td>
237           
238                                            <td>
239                                                <g:link controller="entryDetailed" action="edit" id="${entry.id}">
240                                                    <img  src="${createLinkTo(dir:'images/skin',file:'database_edit.png')}" alt="Edit" />
241                                                </g:link>
242                                            </td>
243           
244                                        </tr>
245                                    </g:if>
246                                </g:each>
247                                </tbody>
248                            </table>
249                        </div>
250           
251                        <br />
252           
253                        <div class="buttons">
254                            <g:form controller="entryDetailed">
255                                <input type="hidden" name="taskInstance.id" value="${taskInstance?.id}" />
256                                <span class="button">
257                                    <g:actionSubmit value="Add Entry" action="create"  class="add"/>
258                                </span>
259                            </g:form>
260                        </div>
261                    </richui:tabContent>
262<!-- End Task tab -->
263
264<!-- Start Task Procedure tab-->
265                    <richui:tabContent>
266                        <g:if test="${!taskProcedureExits}">
267                                <br />
268                                No Procedure linked.
269                                <br />
270                                                        <br />
271                            <g:form controller="taskProcedureDetailed" >
272                                <input type="hidden" name="taskInstance.id" value="${taskInstance?.id}" />
273
274                                <div class="buttons">
275                                    <span class="button">
276                                        <g:actionSubmit value="New" action="create"  class="add"/>
277                                    </span>
278                                    <span class="button">
279                                        <g:actionSubmit value="Search" action="search"  class="search"/>
280                                    </span>
281                                </div>
282
283                            </g:form>
284
285                        </g:if>
286                        <g:else>
287                                <div class="dialog">
288                                <table>
289                                    <tbody>
290               
291                                   
292                                        <tr class="prop">
293                                            <td valign="top" class="name">Procedure Id:</td>
294                                           
295                                            <td valign="top" class="value">${fieldValue(bean:taskProcedureInstance, field:'id')}</td>
296                                           
297                                        </tr>
298                                   
299                                        <tr class="prop">
300                                            <td valign="top" class="name">Name:</td>
301                                           
302                                            <td valign="top" class="value">${fieldValue(bean:taskProcedureInstance, field:'name')}</td>
303                                           
304                                        </tr>
305                                   
306                                        <tr class="prop">
307                                            <td valign="top" class="name">Description:</td>
308                                           
309                                            <td valign="top" class="value">${fieldValue(bean:taskProcedureInstance, field:'description')}</td>
310                                           
311                                        </tr>
312                                   
313                                        <tr class="prop">
314                                            <td valign="top" class="name">Is Active:</td>
315                                           
316                                            <td valign="top" class="value">${fieldValue(bean:taskProcedureInstance, field:'isActive')}</td>
317                                           
318                                        </tr>
319                                   
320                                    </tbody>
321                                </table>
322                            </div>
323                            <div class="buttons">
324                                <g:form controller="taskProcedureDetailed">
325                                    <input type="hidden" name="id" value="${taskProcedureInstance?.id}" />
326                                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
327                                                                </g:form>
328                            </div>
329                           
330                                                        <div class="list">
331                                                                <table>
332                                                                        <thead>
333                                                                                <tr>
334                                                                                        <th>Step</th>
335                                                                                        <th>Description</th>
336                                                                                </tr>
337                                                                        </thead>
338                                                                        <tbody>
339                                                                                <g:each in="${maintenanceActionList}" status="i" var="maintenanceAction">
340                                                                                        <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
341                                                                                               
342                                                                                                <td valign="top" class="name">
343                                                                                                        ${maintenanceAction?.procedureStepNumber}
344                                                                                                </td>
345                                                                                               
346                                                                                                <td  valign="top" style="text-align:left;" class="value">
347                                                                                                        ${maintenanceAction?.description}
348                                                                                                </td>
349                                                                                               
350                                                                                        </tr>
351                                                                                </g:each>
352       
353                                                                        </tbody>
354                                                                </table>
355                                                        </div>
356
357                        </g:else>
358
359                    </richui:tabContent>
360<!-- End Task Procedure tab-->
361
362<!-- Start Task Recurrence tab -->
363                    <richui:tabContent>
364
365                        <g:if test="${!taskRecurringScheduleExits}">
366                                <br />
367                                No Recurring Schedule.
368                                <br />
369                                                        <br />
370                            <g:form controller="taskRecurringScheduleDetailed" >
371                                <input type="hidden" name="taskInstance.id" value="${taskInstance?.id}" />
372
373                                <div class="buttons">
374                                    <span class="button">
375                                        <g:actionSubmit value="Create" action="create"  class="add"/>
376                                    </span>
377                                </div>
378
379                            </g:form>
380
381                        </g:if>
382                        <g:else>
383                                                       
384                                                <div class="dialog">
385                                                                <table>
386                                                                        <tbody>
387                                                                                <tr class="prop">
388                                                                                        <td valign="top" class="name">Recurring Schedule:</td>
389                                                                                       
390                                                                                        <td valign="top" class="value">${taskRecurringScheduleInstance.encodeAsHTML()}</td>
391                                                                                       
392                                                                                </tr>
393                               
394                                                                                <tr class="prop">
395                                                                                        <td valign="top" class="name">Start Date:</td>
396                                                                                       
397                                                                                        <td valign="top" class="value">${taskRecurringScheduleInstance.startDate}</td>
398                                                                                       
399                                                                                </tr>
400                               
401                                                                                <tr class="prop">
402                                                                                        <td valign="top" class="name">Next Due Date:</td>
403                                                                                       
404                                                                                        <td valign="top" class="value">${taskRecurringScheduleInstance.nextDueDate}</td>
405                                                                                       
406                                                                                </tr>
407                               
408                                                                                <tr class="prop">
409                                                                                        <td valign="top" class="name">Last Generated Date:</td>
410                                                                                       
411                                                                                        <td valign="top" class="value">${taskRecurringScheduleInstance.lastGeneratedDate}</td>
412                                                                                       
413                                                                                </tr>
414                               
415                                                                                <tr class="prop">
416                                                                                        <td valign="top" class="name">Last Generated Sub Task:</td>
417                                                                                       
418                                                                                        <td valign="top" class="value">${taskRecurringScheduleInstance.lastGeneratedSubTask}</td>
419                                                                                       
420                                                                                </tr>
421                                                                        </tbody>
422                                                                </table>
423                                                        </div>
424                            <div class="buttons">
425                                <g:form controller="taskRecurringScheduleDetailed">
426                                    <input type="hidden" name="id" value="${taskInstance?.id}" />
427                                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
428                                                                </g:form>
429                            </div>
430                           
431                                                </g:else>
432                    </richui:tabContent>
433<!-- End Task Recurrence tab -->
434
435<!-- Start Inventory tab -->
436                    <richui:tabContent>
437                        Used Inventory
438                    </richui:tabContent>
439<!-- End Inventory tab -->
440
441<!-- Start Sub Task tab --> 
442                    <richui:tabContent>
443                        <g:if test="${subTaskInstanceTotal >= 1}">
444                                                        <div class="list">
445                                                                <table>
446                                                                        <thead>
447                                                                                <tr>
448                                                                               
449                                                                                        <th>Id</th>
450                                                                                       
451                                                                                        <th>Target Start Date</th>
452                                                                                       
453                                                                                        <th>Description</th>
454                                                                                       
455                                                                                        <th>Lead Person</th>
456                                                                                       
457                                                                                        <th>Task Priority</th>
458                                                                               
459                                                                                        <th>Task Status</th>
460                                                                                       
461                                                                                        <th></th>
462                                                                               
463                                                                                </tr>
464                                                                        </thead>
465                                                                        <tbody>
466                                                                        <g:each in="${subTaskInstanceList}" status="i" var="subTaskInstance">
467                                                                        <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'/>
468       
469                                                                                        <td>${fieldValue(bean:subTaskInstance, field:'id')}</td>
470                                                                                       
471                                                                                        <td><g:formatDate date="${subTaskInstance.targetStartDate}" format="EEE, dd MMM yyyy"/></td>
472                                                                                       
473                                                                                        <td>${subTaskInstance.description}</td>
474                                                                               
475       
476                                                                                        <td>${subTaskInstance.leadPerson}</td>
477                                                                                       
478                                                                                        <td>${subTaskInstance.taskPriority}</td>
479                                                                                       
480                                                                                        <td>${subTaskInstance.taskStatus}</td>
481                                                                                       
482                                                                                        <td>
483                                                                                                <g:link action="show" id="${subTaskInstance.id}">
484                                                                                                        <img  src="${createLinkTo(dir:'images/skin',file:'database_go.png')}" alt="Show" />
485                                                                                                </g:link>
486                                                                                        </td>
487       
488                                                                               
489                                                                                </tr>
490                                                                        </g:each>
491                                                                        </tbody>
492                                                                </table>
493                                                        </div>
494                                                       
495                                                       
496                                                        <div class="buttons">
497                                                                <g:form>
498                                                                        <input type="hidden" name="id" value="${taskInstance?.id}" />
499                                                                        <g:if test="${subTaskInstanceTotal > subTaskInstanceMax}">
500                                                                                Showing ${subTaskInstanceMax} of ${subTaskInstanceTotal}
501                                                                                <br />
502                                                                        </g:if>
503                                                                        <g:else>
504                                                                                Total ${subTaskInstanceTotal}
505                                                                                <br />
506                                                                        </g:else>
507                                                                        <span class="button"><g:actionSubmit action="listSubTasks" class="table" value="Sortable List" /></span>
508                                                                </g:form>
509                                                        </div>
510                                                       
511                                                </g:if>
512                                                <g:else>
513                                                        <br />
514                                                        No Sub Tasks.
515                                                </g:else>
516
517                    </richui:tabContent>
518<!-- End Sub Task tab -->
519
520                </richui:tabContents>
521            </richui:tabView>
522           
523        </div>
524    </body>
525</html>
Note: See TracBrowser for help on using the repository browser.