Index: /trunk/grails-app/controllers/TaskDetailedController.groovy
===================================================================
--- /trunk/grails-app/controllers/TaskDetailedController.groovy	(revision 213)
+++ /trunk/grails-app/controllers/TaskDetailedController.groovy	(revision 214)
@@ -10,4 +10,5 @@
     def filterService
     def exportService
+    def dateUtilService
 
     // these actions only accept POST requests
@@ -409,4 +410,9 @@
     def create = {
         def taskInstance = new Task()
+
+        // Set the targetStartDate if specified, used by searchCalendar view.
+        if(params.year && params.month && params.day)
+            taskInstance.targetStartDate = dateUtilService.makeDate(params.year, params.month, params.day)
+
         // Default leadPerson to current user, unless supplied in params.
         taskInstance.leadPerson = personService.currentUser()
Index: /trunk/grails-app/services/DateUtilService.groovy
===================================================================
--- /trunk/grails-app/services/DateUtilService.groovy	(revision 213)
+++ /trunk/grails-app/services/DateUtilService.groovy	(revision 214)
@@ -76,3 +76,21 @@
     }
 
+    /**
+    * Make a date object from supplied year, month, day values.
+    * The Calendar.getInstance() or Calendar.instance factory returns a new calendar instance, usually
+    * a Gregorian calendar but using Calendar we don't have to worry about those details.
+    * The time fields are set to zero and cal.getTime() or cal.time returns a java.util.Date object.
+    * @param year The year as a string or integer.
+    * @param month The month as a string or integer.
+    * @param day The day as a string or integer.
+    * @returns A Date object having the given date and all time fields set to 0, so the very start of the given day.
+    */
+    public static Date makeDate(year, month, day) {
+        Calendar cal = Calendar.instance
+        cal.clear()
+        // Stupid month is 0-based, grumble.
+        cal.set(year.toInteger(), month.toInteger()-1, day.toInteger())
+        cal.time
+    }
+
 }
Index: /trunk/grails-app/views/taskDetailed/create.gsp
===================================================================
--- /trunk/grails-app/views/taskDetailed/create.gsp	(revision 213)
+++ /trunk/grails-app/views/taskDetailed/create.gsp	(revision 214)
@@ -51,5 +51,5 @@
                                 </td>
                                 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'targetStartDate','errors')}">
-                                    <richui:dateChooser name="targetStartDate" format="dd-MM-yyyy" value="${new Date()}" />
+                                    <richui:dateChooser name="targetStartDate" format="dd-MM-yyyy" value="${taskInstance.targetStartDate}" />
                                     <g:helpBalloon class="helpballoon" code="task.targetStartDate" />
                                 </td>
@@ -61,5 +61,5 @@
                                 </td>
                                 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'targetCompletionDate','errors')}">
-                                    <richui:dateChooser name="targetCompletionDate" format="dd-MM-yyyy" value="${new Date()}" />
+                                    <richui:dateChooser name="targetCompletionDate" format="dd-MM-yyyy" value="${taskInstance.targetCompletionDate}" />
                                     <g:helpBalloon class="helpballoon" code="task.targetCompletionDate" />
                                 </td>
Index: /trunk/grails-app/views/taskDetailed/searchCalendar.gsp
===================================================================
--- /trunk/grails-app/views/taskDetailed/searchCalendar.gsp	(revision 213)
+++ /trunk/grails-app/views/taskDetailed/searchCalendar.gsp	(revision 214)
@@ -38,5 +38,11 @@
                 <filterpane:filterButton text="Advanced" appliedText="Advanced" />
             </div>
-            <richui:calendarMonthView items="${taskInstanceList}" createLink="true" constraintDateFields="['targetStartDate']" month="${new Date()}" controller="taskDetailed" action="show" />
+            <richui:calendarMonthView items="${taskInstanceList}"
+                                                                    createLink="true"
+                                                                    constraintDateFields="['targetStartDate']"
+                                                                    month="${new Date()}"
+                                                                    controller="taskDetailed"
+                                                                    action="show"
+                                                                    dayAction="create"/>
             <filterpane:filterPane domainBean="Task"
                                     title="Advanced Search"
