source: trunk/grails-app/views/taskDetailed/_showTaskTab.gsp @ 827

Last change on this file since 827 was 823, checked in by gav, 14 years ago

Refactor task show view to use templates, ensure newlines at end of files.

File size: 16.5 KB
Line 
1
2    <div class="dialog">
3        <table>
4            <tbody>
5
6                <g:if test="${taskInstance.parentTask}">
7                    <tr class="prop">
8                        <td valign="top" class="name">Parent Task:</td>
9
10                        <td valign="top" class="value">
11                            <g:link controller="taskDetailed" action="show" id="${taskInstance.parentTask.id}">
12                                ${taskInstance.parentTask.encodeAsHTML()}
13                            </g:link>
14                        </td>
15
16                    </tr>
17                </g:if>
18
19                <tr class="prop">
20                    <td valign="top" class="name">Comment:</td>
21
22                    <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'comment')}</td>
23
24                </tr>
25
26                <tr class="prop">
27                    <td valign="top" class="name">Target Start:</td>
28
29                    <td valign="top" class="value">
30                        <g:formatDate date="${taskInstance.targetStartDate}" format="EEE, dd-MMM-yyyy"/>
31                    </td>
32
33                </tr>
34
35                <tr class="prop">
36                    <td valign="top" class="name">Target Completion:</td>
37
38                    <td valign="top" class="value">
39                        <g:formatDate date="${taskInstance.targetCompletionDate}" format="EEE, dd-MMM-yyyy"/>
40                    </td>
41
42                </tr>
43
44                <tr class="prop">
45                    <td valign="top" class="name">
46
47                        <jsUtil:toggleControl toggleId="modifications"
48                                                                imageId="modificationsImg"
49                                                                closedImgUrl="${resource(dir:'images/skin',file:'bullet_toggle_plus.png')}"
50                                                                openImgUrl="${resource(dir:'images/skin',file:'bullet_toggle_minus.png')}"
51                                                                effect="fade"
52                                                                text="Modifications"
53                                                                />
54                    </td>
55
56                    <td  valign="top" style="text-align:left;" class="value">
57                        <div id="modifications" style="display:none;">
58                            <ul>
59                            <g:each var="a" in="${taskModificationList}">
60                                <li>${a?.encodeAsHTML()}</li>
61                            </g:each>
62                            </ul>
63                        </div>
64                    </td>
65                </tr>
66
67                <tr class="prop">
68                    <td valign="top" class="name">Primary Asset:</td>
69
70                    <td valign="top" class="value"><g:link controller="assetDetailed" action="show" id="${taskInstance?.primaryAsset?.id}">${taskInstance?.primaryAsset?.encodeAsHTML()}</g:link></td>
71
72                </tr>
73
74                <tr class="prop">
75                    <td valign="top" class="name">Associated Assets:</td>
76
77                    <td  valign="top" style="text-align:left;" class="value">
78                        <ul>
79                        <g:each var="a" in="${taskInstance.associatedAssets}">
80                            <li>${a?.encodeAsHTML()}</li>
81                        </g:each>
82                        </ul>
83                    </td>
84
85                </tr>
86
87                <tr class="prop">
88                    <td valign="top" class="name">Priority:</td>
89
90                    <td valign="top" class="value">${taskInstance?.taskPriority?.encodeAsHTML()}</td>
91
92                </tr>
93
94                <tr class="prop">
95                    <td valign="top" class="name">Positive Fault:</td>
96
97                    <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'positiveFault')}</td>
98
99                </tr>
100
101                <tr class="prop">
102                    <td valign="top" class="name">Group:</td>
103
104                    <td valign="top" class="value">${taskInstance?.taskGroup?.encodeAsHTML()}</td>
105
106                </tr>
107
108                <tr class="prop">
109                    <td valign="top" class="name">Type:</td>
110
111                    <td valign="top" class="value">${taskInstance?.taskType?.encodeAsHTML()}</td>
112
113                </tr>
114
115                <tr class="prop">
116                    <td valign="top" class="name">Lead Person:</td>
117
118                    <td valign="top" class="value">${taskInstance?.leadPerson?.encodeAsHTML()}</td>
119
120                </tr>
121
122                <tr class="prop">
123                    <td valign="top" class="name">Assigned Groups:</td>
124
125                    <td  valign="top" style="text-align:left;" class="value">
126                        <ul>
127                        <g:each var="a" in="${assignedGroupList}">
128                            <li><g:link controller="assignedGroupDetailed" action="edit" id="${a.id}" params="['task.id':taskInstance.id]">${a?.encodeAsHTML()}</g:link></li>
129                        </g:each>
130                        </ul>
131                        <g:link controller="assignedGroupDetailed" action="create" params="['task.id':taskInstance.id]">+Add Group</g:link>
132                    </td>
133
134                </tr>
135
136
137                <tr class="prop">
138                    <td valign="top" class="name">Assigned Persons:</td>
139
140                    <td  valign="top" style="text-align:left;" class="value">
141                        <ul>
142                        <g:each var="a" in="${assignedPersonList}">
143                            <li><g:link controller="assignedPersonDetailed" action="edit" id="${a.id}" params="['task.id':taskInstance.id]">${a?.encodeAsHTML()}</g:link></li>
144                        </g:each>
145                        </ul>
146                        <g:link controller="assignedPersonDetailed" action="create" params="['task.id':taskInstance?.id]">+Add Person</g:link>
147                    </td>
148
149                </tr>
150
151            </tbody>
152        </table>
153    </div>
154
155    <div class="buttons">
156        <g:form>
157            <input type="hidden" name="id" value="${taskInstance?.id}" />
158
159            <g:if test="${taskInstance.trash}" >
160                <span class="button"><g:actionSubmit class="restore" onclick="return confirm('Are you sure?');" value="Restore"/></span>
161            </g:if>
162            <g:else>
163
164                <g:if test="${taskInstance.taskStatus.id != 3}" >
165
166                    <g:if test="${taskInstance.attentionFlag}" >
167                        <span class="button"><g:actionSubmit class="flag" value="Clear" action="clearAttentionFlag"/></span>
168                    </g:if>
169                    <g:else>
170                        <span class="button"><g:actionSubmit class="flag" value="Unresolved" action="setAttentionFlag"/></span>
171                        <g:helpBalloon class="helpballoon" code="task.status.unresolved" />
172                    </g:else>
173
174                    <span class="button">
175                        <g:if test="${taskInstance.attentionFlag}" >
176                            <g:actionSubmit class="complete"
177                                                    value="Resolved"
178                                                    onclick="return confirm('${message(code:'task.clear.attention.flag.on.completion.confirm')}');"
179                                                    action="complete"/>
180                        </g:if>
181                        <g:else>
182                            <g:actionSubmit class="complete" value="Resolved" action="complete"/>
183                        </g:else>
184                    </span>
185                    <g:helpBalloon class="helpballoon" code="task.status.resolved" />
186
187                    <g:if test="${taskInstance.approved}" >
188                        <span class="button"><g:actionSubmit class="renegeApproval" value="Renege Approval" action="renegeApproval" /></span>
189                    </g:if>
190                    <g:else>
191                        <span class="button"><g:actionSubmit class="approve" value="Approve" /></span>
192                    </g:else>
193
194                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
195                    <span class="button">
196                        <g:actionSubmit class="trash"
197                                                    onclick="return confirm('${message(code:'task.trash.confirm')}');"
198                                                    value="Trash" />
199                    </span>
200
201                </g:if>
202                <g:else>
203                    <span class="button"><g:actionSubmit class="reopen" value="Reopen" /></span>
204                </g:else>
205
206            </g:else>
207        </g:form>
208    </div>
209
210    <br />
211
212    <g:if test="${entryFaultList.isEmpty()}">
213        <h1>No Faults</h1>
214        <br />
215    </g:if>
216    <g:else>
217        <div class="list">
218            <h1>Faults</h1>
219            <table>
220                <thead>
221                    <tr>
222                        <th>Comment</th>
223                        <th>Date</th>
224                        <th>Production</th>
225                        <th>Down Time</th>
226                        <th>Entered By</th>
227                        <th></th>
228                    </tr>
229                </thead>
230                <tbody>
231                    <g:each in="${entryFaultList}" status="i" var="entry">
232                            <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
233
234                                <td style="width:65%" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
235                                    ${entry.comment.encodeAsHTML()}
236                                </td>
237
238                                <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
239                                    <g:formatDate date="${entry.dateDone}" format="EEE, dd-MMM-yyyy"/>
240                                </td>
241
242                                <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
243                                    <g:if test="${entry.productionReference}">
244                                        ${entry.productionReference.encodeAsHTML()}
245                                    </g:if>
246                                    <g:else>
247                                        <g:message code="default.none.text" />
248                                    </g:else>
249                                </td>
250
251                                <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
252                                    ${entry.durationHour}:${entry.durationMinute}
253                                </td>
254
255                                <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
256                                    ${entry.enteredBy.encodeAsHTML()}
257                                </td>
258
259                                <td class="notClickable">
260                                    <g:link controller="entryDetailed" action="edit" id="${entry.id}">
261                                        <img  src="${resource(dir:'images/skin',file:'database_edit.png')}" alt="Edit" title="Edit" />
262                                    </g:link>
263                                </td>
264
265                            </tr>
266                    </g:each>
267                </tbody>
268            </table>
269        </div>
270    </g:else>
271
272    <div class="buttons">
273        <g:form controller="entryDetailed">
274            <g:hiddenField name="taskInstance.id" value="${taskInstance?.id}" />
275            <g:hiddenField name="entryType.id" value="1" />
276            <span class="button">
277                <g:actionSubmit value="Add Fault" action="create"  class="add"/>
278            </span>
279        </g:form>
280    </div>
281
282    <br />
283
284    <g:if test="${entryCauseList.isEmpty()}">
285        <h1>No Causes</h1>
286        <br />
287    </g:if>
288    <g:else>
289        <div class="list">
290            <h1>Causes</h1>
291            <table>
292                <thead>
293                    <tr>
294                        <th>Comment</th>
295                        <th>Date Done</th>
296                        <th>Entered By</th>
297                        <th></th>
298                    </tr>
299                </thead>
300                <tbody>
301                    <g:each in="${entryCauseList}" status="i" var="entry">
302                            <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
303
304                                <td style="width:65%" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
305                                    ${entry.comment.encodeAsHTML()}
306                                </td>
307
308                                <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
309                                    <g:formatDate date="${entry.dateDone}" format="EEE, dd-MMM-yyyy"/>
310                                </td>
311
312                                <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
313                                    ${entry.enteredBy.encodeAsHTML()}
314                                </td>
315
316                                <td class="notClickable">
317                                    <g:link controller="entryDetailed" action="edit" id="${entry.id}">
318                                        <img  src="${resource(dir:'images/skin',file:'database_edit.png')}" alt="Edit" title="Edit" />
319                                    </g:link>
320                                </td>
321
322                            </tr>
323                    </g:each>
324                </tbody>
325            </table>
326        </div>
327    </g:else>
328
329    <div class="buttons">
330        <g:form controller="entryDetailed">
331            <g:hiddenField name="taskInstance.id" value="${taskInstance?.id}" />
332            <g:hiddenField name="entryType.id" value="2" />
333            <span class="button">
334                <g:actionSubmit value="Add Cause" action="create"  class="add"/>
335            </span>
336        </g:form>
337    </div>
338
339    <br />
340
341    <g:if test="${entryWorkDoneList.isEmpty()}">
342        <h1>No Work Done</h1>
343        <br />
344    </g:if>
345    <g:else>
346        <div class="list">
347            <h1>Work Done</h1>
348            <table>
349                <thead>
350                    <tr>
351                        <th>Comment</th>
352                        <th>Date Done</th>
353                        <th>Duration</th>
354                        <th>Entered By</th>
355                        <th></th>
356                    </tr>
357                </thead>
358                <tbody>
359                    <g:each in="${entryWorkDoneList}" status="i" var="entry">
360                            <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
361
362                                <td width="65%" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
363                                    ${entry.comment.encodeAsHTML()}
364                                </td>
365
366                                <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
367                                    <g:formatDate date="${entry.dateDone}" format="EEE, dd-MMM-yyyy"/>
368                                </td>
369
370                                <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
371                                    ${entry.durationHour}:${entry.durationMinute}
372                                </td>
373
374                                <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'>
375                                    ${entry.enteredBy.encodeAsHTML()}
376                                </td>
377
378                                <td class="notClickable">
379                                    <g:link controller="entryDetailed" action="edit" id="${entry.id}">
380                                        <img  src="${resource(dir:'images/skin',file:'database_edit.png')}" alt="Edit" title="Edit" />
381                                    </g:link>
382                                </td>
383
384                            </tr>
385                    </g:each>
386                </tbody>
387            </table>
388        </div>
389    </g:else>
390
391    <div class="buttons">
392        <g:form controller="entryDetailed">
393            <g:hiddenField name="taskInstance.id" value="${taskInstance?.id}" />
394            <g:hiddenField name="entryType.id" value="3" />
395            <span class="button">
396                <g:actionSubmit value="Add Work Done" action="create"  class="add"/>
397            </span>
398        </g:form>
399    </div>
Note: See TracBrowser for help on using the repository browser.