]> err.no Git - scalable-opengroupware.org/blobdiff - UI/Scheduler/UIxTaskEditor.m
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1267 d1b88da0-ebda-0310...
[scalable-opengroupware.org] / UI / Scheduler / UIxTaskEditor.m
index 96d520810c56f58d92ce713e48efe105aca18200..8ea3b9edf1b1641d45fce7cc022121c7e83c64d0 100644 (file)
   [statusDate release];
   [status release];
   [statusPercent release];
+  [todo release];
   [super dealloc];
 }
 
 /* template values */
 - (iCalToDo *) todo
 {
+  if (!todo)
+    {
+      todo = (iCalToDo *) [[self clientObject] component: NO secure: NO];
+      [todo retain];
+    }
+
   return todo;
 }
 
 - (id) changeStatusAction
 {
   SOGoTaskObject *clientObject;
-  NSString *newStatus, *iCalString;
+  NSString *newStatus;
 
   clientObject = [self clientObject];
   todo = (iCalToDo *) [clientObject component: NO secure: NO];
+  [todo retain];
   if (todo)
     {
       newStatus = [self queryParameterForKey: @"status"];
          [todo setPercentComplete: @"0"];
          [todo setStatus: @"IN-PROCESS"];
        }
-
-      iCalString = [[clientObject calendar: NO secure: NO] versitString];
-      [clientObject saveContentString: iCalString];
+      [clientObject saveComponent: todo];
     }
 
-  return self;
+  return [self responseWith204];
 }
 
 @end