[84] | 1 | |
---|
| 2 | |
---|
| 3 | <html> |
---|
| 4 | <head> |
---|
| 5 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> |
---|
| 6 | <meta name="layout" content="main" /> |
---|
[247] | 7 | <title>Edit Task #${taskInstance?.id}</title> |
---|
[139] | 8 | <nav:resources override="true"/> |
---|
[147] | 9 | <resource:dateChooser /> |
---|
[84] | 10 | </head> |
---|
| 11 | <body> |
---|
| 12 | <div class="nav"> |
---|
[139] | 13 | <nav:renderSubItems group="nav"/> |
---|
[84] | 14 | </div> |
---|
| 15 | <div class="body"> |
---|
| 16 | <g:if test="${flash.message}"> |
---|
| 17 | <div class="message">${flash.message}</div> |
---|
| 18 | </g:if> |
---|
| 19 | <g:hasErrors bean="${taskInstance}"> |
---|
| 20 | <div class="errors"> |
---|
| 21 | <g:renderErrors bean="${taskInstance}" as="list" /> |
---|
| 22 | </div> |
---|
| 23 | </g:hasErrors> |
---|
| 24 | <g:form method="post" > |
---|
| 25 | <input type="hidden" name="id" value="${taskInstance?.id}" /> |
---|
[204] | 26 | <input type="hidden" name="version" value="${taskInstance?.version}" /> |
---|
[84] | 27 | <div class="dialog"> |
---|
| 28 | <table> |
---|
| 29 | <tbody> |
---|
| 30 | |
---|
| 31 | <tr class="prop"> |
---|
| 32 | <td valign="top" class="name"> |
---|
[86] | 33 | <label for="id">Id:</label> |
---|
| 34 | </td> |
---|
| 35 | <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'id')}</td> |
---|
| 36 | </tr> |
---|
| 37 | |
---|
[247] | 38 | <g:if test="${taskInstance?.parentTask}"> |
---|
[246] | 39 | <tr class="prop"> |
---|
| 40 | <td valign="top" class="name">Parent Task:</td> |
---|
| 41 | |
---|
| 42 | <td valign="top" class="value"><g:link controller="taskDetailed" action="show" id="${taskInstance.parentTask.id}">${taskInstance.parentTask.encodeAsHTML()}</g:link></td> |
---|
| 43 | |
---|
| 44 | </tr> |
---|
| 45 | </g:if> |
---|
| 46 | |
---|
[86] | 47 | <tr class="prop"> |
---|
| 48 | <td valign="top" class="name"> |
---|
[84] | 49 | <label for="description">Description:</label> |
---|
| 50 | </td> |
---|
| 51 | <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'description','errors')}"> |
---|
[91] | 52 | <input type="text" style="width:450px" maxlength="75" id="description" name="description" value="${fieldValue(bean:taskInstance,field:'description')}"/> |
---|
[84] | 53 | </td> |
---|
[86] | 54 | </tr> |
---|
| 55 | |
---|
| 56 | <tr class="prop"> |
---|
| 57 | <td valign="top" class="name"> |
---|
| 58 | <label for="comment">Comment:</label> |
---|
| 59 | </td> |
---|
| 60 | <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'comment','errors')}"> |
---|
| 61 | <textarea style="width:450px" rows="5" cols="40" name="comment">${fieldValue(bean:taskInstance, field:'comment')}</textarea> |
---|
| 62 | </td> |
---|
| 63 | </tr> |
---|
[84] | 64 | |
---|
| 65 | <tr class="prop"> |
---|
| 66 | <td valign="top" class="name"> |
---|
| 67 | <label for="targetStartDate">Target Start Date:</label> |
---|
| 68 | </td> |
---|
| 69 | <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'targetStartDate','errors')}"> |
---|
[147] | 70 | <richui:dateChooser name="targetStartDate" format="dd-MM-yyyy" value="${taskInstance?.targetStartDate}" /> |
---|
[84] | 71 | </td> |
---|
| 72 | </tr> |
---|
[86] | 73 | |
---|
| 74 | <tr class="prop"> |
---|
| 75 | <td valign="top" class="name"> |
---|
| 76 | <label for="targetCompletionDate">Target Completion Date:</label> |
---|
| 77 | </td> |
---|
| 78 | <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'targetCompletionDate','errors')}"> |
---|
[147] | 79 | <richui:dateChooser name="targetCompletionDate" format="dd-MM-yyyy" value="${taskInstance?.targetCompletionDate}" /> |
---|
[86] | 80 | </td> |
---|
| 81 | </tr> |
---|
[84] | 82 | |
---|
| 83 | <tr class="prop"> |
---|
| 84 | <td valign="top" class="name"> |
---|
| 85 | <label for="leadPerson">Lead Person:</label> |
---|
| 86 | </td> |
---|
| 87 | <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'leadPerson','errors')}"> |
---|
[487] | 88 | <g:select optionKey="id" |
---|
| 89 | from="${Person.findAllByIsActive(true).sort { p1, p2 -> p1.firstName.compareToIgnoreCase(p2.firstName) }}" |
---|
| 90 | name="leadPerson.id" |
---|
| 91 | value="${taskInstance?.leadPerson?.id}" > |
---|
| 92 | </g:select> |
---|
[84] | 93 | </td> |
---|
[168] | 94 | </tr> |
---|
[84] | 95 | |
---|
| 96 | <tr class="prop"> |
---|
| 97 | <td valign="top" class="name"> |
---|
[168] | 98 | <label for="primaryAsset">Primary Asset:</label> |
---|
| 99 | </td> |
---|
| 100 | <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'primaryAsset','errors')}"> |
---|
[487] | 101 | <g:select optionKey="id" |
---|
| 102 | from="${Asset.findAllByIsActive(true).sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) }}" |
---|
| 103 | name="primaryAsset.id" |
---|
| 104 | value="${taskInstance?.primaryAsset?.id}" |
---|
| 105 | noSelection="['null':'--None--']"> |
---|
| 106 | </g:select> |
---|
[168] | 107 | <g:helpBalloon code="task.primaryAsset" /> |
---|
| 108 | </td> |
---|
| 109 | </tr> |
---|
| 110 | |
---|
| 111 | <tr class="prop"> |
---|
| 112 | <td valign="top" class="name"> |
---|
| 113 | <label for="associatedAssets">Associated Assets:</label> |
---|
| 114 | </td> |
---|
| 115 | <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'associatedAssets','errors')}"> |
---|
[487] | 116 | <g:select id="associatedAssets" |
---|
| 117 | name="associatedAssets" |
---|
| 118 | from="${Asset.findAllByIsActive(true).sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) }}" |
---|
[168] | 119 | optionKey="id" size="5" multiple="yes" |
---|
[487] | 120 | value="${taskInstance?.associatedAssets.id}" |
---|
| 121 | noSelection="['':'--None--']" > |
---|
| 122 | </g:select> |
---|
[168] | 123 | <g:helpBalloon class="helpballoon" code="task.associatedAssets" /> |
---|
| 124 | </td> |
---|
| 125 | </tr> |
---|
| 126 | |
---|
| 127 | <tr class="prop"> |
---|
| 128 | <td valign="top" class="name"> |
---|
[84] | 129 | <label for="taskPriority">Task Priority:</label> |
---|
| 130 | </td> |
---|
| 131 | <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'taskPriority','errors')}"> |
---|
[487] | 132 | <g:select optionKey="id" |
---|
| 133 | from="${TaskPriority.findAllByIsActive(true).sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) }}" |
---|
| 134 | name="taskPriority.id" |
---|
| 135 | value="${taskInstance?.taskPriority?.id}" > |
---|
| 136 | </g:select> |
---|
[84] | 137 | </td> |
---|
[252] | 138 | </tr> |
---|
| 139 | |
---|
| 140 | <tr class="prop"> |
---|
| 141 | <td valign="top" class="name"> |
---|
| 142 | <label for="taskBudgetStatus">Budget Status:</label> |
---|
| 143 | </td> |
---|
| 144 | <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'taskBudgetStatus','errors')}"> |
---|
[487] | 145 | <g:select optionKey="id" |
---|
| 146 | from="${TaskBudgetStatus.findAllByIsActive(true).sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) }}" |
---|
| 147 | name="taskBudgetStatus.id" |
---|
| 148 | value="${taskInstance?.taskBudgetStatus?.id}" > |
---|
| 149 | </g:select> |
---|
[252] | 150 | </td> |
---|
[487] | 151 | </tr> |
---|
[84] | 152 | |
---|
| 153 | <tr class="prop"> |
---|
| 154 | <td valign="top" class="name"> |
---|
[181] | 155 | <label for="scheduled">Scheduled:</label> |
---|
[84] | 156 | </td> |
---|
[181] | 157 | <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'scheduled','errors')}"> |
---|
| 158 | <g:checkBox name="scheduled" value="${taskInstance?.scheduled}" ></g:checkBox> |
---|
[84] | 159 | </td> |
---|
[86] | 160 | </tr> |
---|
[84] | 161 | |
---|
| 162 | <tr class="prop"> |
---|
| 163 | <td valign="top" class="name"> |
---|
| 164 | <label for="taskGroup">Task Group:</label> |
---|
| 165 | </td> |
---|
| 166 | <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'taskGroup','errors')}"> |
---|
[487] | 167 | <g:select optionKey="id" |
---|
| 168 | from="${TaskGroup.findAllByIsActive(true).sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) }}" |
---|
| 169 | name="taskGroup.id" |
---|
| 170 | value="${taskInstance?.taskGroup?.id}" > |
---|
| 171 | </g:select> |
---|
[84] | 172 | </td> |
---|
[487] | 173 | </tr> |
---|
[84] | 174 | |
---|
| 175 | <tr class="prop"> |
---|
| 176 | <td valign="top" class="name"> |
---|
| 177 | <label for="taskType">Task Type:</label> |
---|
| 178 | </td> |
---|
| 179 | <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'taskType','errors')}"> |
---|
[487] | 180 | <g:select optionKey="id" |
---|
| 181 | from="${TaskType.findAllByIsActive(true).sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) }}" |
---|
| 182 | name="taskType.id" |
---|
| 183 | value="${taskInstance?.taskType?.id}" > |
---|
| 184 | </g:select> |
---|
[84] | 185 | </td> |
---|
[96] | 186 | </tr> |
---|
| 187 | |
---|
| 188 | <tr class="prop"> |
---|
| 189 | <td valign="top" class="name"> |
---|
[242] | 190 | <label for="assignedPersons">Assigned Groups:</label> |
---|
| 191 | </td> |
---|
| 192 | <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'assignedGroups','errors')}"> |
---|
| 193 | |
---|
| 194 | <ul> |
---|
| 195 | <g:each var="a" in="${taskInstance?.assignedGroups?}"> |
---|
[247] | 196 | <li><g:link controller="assignedGroupDetailed" action="edit" id="${a.id}" params="['task.id':taskInstance?.id]">${a?.encodeAsHTML()}</g:link></li> |
---|
[242] | 197 | </g:each> |
---|
| 198 | </ul> |
---|
| 199 | |
---|
| 200 | </td> |
---|
| 201 | </tr> |
---|
| 202 | |
---|
| 203 | <tr class="prop"> |
---|
| 204 | <td valign="top" class="name"> |
---|
[241] | 205 | <label for="assignedPersons">Assigned Persons:</label> |
---|
[96] | 206 | </td> |
---|
[241] | 207 | <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'assignedPersons','errors')}"> |
---|
[96] | 208 | |
---|
[181] | 209 | <ul> |
---|
[241] | 210 | <g:each var="a" in="${taskInstance?.assignedPersons?}"> |
---|
[247] | 211 | <li><g:link controller="assignedPersonDetailed" action="edit" id="${a.id}" params="['task.id':taskInstance?.id]">${a?.encodeAsHTML()}</g:link></li> |
---|
[181] | 212 | </g:each> |
---|
| 213 | </ul> |
---|
[96] | 214 | |
---|
| 215 | </td> |
---|
[181] | 216 | </tr> |
---|
[96] | 217 | |
---|
[84] | 218 | </tbody> |
---|
| 219 | </table> |
---|
| 220 | </div> |
---|
| 221 | <div class="buttons"> |
---|
| 222 | <span class="button"><g:actionSubmit class="save" value="Update" /></span> |
---|
[213] | 223 | <span class="button"><g:actionSubmit class="cancel" value="Cancel" action="Show"/></span> |
---|
[181] | 224 | <span class="button"><g:actionSubmit class="trash" onclick="return confirm('Are you sure?');" value="Trash" /></span> |
---|
[84] | 225 | </div> |
---|
| 226 | </g:form> |
---|
| 227 | </div> |
---|
| 228 | </body> |
---|
| 229 | </html> |
---|