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

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

Bug fix for ticket #83, part 2.

File size: 16.7 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 items ordered in last 30 days.
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                                    <br />
208                                    Spare For: ${inventoryItemInstance.spareFor.join(', ').encodeAsHTML()}
209                                </td>
210                           
211                                <td onclick='window.location = "${request.getContextPath()}/inventoryItemDetailed/show/${inventoryItemInstance.id}"' >
212                                    ${fieldValue(bean:inventoryItemInstance, field:'inventoryGroup')}
213                                </td>
214                           
215                                <td onclick='window.location = "${request.getContextPath()}/inventoryItemDetailed/show/${inventoryItemInstance.id}"' >
216                                    ${fieldValue(bean:inventoryItemInstance, field:'unitsInStock')}
217                                    ${fieldValue(bean:inventoryItemInstance, field:'unitOfMeasure')}
218                                </td>
219
220                                <td class="notClickable">
221                                    <g:link action="show" id="${inventoryItemInstance.id}">
222                                        <img  src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" />
223                                    </g:link>
224                                </td>
225                           
226                            </tr>
227                        </g:each>
228                        </tbody>
229                    </table>
230                </div>
231            </g:if>
232            <div class="paginateButtons">
233                <g:paginate action="reorder" total="${inventoryItemInstanceTotal}" params="${filterParams}" />
234            </div>
235
236        </div> <!-- end body div -->
237
238        <!-- Start Search Pane -->
239        <div class="overlayPane" id="searchPane" style="display:none;">
240            <h2>Quick Search</h2>
241
242            <g:form method="post" id="searchForm" name="searchForm" >
243                <g:hiddenField name="newTextSearch" value="true" />
244
245                <table>
246                    <tbody>
247
248                        <tr class="prop">
249                            <td valign="top" class="name">
250                                <label>Inventory:</label>
251                            </td>
252                            <td valign="top" class="value">
253                                <g:link controller="inventoryItemDetailed"
254                                                action="reorder"
255                                                params="[quickSearch: 'all']">
256                                                <g:message code="default.all.text" />
257                                </g:link>
258                                <br />
259                                <g:link controller="inventoryItemDetailed"
260                                                action="reorder"
261                                                params="[quickSearch: 'inventoryBelowReorder']">
262                                                <g:message code="inventoryItem.search.text.below.reorder" />
263                                </g:link> - <g:message code="inventoryItem.search.text.below.reorder.description" />
264                                <br />
265                                <g:link controller="inventoryItemDetailed"
266                                                action="reorder"
267                                                params="[quickSearch: 'inventoryBelowReorderAll']">
268                                                <g:message code="inventoryItem.search.text.below.reorder.all" />
269                                </g:link> - <g:message code="inventoryItem.search.text.below.reorder.all.description" />
270                                <br />
271                                <g:link controller="inventoryItemDetailed"
272                                                action="reorder"
273                                                params="[quickSearch: 'recentlyUsed', daysBack: '14']">
274                                                <g:message code="inventoryItem.search.text.recently.used" />
275                                </g:link> - <g:message code="inventoryItem.search.text.recently.used.description" args="[14]"/>
276                                <br />
277                                <g:link controller="inventoryItemDetailed"
278                                                action="reorder"
279                                                params="[quickSearch: 'recentlyUsed', daysBack: '30']">
280                                                <g:message code="inventoryItem.search.text.recently.used" />
281                                </g:link> - <g:message code="inventoryItem.search.text.recently.used.description" args="[30]"/>
282                            </td>
283                        </tr>
284
285                        <tr class="prop">
286                            <td valign="top" class="name">
287                                <label>Links:</label>
288                            </td>
289                            <td valign="top" class="value">
290                                <g:link controller="inventoryItemPurchaseDetailed"
291                                                action="search">
292                                                Purchases
293                                </g:link>
294                            </td>
295                        </tr>
296
297                    </tbody>
298                </table>
299
300                <div class="buttons">
301                    <span class="button">
302                        <g:actionSubmit class="cancel" value="${g.message(code:'fp.tag.filterPane.button.cancel.text', default:'Cancel')}" onclick="return hideElement('searchPane');" />
303                    </span>
304                </div>
305            </g:form>
306        </div> <!-- end search pane -->
307
308    </body>
309</html>
Note: See TracBrowser for help on using the repository browser.