X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=UI%2FScheduler%2FUIxTaskEditor.m;h=8ea3b9edf1b1641d45fce7cc022121c7e83c64d0;hb=c6c01229291a89caf24a6a11b25bcdefee5f6246;hp=96d520810c56f58d92ce713e48efe105aca18200;hpb=49cd1cd8ca16c7b7a94445cacc1238a547f3d2ab;p=scalable-opengroupware.org diff --git a/UI/Scheduler/UIxTaskEditor.m b/UI/Scheduler/UIxTaskEditor.m index 96d52081..8ea3b9ed 100644 --- a/UI/Scheduler/UIxTaskEditor.m +++ b/UI/Scheduler/UIxTaskEditor.m @@ -64,12 +64,19 @@ [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; } @@ -432,10 +439,11 @@ - (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"]; @@ -447,12 +455,10 @@ [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