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
RevLine 
[139]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>
[140]6        <filterpane:includes />
[139]7        <nav:resources override="true"/>
[262]8        <export:resource />
[139]9    </head>
10    <body>
11        <div class="nav">
12            <nav:renderSubItems group="nav"/>
13        </div>
[150]14
[139]15        <div class="body">
[418]16            <g:render template="/shared/messages" />
[139]17            <g:hasErrors bean="${appCore}">
18                <div class="errors">
19                    <g:renderErrors bean="${appCore}" as="list" />
20                </div>
21            </g:hasErrors>
[140]22            <filterpane:currentCriteria domainBean="Task"
23                                    action="search"
[450]24                                    dateFormat="EEE, dd-MMM-yyyy"
25                                    removeImgDir="images"
[140]26                                    removeImgFile="bullet_delete.png"
[155]27                                    title="Advanced Search"/>
[147]28
[155]29            <div class="paginateButtons">
[221]30                <span class="searchButtons">
31                    <a href='' onclick="showElement('searchPane'); return false;">Quick</a>
32                </span>
[262]33                Results: ${taskInstanceList.size()} / ${taskInstanceTotal}
[221]34                <span class="searchButtons">
35                    <filterpane:filterButton text="Advanced" appliedText="Advanced" />
36                </span>
[155]37            </div>
38
[323]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                                                    />
[262]45
[323]46            <div id="options" style="display:none;">
[570]47                <g:form method="post" action="setSearchParamsMax" >
[262]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">
[326]61                                            <g:actionSubmit action="setSearchParamsMax" class="go" value="Update" />
[262]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}">
[356]76                <g:if test="${taskInstanceTotal > taskInstanceList.size()}">
77                    <div class="paginateButtons">
78                        <g:paginate total="${taskInstanceTotal}" params="${filterParams}" />
79                    </div>
80                </g:if>
[262]81            </g:if>
82
[467]83            <g:if test="${taskInstanceList.size() > 0}">
84                <div class="list">
85                    <table>
86                        <thead>
87                            <tr>
[150]88
[467]89                                <custom:sortableColumnWithImg property="attentionFlag"
90                                                                                                imgSrc="${resource(dir:'images/skin',file:'flag_red.png')}"
[582]91                                                                                                imgAlt="Flag"
92                                                                                                params="${filterParams}" />
[418]93
[467]94                                <g:sortableColumn property="targetStartDate" title="Target Start Date" params="${filterParams}" />
[150]95
[467]96                                <g:sortableColumn property="description" title="Description" params="${filterParams}" />
[150]97
[586]98                                <g:sortableColumn property="taskGroup" title="Group" params="${filterParams}" />
[150]99
[499]100                                <g:sortableColumn  property="taskType" title="Type" params="${filterParams}" />
[139]101
[586]102                                <g:sortableColumn  property="taskPriority" title="Priority" params="${filterParams}" />
103
[498]104                                <g:sortableColumn  property="taskStatus" title="Status" params="${filterParams}" />
105
[582]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}" />
[150]111
[467]112                            </tr>
113                        </thead>
114                        </tbody>
115                        <tbody>
116                        <g:each in="${taskInstanceList}" status="i" var="taskInstance">
[498]117                        <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
[139]118
[498]119                                <td class="idColumn" onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
[467]120                                    <g:if test="${taskInstance.attentionFlag}">
121                                        <img  src="${resource(dir:'images/skin',file:'flag_red.png')}" alt="Flag" />
122                                    </g:if>
123                                </td>
[150]124
[498]125                                <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
126                                    <g:formatDate date="${taskInstance.targetStartDate}" format="EEE, dd-MMM-yyyy"/>
127                                </td>
[150]128
[498]129                                <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
[586]130                                    <b>
131                                        Task #${fieldValue(bean:taskInstance, field:'id')}<br />
132                                        ${fieldValue(bean:taskInstance, field:'description')}
133                                    </b>
[583]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>
[586]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>
[498]153                                </td>
[150]154
[498]155                                <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
[586]156                                    ${fieldValue(bean:taskInstance, field:'taskGroup')}
[498]157                                </td>
[150]158
[498]159                                <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
160                                    ${fieldValue(bean:taskInstance, field:'taskType')}
161                                </td>
[139]162
[498]163                                <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
[586]164                                    ${fieldValue(bean:taskInstance, field:'taskPriority')}
165                                </td>
166
167                                <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
[498]168                                    ${fieldValue(bean:taskInstance, field:'taskStatus')}
169                                </td>
170
171                                <td class="notClickable">
[467]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>
[150]176
[467]177                            </tr>
178                        </g:each>
179                        </tbody>
180                    </table>
181                </div>
182            </g:if>
[139]183            <div class="paginateButtons">
[476]184                <g:paginate  action="search" total="${taskInstanceTotal}" params="${filterParams}" />
[139]185            </div>
[147]186
[140]187            <filterpane:filterPane domainBean="Task"
[155]188                                    title="Advanced Search"
[140]189                                    action="search"
[155]190                                    class="overlayPane"
[140]191                                    additionalProperties="id"
[593]192                                    excludeProperties="targetCompletionDate"
[168]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"
[552]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']
[168]211                                                                                ]}"/>
[155]212
[476]213            <g:render template="quickSearchPane" />
[155]214
[476]215        </div> <!-- end body  -->
[139]216    </body>
217</html>
Note: See TracBrowser for help on using the repository browser.