Index: trunk/grails-app/controllers/TaskDetailedController.groovy
===================================================================
--- trunk/grails-app/controllers/TaskDetailedController.groovy	(revision 551)
+++ trunk/grails-app/controllers/TaskDetailedController.groovy	(revision 552)
@@ -149,8 +149,25 @@
         filterParams.order = params.order ?: "desc"
 
+        // Get some associatedProperty values for filterpane.
+        def associatedPropertyValues = [:]
+        def associatedPropertyMax = 10000
+        associatedPropertyValues.taskPriorityList = TaskPriority.findAllByIsActive(true, [max:associatedPropertyMax, sort:'name'])
+        def lastNameQuery = 'select distinct p.lastName from Person p where p.isActive = ? order by p.lastName'
+        associatedPropertyValues.lastNameList = Person.executeQuery(lastNameQuery, [true], [max:associatedPropertyMax])
+        def firstNameQuery = 'select distinct p.firstName from Person p where p.isActive = ? order by p.firstName'
+        associatedPropertyValues.firstNameList = Person.executeQuery(firstNameQuery, [true], [max:associatedPropertyMax])
+        associatedPropertyValues.taskGroupList = TaskGroup.findAllByIsActive(true, [max:associatedPropertyMax, sort:'name'])
+        associatedPropertyValues.assetList = Asset.findAllByIsActive(true, [max:associatedPropertyMax, sort:'name'])
+        associatedPropertyValues.taskStatusList = TaskStatus.findAllByIsActive(true, [max:associatedPropertyMax, sort:'name'])
+        associatedPropertyValues.taskTypeList = TaskType.findAllByIsActive(true, [max:associatedPropertyMax, sort:'name'])
+        def startOfYearRange = dateUtilService.getYearFromDate(dateUtilService.plusYear(new Date(), -10))
+        def endOfYearRange = dateUtilService.getYearFromDate(dateUtilService.plusYear(new Date(), 10))
+        associatedPropertyValues.yearRange = startOfYearRange..endOfYearRange
+
         return[ taskInstanceList: taskInstanceList,
                         taskInstanceTotal: taskInstanceTotal,
                         filterParams: filterParams,
-                        params: params ]
+                        params: params,
+                        associatedPropertyValues: associatedPropertyValues]
 
     } // search
@@ -800,9 +817,9 @@
         result.previousMonth.year = dateUtilService.getYearFromDate(result.previousMonth.date)
         result.nextYear = [:]
-        result.nextYear.date = dateUtilService.getNextYear(showDate)
+        result.nextYear.date = dateUtilService.plusYear(showDate)
         result.nextYear.month = dateUtilService.getMonthFromDate(result.nextYear.date)
         result.nextYear.year = dateUtilService.getYearFromDate(result.nextYear.date)
         result.previousYear = [:]
-        result.previousYear.date = dateUtilService.getPreviousYear(showDate)
+        result.previousYear.date = dateUtilService.plusYear(showDate, -1)
         result.previousYear.month = dateUtilService.getMonthFromDate(result.previousYear.date)
         result.previousYear.year = dateUtilService.getYearFromDate(result.previousYear.date)
Index: trunk/grails-app/services/DateUtilService.groovy
===================================================================
--- trunk/grails-app/services/DateUtilService.groovy	(revision 551)
+++ trunk/grails-app/services/DateUtilService.groovy	(revision 552)
@@ -99,22 +99,12 @@
 
     /**
-    * Get the date one year in the future.
-    * @param date The Date object to start with.
-    * @returns A Date object one year in the future.
+    * Get the date plus x years.
+    * @param date The Date object to start with, defaults to today.
+    * @param plusYears The number of years to add, defaults to 1.
+    * @returns A Date object adjusted by x years.
     */
-    public static Date getNextYear(Date date) {
+    public static Date plusYear(Date date = new Date(), Integer plusYears = 1) {
         use(TimeCategory) {
-            date + 1.years
-        }
-    }
-
-    /**
-    * Get the date one year ago.
-    * @param date The Date object to start with.
-    * @returns A Date object one year ago.
-    */
-    public static Date getPreviousYear(Date date) {
-        use(TimeCategory) {
-            date - 1.years
+            date + plusYears.years
         }
     }
Index: trunk/grails-app/views/taskDetailed/search.gsp
===================================================================
--- trunk/grails-app/views/taskDetailed/search.gsp	(revision 551)
+++ trunk/grails-app/views/taskDetailed/search.gsp	(revision 552)
@@ -171,14 +171,14 @@
                                                                                 taskStatus.name,
                                                                                 taskType.name"
-                                    filterPropertyValues="${['taskPriority.name':[values:TaskPriority.list()],
-                                                                                'leadPerson.lastName':[values:Person.executeQuery('select distinct t.lastName from Person t')],
-                                                                                'leadPerson.firstName':[values:Person.executeQuery('select distinct t.firstName from Person t')],
-                                                                                'taskGroup.name':[values:TaskGroup.list()],
-                                                                                'associatedAssets.name':[values:Asset.list()],
-                                                                                'primaryAsset.name':[values:Asset.list()],
-                                                                                'taskStatus.name':[values:TaskStatus.list()],
-                                                                                'taskType.name':[values:TaskType.list()],
-                                                                                targetCompletionDate:[years:2020..2000,precision:'day'],
-                                                                                targetStartDate:[years:2020..2000,precision:'day']
+                                    filterPropertyValues="${['taskPriority.name':[values: associatedPropertyValues.taskPriorityList],
+                                                                                'leadPerson.lastName':[values: associatedPropertyValues.lastNameList],
+                                                                                'leadPerson.firstName':[values: associatedPropertyValues.firstNameList],
+                                                                                'taskGroup.name':[values: associatedPropertyValues.taskGroupList],
+                                                                                'associatedAssets.name':[values: associatedPropertyValues.assetList],
+                                                                                'primaryAsset.name':[values: associatedPropertyValues.assetList],
+                                                                                'taskStatus.name':[values: associatedPropertyValues.taskStatusList],
+                                                                                'taskType.name':[values: associatedPropertyValues.taskTypeList],
+                                                                                targetCompletionDate:[years: associatedPropertyValues.yearRange,precision:'day'],
+                                                                                targetStartDate:[years: associatedPropertyValues.yearRange,precision:'day']
                                                                                 ]}"/>
 
