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

Last change on this file since 817 was 817, checked in by gav, 13 years ago

Display the machines assigned to a tasks procedure, on both the task show and asset life plan views.

File size: 16.2 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 />
[713]9        <resource:dateChooser />
10        <g:javascript src="taskQuickSearchPane.js" />
[139]11    </head>
12    <body>
13        <div class="nav">
14            <nav:renderSubItems group="nav"/>
15        </div>
[150]16
[139]17        <div class="body">
[418]18            <g:render template="/shared/messages" />
[139]19            <g:hasErrors bean="${appCore}">
20                <div class="errors">
21                    <g:renderErrors bean="${appCore}" as="list" />
22                </div>
23            </g:hasErrors>
[140]24            <filterpane:currentCriteria domainBean="Task"
25                                    action="search"
[450]26                                    dateFormat="EEE, dd-MMM-yyyy"
27                                    removeImgDir="images"
[140]28                                    removeImgFile="bullet_delete.png"
[155]29                                    title="Advanced Search"/>
[147]30
[155]31            <div class="paginateButtons">
[221]32                <span class="searchButtons">
33                    <a href='' onclick="showElement('searchPane'); return false;">Quick</a>
34                </span>
[262]35                Results: ${taskInstanceList.size()} / ${taskInstanceTotal}
[221]36                <span class="searchButtons">
37                    <filterpane:filterButton text="Advanced" appliedText="Advanced" />
38                </span>
[155]39            </div>
40
[323]41            <jsUtil:toggleControl toggleId="options"
42                                                    imageId="optionsImg"
43                                                    closedImgUrl="${resource(dir:'images/skin',file:'bullet_arrow_right.png')}"
44                                                    openImgUrl="${resource(dir:'images/skin',file:'bullet_arrow_down.png')}"
45                                                    text="${g.message(code: 'default.options.text')}"
46                                                    />
[262]47
[323]48            <div id="options" style="display:none;">
[570]49                <g:form method="post" action="setSearchParamsMax" >
[262]50                    <g:hiddenField name="params" value="${filterParams}" />
51                    <div class="dialog">
52                        <table>
53                            <tbody>
54
55                                <tr class="prop">
56                                    <td valign="top" class="name">
57                                        <label for="max">Results per page:</label>
58                                    </td>
59                                    <td valign="top" class="value">
60                                        <input type="text" maxlength="4" id="description" name="newMax" value="${params.max}"/>
61
62                                        <span class="buttons">
[326]63                                            <g:actionSubmit action="setSearchParamsMax" class="go" value="Update" />
[262]64                                        </span>
65                                    </td>
66                                </tr>
67
68                            </tbody>
69                        </table>
70                    </div>
71                <export:formats  params="${filterParams}" formats="['csv', 'excel', 'pdf', 'rtf']"/>
72                </g:form>
73            </div>
74
75            <br />
76
[613]77            <g:if test="${taskInstanceTotal > taskInstanceList.size()}">
78                <div class="paginateButtons">
[615]79                    <g:paginate action="search" total="${taskInstanceTotal}" params="${filterParams}" />
[613]80                </div>
[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"
[736]92                                                                                                imgTitle="Attention Flag"
[582]93                                                                                                params="${filterParams}" />
[418]94
[467]95                                <g:sortableColumn property="targetStartDate" title="Target Start Date" params="${filterParams}" />
[150]96
[467]97                                <g:sortableColumn property="description" title="Description" params="${filterParams}" />
[150]98
[586]99                                <g:sortableColumn property="taskGroup" title="Group" params="${filterParams}" />
[150]100
[499]101                                <g:sortableColumn  property="taskType" title="Type" params="${filterParams}" />
[139]102
[736]103                                <custom:sortableColumnWithImg property="taskStatus"
104                                                                                                imgSrc="${resource(dir:'images/skin',file:'status.png')}"
105                                                                                                imgAlt="Status"
106                                                                                                imgTitle="Status"
107                                                                                                params="${filterParams}" />
108
[586]109                                <g:sortableColumn  property="taskPriority" title="Priority" params="${filterParams}" />
110
[582]111                                <custom:sortableColumnWithImg property="defaultSort"
112                                                                                                imgSrc="${resource(dir:'images/skin',file:'table_sort.png')}"
113                                                                                                imgAlt="Sort"
114                                                                                                imgTitle="Default Sort"
115                                                                                                params="${filterParams}" />
[150]116
[467]117                            </tr>
118                        </thead>
119                        </tbody>
120                        <tbody>
121                        <g:each in="${taskInstanceList}" status="i" var="taskInstance">
[498]122                        <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>
[139]123
[498]124                                <td class="idColumn" onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
[467]125                                    <g:if test="${taskInstance.attentionFlag}">
[736]126                                        <img  src="${resource(dir:'images/skin',file:'flag_red.png')}" alt="Flag" title="Attention Flag"/>
[467]127                                    </g:if>
128                                </td>
[150]129
[498]130                                <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
131                                    <g:formatDate date="${taskInstance.targetStartDate}" format="EEE, dd-MMM-yyyy"/>
132                                </td>
[150]133
[498]134                                <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
[586]135                                    <b>
[736]136                                        Task #${fieldValue(bean:taskInstance, field:'id')}
[586]137                                    </b>
[736]138                                    <g:if test="${taskInstance.approved}" >
139                                        <img  src="${resource(dir:'images/skin',file:'cog.png')}" alt="Approved" title="Approved" />
140                                    </g:if>
141                                    <g:if test="${taskInstance.taskRecurringSchedule?.enabled}" >
142                                        <img  src="${resource(dir:'images/skin',file:'arrow_refresh.png')}" alt="Recurrence Enabled" title="Recurrence Enabled" />
143                                    </g:if>
[583]144                                    <br />
[736]145
146                                    <b>
[799]147                                    <g:if test="${taskInstance.primaryAsset}">
148                                        ${fieldValue(bean:taskInstance, field:'primaryAsset')}:
149                                    </g:if>
[736]150                                    ${fieldValue(bean:taskInstance, field:'description')}
151                                    </b>
[817]152                                    <g:if test="${taskInstance.taskProcedureRevision?.maintenanceActions}" >
153                                        <br />
154                                        <custom:taskProcedureMachines taskProcedureRevision="${taskInstance.taskProcedureRevision}" />
155                                    </g:if>
[736]156                                    <g:if test="${taskInstance.safetyRequirement}" >
157                                        <br />
158                                        <img  src="${resource(dir:'images/skin',file:'lightning.png')}" alt="Safety Requirement" title="Safety Requirement" />
159                                        Safety
160                                    </g:if>
161                                    <g:if test="${taskInstance.regulatoryRequirement}" >
162                                        <br />
163                                        <img  src="${resource(dir:'images/skin',file:'script_lightning.png')}" alt="Regulatory Requirement" title="Regulatory Requirement" />
164                                        Regulatory
165                                    </g:if>
166                                    <g:if test="${taskInstance.mandatoryRequirement}" >
167                                        <br />
168                                        <img  src="${resource(dir:'images/skin',file:'script.png')}" alt="Mandatory Requirement" title="Mandatory Requirement" />
169                                        Mandatory
170                                    </g:if>
[583]171                                    <br />
[736]172                                    <br />
[583]173                                    <g:each in="${taskInstance.assignedGroups}" status="j" var="assignedGroup">
174                                        ${assignedGroup.encodeAsHTML()}<br />
175                                    </g:each>
176                                    <g:each in="${taskInstance.assignedPersons}" status="k" var="assignedPerson">
177                                        ${assignedPerson.encodeAsHTML()}<br />
178                                    </g:each>
[586]179                                    <g:each in="${taskInstance.entries}" status="m" var="entry">
180                                        <g:if test="${entry.entryType.id == 3}">
181                                            <em>${'WD: ' +entry.toShortString().encodeAsHTML()}</em><br />
182                                        </g:if>
183                                    </g:each>
184                                    <g:if test="${taskInstance.subTasks}">
185                                        Sub Tasks: ${taskInstance.subTasks.size()}<br />
186                                    </g:if>
[498]187                                </td>
[150]188
[498]189                                <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
[586]190                                    ${fieldValue(bean:taskInstance, field:'taskGroup')}
[498]191                                </td>
[150]192
[498]193                                <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
194                                    ${fieldValue(bean:taskInstance, field:'taskType')}
195                                </td>
[139]196
[736]197                                <td class="idColumn" onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
198                                    <g:if test="${taskInstance.taskStatus.id == 1}" >
199                                        <img  src="${resource(dir:'images/skin',file:'not_started.png')}" alt="Not Started" title="Not Started" />
200                                    </g:if>
201                                    <g:if test="${taskInstance.taskStatus.id == 2}" >
202                                        <img  src="${resource(dir:'images/skin',file:'arrow_right.png')}" alt="In Progress" title="In Progress" />
203                                    </g:if>
204                                    <g:if test="${taskInstance.taskStatus.id == 3}" >
205                                        <img  src="${resource(dir:'images/skin',file:'tick.png')}" alt="Complete" title="Complete" />
206                                    </g:if>
[586]207                                </td>
208
209                                <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'>
[736]210                                    ${fieldValue(bean:taskInstance, field:'taskPriority')}
[498]211                                </td>
212
213                                <td class="notClickable">
[467]214                                    <g:link action="show" id="${taskInstance.id}">
[736]215                                        <img  src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" title="Show" />
[467]216                                    </g:link>
217                                </td>
[150]218
[467]219                            </tr>
220                        </g:each>
221                        </tbody>
222                    </table>
223                </div>
224            </g:if>
[139]225            <div class="paginateButtons">
[613]226                <g:paginate action="search" total="${taskInstanceTotal}" params="${filterParams}" />
[139]227            </div>
[147]228
[140]229            <filterpane:filterPane domainBean="Task"
[155]230                                    title="Advanced Search"
[140]231                                    action="search"
[155]232                                    class="overlayPane"
[140]233                                    additionalProperties="id"
[593]234                                    excludeProperties="targetCompletionDate"
[168]235                                    associatedProperties="taskPriority.name,
236                                                                                leadPerson.lastName,
237                                                                                leadPerson.firstName,
238                                                                                taskGroup.name,
239                                                                                associatedAssets.name,
240                                                                                primaryAsset.name,
241                                                                                taskStatus.name,
242                                                                                taskType.name"
[552]243                                    filterPropertyValues="${['taskPriority.name':[values: associatedPropertyValues.taskPriorityList],
244                                                                                'leadPerson.lastName':[values: associatedPropertyValues.lastNameList],
245                                                                                'leadPerson.firstName':[values: associatedPropertyValues.firstNameList],
246                                                                                'taskGroup.name':[values: associatedPropertyValues.taskGroupList],
247                                                                                'associatedAssets.name':[values: associatedPropertyValues.assetList],
248                                                                                'primaryAsset.name':[values: associatedPropertyValues.assetList],
249                                                                                'taskStatus.name':[values: associatedPropertyValues.taskStatusList],
250                                                                                'taskType.name':[values: associatedPropertyValues.taskTypeList],
251                                                                                targetCompletionDate:[years: associatedPropertyValues.yearRange,precision:'day'],
252                                                                                targetStartDate:[years: associatedPropertyValues.yearRange,precision:'day']
[168]253                                                                                ]}"/>
[155]254
[476]255            <g:render template="quickSearchPane" />
[155]256
[476]257        </div> <!-- end body  -->
[139]258    </body>
259</html>
Note: See TracBrowser for help on using the repository browser.