]> err.no Git - scalable-opengroupware.org/commitdiff
some work on trash action
authorhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Wed, 6 Jul 2005 20:27:40 +0000 (20:27 +0000)
committerhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Wed, 6 Jul 2005 20:27:40 +0000 (20:27 +0000)
git-svn-id: http://svn.opengroupware.org/SOGo/trunk@673 d1b88da0-ebda-0310-925b-ed51d893ca5b

SOGo/SoObjects/Mailer/ChangeLog
SOGo/SoObjects/Mailer/SOGoMailObject.m
SOGo/SoObjects/Mailer/Version
SOGo/SoObjects/common.make

index b4eb1c3d3b7c5854a753a637e8a10f9d9febc1f3..1acf7ad9c49db4944ebf6fcc57cb32e36130a6ce 100644 (file)
@@ -1,5 +1,7 @@
 2005-07-06  Helge Hess  <helge.hess@opengroupware.org>
 
+       * SOGoMailObject.m: started -trash action (v0.9.86)
+
        * v0.9.85
 
        * SOGoMailFolder.m: added ability to check certain ACL permissions (and
index ba3005658712e047a74c80fda856722248bb8d5a..455eaba868603814d46baec86c4fae41fc9e8d9b 100644 (file)
@@ -21,6 +21,7 @@
 
 #include "SOGoMailObject.h"
 #include "SOGoMailFolder.h"
+#include "SOGoMailAccount.h"
 #include "SOGoMailManager.h"
 #include "SOGoMailBodyPart.h"
 #include <NGImap4/NGImap4Envelope.h>
@@ -609,6 +610,26 @@ static BOOL debugBodyStructure = NO;
 
 /* operations */
 
+- (NSException *)trashAction:(id)_ctx {
+  SOGoMailFolder *trashFolder;
+  NSException    *error;
+
+  // TODO: check for safe HTTP method
+  
+  trashFolder = [[self mailAccountFolder] trashFolderInContext:_ctx];
+  if ([trashFolder isKindOfClass:[NSException class]])
+    return (NSException *)trashFolder;
+  if (![trashFolder isNotNull]) {
+    return [NSException exceptionWithHTTPStatus:500 /* Server Error */
+                       reason:@"Did not find Trash folder!"];
+  }
+  
+  error = [self davCopyToTargetObject:trashFolder newName:nil inContext:_ctx];
+  if (error != nil) return error;
+
+  return nil;
+}
+
 - (NSException *)delete {
   /* 
      Note: delete is different to DELETEAction: for mails! The 'delete' runs
@@ -618,6 +639,8 @@ static BOOL debugBodyStructure = NO;
   */
   // TODO: copy to Trash folder
   NSException *error;
+
+  // TODO: check for safe HTTP method
   
   error = [[self mailManager] markURLDeleted:[self imap4URL] 
                              password:[self imap4Password]];
@@ -626,6 +649,8 @@ static BOOL debugBodyStructure = NO;
 - (id)DELETEAction:(id)_ctx {
   NSException *error;
   
+  // TODO: ensure safe HTTP method
+  
   error = [[self mailManager] markURLDeleted:[self imap4URL] 
                              password:[self imap4Password]];
   if (error != nil) return error;
index eca7fb4e5b741d2801b064561823e488c8afb3f7..668f465c889eaf44ccdfc3b6baaafa6de87b9687 100644 (file)
@@ -1,6 +1,6 @@
 # Version file
 
-SUBMINOR_VERSION:=85
+SUBMINOR_VERSION:=86
 
 # v0.9.69 requires libNGMime       v4.5.210
 # v0.9.55 requires libNGExtensions v4.5.136
index 6cbb8c3e672f9add105dfc46e3e2c7919b2346ce..9b75d5ff643f4da66d4c8d44da9c2653fceb2030 100644 (file)
@@ -14,7 +14,7 @@ ADDITIONAL_INCLUDE_DIRS += \
 
 ADDITIONAL_LIB_DIRS += \
        -L../SOGo/$(GNUSTEP_OBJ_DIR)/ \
-       -L../../../OGoContentStore/$(GNUSTEP_OBJ_DIR)/ \
+       -L../../OGoContentStore/$(GNUSTEP_OBJ_DIR)/ \
         -L/usr/local/lib -L/usr/lib
 
 BUNDLE_LIBS += \