source: trunk/grails-app/views/inventoryItemDetailed/search.gsp @ 430

Last change on this file since 430 was 423, checked in by gav, 15 years ago

Add Inventory import/export functionality.

File size: 9.3 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 Search</title>
8        <nav:resources override="true"/>
9        <g:render template="/shared/pictureHead" />
10        <filterpane:includes />
11        <export:resource />
12    </head>
13    <body>
14        <div class="nav">
15            <nav:renderSubItems group="nav"/>
16        </div>
17        <div class="body">
18            <g:render template="/shared/messages" />
19            <filterpane:currentCriteria domainBean="InventoryItem"
20                                    action="search"
21                                    dateFormat="${'EEE, dd-MMM-yyyy'}"
22                                    removeImgDir="images"
23                                    removeImgFile="bullet_delete.png"
24                                    title="Search"/>
25
26            <div class="paginateButtons">
27                Results: ${inventoryItemInstanceList.size()} / ${inventoryItemInstanceTotal}
28                <span class="searchButtons">
29                    <filterpane:filterButton text="Search" appliedText="Change Search" />
30                </span>
31            </div>
32
33            <jsUtil:toggleControl toggleId="options"
34                                                    imageId="optionsImg"
35                                                    closedImgUrl="${resource(dir:'images/skin',file:'bullet_arrow_right.png')}"
36                                                    openImgUrl="${resource(dir:'images/skin',file:'bullet_arrow_down.png')}"
37                                                    text="${g.message(code: 'default.options.text')}"
38                                                    />
39
40            <div id="options" style="display:none;">
41                <g:form method="post" >
42                    <g:hiddenField name="params" value="${filterParams}" />
43                    <div class="dialog">
44                        <table>
45                            <tbody>
46
47                                <tr class="prop">
48                                    <td valign="top" class="name">
49                                        <label for="max">Results per page:</label>
50                                    </td>
51                                    <td valign="top" class="value">
52                                        <input type="text" maxlength="4" id="description" name="newMax" value="${params.max}"/>
53
54                                        <span class="buttons">
55                                            <g:actionSubmit action="setSearchParamsMax" class="go" value="Update" />
56                                        </span>
57                                    </td>
58                                </tr>
59
60                                <tr class="prop">
61                                    <td valign="top" class="name">
62                                        <label for="max">Inventory:</label>
63                                    </td>
64                                    <td valign="top" class="value">
65                                        <g:link action="exportInventory">
66                                            Export
67                                        </g:link>
68                                        /
69                                        <g:link action="exportInventoryTemplate">
70                                            Template
71                                        </g:link>
72                                        /
73                                        <g:link action="exportInventoryExample">
74                                            Example
75                                        </g:link>
76                                        /
77                                        <g:link action="importInventory">
78                                            Import
79                                        </g:link>
80                                    </td>
81                                </tr>
82
83                            </tbody>
84                        </table>
85                    </div>
86                </g:form>
87                <export:formats  params="${filterParams}" formats="['csv', 'excel', 'pdf', 'rtf']"/>
88            </div>
89
90            <br />
91
92            <g:if test="${inventoryItemInstanceList.size() > 10}">
93                <g:if test="${inventoryItemInstanceTotal > inventoryItemInstanceList.size()}">
94                    <div class="paginateButtons">
95                        <g:paginate total="${inventoryItemInstanceTotal}" params="${filterParams}" />
96                    </div>
97                </g:if>
98            </g:if>
99
100            <div class="list">
101                <table>
102                    <thead>
103                        <tr>
104
105                            <th>Picture</th>
106                       
107                                <g:sortableColumn property="name" title="Name" params="${filterParams}" />
108                       
109                                <g:sortableColumn property="description" title="Description" params="${filterParams}" />
110                       
111                            <g:sortableColumn property="unitsInStock" title="Units In Stock" params="${filterParams}" />
112                           
113                            <th>Unit Of Measure</th>
114
115                            <th></th>
116                       
117                        </tr>
118                    </thead>
119                    <tbody>
120                    <g:each in="${inventoryItemInstanceList}" status="i" var="inventoryItemInstance">
121                        <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" />
122
123                            <td class='gallery'>
124                                <g:if test="${inventoryItemInstance.picture}" >
125                                    <wa:pictureLightboxAnchor picture="${inventoryItemInstance.picture}"
126                                                                                        size="${Image.Small}"
127                                                                                        lightboxSize="${Image.Large}"
128                                                                                        target="_blank"
129                                                                                        title="Show Original" />
130                                </g:if>
131                            </td>
132                       
133                            <td onclick='window.location = "${request.getContextPath()}/inventoryItemDetailed/show/${inventoryItemInstance.id}"' >
134                                ${fieldValue(bean:inventoryItemInstance, field:'name')}
135                            </td>
136                       
137                            <td onclick='window.location = "${request.getContextPath()}/inventoryItemDetailed/show/${inventoryItemInstance.id}"' >
138                                ${fieldValue(bean:inventoryItemInstance, field:'description')}
139                            </td>
140                       
141                            <td onclick='window.location = "${request.getContextPath()}/inventoryItemDetailed/show/${inventoryItemInstance.id}"' >
142                                ${fieldValue(bean:inventoryItemInstance, field:'unitsInStock')}
143                            </td>
144                       
145                            <td onclick='window.location = "${request.getContextPath()}/inventoryItemDetailed/show/${inventoryItemInstance.id}"' >
146                                ${fieldValue(bean:inventoryItemInstance, field:'unitOfMeasure')}
147                            </td>
148
149                            <td>
150                                <g:link action="show" id="${inventoryItemInstance.id}">
151                                    <img  src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" />
152                                </g:link>
153                            </td>
154                       
155                        </tr>
156                    </g:each>
157                    </tbody>
158                </table>
159            </div>
160            <div class="paginateButtons">
161                <g:paginate total="${inventoryItemInstanceTotal}" params="${filterParams}" />
162            </div>
163
164            <filterpane:filterPane domainBean="InventoryItem"
165                                    title="Search"
166                                    action="search"
167                                    class="overlayPane"
168                                    excludeProperties=""
169                                    associatedProperties="inventoryLocation.name,
170                                                                            spareFor.name,
171                                                                            manufacturers.name,
172                                                                            suppliers.name"
173                                    filterPropertyValues="${['inventoryLocation.name':[values:InventoryLocation.list()],
174                                                                                'spareFor.name':[values:Asset.list()],
175                                                                                'manufacturers.name':[values:Manufacturer.list()],
176                                                                                'suppliers.name':[values:Supplier.list()],
177                                                                                ]}"/>
178        </div> <!-- end body div -->
179    </body>
180</html>
Note: See TracBrowser for help on using the repository browser.