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

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

Protect taskRecurringSchedule from creating if one already exists.
Turn some taskInstance text into links.
Work on taskRecurringSchedule detail and creation.

File size: 25.0 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">
398                                                                                                <g:formatDate date="${taskRecurringScheduleInstance.startDate}" format="EEE, dd MMM yyyy"/>
399                                                                                        </td>
400                                                                                       
401                                                                                </tr>
402                   
403                                                                                <tr class="prop">
404                                                                                        <td valign="top" class="name">Is Enabled:</td>
405                                                                                       
406                                                                                        <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'isEnabled')}</td>
407                                                                                       
408                                                                                </tr>
409                       
410                                                                                <tr class="prop">
411                                                                                        <td></td>
412                                                                                </tr>
413                                                                               
414                                                                                <tr class="prop">
415                                                                                        <td></td>
416                                                                                </tr>
417                               
418                                                                                <tr class="prop">
419                                                                                        <td valign="top" class="name">Next Due Date:</td>   
420                                                                                                                 
421                                                                                        <td valign="top" class="value">
422                                                                                                <g:formatDate date="${taskRecurringScheduleInstance.nextDueDate}" format="EEE, dd MMM yyyy"/>
423                                                                                        </td>
424                                                                                       
425                                                                                </tr>
426                               
427                                                                                <tr class="prop">
428                                                                                        <td valign="top" class="name">Last Generated Date:</td>
429                                                                                                                   
430                                                                                        <td valign="top" class="value">
431                                                                                                <g:formatDate date="${taskRecurringScheduleInstance.lastGeneratedDate}" format="EEE, dd MMM yyyy"/>
432                                                                                        </td>
433                                                                                       
434                                                                                </tr>
435                               
436                                                                                <tr class="prop">
437                                                                                        <td valign="top" class="name">Last Generated Sub Task:</td>
438                                                                                   
439                                                                                        <td valign="top" class="value">
440                                                                                                <g:link controller="taskDetailed" action="show" id="${taskRecurringScheduleInstance?.lastGeneratedSubTask?.id}">
441                                                                                                        ${taskRecurringScheduleInstance?.lastGeneratedSubTask?.encodeAsHTML()}
442                                                                                                </g:link>
443                                                                                        </td>
444                                                                                </tr>
445                                                                        </tbody>
446                                                                </table>
447                                                        </div>
448                            <div class="buttons">
449                                <g:form controller="taskRecurringScheduleDetailed">
450                                    <input type="hidden" name="id" value="${taskRecurringScheduleInstance?.id}" />
451                                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
452                                                                </g:form>
453                            </div>
454                           
455                                                </g:else>
456                    </richui:tabContent>
457<!-- End Task Recurrence tab -->
458
459<!-- Start Inventory tab -->
460                    <richui:tabContent>
461                        Used Inventory
462                    </richui:tabContent>
463<!-- End Inventory tab -->
464
465<!-- Start Sub Task tab --> 
466                    <richui:tabContent>
467                        <g:if test="${subTaskInstanceTotal >= 1}">
468                                                        <div class="list">
469                                                                <table>
470                                                                        <thead>
471                                                                                <tr>
472                                                                               
473                                                                                        <th>Id</th>
474                                                                                       
475                                                                                        <th>Target Start Date</th>
476                                                                                       
477                                                                                        <th>Description</th>
478                                                                                       
479                                                                                        <th>Lead Person</th>
480                                                                                       
481                                                                                        <th>Task Priority</th>
482                                                                               
483                                                                                        <th>Task Status</th>
484                                                                                       
485                                                                                        <th></th>
486                                                                               
487                                                                                </tr>
488                                                                        </thead>
489                                                                        <tbody>
490                                                                        <g:each in="${subTaskInstanceList}" status="i" var="subTaskInstance">
491                                                                        <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'/>
492       
493                                                                                        <td>${fieldValue(bean:subTaskInstance, field:'id')}</td>
494                                                                                       
495                                                                                        <td><g:formatDate date="${subTaskInstance.targetStartDate}" format="EEE, dd MMM yyyy"/></td>
496                                                                                       
497                                                                                        <td>${subTaskInstance.description}</td>
498                                                                               
499       
500                                                                                        <td>${subTaskInstance.leadPerson}</td>
501                                                                                       
502                                                                                        <td>${subTaskInstance.taskPriority}</td>
503                                                                                       
504                                                                                        <td>${subTaskInstance.taskStatus}</td>
505                                                                                       
506                                                                                        <td>
507                                                                                                <g:link action="show" id="${subTaskInstance.id}">
508                                                                                                        <img  src="${createLinkTo(dir:'images/skin',file:'database_go.png')}" alt="Show" />
509                                                                                                </g:link>
510                                                                                        </td>
511       
512                                                                               
513                                                                                </tr>
514                                                                        </g:each>
515                                                                        </tbody>
516                                                                </table>
517                                                        </div>
518                                                       
519                                                       
520                                                        <div class="buttons">
521                                                                <g:form>
522                                                                        <input type="hidden" name="id" value="${taskInstance?.id}" />
523                                                                        <g:if test="${subTaskInstanceTotal > subTaskInstanceMax}">
524                                                                                Showing ${subTaskInstanceMax} of ${subTaskInstanceTotal}
525                                                                                <br />
526                                                                        </g:if>
527                                                                        <g:else>
528                                                                                Total ${subTaskInstanceTotal}
529                                                                                <br />
530                                                                        </g:else>
531                                                                        <span class="button"><g:actionSubmit action="listSubTasks" class="table" value="Sortable List" /></span>
532                                                                </g:form>
533                                                        </div>
534                                                       
535                                                </g:if>
536                                                <g:else>
537                                                        <br />
538                                                        No Sub Tasks.
539                                                </g:else>
540
541                    </richui:tabContent>
542<!-- End Sub Task tab -->
543
544                </richui:tabContents>
545            </richui:tabView>
546           
547        </div>
548    </body>
549</html>
Note: See TracBrowser for help on using the repository browser.