Index: trunk/grails-app/controllers/TaskDetailedController.groovy
===================================================================
--- trunk/grails-app/controllers/TaskDetailedController.groovy	(revision 163)
+++ trunk/grails-app/controllers/TaskDetailedController.groovy	(revision 165)
@@ -1,3 +1,4 @@
 import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+import org.codehaus.groovy.grails.commons.ConfigurationHolder
 
 class TaskDetailedController extends BaseController {
@@ -7,4 +8,5 @@
     def taskSearchService
     def filterService
+    def exportService
 
     // the delete, save and update actions only accept POST requests
@@ -102,4 +104,48 @@
         return[ taskInstanceList: filterService.filter( params, Task ),
             taskInstanceTotal: taskInstanceTotal,
+            filterParams: com.zeddware.grails.plugins.filterpane.FilterUtils.extractFilterParams(params),
+            params:params ]
+    }
+
+    def budget = {
+//         println params
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100 )
+
+        // Quick Search:
+        if(!params.filter)
+        {
+            def taskInstanceList = []
+            def personInstance = Person.get(authenticateService.userDomain().id)
+
+            if(params.quickSearch == "budgetUnplanned") {
+                taskInstanceList = taskSearchService.getBudgetUnplanned(params)
+                if(taskInstanceList.totalCount > 0) { params.message = "Budget unplanned tasks in the last week." }
+                else { params.message = "No tasks found." }
+            }
+            //else if(params.quickSearch == "budgetPlanned") {
+            else {
+                //Default:
+                taskInstanceList = taskSearchService.getBudgetPlanned(params)
+                if(taskInstanceList.totalCount > 0) { params.message = "Budget planned Tasks in the last week." }
+                else { params.message = "No tasks found.." }
+            }
+            // export plugin:
+            if(params?.format && params.format != "html") {
+                response.contentType = ConfigurationHolder.config.grails.mime.types[params.format]
+                response.setHeader("Content-disposition", "attachment; filename=tasks.${params.extension}")
+                List fields = ["id", "targetStartDate", "description", "leadPerson", "taskStatus", "taskType"]
+                Map labels = ["id": "ID", "targetStartDate": "Target Start Date", "description": "Description",
+                                        "leadPerson": "Lead Person", "taskStatus": "Task Status", "taskType": "Task Type"]
+                Map formatters = [:]
+                String title = "${params.quickSearch} tasks in the last week."
+                Map parameters = [title: title]
+
+                exportService.export(params.format, response.outputStream, taskInstanceList, fields, labels, formatters, parameters) 
+            }
+            return[taskInstanceList: taskInstanceList, taskInstanceTotal: taskInstanceList.totalCount, filterParams: params]
+        }
+        // filterPane:
+        return[ taskInstanceList: filterService.filter( params, Task ),
+            taskInstanceTotal: filterService.count( params, Task ),
             filterParams: com.zeddware.grails.plugins.filterpane.FilterUtils.extractFilterParams(params),
             params:params ]
