source: trunk/grails-app/views/taskDetailed/search.gsp @ 593

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

Exclude "targetCompletionDate" from Task search, since we are now hitting the IE url character limit.

File size: 12.7 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>Task Search</title>
6        <filterpane:includes />
7        <nav:resources override="true"/>
8        <export:resource />
9    </head>
10    <body>
11        <div class="nav">
12            <nav:renderSubItems group="nav"/>
13        </div>
14
15        <div class="body">
16            <g:render template="/shared/messages" />
17            <g:hasErrors bean="${appCore}">
18                <div class="errors">
19                    <g:renderErrors bean="${appCore}" as="list" />
20                </div>
21            </g:hasErrors>
22            <filterpane:currentCriteria domainBean="Task"
23                                    action="search"
24                                    dateFormat="EEE, dd-MMM-yyyy"
25                                    removeImgDir="images"
26                                    removeImgFile="bullet_delete.png"
27                                    title="Advanced Search"/>
28
29            <div class="paginateButtons">
30                <span class="searchButtons">
31                    <a href='' onclick="showElement('searchPane'); return false;">Quick</a>
32                </span>
33                Results: ${taskInstanceList.size()} / ${taskInstanceTotal}
34                <span class="searchButtons">
35                    <filterpane:filterButton text="Advanced" appliedText="Advanced" />
36                </span>
37            </div>
38
39            <jsUtil:toggleControl toggleId="options"
40                                                    imageId="optionsImg"
41                                                    closedImgUrl="${resource(dir:'images/skin',file:'bullet_arrow_right.png')}"
42                                                    openImgUrl="${resource(dir:'images/skin',file:'bullet_arrow_down.png')}"
43                                                    text="${g.message(code: 'default.options.text')}"
44                                                    />
45
46            <div id="options" style="display:none;">
47                <g:form method="post" action="setSearchParamsMax" >
48                    <g:hiddenField name="params" value="${filterParams}" />
49                    <div class="dialog">
50                        <table>
51                            <tbody>
52
53                                <tr class="prop">
54                                    <td valign="top" class="name">
55                                        <label for="max">Results per page:</label>
56                                    </td>
57                                    <td valign="top" class="value">
58                                        <input type="text" maxlength="4" id="description" name="newMax" value="${params.max}"/>
59
60                                        <span class="buttons">
61                                            <g:actionSubmit action="setSearchParamsMax" class="go" value="Update" />
62                                        </span>
63                                    </td>
64                                </tr>
65
66                            </tbody>
67                        </table>
68                    </div>
69                <export:formats  params="${filterParams}" formats="['csv', 'excel', 'pdf', 'rtf']"/>
70                </g:form>
71            </div>
72
73            <br />
74
75            <g:if test="${taskInstanceList.size() > 10}">
76                <g:if test="${taskInstanceTotal > taskInstanceList.size()}">
77                    <div class="paginateButtons">
78                        <g:paginate total="${taskInstanceTotal}" params="${filterParams}" />
79                    </div>
80                </g:if>
81            </g:if>
82
83            <g:if test="${taskInstanceList.size() > 0}">
84                <div class="list">
85                    <table>
86                        <thead>
87                            <tr>
88
89                                <custom:sortableColumnWithImg property="attentionFlag"
90                                                                                                imgSrc="${resource(dir:'images/skin',file:'flag_red.png')}"
91                                                                                                imgAlt="Flag"
92                                                                                                params="${filterParams}" />
93
94                                <g:sortableColumn property="targetStartDate" title="Target Start Date" params="${filterParams}" />
95
96                                <g:sortableColumn property="description" title="Description" params="${filterParams}" />
97
98                                <g:sortableColumn property="taskGroup" title="Group" params="${filterParams}" />
99
100                                <g:sortableColumn  property="taskType" title="Type" params="${filterParams}" />
101
102                                <g:sortableColumn  property="taskPriority" title="Priority" params="${filterParams}" />
103
104                                <g:sortableColumn  property="taskStatus" title="Status" params="${filterParams}" />
105
106                                <custom:sortableColumnWithImg property="defaultSort"
107                                                                                                imgSrc="${resource(dir:'images/skin',file:'table_sort.png')}"
108                                                                                                imgAlt="Sort"
109                                                                                                imgTitle="Default Sort"
110                                                                                                params="${filterParams}" />
111
112                            </tr>
113                        </thead>
114                        </tbody>
115                        <tbody>
116                        <g:each in="${taskInstanceList}" status="i" var="taskInstance">
117                        <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
118
119                                <td class="idColumn" onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
120                                    <g:if test="${taskInstance.attentionFlag}">
121                                        <img  src="${resource(dir:'images/skin',file:'flag_red.png')}" alt="Flag" />
122                                    </g:if>
123                                </td>
124
125                                <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
126                                    <g:formatDate date="${taskInstance.targetStartDate}" format="EEE, dd-MMM-yyyy"/>
127                                </td>
128
129                                <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
130                                    <b>
131                                        Task #${fieldValue(bean:taskInstance, field:'id')}<br />
132                                        ${fieldValue(bean:taskInstance, field:'description')}
133                                    </b>
134                                    <br />
135                                    <br />
136                                    <g:if test="${taskInstance.primaryAsset}">
137                                        ${fieldValue(bean:taskInstance, field:'primaryAsset')}<br />
138                                    </g:if>
139                                    <g:each in="${taskInstance.assignedGroups}" status="j" var="assignedGroup">
140                                        ${assignedGroup.encodeAsHTML()}<br />
141                                    </g:each>
142                                    <g:each in="${taskInstance.assignedPersons}" status="k" var="assignedPerson">
143                                        ${assignedPerson.encodeAsHTML()}<br />
144                                    </g:each>
145                                    <g:each in="${taskInstance.entries}" status="m" var="entry">
146                                        <g:if test="${entry.entryType.id == 3}">
147                                            <em>${'WD: ' +entry.toShortString().encodeAsHTML()}</em><br />
148                                        </g:if>
149                                    </g:each>
150                                    <g:if test="${taskInstance.subTasks}">
151                                        Sub Tasks: ${taskInstance.subTasks.size()}<br />
152                                    </g:if>
153                                </td>
154
155                                <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
156                                    ${fieldValue(bean:taskInstance, field:'taskGroup')}
157                                </td>
158
159                                <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
160                                    ${fieldValue(bean:taskInstance, field:'taskType')}
161                                </td>
162
163                                <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
164                                    ${fieldValue(bean:taskInstance, field:'taskPriority')}
165                                </td>
166
167                                <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
168                                    ${fieldValue(bean:taskInstance, field:'taskStatus')}
169                                </td>
170
171                                <td class="notClickable">
172                                    <g:link action="show" id="${taskInstance.id}">
173                                        <img  src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" />
174                                    </g:link>
175                                </td>
176
177                            </tr>
178                        </g:each>
179                        </tbody>
180                    </table>
181                </div>
182            </g:if>
183            <div class="paginateButtons">
184                <g:paginate  action="search" total="${taskInstanceTotal}" params="${filterParams}" />
185            </div>
186
187            <filterpane:filterPane domainBean="Task"
188                                    title="Advanced Search"
189                                    action="search"
190                                    class="overlayPane"
191                                    additionalProperties="id"
192                                    excludeProperties="targetCompletionDate"
193                                    associatedProperties="taskPriority.name,
194                                                                                leadPerson.lastName,
195                                                                                leadPerson.firstName,
196                                                                                taskGroup.name,
197                                                                                associatedAssets.name,
198                                                                                primaryAsset.name,
199                                                                                taskStatus.name,
200                                                                                taskType.name"
201                                    filterPropertyValues="${['taskPriority.name':[values: associatedPropertyValues.taskPriorityList],
202                                                                                'leadPerson.lastName':[values: associatedPropertyValues.lastNameList],
203                                                                                'leadPerson.firstName':[values: associatedPropertyValues.firstNameList],
204                                                                                'taskGroup.name':[values: associatedPropertyValues.taskGroupList],
205                                                                                'associatedAssets.name':[values: associatedPropertyValues.assetList],
206                                                                                'primaryAsset.name':[values: associatedPropertyValues.assetList],
207                                                                                'taskStatus.name':[values: associatedPropertyValues.taskStatusList],
208                                                                                'taskType.name':[values: associatedPropertyValues.taskTypeList],
209                                                                                targetCompletionDate:[years: associatedPropertyValues.yearRange,precision:'day'],
210                                                                                targetStartDate:[years: associatedPropertyValues.yearRange,precision:'day']
211                                                                                ]}"/>
212
213            <g:render template="quickSearchPane" />
214
215        </div> <!-- end body  -->
216    </body>
217</html>
Note: See TracBrowser for help on using the repository browser.