source: trunk/grails-app/views/inventoryItemDetailed/reorder.gsp @ 655

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

Add inventory reorder search, part 3.

File size: 16.5 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>InventoryItem Reorder</title>
8        <nav:resources override="true"/>
9        <g:render template="/shared/pictureHead" />
10        <filterpane:includes />
11        <export:resource />
12    </head>
13    <body onload="if(document.textSearchForm) {document.textSearchForm.searchText.focus();}">
14        <div class="nav">
15            <nav:renderSubItems group="nav"/>
16        </div>
17        <div class="body">
18            <g:render template="/shared/messages" />
19
20            <div class="textSearchWrapper">
21                <div class="textSearchInput">
22
23                    <g:form method="post" id="textSearchForm" name="textSearchForm" >
24                        <g:hiddenField name="newSearch" value="true" />
25
26                            <span> <!--Prevent IE inheriting margin-->
27
28                                <table>
29                                    <tr>
30                                        <td>
31                                            <label for="selectedGroups">
32                                                Group:
33                                            </label>
34                                        </td>
35                                        <td>
36                                            <custom:checkBoxList name="selectedGroups"
37                                                                            from="${inventoryGroups}"
38                                                                            value="${params.selectedGroups}"
39                                                                            optionKey="id"
40                                                                            sortBy="name"
41                                                                            height="120px"/>
42                                        </td>
43                                    </tr>
44                                    <tr>
45                                        <td>
46                                            <label for="selectedSupplier">
47                                                Supplier:
48                                            </label>
49                                        </td>
50                                        <td>
51                                            <g:select optionKey="id"
52                                                                from="${suppliers}"
53                                                                name="selectedSupplier"
54                                                                value="${params.selectedSupplier}"
55                                                                noSelection="['null':'--None--']">
56                                            </g:select>
57                                        </td>
58                                    </tr>
59                                    <tr>
60                                        <td>
61                                        </td>
62                                        <td>
63                                            <g:checkBox name="includeAlternateSuppliers" value="${params.includeAlternateSuppliers}" >
64                                            </g:checkBox>
65                                            <label for="includeAlternateSuppliers">
66                                                Include alternate suppliers
67                                            </label>
68                                        </td>
69                                    </tr>
70                                    <tr>
71                                        <td>
72                                        </td>
73                                        <td>
74                                            <g:checkBox name="includeReorderListingDisabled" value="${params.includeReorderListingDisabled}" >
75                                            </g:checkBox>
76                                            <label for="includeReorderListingDisabled">
77                                                Include reorder listing disabled
78                                            </label>
79                                        </td>
80                                    </tr>
81                                    <tr>
82                                        <td>
83                                        </td>
84                                        <td>
85                                            <g:checkBox name="includeOnBackOrder" value="${params.includeOnBackOrder}" >
86                                            </g:checkBox>
87                                            <label for="includeOnBackOrder">
88                                                Include on back order
89                                            </label>
90                                        </td>
91                                    </tr>
92                                </table>
93
94                                <div class="paginateButtons">
95                                    <span class="buttons">
96                                        <g:actionSubmit class="search" value="Search" action="reorder" />
97                                    </span>
98                                    <div class="paginateButtons">
99                                        Results: ${inventoryItemInstanceList.size()} / ${inventoryItemInstanceTotal}
100                                    </div>
101                                </div><!--paginateButtons-->
102                            </span> <!--Prevent IE inheriting margin-->
103
104                    </g:form>
105
106                </div><!--textSearchInput-->
107
108                <div class="textSearchRightFloat">
109                    <div class="paginateButtons">
110                        <span class="searchButtons">
111                            <a href='' onclick="showElement('searchPane'); return false;">Quick</a>
112                        </span>
113                        <br />
114                        <br />
115                    </div>
116
117                    <jsUtil:toggleControl toggleId="options"
118                                                            imageId="optionsImg"
119                                                            closedImgUrl="${resource(dir:'images/skin',file:'bullet_arrow_right.png')}"
120                                                            openImgUrl="${resource(dir:'images/skin',file:'bullet_arrow_down.png')}"
121                                                            text="${g.message(code: 'default.options.text')}"
122                                                            />
123                </div><!--textSearchRightFloat-->
124            </div><!--textSearchWrapper-->
125
126            <div id="options" style="display:none; clear:both;">
127                <g:form method="post" action="setReorderSearchParamsMax" >
128                    <g:hiddenField name="params" value="${filterParams}" />
129                    <div class="dialog">
130                        <table>
131                            <tbody>
132
133                                <tr class="prop">
134                                    <td valign="top" class="name">
135                                        <label for="max">Results per page:</label>
136                                    </td>
137                                    <td valign="top" class="value">
138                                        <input type="text" maxlength="4" id="description" name="newMax" value="${params.max}"/>
139
140                                        <span class="buttons">
141                                            <g:actionSubmit action="setReorderSearchParamsMax" class="go" value="Update" />
142                                        </span>
143                                    </td>
144                                </tr>
145
146                            </tbody>
147                        </table>
148                    </div>
149                </g:form>
150                <export:formats  params="${filterParams}" formats="['csv', 'excel', 'pdf', 'rtf']"/>
151            </div>
152
153            <br />
154
155            <g:if test="${inventoryItemInstanceList.size() > 2}">
156                <g:if test="${inventoryItemInstanceTotal > inventoryItemInstanceList.size()}">
157                    <div class="paginateButtons">
158                        <g:paginate action="reorder" total="${inventoryItemInstanceTotal}" params="${filterParams}" />
159                    </div>
160                </g:if>
161            </g:if>
162
163            <g:if test="${inventoryItemInstanceList.size() > 0}">
164                <div class="list">
165                    <table>
166                        <thead>
167                            <tr>
168
169                                <th>Picture</th>
170                                <th>Description</th>
171                           
172                                <g:sortableColumn property="inventoryGroup" title="Group" params="${filterParams}" />
173                           
174                                <g:sortableColumn property="unitsInStock" title="In Stock" params="${filterParams}" />
175
176                                <th></th>
177                           
178                            </tr>
179                        </thead>
180                        <tbody>
181                        <g:each in="${inventoryItemInstanceList}" status="i" var="inventoryItemInstance">
182                            <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" />
183
184                                <td class='notClickable'>
185                                    <g:if test="${inventoryItemInstance.picture}" >
186                                        <wa:pictureLightboxAnchor picture="${inventoryItemInstance.picture}"
187                                                                                            size="${Image.Small}"
188                                                                                            lightboxSize="${Image.Large}"
189                                                                                            target="_blank"
190                                                                                            title="Show Original" />
191                                    </g:if>
192                                </td>
193                           
194                                <td onclick='window.location = "${request.getContextPath()}/inventoryItemDetailed/show/${inventoryItemInstance.id}"' >
195                                    <b>${fieldValue(bean:inventoryItemInstance, field:'name')}</b><br />
196                                    ${fieldValue(bean:inventoryItemInstance, field:'description')}
197                                    <br />
198                                    <br />
199                                    Comment:<br />
200                                    ${inventoryItemInstance.comment?.encodeAsHTML()}
201                                    <br />
202                                    <br />
203                                    Reorder Point: ${fieldValue(bean:inventoryItemInstance, field:'reorderPoint')}
204                                    ${fieldValue(bean:inventoryItemInstance, field:'unitOfMeasure')}
205                                    <br />
206                                    P.Supplier: ${fieldValue(bean:inventoryItemInstance, field:'preferredSupplier')}
207                                </td>
208                           
209                                <td onclick='window.location = "${request.getContextPath()}/inventoryItemDetailed/show/${inventoryItemInstance.id}"' >
210                                    ${fieldValue(bean:inventoryItemInstance, field:'inventoryGroup')}
211                                </td>
212                           
213                                <td onclick='window.location = "${request.getContextPath()}/inventoryItemDetailed/show/${inventoryItemInstance.id}"' >
214                                    ${fieldValue(bean:inventoryItemInstance, field:'unitsInStock')}
215                                    ${fieldValue(bean:inventoryItemInstance, field:'unitOfMeasure')}
216                                </td>
217
218                                <td class="notClickable">
219                                    <g:link action="show" id="${inventoryItemInstance.id}">
220                                        <img  src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" />
221                                    </g:link>
222                                </td>
223                           
224                            </tr>
225                        </g:each>
226                        </tbody>
227                    </table>
228                </div>
229            </g:if>
230            <div class="paginateButtons">
231                <g:paginate action="reorder" total="${inventoryItemInstanceTotal}" params="${filterParams}" />
232            </div>
233
234        </div> <!-- end body div -->
235
236        <!-- Start Search Pane -->
237        <div class="overlayPane" id="searchPane" style="display:none;">
238            <h2>Quick Search</h2>
239
240            <g:form method="post" id="searchForm" name="searchForm" >
241                <g:hiddenField name="newTextSearch" value="true" />
242
243                <table>
244                    <tbody>
245
246                        <tr class="prop">
247                            <td valign="top" class="name">
248                                <label>Inventory:</label>
249                            </td>
250                            <td valign="top" class="value">
251                                <g:link controller="inventoryItemDetailed"
252                                                action="reorder"
253                                                params="[quickSearch: 'all']">
254                                                <g:message code="default.all.text" />
255                                </g:link>
256                                <br />
257                                <g:link controller="inventoryItemDetailed"
258                                                action="reorder"
259                                                params="[quickSearch: 'inventoryBelowReorder']">
260                                                <g:message code="inventoryItem.search.text.below.reorder" />
261                                </g:link> - <g:message code="inventoryItem.search.text.below.reorder.description" />
262                                <br />
263                                <g:link controller="inventoryItemDetailed"
264                                                action="reorder"
265                                                params="[quickSearch: 'inventoryBelowReorderAll']">
266                                                <g:message code="inventoryItem.search.text.below.reorder.all" />
267                                </g:link> - <g:message code="inventoryItem.search.text.below.reorder.all.description" />
268                                <br />
269                                <g:link controller="inventoryItemDetailed"
270                                                action="reorder"
271                                                params="[quickSearch: 'recentlyUsed', daysBack: '14']">
272                                                <g:message code="inventoryItem.search.text.recently.used" />
273                                </g:link> - <g:message code="inventoryItem.search.text.recently.used.description" args="[14]"/>
274                                <br />
275                                <g:link controller="inventoryItemDetailed"
276                                                action="reorder"
277                                                params="[quickSearch: 'recentlyUsed', daysBack: '30']">
278                                                <g:message code="inventoryItem.search.text.recently.used" />
279                                </g:link> - <g:message code="inventoryItem.search.text.recently.used.description" args="[30]"/>
280                            </td>
281                        </tr>
282
283                        <tr class="prop">
284                            <td valign="top" class="name">
285                                <label>Links:</label>
286                            </td>
287                            <td valign="top" class="value">
288                                <g:link controller="inventoryItemPurchaseDetailed"
289                                                action="search">
290                                                Purchases
291                                </g:link>
292                            </td>
293                        </tr>
294
295                    </tbody>
296                </table>
297
298                <div class="buttons">
299                    <span class="button">
300                        <g:actionSubmit class="cancel" value="${g.message(code:'fp.tag.filterPane.button.cancel.text', default:'Cancel')}" onclick="return hideElement('searchPane');" />
301                    </span>
302                </div>
303            </g:form>
304        </div> <!-- end search pane -->
305
306    </body>
307</html>
Note: See TracBrowser for help on using the repository browser.