Index: trunk/grails-app/controllers/AppCoreController.groovy
===================================================================
--- trunk/grails-app/controllers/AppCoreController.groovy	(revision 137)
+++ trunk/grails-app/controllers/AppCoreController.groovy	(revision 139)
@@ -5,9 +5,14 @@
     def authenticateService
 
-    def index = { redirect(action:home,params:params) }
+    def index = { redirect(action:start,params:params) }
 
     // the delete, save and update actions only accept POST requests
     //def allowedMethods = [delete:'POST', save:'POST', update:'POST']
 
+    /**
+    * This is where we arrive after login.
+    *  Attach the welcome flash message and redirect to where ever we want the user to start.
+    * e.g. redirect(controller:"taskDetailed", action:"search")
+    */
     def welcome = {
         def personInstance = Person.get(authenticateService.userDomain().id)
@@ -16,14 +21,8 @@
         def sess = getSession()
         sess.setMaxInactiveInterval(personInstance.sessionTimeout)
-        redirect(action:home)
+        redirect(action:start)
     }
 
-    def home = {
-    }
-
-    def options = {
-    }
-
-    def acknowledgements = {
+    def start = {
     }
 
@@ -35,5 +34,4 @@
         if (request.method == 'POST') {
             def personInstance = Person.get(authenticateService.userDomain().id)
-//             personInstance.sessionTimeout = params.sessionTimeout.toInteger()
                 personInstance.properties = params
                 if (!personInstance.hasErrors() && personInstance.save()) {
@@ -41,5 +39,5 @@
                     sess.setMaxInactiveInterval(personInstance.sessionTimeout)
                     flash.message = "Session timeout changed."
-                    redirect(action:options)
+                    redirect(action:start)
                 }
                 else {
@@ -68,5 +66,5 @@
                     //userCache.removeUserFromCache(personInstance.loginName)
                     flash.message = "Password changed successfully."
-                    redirect(action:options)
+                    redirect(action:start)
                 }
                 else {
Index: trunk/grails-app/controllers/AssetDetailedController.groovy
===================================================================
--- trunk/grails-app/controllers/AssetDetailedController.groovy	(revision 137)
+++ trunk/grails-app/controllers/AssetDetailedController.groovy	(revision 139)
@@ -3,5 +3,5 @@
 class AssetDetailedController extends BaseController {
     
-    def index = { redirect(action:list,params:params) }
+    def index = { redirect(action:search,params:params) }
 
     // the delete, save and update actions only accept POST requests
@@ -13,10 +13,20 @@
     }
 
+    def search = {
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+        [ assetInstanceList: Asset.list( params ), assetInstanceTotal: Asset.count() ]
+    }
+
     def show = {
+        
+        // In the case of an actionSubmit button, rewrite action name from 'index'.
+        if(params._action_Show)
+        { params.action='show' }
+        
         def assetInstance = Asset.get( params.id )
 
         if(!assetInstance) {
             flash.message = "Asset not found with id ${params.id}"
-            redirect(action:list)
+            redirect(action:search)
         }
         else { return [ assetInstance : assetInstance ] }
@@ -29,5 +39,5 @@
                 assetInstance.delete()
                 flash.message = "Asset ${params.id} deleted"
-                redirect(action:list)
+                redirect(action:search)
             }
             catch(org.springframework.dao.DataIntegrityViolationException e) {
@@ -38,14 +48,19 @@
         else {
             flash.message = "Asset not found with id ${params.id}"
-            redirect(action:list)
+            redirect(action:search)
         }
     }
 
     def edit = {
+        
+        // In the case of an actionSubmit button, rewrite action name from 'index'.
+        if(params._action_Edit)
+        { params.action='edit' }
+        
         def assetInstance = Asset.get( params.id )
 
         if(!assetInstance) {
             flash.message = "Asset not found with id ${params.id}"
-            redirect(action:list)
+            redirect(action:search)
         }
         else {
Index: trunk/grails-app/controllers/InventoryItemDetailedController.groovy
===================================================================
--- trunk/grails-app/controllers/InventoryItemDetailedController.groovy	(revision 137)
+++ trunk/grails-app/controllers/InventoryItemDetailedController.groovy	(revision 139)
@@ -3,5 +3,5 @@
 class InventoryItemDetailedController extends BaseController {
     
-    def index = { redirect(action:list,params:params) }
+    def index = { redirect(action:search, params:params) }
 
     // the delete, save and update actions only accept POST requests
@@ -13,10 +13,20 @@
     }
 
+    def search = {
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+        [ inventoryItemInstanceList: InventoryItem.list( params ), inventoryItemInstanceTotal: InventoryItem.count() ]
+    }
+
     def show = {
+        
+        // In the case of an actionSubmit button, rewrite action name from 'index'.
+        if(params._action_Show)
+        { params.action='show' }
+        
         def inventoryItemInstance = InventoryItem.get( params.id )
 
         if(!inventoryItemInstance) {
             flash.message = "InventoryItem not found with id ${params.id}"
-            redirect(action:list)
+            redirect(action:search)
         }
         else { return [ inventoryItemInstance : inventoryItemInstance ] }
@@ -29,5 +39,5 @@
                 inventoryItemInstance.delete()
                 flash.message = "InventoryItem ${params.id} deleted"
-                redirect(action:list)
+                redirect(action:search)
             }
             catch(org.springframework.dao.DataIntegrityViolationException e) {
@@ -38,14 +48,19 @@
         else {
             flash.message = "InventoryItem not found with id ${params.id}"
-            redirect(action:list)
+            redirect(action:search)
         }
     }
 
     def edit = {
+        
+        // In the case of an actionSubmit button, rewrite action name from 'index'.
+        if(params._action_Edit)
+        { params.action='edit' }
+        
         def inventoryItemInstance = InventoryItem.get( params.id )
 
         if(!inventoryItemInstance) {
             flash.message = "InventoryItem not found with id ${params.id}"
-            redirect(action:list)
+            redirect(action:search)
         }
         else {
Index: trunk/grails-app/controllers/TaskDetailedController.groovy
===================================================================
--- trunk/grails-app/controllers/TaskDetailedController.groovy	(revision 137)
+++ trunk/grails-app/controllers/TaskDetailedController.groovy	(revision 139)
@@ -2,16 +2,12 @@
 
 class TaskDetailedController extends BaseController {
-    
-    def index = { redirect(action:list,params:params) }
+
+    def index = { 
+        println "index called"
+        redirect(action:search,params:params) 
+    }
 
     // the delete, save and update actions only accept POST requests
     static allowedMethods = [delete:'POST', save:'POST', update:'POST']
-
-//     def list = {
-//         params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
-//         def taskInstanceActives = Task.findAllByIsActive( true ).list( params )
-// //         def taskInstanceList = taskInstanceActives.list( params )
-//         return [ taskInstanceList: taskInstanceList, taskInstanceTotal: taskInstanceActives.count() ]
-//     }
 
     def list = {
@@ -20,10 +16,49 @@
     }
 
+    def search = {
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+        
+        if(!params.order) {
+            params.sort = "id"
+            params.order = "desc"
+        }
+        
+        if(params.search == "ShowAll")
+        {
+            def taskInstanceActivesList = Task.findAllByIsActive(true, params)
+            def taskInstanceActivesTotal = Task.countByIsActive(true)
+            return [taskInstanceList: taskInstanceActivesList, taskInstanceTotal: taskInstanceActivesTotal]
+        }
+        if(params.search == "ShowDeleted")
+        {
+            def taskInstanceActivesList = Task.findAllByIsActive(false, params)
+            def taskInstanceActivesTotal = Task.countByIsActive(false)
+            return [taskInstanceList: taskInstanceActivesList, taskInstanceTotal: taskInstanceActivesTotal]
+        }
+        // Default:
+        def taskInstanceActivesList = Task.findAllByIsActive(true, params)
+        def taskInstanceActivesTotal = Task.countByIsActive(true)
+        [taskInstanceList: taskInstanceActivesList, taskInstanceTotal: taskInstanceActivesTotal]
+    }
+    
+    def searchShowAll = {
+        redirect(action:'search', params:[search:"ShowAll"])
+    }
+    
+    def searchShowDeleted = {
+        redirect(action:'search', params:[search:"ShowDeleted"])
+    }
+
     def show = {
+        
+        // In the case of an actionSubmit button, rewrite action name from 'index'.
+        if(params._action_Show)
+        { params.action='show' }
+
         def taskInstance = Task.get( params.id )
 
         if(!taskInstance) {
             flash.message = "Task not found with id ${params.id}"
-            redirect(action:list)
+            redirect(action:search)
         }
         else {
@@ -86,5 +121,5 @@
                 taskInstance.isActive = false
                 flash.message = "Task ${params.id} has been set to inactive."
-                redirect(action:list)
+                redirect(action:search)
             }
             catch(org.springframework.dao.DataIntegrityViolationException e) {
@@ -95,14 +130,19 @@
         else {
             flash.message = "Task not found with id ${params.id}"
-            redirect(action:list)
+            redirect(action:search)
         }
     }
 
     def edit = {
+        
+        // In the case of an actionSubmit button, rewrite action name from 'index'.
+        if(params._action_Edit)
+        { params.action='edit' }
+        
         def taskInstance = Task.get( params.id )
 
         if(!taskInstance) {
             flash.message = "Task not found with id ${params.id}"
-            redirect(action:list)
+            redirect(action:search)
         }
         else {
@@ -166,5 +206,5 @@
         if(!parentTaskInstance) {
             flash.message = "Task not found with id ${params.id}"
-            redirect(action:list)
+            redirect(action:search)
         }
         else {
