]> err.no Git - scalable-opengroupware.org/commitdiff
git-svn-id: http://svn.opengroupware.org/SOGo/trunk@256 d1b88da0-ebda-0310-925b-ed51d...
authorhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Mon, 16 Aug 2004 12:15:11 +0000 (12:15 +0000)
committerhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Mon, 16 Aug 2004 12:15:11 +0000 (12:15 +0000)
SOGo/SoObjects/Appointments/ChangeLog
SOGo/SoObjects/Appointments/SOGoAppointmentFolder.h
SOGo/SoObjects/Appointments/SOGoAppointmentFolder.m
SOGo/SoObjects/Appointments/Version

index 099263e4d512234e97394d2539bfa5628147d736..8fa21c225e9d5b66a4ec45eb7ea58ab9d8667e40 100644 (file)
@@ -1,5 +1,8 @@
 2004-08-16  Helge Hess  <helge.hess@skyrix.com>
 
+       * SOGoAppointmentFolder.m: added method to create a group folder and
+         a group calendar for a set of IDs (for internal queries) (v0.9.10)
+
        * SOGoAppointmentObject.m, SOGoAppointmentFolder.m: moved calendar
          folder lookup methods to folder class (the object uses its container
          to lookup the folder) (v0.9.9)
index 3bd0874dfcee16bb18fa229cf3f41d43725768c6..588bf666c73a197dd7334d431665aff7773fbc32 100644 (file)
@@ -70,6 +70,9 @@
 - (NSArray *)lookupCalendarFoldersForICalPerson:(NSArray *)_persons
   inContext:(id)_ctx;
 
+- (id)lookupGroupFolderForUIDs:(NSArray *)_uids         inContext:(id)_ctx;
+- (id)lookupGroupCalendarFolderForUIDs:(NSArray *)_uids inContext:(id)_ctx;
+
 @end
 
 #endif /* __Appointments_SOGoAppointmentFolder_H__ */
index 24f7b923731f6a87724df76f9371e0810a920ed3..4037c09da02e5764235e16e0aa80a852e5d66db4 100644 (file)
@@ -21,6 +21,7 @@
 // $Id$
 
 #include "SOGoAppointmentFolder.h"
+#include <SOGo/SOGoCustomGroupFolder.h>
 #include <SOGoLogic/AgenorUserManager.h>
 #include <OGoContentStore/OCSFolder.h>
 #include <NGiCal/NGiCal.h>
@@ -28,7 +29,6 @@
 #include <unistd.h>
 #include <stdlib.h>
 
-
 @implementation SOGoAppointmentFolder
 
 static BOOL       debugOn = NO;
@@ -347,6 +347,33 @@ static NSTimeZone *MET = nil;
   return [self lookupCalendarFoldersForUIDs:uids inContext:_ctx];
 }
 
+- (id)lookupGroupFolderForUIDs:(NSArray *)_uids inContext:(id)_ctx {
+  SOGoCustomGroupFolder *folder;
+  
+  if (_uids == nil)
+    return nil;
+
+  folder = [[SOGoCustomGroupFolder alloc] initWithUIDs:_uids inContainer:self];
+  return [folder autorelease];
+}
+- (id)lookupGroupCalendarFolderForUIDs:(NSArray *)_uids inContext:(id)_ctx {
+  SOGoCustomGroupFolder *folder;
+  
+  if ((folder = [self lookupGroupFolderForUIDs:_uids inContext:_ctx]) == nil)
+    return nil;
+  
+  folder = [folder lookupName:@"Calendar" inContext:_ctx acquire:NO];
+  if (![folder isNotNull])
+    return nil;
+  if ([folder isKindOfClass:[NSException class]]) {
+    [self debugWithFormat:@"Note: could not lookup 'Calendar' in folder: %@",
+           folder];
+    return nil;
+  }
+  
+  return folder;
+}
+
 /* GET */
 
 - (id)GETAction:(WOContext *)_ctx {
index 5099e3e0974aff09ab786266fe47d76cbb5ee60f..1fc0a7b27c05ccc7d1a48409ec551e20d54288e9 100644 (file)
@@ -1,3 +1,3 @@
 # $Id: Version,v 1.9 2004/05/19 14:30:45 helge Exp $
 
-SUBMINOR_VERSION:=9
+SUBMINOR_VERSION:=10