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

Last change on this file since 860 was 859, checked in by gav, 14 years ago

Rework entry create and save ajax to allow multiple page element updates with JSON.

File size: 12.0 KB
RevLine 
[822]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
[846]212    <div id="entryFaultContainer">
213        <g:if test="${entryFaultList.isEmpty()}">
214            <h1>No Faults</h1>
215            <br />
216        </g:if>
217        <g:else>
218            <g:render template="/entryDetailed/list"
219                                model="['entryList':entryFaultList]" />
220        </g:else>
221    </div>
[822]222
[846]223    <br />
[822]224
[846]225    <div id="createEntryFaultContainer" style="display:none;"></div>
[822]226
[846]227    <div style="text-align:right;" id="entryFaultButton">
228        <span class="buttons">
229            <input type="button"
230                        class="add"
231                        value="Add Fault"
232                        onclick="getCreateEntryForm(jQuery('#entryFaultContainer'),
233                                                                            jQuery('#entryFaultButton'),
[859]234                                                                            {target: '#createEntryFaultContainer',
235                                                                            taskId: ${taskInstance?.id},
236                                                                            entryTypeId: 1})" />
[846]237        </span>
238    </div>
[822]239
[846]240    <br />
[822]241
[846]242    <div id="entryCauseContainer">
243        <g:if test="${entryCauseList.isEmpty()}">
244            <h1>No Causes</h1>
245            <br />
246        </g:if>
247        <g:else>
248            <g:render template="/entryDetailed/list"
249                                model="['entryList':entryCauseList]" />
250        </g:else>
[822]251    </div>
252
253    <br />
254
[846]255    <div id="createEntryCauseContainer" style="display:none;"></div>
[822]256
[846]257    <div style="text-align:right;" id="entryCauseButton">
258        <span class="buttons">
259            <input type="button"
260                        class="add"
261                        value="Add Cause"
262                        onclick="getCreateEntryForm(jQuery('#entryCauseContainer'),
263                                                                            jQuery('#entryCauseButton'),
[859]264                                                                            {target: '#createEntryCauseContainer',
265                                                                            taskId: ${taskInstance?.id},
266                                                                            entryTypeId: 2})" />
[846]267        </span>
[822]268    </div>
269
270    <br />
271
[833]272    <div id="workDoneContainer">
273        <g:if test="${entryWorkDoneList.isEmpty()}">
274            <h1>No Work Done</h1>
275            <br />
276        </g:if>
277        <g:else>
278            <g:render template="/entryDetailed/list"
279                                model="['entryList':entryWorkDoneList]" />
280        </g:else>
281    </div>
[822]282
[833]283    <br />
[822]284
[833]285    <div id="createWorkDoneContainer" style="display:none;"></div>
[822]286
[833]287    <div style="text-align:right;" id="workDoneButton">
288        <span class="buttons">
289            <input type="button"
290                        class="add"
291                        value="Add Work Done"
292                        onclick="getCreateEntryForm(jQuery('#workDoneContainer'),
293                                                                            jQuery('#workDoneButton'),
[859]294                                                                            {target: '#createWorkDoneContainer',
295                                                                            taskId: ${taskInstance?.id},
296                                                                            entryTypeId: 3})" />
[833]297        </span>
[823]298    </div>
Note: See TracBrowser for help on using the repository browser.