source: branches/TaskRewrite/src/grails-app/views/task/edit.gsp @ 69

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

Add TaskPriority? and TaskType? domains, generate views and controllers.
Tweak security extensively.
Use 'extend BaseController?' to pass ROLE_USER to most controllers.
Add parentTask and subTask to Task Domain.

File size: 11.0 KB
Line 
1
2
3<html>
4    <head>
5        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
6        <meta name="layout" content="main" />
7        <title>Edit Task</title>
8    </head>
9    <body>
10        <div class="nav">
11            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
12            <span class="menuButton"><g:link class="list" action="list">Task List</g:link></span>
13            <span class="menuButton"><g:link class="create" action="create">New Task</g:link></span>
14        </div>
15        <div class="body">
16            <h1>Edit Task</h1>
17            <g:if test="${flash.message}">
18            <div class="message">${flash.message}</div>
19            </g:if>
20            <g:hasErrors bean="${taskInstance}">
21            <div class="errors">
22                <g:renderErrors bean="${taskInstance}" as="list" />
23            </div>
24            </g:hasErrors>
25            <g:form method="post" >
26                <input type="hidden" name="id" value="${taskInstance?.id}" />
27                <div class="dialog">
28                    <table>
29                        <tbody>
30                       
31                            <tr class="prop">
32                                <td valign="top" class="name">
33                                    <label for="targetStartDate">Target Start Date:</label>
34                                </td>
35                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'targetStartDate','errors')}">
36                                    <g:datePicker name="targetStartDate" value="${taskInstance?.targetStartDate}" ></g:datePicker>
37                                </td>
38                            </tr>
39                       
40                            <tr class="prop">
41                                <td valign="top" class="name">
42                                    <label for="description">Description:</label>
43                                </td>
44                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'description','errors')}">
45                                    <input type="text" maxlength="50" id="description" name="description" value="${fieldValue(bean:taskInstance,field:'description')}"/>
46                                </td>
47                            </tr>
48                       
49                            <tr class="prop">
50                                <td valign="top" class="name">
51                                    <label for="leadPerson">Lead Person:</label>
52                                </td>
53                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'leadPerson','errors')}">
54                                    <g:select optionKey="id" from="${Person.list()}" name="leadPerson.id" value="${taskInstance?.leadPerson?.id}" ></g:select>
55                                </td>
56                            </tr>
57                       
58                            <tr class="prop">
59                                <td valign="top" class="name">
60                                    <label for="taskStatus">Task Status:</label>
61                                </td>
62                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'taskStatus','errors')}">
63                                    <g:select optionKey="id" from="${TaskStatus.list()}" name="taskStatus.id" value="${taskInstance?.taskStatus?.id}" ></g:select>
64                                </td>
65                            </tr>
66                       
67                            <tr class="prop">
68                                <td valign="top" class="name">
69                                    <label for="parentTask">Parent Task:</label>
70                                </td>
71                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'parentTask','errors')}">
72                                    <g:select optionKey="id" from="${Task.list()}" name="parentTask.id" value="${taskInstance?.parentTask?.id}" noSelection="['null':'']"></g:select>
73                                </td>
74                            </tr>
75                       
76                            <tr class="prop">
77                                <td valign="top" class="name">
78                                    <label for="comment">Comment:</label>
79                                </td>
80                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'comment','errors')}">
81                                    <textarea rows="5" cols="40" name="comment">${fieldValue(bean:taskInstance, field:'comment')}</textarea>
82                                </td>
83                            </tr>
84                       
85                            <tr class="prop">
86                                <td valign="top" class="name">
87                                    <label for="assignedPersons">Assigned Persons:</label>
88                                </td>
89                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'assignedPersons','errors')}">
90                                   
91<ul>
92<g:each var="a" in="${taskInstance?.assignedPersons?}">
93    <li><g:link controller="person" action="show" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
94</g:each>
95</ul>
96<g:link controller="person" params="['task.id':taskInstance?.id]" action="create">Add Person</g:link>
97
98                                </td>
99                            </tr>
100                       
101                            <tr class="prop">
102                                <td valign="top" class="name">
103                                    <label for="entries">Entries:</label>
104                                </td>
105                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'entries','errors')}">
106                                   
107<ul>
108<g:each var="e" in="${taskInstance?.entries?}">
109    <li><g:link controller="entry" action="show" id="${e.id}">${e?.encodeAsHTML()}</g:link></li>
110</g:each>
111</ul>
112<g:link controller="entry" params="['task.id':taskInstance?.id]" action="create">Add Entry</g:link>
113
114                                </td>
115                            </tr>
116                       
117                            <tr class="prop">
118                                <td valign="top" class="name">
119                                    <label for="isActive">Is Active:</label>
120                                </td>
121                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'isActive','errors')}">
122                                    <g:checkBox name="isActive" value="${taskInstance?.isActive}" ></g:checkBox>
123                                </td>
124                            </tr>
125                       
126                            <tr class="prop">
127                                <td valign="top" class="name">
128                                    <label for="isApproved">Is Approved:</label>
129                                </td>
130                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'isApproved','errors')}">
131                                    <g:checkBox name="isApproved" value="${taskInstance?.isApproved}" ></g:checkBox>
132                                </td>
133                            </tr>
134                       
135                            <tr class="prop">
136                                <td valign="top" class="name">
137                                    <label for="isScheduled">Is Scheduled:</label>
138                                </td>
139                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'isScheduled','errors')}">
140                                    <g:checkBox name="isScheduled" value="${taskInstance?.isScheduled}" ></g:checkBox>
141                                </td>
142                            </tr>
143                       
144                            <tr class="prop">
145                                <td valign="top" class="name">
146                                    <label for="modifications">Modifications:</label>
147                                </td>
148                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'modifications','errors')}">
149                                   
150<ul>
151<g:each var="m" in="${taskInstance?.modifications?}">
152    <li><g:link controller="modification" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
153</g:each>
154</ul>
155<g:link controller="modification" params="['task.id':taskInstance?.id]" action="create">Add Modification</g:link>
156
157                                </td>
158                            </tr>
159                       
160                            <tr class="prop">
161                                <td valign="top" class="name">
162                                    <label for="subTasks">Sub Tasks:</label>
163                                </td>
164                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'subTasks','errors')}">
165                                   
166<ul>
167<g:each var="s" in="${taskInstance?.subTasks?}">
168    <li><g:link controller="task" action="show" id="${s.id}">${s?.encodeAsHTML()}</g:link></li>
169</g:each>
170</ul>
171<g:link controller="task" params="['task.id':taskInstance?.id]" action="create">Add Task</g:link>
172
173                                </td>
174                            </tr>
175                       
176                            <tr class="prop">
177                                <td valign="top" class="name">
178                                    <label for="targetCompletionDate">Target Completion Date:</label>
179                                </td>
180                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'targetCompletionDate','errors')}">
181                                    <g:datePicker name="targetCompletionDate" value="${taskInstance?.targetCompletionDate}" ></g:datePicker>
182                                </td>
183                            </tr>
184                       
185                            <tr class="prop">
186                                <td valign="top" class="name">
187                                    <label for="taskGroup">Task Group:</label>
188                                </td>
189                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'taskGroup','errors')}">
190                                    <g:select optionKey="id" from="${TaskGroup.list()}" name="taskGroup.id" value="${taskInstance?.taskGroup?.id}" ></g:select>
191                                </td>
192                            </tr>
193                       
194                        </tbody>
195                    </table>
196                </div>
197                <div class="buttons">
198                    <span class="button"><g:actionSubmit class="save" value="Update" /></span>
199                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
200                </div>
201            </g:form>
202        </div>
203    </body>
204</html>
Note: See TracBrowser for help on using the repository browser.