- Timestamp:
- Feb 19, 2010, 1:46:29 AM (15 years ago)
- File:
-
- 1 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 /**
Note: See TracChangeset
for help on using the changeset viewer.