diff --git a/ChangeLog b/ChangeLog index 62368b0c5..c0b7db351 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,16 @@ 2007-08-16 Wolfgang Sourdeau + * UI/MailerUI/UIxMailFolderActions.m ([UIxMailFolderActions + -expungeAction]): new method replacing the one previously found in + UIxMailListView. + ([UIxMailFolderActions -createFolderAction]) + ([UIxMailFolderActions -renameFolderAction]) + ([UIxMailFolderActions -deleteFolderAction]) + ([UIxMailFolderActions -emptyTrashAction]) + ([UIxMailFolderActions -subscribeAction]) + ([UIxMailFolderActions -unsubscribeAction]): error situations + should have http return code 500 instead of 403. + * UI/MailerUI/UIxMailAccountActions.m ([UIxMailAccountActions -composeAction]): new method replacing the one previously in UIxMailMainFrame. diff --git a/UI/MailerUI/UIxMailFolderActions.m b/UI/MailerUI/UIxMailFolderActions.m index 3111e172b..b4a184b84 100644 --- a/UI/MailerUI/UIxMailFolderActions.m +++ b/UI/MailerUI/UIxMailFolderActions.m @@ -58,7 +58,7 @@ error = [connection createMailbox: folderName atURL: [co imap4URL]]; if (error) { - [response setStatus: 403]; + [response setStatus: 500]; [response appendContentString: @"Unable to create folder."]; } else @@ -66,7 +66,7 @@ } else { - [response setStatus: 403]; + [response setStatus: 500]; [response appendContentString: @"Missing 'name' parameter."]; } @@ -112,7 +112,7 @@ toURL: destURL]; if (error) { - [response setStatus: 403]; + [response setStatus: 500]; [response appendContentString: @"Unable to rename folder."]; } else @@ -120,7 +120,7 @@ } else { - [response setStatus: 403]; + [response setStatus: 500]; [response appendContentString: @"Missing 'name' parameter."]; } @@ -164,7 +164,7 @@ toURL: destURL]; if (error) { - [response setStatus: 403]; + [response setStatus: 500]; [response appendContentString: @"Unable to move folder."]; } else @@ -173,6 +173,30 @@ return response; } +- (WOResponse *) expungeAction +{ + NSException *error; + SOGoTrashFolder *co; + WOResponse *response; + + co = [self clientObject]; + response = [context response]; + + error = [co expunge]; + if (error) + { + [response setStatus: 500]; + [response appendContentString: @"Unable to expunge folder."]; + } + else + { + [co flushMailCaches]; + [response setStatus: 204]; + } + + return response; +} + - (WOResponse *) emptyTrashAction { NSException *error; @@ -202,7 +226,7 @@ } if (error) { - [response setStatus: 403]; + [response setStatus: 500]; [response appendContentString: @"Unable to empty the trash folder."]; } else @@ -233,7 +257,7 @@ } else { - [response setStatus: 403]; + [response setStatus: 500]; [response appendContentString: @"How did you end up here?"]; }