]> err.no Git - scalable-opengroupware.org/commitdiff
git-svn-id: http://svn.opengroupware.org/SOGo/trunk@181 d1b88da0-ebda-0310-925b-ed51d...
authorhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Wed, 11 Aug 2004 15:13:25 +0000 (15:13 +0000)
committerhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Wed, 11 Aug 2004 15:13:25 +0000 (15:13 +0000)
27 files changed:
SOGo/SoObjects/Appointments/SOGoGroupAppointmentFolder.m
SOGo/SoObjects/SOGo/SOGoGroupFolder.h
SOGo/SoObjects/SOGo/SOGoGroupFolder.m
SOGo/UI/Scheduler/UIxAppointmentEditor.m
SOGo/UI/Scheduler/UIxAppointmentFormatter.h
SOGo/UI/Scheduler/UIxAppointmentFormatter.m
SOGo/UI/Scheduler/UIxCalBackForthNavView.m
SOGo/UI/Scheduler/UIxCalDateLabel.m
SOGo/UI/Scheduler/UIxCalDayChartview.m
SOGo/UI/Scheduler/UIxCalDayListview.m
SOGo/UI/Scheduler/UIxCalDayOverview.h
SOGo/UI/Scheduler/UIxCalDayOverview.m
SOGo/UI/Scheduler/UIxCalDayPrintview.m
SOGo/UI/Scheduler/UIxCalDayView.h
SOGo/UI/Scheduler/UIxCalDayView.m
SOGo/UI/Scheduler/UIxCalInlineMonthOverview.m
SOGo/UI/Scheduler/UIxCalMonthOverview.h
SOGo/UI/Scheduler/UIxCalMonthPrintview.m
SOGo/UI/Scheduler/UIxCalWeekChartview.m
SOGo/UI/Scheduler/UIxCalWeekColumnsview.m
SOGo/UI/Scheduler/UIxCalWeekListview.m
SOGo/UI/Scheduler/UIxCalWeekListview.wox
SOGo/UI/Scheduler/UIxCalWeekOverview.h
SOGo/UI/Scheduler/UIxCalWeekOverview.m
SOGo/UI/Scheduler/UIxCalWeekPrintview.m
SOGo/UI/Scheduler/UIxCalYearOverview.m
SOGo/UI/Scheduler/common.h

index f8592fae2a3ff8bfc210920fe6c32607889be409..850822d2d4f6fab4fd2aaa86f06e82f8dd2cdb6a 100644 (file)
   to:(NSCalendarDate *)_endDate
 {
 #warning TODO: implement aggregation based on the container
+  NSArray *folders;
+  
+  if ((folders = [[self container] valueForKey:@"memberFolders"]) == nil) {
+    [self logWithFormat:@"ERROR: calendar container has no 'memberFolders'?!"];
+    return nil;
+  }
+  
   return [NSArray array];
 }
 
index cef1d07ce393534aa41530587e8633bac4967653..ce8e5756a989a207aca670cecce949445d3a2533 100644 (file)
     Child objects:
 */
 
+@class NSArray, NSDictionary;
+
 @interface SOGoGroupFolder : SOGoObject
 {
+  NSDictionary *uidToFolder;
+  NSArray      *folders;
 }
 
 /* accessors */
 
 - (NSArray *)uids;
 
+/* folder management */
+
+- (NSArray *)memberFolders;
+- (id)folderForUID:(NSString *)_uid;
+
+- (void)reset;
+
 /* pathes */
 
 @end
index ca833a80f11d58475df85b113c6d0a4775b41fc1..c0d66829f2bbf08f7cbf77e936d7c94806dc42a9 100644 (file)
@@ -26,6 +26,7 @@
 @implementation SOGoGroupFolder
 
 - (void)dealloc {
+  [self->uidToFolder release];
   [super dealloc];
 }
 
   return nil;
 }
 
+/* folder management */
+
+- (id)_primaryLookupFolderForUID:(NSString *)_uid inContext:(id)_ctx {
+  NSException *error = nil;
+  NSArray     *path;
+  id          ctx, result;
+
+  /* create subcontext, so that we don't destroy our environment */
+  
+  if ((ctx = [_ctx createSubContext]) == nil) {
+    [self logWithFormat:@"ERROR: could not create SOPE subcontext!"];
+    return nil;
+  }
+  
+  /* build path */
+  
+  path = [NSArray arrayWithObjects:&_uid count:1];
+  
+  /* traverse path */
+  
+  result = [[ctx application] traversePathArray:path inContext:ctx
+                             error:&error acquire:NO];
+  if (error != nil) {
+    [self logWithFormat:@"ERROR: folder lookup failed (uid=%@): %@",
+           _uid, error];
+    return nil;
+  }
+  
+  [self logWithFormat:@"Note: got folder for uid %@ path %@: %@",
+         _uid, [path componentsJoinedByString:@"=>"], result];
+  return result;
+}
+
+- (void)_setupFolders {
+  WOContext           *ctx;
+  NSMutableDictionary *md;
+  NSMutableArray      *ma;
+  NSArray  *luids;
+  unsigned i, count;
+  
+  if (self->uidToFolder != nil)
+    return;
+  if ((luids = [self uids]) == nil)
+    return;
+  
+  ctx = [[WOApplication application] context];
+  
+  count = [luids count];
+  ma = [NSMutableArray arrayWithCapacity:count + 1];
+  md = [NSMutableDictionary dictionaryWithCapacity:count];
+  
+  for (i = 0; i < count; i++) {
+    NSString *uid;
+    id folder;
+    
+    uid    = [luids objectAtIndex:i];
+    folder = [self _primaryLookupFolderForUID:uid inContext:ctx];
+    
+    if ([folder isNotNull]) {
+      [md setObject:folder forKey:uid];
+      [ma addObject:folder];
+    }
+    else
+      [ma addObject:[NSNull null]];
+  }
+  
+  /* fix results */
+  self->uidToFolder = [md copy];
+  self->folders     = [[NSArray alloc] initWithArray:ma];
+}
+
+- (NSArray *)memberFolders {
+  [self _setupFolders];
+  return self->folders;
+}
+
+- (id)folderForUID:(NSString *)_uid {
+  [self _setupFolders];
+  
+  if ([_uid length] == 0)
+    return nil;
+  
+  return [self->uidToFolder objectForKey:_uid];
+}
+
+- (void)reset {
+  [self->uidToFolder release]; self->uidToFolder = nil;
+  [self->folders     release]; self->folders     = nil;
+}
+
 /* SOPE */
 
 - (BOOL)isFolderish {
index 7dff1c61950f9db705a8fcf6133b501668e1cca0..6b2f1f9b01dbbbcd3d5bc94afab66a992d8182fc 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2000-2004 SKYRIX Software AG
+  Copyright (C) 2004 SKYRIX Software AG
 
   This file is part of OpenGroupware.org.
 
index 4202e770445e0f2dcc0b4face623fee5fe44924f..481c8a3821dc98eba162bf5e85b4e74b64151956 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2000-2004 SKYRIX Software AG
+  Copyright (C) 2004 SKYRIX Software AG
 
   This file is part of OpenGroupware.org.
 
index b2f937d1a79cd8d5d286f2ddce9e3201cb6a1dfa..d90a35af3ee99ae85b4c9949c23f32a8853826fc 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2000-2004 SKYRIX Software AG
+  Copyright (C) 2004 SKYRIX Software AG
 
   This file is part of OpenGroupware.org.
 
index 4194246226f571052d7e17d5f3c24580d0afcd3a..d8e76b3692e1f80923f8040b2614a6992d90c84d 100644 (file)
@@ -1,7 +1,7 @@
 /*
-  Copyright (C) 2000-2004 SKYRIX Software AG
+  Copyright (C) 2004 SKYRIX Software AG
 
-  This file is part of OGo
+  This file is part of OpenGroupware.org.
 
   OGo is free software; you can redistribute it and/or modify it under
   the terms of the GNU Lesser General Public License as published by the
index 3b538afcdba8c4775b53e5c25055caedb7671953..462472cf62362057d623f710d8534ca82e8e9d6d 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2000-2004 SKYRIX Software AG
+  Copyright (C) 2004 SKYRIX Software AG
 
   This file is part of OGo
 
index 3938d9d768aa470484434a2bab8904b81b72a68b..7fd85aa9a61f3702ac653637dfc778ef8808d0b7 100644 (file)
@@ -1,7 +1,7 @@
 /*
-  Copyright (C) 2000-2004 SKYRIX Software AG
+  Copyright (C) 2004 SKYRIX Software AG
 
-  This file is part of OGo
+  This file is part of OpenGroupware.org.
 
   OGo is free software; you can redistribute it and/or modify it under
   the terms of the GNU Lesser General Public License as published by the
index 146a0fd1420e2fef348fe2c81169924833f4302e..c4a5b0114f6bd185859b3af9840486e5ce5bed26 100644 (file)
@@ -1,7 +1,7 @@
 /*
-  Copyright (C) 2000-2004 SKYRIX Software AG
+  Copyright (C) 2004 SKYRIX Software AG
 
-  This file is part of OGo
+  This file is part of OpenGroupware.org.
 
   OGo is free software; you can redistribute it and/or modify it under
   the terms of the GNU Lesser General Public License as published by the
index 335cd215cab94ed010a945fb03d2962db7452dd6..bc998aa1fcf810ff3b1f460790e95e7c89fb9892 100644 (file)
@@ -1,7 +1,7 @@
 /*
- Copyright (C) 2000-2004 SKYRIX Software AG
+ Copyright (C) 2004 SKYRIX Software AG
  
- This file is part of OGo
+ This file is part of OpenGroupware.org.
  
  OGo is free software; you can redistribute it and/or modify it under
  the terms of the GNU Lesser General Public License as published by the
index 1d446bbf91ed27094a3bdbc89a94024ed5a9aa4f..3e3db0c77131cf5f0c1d7ecd873a7dc744d72004 100644 (file)
@@ -1,7 +1,7 @@
 /*
-  Copyright (C) 2000-2004 SKYRIX Software AG
+  Copyright (C) 2004 SKYRIX Software AG
 
-  This file is part of OGo
+  This file is part of OpenGroupware.org.
 
   OGo is free software; you can redistribute it and/or modify it under
   the terms of the GNU Lesser General Public License as published by the
index e564a5e12855f7dbb529d4fbea0e8408a05eb52d..648e5b484f6ee5e79123e57a426f3bcfdf2f0f3f 100644 (file)
@@ -1,7 +1,7 @@
 /*
-  Copyright (C) 2000-2004 SKYRIX Software AG
+  Copyright (C) 2004 SKYRIX Software AG
 
-  This file is part of OGo
+  This file is part of OpenGroupware.org.
 
   OGo is free software; you can redistribute it and/or modify it under
   the terms of the GNU Lesser General Public License as published by the
index 7f89929199424234e523b29dc1570df96bd9c0c9..938f2d5cd82417dd8c99025e36f68ffd7f39a693 100644 (file)
@@ -1,7 +1,7 @@
 /*
-  Copyright (C) 2000-2004 SKYRIX Software AG
+  Copyright (C) 2004 SKYRIX Software AG
 
-  This file is part of OGo
+  This file is part of OpenGroupware.org.
 
   OGo is free software; you can redistribute it and/or modify it under
   the terms of the GNU Lesser General Public License as published by the
index 89c1f190450ca680de299715ceae121f34137d2f..5c3d14c6bd1c9cfe8be2bd1825c36228b9628282 100644 (file)
@@ -1,7 +1,7 @@
 /*
-  Copyright (C) 2000-2004 SKYRIX Software AG
+  Copyright (C) 2004 SKYRIX Software AG
 
-  This file is part of OGo
+  This file is part of OpenGroupware.org.
 
   OGo is free software; you can redistribute it and/or modify it under
   the terms of the GNU Lesser General Public License as published by the
index 13fe3fae82a188d38d37fb72cb15c5d63d07dae2..2b61484b56bc0b864dfd13123d10a7ee4e81e277 100644 (file)
@@ -1,7 +1,7 @@
 /*
-  Copyright (C) 2000-2004 SKYRIX Software AG
+  Copyright (C) 2004 SKYRIX Software AG
 
-  This file is part of OGo
+  This file is part of OpenGroupware.org.
 
   OGo is free software; you can redistribute it and/or modify it under
   the terms of the GNU Lesser General Public License as published by the
index 9e8a0aeab341d65c9b936ae86aefb362a611bcbf..3a91da5d60aa148a59c0794d95eed5a48fcedf8d 100644 (file)
@@ -1,7 +1,7 @@
 /*
-  Copyright (C) 2000-2004 SKYRIX Software AG
+  Copyright (C) 2004 SKYRIX Software AG
 
-  This file is part of OGo
+  This file is part of OpenGroupware.org.
 
   OGo is free software; you can redistribute it and/or modify it under
   the terms of the GNU Lesser General Public License as published by the
index 87eeca31b3a65f5eb60b27d56dccced0b4ae8fe5..95cf51a77312bfecdf01c595b9d09796430f860e 100644 (file)
@@ -1,7 +1,7 @@
 /*
-  Copyright (C) 2000-2004 SKYRIX Software AG
+  Copyright (C) 2004 SKYRIX Software AG
 
-  This file is part of OGo
+  This file is part of OpenGroupware.org.
 
   OGo is free software; you can redistribute it and/or modify it under
   the terms of the GNU Lesser General Public License as published by the
index 7e5ce4bc413c9a322960cd897b281944130c6a39..449c0de1718afcb0475a022b1214ccfcdc710bed 100644 (file)
@@ -1,7 +1,7 @@
 /*
-  Copyright (C) 2000-2004 SKYRIX Software AG
+  Copyright (C) 2004 SKYRIX Software AG
 
-  This file is part of OGo
+  This file is part of OpenGroupware.org.
 
   OGo is free software; you can redistribute it and/or modify it under
   the terms of the GNU Lesser General Public License as published by the
index e6f315ecb343714b4dd2c63bfc76b9513be13daf..d9c121be4b3c6b0f4453efc131c4708674b0e58c 100644 (file)
@@ -1,7 +1,7 @@
 /*
-  Copyright (C) 2000-2004 SKYRIX Software AG
+  Copyright (C) 2004 SKYRIX Software AG
 
-  This file is part of OGo
+  This file is part of OpenGroupware.org.
 
   OGo is free software; you can redistribute it and/or modify it under
   the terms of the GNU Lesser General Public License as published by the
index 8cc0a78ff4beb9abdebb523a59804ec33631a643..b98015f59eb04a8de72bce89ab7c295940317e4d 100644 (file)
@@ -1,7 +1,7 @@
 /*
-  Copyright (C) 2000-2004 SKYRIX Software AG
+  Copyright (C) 2004 SKYRIX Software AG
 
-  This file is part of OGo
+  This file is part of OpenGroupware.org.
 
   OGo is free software; you can redistribute it and/or modify it under
   the terms of the GNU Lesser General Public License as published by the
 */
 // $Id$
 
-
 #include "UIxCalWeekView.h"
-#include "common.h"
 
 @interface UIxCalWeekListview : UIxCalWeekView
 {
-
 }
 
 @end
 
+#include "common.h"
 
 @implementation UIxCalWeekListview
-
-@end
+@end /* UIxCalWeekListview */
index 3d86219a37418c159a63f66f1ae9f2938bf69ef9..4f0b47b840fdaa477b8566b1192f06750753a37d 100644 (file)
@@ -9,13 +9,16 @@
                title="name">
 
   <!-- $Id: SkyNews.html,v 1.3 2003/12/22 16:53:55 helge Exp $ -->
-  <table id="skywintable" class="wintable" cellspacing="0" cellpadding="5" width="100%">
+  <table id="skywintable" class="wintable" 
+         cellspacing="0" cellpadding="5" width="100%">
   <tr>
   <td class="wintitle">
   <table cellpadding="0" cellspacing="0" width="100%">
   <tr>
   <td width="5"/>
-  <td class="wintitle"><var:component className="UIxCalDateLabel" startDate="startDate" endDate="endDate" const:selection="week" /></td>
+  <td class="wintitle"><var:component className="UIxCalDateLabel" 
+                                      startDate="startDate" endDate="endDate" 
+                                      const:selection="week" /></td>
   <td width="36" align="right" valign="center">
   <var:component className="UIxWinClose" />
   </td>
index 24516bf55007fb4ae756839ab388c18b835e2b8b..b6d72d01b27f098a3efce7a7a065c05c72f39bac 100644 (file)
@@ -1,23 +1,23 @@
 /*
Copyright (C) 2000-2004 SKYRIX Software AG
 Copyright (C) 2004 SKYRIX Software AG
  
- This file is part of OpenGroupware.org.
 This file is part of OpenGroupware.org.
  
- OGo is free software; you can redistribute it and/or modify it under
- the terms of the GNU Lesser General Public License as published by the
- Free Software Foundation; either version 2, or (at your option) any
- later version.
 OGo is free software; you can redistribute it and/or modify it under
 the terms of the GNU Lesser General Public License as published by the
 Free Software Foundation; either version 2, or (at your option) any
 later version.
  
- OGo is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
- License for more details.
 OGo is distributed in the hope that it will be useful, but WITHOUT ANY
 WARRANTY; without even the implied warranty of MERCHANTABILITY or
 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
 License for more details.
  
- You should have received a copy of the GNU Lesser General Public
- License along with OGo; see the file COPYING.  If not, write to the
- Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
- 02111-1307, USA.
- */
 You should have received a copy of the GNU Lesser General Public
 License along with OGo; see the file COPYING.  If not, write to the
 Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 02111-1307, USA.
+*/
 // $Id$
 
 #include "UIxCalWeekView.h"
index 3b978eba17f384d13735fcb29010eb1fbd90aa73..075ec939c6c8e3aeb4ac5f539e27dafb335551ff 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2000-2004 SKYRIX Software AG
+  Copyright (C) 2004 SKYRIX Software AG
 
   This file is part of OpenGroupware.org.
 
index 10685e13a588704b7bbc79bbf7a837b512592a44..76ab3d69580e664a2e02dda5566422c9d8019566 100644 (file)
@@ -1,7 +1,7 @@
 /*
-  Copyright (C) 2000-2004 SKYRIX Software AG
+  Copyright (C) 2004 SKYRIX Software AG
 
-  This file is part of OGo
+  This file is part of OpenGroupware.org.
 
   OGo is free software; you can redistribute it and/or modify it under
   the terms of the GNU Lesser General Public License as published by the
index a0eb463dfcfd3aec7f0bbd4da073ec41405bc30f..16a8e71d85a97dfd6abce1943fb241aadb34a51a 100644 (file)
@@ -1,7 +1,7 @@
 /*
-  Copyright (C) 2000-2004 SKYRIX Software AG
+  Copyright (C) 2004 SKYRIX Software AG
 
-  This file is part of OGo
+  This file is part of OpenGroupware.org.
 
   OGo is free software; you can redistribute it and/or modify it under
   the terms of the GNU Lesser General Public License as published by the
index 093af0b3815e51574b7481f895e9b93285c58622..bb109a4ae13c646364379b7db806f61ab8563cba 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2000-2004 SKYRIX Software AG
+  Copyright (C) 2004 SKYRIX Software AG
 
   This file is part of OpenGroupware.org.
 
@@ -18,7 +18,7 @@
   Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
   02111-1307, USA.
 */
-// $Id: common.h,v 1.1 2003/11/24 01:24:40 helge Exp $
+// $Id$
 
 #import <Foundation/Foundation.h>