| 46 | | def filterParams = [:] |
| 47 | | |
| 48 | | // Quick Search: |
| 49 | | if(!FilterUtils.isFilterApplied(params)) { |
| | 44 | def filterParams = com.zeddware.grails.plugins.filterpane.FilterUtils.extractFilterParams(params) |
| | 45 | def isFilterApplied = FilterUtils.isFilterApplied(params) |
| | 46 | |
| | 47 | // Restore search unless a new search is being requested. |
| | 48 | if(!params.quickSearch && !filterParams) { |
| | 49 | if(session.inventoryItemPurchaseQuickSearch) |
| | 50 | params.quickSearch = session.inventoryItemPurchaseQuickSearch |
| | 51 | else if(session.inventoryItemPurchaseSearchFilterParams) { |
| | 52 | session.inventoryItemPurchaseSearchFilterParams.each() { params[it.key] = it.value } |
| | 53 | params.filter = session.inventoryItemPurchaseSearchFilter |
| | 54 | isFilterApplied = FilterUtils.isFilterApplied(params) |
| | 55 | } |
| | 56 | } |
| | 57 | |
| | 58 | // Remember sort if supplied, otherwise try to restore. |
| | 59 | if(params.sort && params.order) { |
| | 60 | // Reset to defaultSort if requested. |
| | 61 | if(params.sort == 'defaultSort') { |
| | 62 | params.sort = null |
| | 63 | params.order = null |
| | 64 | session.removeAttribute("inventoryItemPurchaseSearchSort") |
| | 65 | session.removeAttribute("inventoryItemPurchaseSearchOrder") |
| | 66 | } |
| | 67 | else { |
| | 68 | session.inventoryItemPurchaseSearchSort = params.sort |
| | 69 | session.inventoryItemPurchaseSearchOrder = params.order |
| | 70 | } |
| | 71 | } |
| | 72 | else if(session.inventoryItemPurchaseSearchSort && session.inventoryItemPurchaseSearchOrder) { |
| | 73 | params.sort = session.inventoryItemPurchaseSearchSort |
| | 74 | params.order = session.inventoryItemPurchaseSearchOrder |
| | 75 | } |
| | 76 | else { |
| | 77 | params.sort = "purchaseOrderNumber" |
| | 78 | params.order = "desc" |
| | 79 | } |
| | 80 | |
| | 81 | if(isFilterApplied) { |
| | 82 | // filterPane: |
| | 83 | params.sort = params.sort ?: "id" |
| | 84 | params.order = params.order ?: "desc" |
| | 85 | //if(params.sort == "attentionFlag") // See ticket #64 in Trac. |
| | 86 | //params.sort = "id" |
| | 87 | |
| | 88 | // Call filterService. |
| | 89 | inventoryItemPurchaseList = filterService.filter( params, InventoryItemPurchase ) |
| | 90 | inventoryItemPurchaseTotal = filterService.count( params, InventoryItemPurchase ) |
| | 91 | filterParams = com.zeddware.grails.plugins.filterpane.FilterUtils.extractFilterParams(params) |
| | 92 | // Remember search. |
| | 93 | session.inventoryItemPurchaseSearchFilterParams = new LinkedHashMap(filterParams) |
| | 94 | session.inventoryItemPurchaseSearchFilter = new LinkedHashMap(params.filter) |
| | 95 | session.removeAttribute("inventoryItemPurchaseQuickSearch") |
| | 96 | } |
| | 97 | else { |
| | 98 | // Quick Search: |