Index: trunk/grails-app/controllers/TaskRecurringScheduleDetailedController.groovy
===================================================================
--- trunk/grails-app/controllers/TaskRecurringScheduleDetailedController.groovy	(revision 134)
+++ trunk/grails-app/controllers/TaskRecurringScheduleDetailedController.groovy	(revision 135)
@@ -89,5 +89,5 @@
         }
         catch(Exception e) {
-            flash.message = "Please select a task, then Create a Recurring Schedule for it.'"
+            flash.message = "Please select a task, then Create a Recurring Schedule for it"
             redirect(controller:"taskDetailed", action:"list")
         }
@@ -97,23 +97,52 @@
         def taskRecurringScheduleInstance = new TaskRecurringSchedule(params)
 		def taskInstance = Task.get(params.task.id)
-		
-		if(!taskRecurringScheduleInstance.hasErrors() && taskRecurringScheduleInstance.save()) {
+				
+		if(taskInstance.taskRecurringSchedule) {
+			flash.message = "This task already has a recurring schedule"
+			redirect(controller:"taskDetailed", action:"show", id: params.task.id)
+		}
+		else {
 			
-			taskInstance.taskRecurringSchedule = taskRecurringScheduleInstance
-					
-			if(taskInstance.save()) {
-				flash.message = "TaskRecurringSchedule ${taskRecurringScheduleInstance.id} created"
-				redirect(action:show,id:taskRecurringScheduleInstance.id)
+			taskRecurringScheduleInstance.nextDueDate = new Date()
+				
+// 			taskRecurringScheduleInstance.nextDueDate = calculateNextDueDate(new Date()) 
+			
+			if(!taskRecurringScheduleInstance.hasErrors() && taskRecurringScheduleInstance.save()) {
+				
+				taskInstance.taskRecurringSchedule = taskRecurringScheduleInstance
+						
+				if(taskInstance.save()) {
+					flash.message = "TaskRecurringSchedule ${taskRecurringScheduleInstance.id} created"
+					redirect(action:show,id:taskRecurringScheduleInstance.id)
+				}
+				else {
+					flash.message = "Task could not be saved and therefore the Recurring Schedule has been disgarded, cause unknown."				
+					render(view:'create',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
+				}
 			}
 			else {
-				flash.message = "Task could not be saved and therefore the Recurring Schedule has been disgarded, cause unknown."				
 				render(view:'create',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
 			}
-		}
-		else {
-			render(view:'create',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
 		}
 
     }
 	
+// 	private Date calculateNextDueDate(nextDue) {
+// // 		def now = new Date()
+// // 		def calculatedDays = new Integer()
+// // 		def nextDue = new Date()
+// 				
+// // 		switch (period) {
+// // 			case "Day(s)":
+// // 				calculatedDays = period
+// // 				nextDue = now + calculatedDays
+// // 			case "Week(s)":
+// // 				calculatedDays = period * 7
+// // 				nextDue = now + calculatedDays
+// // // 			default:
+// // 		}
+// 		nextDue = nextDue + 1
+// 		return nextDue
+// 	}
+	
 }
