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

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

Always show top pagination buttons on task search view when there are multiple pages.

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="${taskInstanceTotal > taskInstanceList.size()}">
76                <div class="paginateButtons">
77                    <g:paginate total="${taskInstanceTotal}" params="${filterParams}" />
78                </div>
79            </g:if>
80
81            <g:if test="${taskInstanceList.size() > 0}">
82                <div class="list">
83                    <table>
84                        <thead>
85                            <tr>
86
87                                <custom:sortableColumnWithImg property="attentionFlag"
88                                                                                                imgSrc="${resource(dir:'images/skin',file:'flag_red.png')}"
89                                                                                                imgAlt="Flag"
90                                                                                                params="${filterParams}" />
91
92                                <g:sortableColumn property="targetStartDate" title="Target Start Date" params="${filterParams}" />
93
94                                <g:sortableColumn property="description" title="Description" params="${filterParams}" />
95
96                                <g:sortableColumn property="taskGroup" title="Group" params="${filterParams}" />
97
98                                <g:sortableColumn  property="taskType" title="Type" params="${filterParams}" />
99
100                                <g:sortableColumn  property="taskPriority" title="Priority" params="${filterParams}" />
101
102                                <g:sortableColumn  property="taskStatus" title="Status" params="${filterParams}" />
103
104                                <custom:sortableColumnWithImg property="defaultSort"
105                                                                                                imgSrc="${resource(dir:'images/skin',file:'table_sort.png')}"
106                                                                                                imgAlt="Sort"
107                                                                                                imgTitle="Default Sort"
108                                                                                                params="${filterParams}" />
109
110                            </tr>
111                        </thead>
112                        </tbody>
113                        <tbody>
114                        <g:each in="${taskInstanceList}" status="i" var="taskInstance">
115                        <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
116
117                                <td class="idColumn" onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
118                                    <g:if test="${taskInstance.attentionFlag}">
119                                        <img  src="${resource(dir:'images/skin',file:'flag_red.png')}" alt="Flag" />
120                                    </g:if>
121                                </td>
122
123                                <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
124                                    <g:formatDate date="${taskInstance.targetStartDate}" format="EEE, dd-MMM-yyyy"/>
125                                </td>
126
127                                <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
128                                    <b>
129                                        Task #${fieldValue(bean:taskInstance, field:'id')}<br />
130                                        ${fieldValue(bean:taskInstance, field:'description')}
131                                    </b>
132                                    <br />
133                                    <br />
134                                    <g:if test="${taskInstance.primaryAsset}">
135                                        ${fieldValue(bean:taskInstance, field:'primaryAsset')}<br />
136                                    </g:if>
137                                    <g:each in="${taskInstance.assignedGroups}" status="j" var="assignedGroup">
138                                        ${assignedGroup.encodeAsHTML()}<br />
139                                    </g:each>
140                                    <g:each in="${taskInstance.assignedPersons}" status="k" var="assignedPerson">
141                                        ${assignedPerson.encodeAsHTML()}<br />
142                                    </g:each>
143                                    <g:each in="${taskInstance.entries}" status="m" var="entry">
144                                        <g:if test="${entry.entryType.id == 3}">
145                                            <em>${'WD: ' +entry.toShortString().encodeAsHTML()}</em><br />
146                                        </g:if>
147                                    </g:each>
148                                    <g:if test="${taskInstance.subTasks}">
149                                        Sub Tasks: ${taskInstance.subTasks.size()}<br />
150                                    </g:if>
151                                </td>
152
153                                <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
154                                    ${fieldValue(bean:taskInstance, field:'taskGroup')}
155                                </td>
156
157                                <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
158                                    ${fieldValue(bean:taskInstance, field:'taskType')}
159                                </td>
160
161                                <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
162                                    ${fieldValue(bean:taskInstance, field:'taskPriority')}
163                                </td>
164
165                                <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
166                                    ${fieldValue(bean:taskInstance, field:'taskStatus')}
167                                </td>
168
169                                <td class="notClickable">
170                                    <g:link action="show" id="${taskInstance.id}">
171                                        <img  src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" />
172                                    </g:link>
173                                </td>
174
175                            </tr>
176                        </g:each>
177                        </tbody>
178                    </table>
179                </div>
180            </g:if>
181            <div class="paginateButtons">
182                <g:paginate action="search" total="${taskInstanceTotal}" params="${filterParams}" />
183            </div>
184
185            <filterpane:filterPane domainBean="Task"
186                                    title="Advanced Search"
187                                    action="search"
188                                    class="overlayPane"
189                                    additionalProperties="id"
190                                    excludeProperties="targetCompletionDate"
191                                    associatedProperties="taskPriority.name,
192                                                                                leadPerson.lastName,
193                                                                                leadPerson.firstName,
194                                                                                taskGroup.name,
195                                                                                associatedAssets.name,
196                                                                                primaryAsset.name,
197                                                                                taskStatus.name,
198                                                                                taskType.name"
199                                    filterPropertyValues="${['taskPriority.name':[values: associatedPropertyValues.taskPriorityList],
200                                                                                'leadPerson.lastName':[values: associatedPropertyValues.lastNameList],
201                                                                                'leadPerson.firstName':[values: associatedPropertyValues.firstNameList],
202                                                                                'taskGroup.name':[values: associatedPropertyValues.taskGroupList],
203                                                                                'associatedAssets.name':[values: associatedPropertyValues.assetList],
204                                                                                'primaryAsset.name':[values: associatedPropertyValues.assetList],
205                                                                                'taskStatus.name':[values: associatedPropertyValues.taskStatusList],
206                                                                                'taskType.name':[values: associatedPropertyValues.taskTypeList],
207                                                                                targetCompletionDate:[years: associatedPropertyValues.yearRange,precision:'day'],
208                                                                                targetStartDate:[years: associatedPropertyValues.yearRange,precision:'day']
209                                                                                ]}"/>
210
211            <g:render template="quickSearchPane" />
212
213        </div> <!-- end body  -->
214    </body>
215</html>
Note: See TracBrowser for help on using the repository browser.