Changeset 392
- Timestamp:
- Feb 19, 2010, 1:46:29 AM (15 years ago)
- Location:
- trunk/grails-app
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/grails-app/controllers/InventoryItemDetailedController.groovy
r382 r392 1 1 import org.codehaus.groovy.grails.plugins.springsecurity.Secured 2 import org.codehaus.groovy.grails.commons.ConfigurationHolder 2 3 3 4 @Secured(['ROLE_AppAdmin', 'ROLE_Manager', 'ROLE_InventoryManager']) … … 5 6 6 7 def filterService 8 def exportService 7 9 def inventoryItemService 8 10 def inventoryMovementService … … 14 16 def index = { redirect(action:search, params:params) } 15 17 18 /** 19 * Set session.inventoryItemSearchParamsMax 20 */ 21 @Secured(['ROLE_AppAdmin', 'ROLE_Manager', 'ROLE_InventoryManager', 'ROLE_InventoryUser']) 22 def setSearchParamsMax = { 23 def max = 1000 24 if(params.newMax.isInteger()) { 25 def i = params.newMax.toInteger() 26 if(i > 0 && i <= max) 27 session.inventoryItemSearchParamsMax = params.newMax 28 if(i > max) 29 session.inventoryItemSearchParamsMax = max 30 } 31 forward(action: 'search', params: params) 32 } 33 16 34 @Secured(['ROLE_AppAdmin', 'ROLE_Manager', 'ROLE_InventoryManager', 'ROLE_InventoryUser']) 17 35 def search = { 36 37 if(session.inventoryItemSearchParamsMax) 38 params.max = session.inventoryItemSearchParamsMax 39 18 40 params.max = Math.min( params.max ? params.max.toInteger() : 10, 100) 41 42 def inventoryItemInstanceList = [] 43 def inventoryItemInstanceTotal 44 def filterParams = [:] 19 45 20 46 // Quick Search: 21 47 if(!params.filter) { 22 return[ inventoryItemInstanceList: InventoryItem.list( params ), inventoryItemInstanceTotal: InventoryItem.count(), filterParams: params ] 23 } 48 inventoryItemInstanceList = InventoryItem.list( params ) 49 inventoryItemInstanceTotal = InventoryItem.count() 50 filterParams = params 51 } 52 else { 24 53 // filterPane: 25 return[ inventoryItemInstanceList: filterService.filter( params, InventoryItem ), 26 inventoryItemInstanceTotal: filterService.count( params, InventoryItem ), 27 filterParams: com.zeddware.grails.plugins.filterpane.FilterUtils.extractFilterParams(params), 28 params:params ] 29 } 54 inventoryItemInstanceList = filterService.filter( params, InventoryItem ) 55 inventoryItemInstanceTotal = filterService.count( params, InventoryItem ) 56 filterParams = com.zeddware.grails.plugins.filterpane.FilterUtils.extractFilterParams(params) 57 } 58 59 // export plugin: 60 if(params?.format && params.format != "html") { 61 62 def dateFmt = { date -> 63 formatDate(format: "EEE, dd-MMM-yyyy", date: date) 64 } 65 String title = "Inventory List." 66 67 response.contentType = ConfigurationHolder.config.grails.mime.types[params.format] 68 response.setHeader("Content-disposition", "attachment; filename=Inventory.${params.extension}") 69 List fields = ["name", 70 "description", 71 "unitsInStock", 72 "unitOfMeasure", 73 "inventoryLocation", 74 "inventoryLocation.inventoryStore"] 75 Map labels = ["name": "Name", 76 "description": "Description", 77 "unitsInStock":"In Stock", 78 "unitOfMeasure": "UOM", 79 "inventoryLocation": "Location", 80 "inventoryLocation.inventoryStore": "Store"] 81 82 Map formatters = [:] 83 Map parameters = [title: title, separator: ","] 84 85 exportService.export(params.format, 86 response.outputStream, 87 inventoryItemInstanceList.sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) }, 88 fields, 89 labels, 90 formatters, 91 parameters) 92 } 93 94 // Add some basic params to filterParams. 95 filterParams.max = params.max 96 filterParams.offset = params.offset?.toInteger() ?: 0 97 filterParams.sort = params.sort ?: "id" 98 filterParams.order = params.order ?: "desc" 99 100 return[ inventoryItemInstanceList: inventoryItemInstanceList, 101 inventoryItemInstanceTotal: inventoryItemInstanceTotal, 102 filterParams: filterParams ] 103 } // end search() 30 104 31 105 /** -
trunk/grails-app/views/inventoryItemDetailed/create.gsp
r382 r392 51 51 <g:select optionKey="id" 52 52 from="${ InventoryLocation.list().sort { p1, p2 -> p1.toString().compareToIgnoreCase(p2.toString()) } }" 53 name="inventoryLocation.id" value="${inventoryItemInstance?.inventoryLocation?.id}" > 53 name="inventoryLocation.id" value="${inventoryItemInstance?.inventoryLocation?.id}" 54 optionValue="${{it.name+ ' in ' + it.inventoryStore}}"> 54 55 </g:select> 55 56 -
trunk/grails-app/views/inventoryItemDetailed/edit.gsp
r382 r392 83 83 from="${ InventoryLocation.list().sort { p1, p2 -> p1.toString().compareToIgnoreCase(p2.toString()) } }" 84 84 name="inventoryLocation.id" 85 value="${inventoryItemInstance?.inventoryLocation?.id}" > 85 value="${inventoryItemInstance?.inventoryLocation?.id}" 86 optionValue="${{it.name+ ' in ' + it.inventoryStore}}"> 86 87 </g:select> 87 88 </td> -
trunk/grails-app/views/inventoryItemDetailed/search.gsp
r221 r392 9 9 <g:render template="/shared/pictureHead" /> 10 10 <filterpane:includes /> 11 <export:resource /> 11 12 </head> 12 13 <body> … … 26 27 27 28 <div class="paginateButtons"> 29 Results: ${inventoryItemInstanceList.size()} / ${inventoryItemInstanceTotal} 28 30 <span class="searchButtons"> 29 31 <filterpane:filterButton text="Search" appliedText="Change Search" /> 30 32 </span> 31 Results:${inventoryItemInstanceTotal}32 33 </div> 34 35 <jsUtil:toggleControl toggleId="options" 36 imageId="optionsImg" 37 closedImgUrl="${resource(dir:'images/skin',file:'bullet_arrow_right.png')}" 38 openImgUrl="${resource(dir:'images/skin',file:'bullet_arrow_down.png')}" 39 text="${g.message(code: 'default.options.text')}" 40 /> 41 42 <div id="options" style="display:none;"> 43 <g:form method="post" > 44 <g:hiddenField name="params" value="${filterParams}" /> 45 <div class="dialog"> 46 <table> 47 <tbody> 48 49 <tr class="prop"> 50 <td valign="top" class="name"> 51 <label for="max">Results per page:</label> 52 </td> 53 <td valign="top" class="value"> 54 <input type="text" maxlength="4" id="description" name="newMax" value="${params.max}"/> 55 56 <span class="buttons"> 57 <g:actionSubmit action="setSearchParamsMax" class="go" value="Update" /> 58 </span> 59 </td> 60 </tr> 61 62 </tbody> 63 </table> 64 </div> 65 </g:form> 66 <export:formats params="${filterParams}" formats="['csv', 'excel', 'pdf', 'rtf']"/> 67 </div> 68 69 <br /> 70 71 <g:if test="${inventoryItemInstanceList.size() > 10}"> 72 <g:if test="${inventoryItemInstanceTotal > inventoryItemInstanceList.size()}"> 73 <div class="paginateButtons"> 74 <g:paginate total="${inventoryItemInstanceTotal}" params="${filterParams}" /> 75 </div> 76 </g:if> 77 </g:if> 33 78 34 79 <div class="list"> -
trunk/grails-app/views/inventoryItemDetailed/show.gsp
r382 r392 133 133 ${inventoryItemInstance.inventoryLocation?.encodeAsHTML()} 134 134 </g:link> 135 in ${inventoryItemInstance.inventoryLocation?.inventoryStore.encodeAsHTML()} 135 136 </td> 136 137 </tr>
Note: See TracChangeset
for help on using the changeset viewer.