]> err.no Git - scalable-opengroupware.org/commitdiff
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1318 d1b88da0-ebda-0310...
authorwolfgang <wolfgang@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Wed, 16 Jan 2008 22:05:52 +0000 (22:05 +0000)
committerwolfgang <wolfgang@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Wed, 16 Jan 2008 22:05:52 +0000 (22:05 +0000)
ChangeLog
NEWS
SOPE/GDLContentStore/ChangeLog
SOPE/GDLContentStore/GCSFolderManager.m
UI/WebServerResources/generic.js

index 09f2ec57c224c5c0bcf47a3107c3e1b61c66e138..3b2992c8cc9588356d7a7b5a74f951b08b247c6d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2008-01-16  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
 
+       * SoObjects/SOGo/SOGoCache.m ([SOGoCache
+       -registerObject:objectwithName:nameinContainer:container]):
+       register the object and its parents too.
+
        * SoObjects/SOGo/SOGoUser.m ([SOGoUser
        +userWithLogin:newLoginroles:newRoles]): try to retrieve the
        specified user from the SOGoCache.
diff --git a/NEWS b/NEWS
index da5414179d9a6a7b3649a0ee8b50790dad37e5e8..ad2a25971c2f09f91e463a310444b204fde23c0c 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,11 @@
 0.9.0-2008MMDD (1.0 rc4)
 ------------------------
 - improved the attendees window;
+- added the attendees pulldown menu in the event editor (like in Lightning);
+- added the recurrence window;
+- a message can be composed to multiple recipients from an address book or
+  from an event attendees menu;
+- many bugfixes in the Calendar module;
 
 0.9.0-20071217 (1.0 rc3)
 ------------------------
index eff43347e9fcd8d400adb929786b0fbc734d75ac..e3f9381551094d51febeb33fb1985ef876c12405 100644 (file)
@@ -1,5 +1,9 @@
 2008-01-16  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
 
+       * GCSFolderManager.m ([GCSFolderManager -baseTableNameWithUID:]):
+       generate an id that is guaranteed to be unique in more than
+       1000000 cases (from unit testing).
+
        * GCSFolder.m: fetch the content, version and dates at the same
        time per record, to avoid multiple queries.
 
index b664d54ed9e63bd1915eecb608877b0f0775e96c..438145a74957ba3542598ab12b0e28932abecabf 100644 (file)
   02111-1307, USA.
 */
 
-#include "GCSFolderManager.h"
-#include "GCSChannelManager.h"
-#include "GCSFolderType.h"
-#include "GCSFolder.h"
-#include "NSURL+GCS.h"
-#include "EOAdaptorChannel+GCS.h"
-#include "common.h"
-#include <GDLAccess/EOAdaptorChannel.h>
-#include <NGExtensions/NGResourceLocator.h>
-#include <unistd.h>
+#import <Foundation/NSProcessInfo.h>
+
+#import "GCSFolderManager.h"
+#import "GCSChannelManager.h"
+#import "GCSFolderType.h"
+#import "GCSFolder.h"
+#import "NSURL+GCS.h"
+#import "EOAdaptorChannel+GCS.h"
+#import "common.h"
+#import <GDLAccess/EOAdaptorChannel.h>
+#import <NGExtensions/NGResourceLocator.h>
+#import <unistd.h>
 
 /*
   Required database schema:
@@ -49,6 +51,7 @@ static BOOL       debugOn                   = NO;
 static BOOL       debugSQLGen               = NO;
 static BOOL       debugPathTraversal        = NO;
 static int        quickPathCount            = 4;
+static int        randInc = 0;
 static NSArray    *emptyArray               = nil;
 #if 0
 static NSString   *GCSPathColumnName        = @"c_path";
@@ -60,9 +63,15 @@ static NSString   *GCSGenericFolderTypeName = @"Container";
 static const char *GCSPathColumnPattern     = "c_path%i";
 static NSCharacterSet *asciiAlphaNumericCS  = nil;
 
-+ (void)initialize {
++ (void) initialize
+{
   NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
-  
+  int seed;
+
+  seed = ([[NSDate date] timeIntervalSince1970]
+         + [[NSProcessInfo processInfo] processIdentifier]);
+  srand (seed);
+
   debugOn     = [ud boolForKey:@"GCSFolderManagerDebugEnabled"];
   debugSQLGen = [ud boolForKey:@"GCSFolderManagerSQLDebugEnabled"];
   emptyArray  = [[NSArray alloc] init];
@@ -619,13 +628,11 @@ static NSCharacterSet *asciiAlphaNumericCS  = nil;
 }
 
 - (NSString *)baseTableNameWithUID:(NSString *)_uid {
-  NSDate *now;
   unichar currentChar;
   unsigned int count, max, done;
   NSMutableString *newUID;
 
   newUID = [NSMutableString stringWithString: @"sogo"];
-  now = [NSDate date];
 
   max = [_uid length];
   done = 0;
@@ -640,9 +647,10 @@ static NSCharacterSet *asciiAlphaNumericCS  = nil;
        }
       count++;
     }
+  randInc++;
 
-  return [NSString stringWithFormat: @"%@%u",
-                  newUID, (unsigned int) [now timeIntervalSince1970]];
+  return [NSString stringWithFormat: @"%@%.8x%.8x",
+                  newUID, randInc, (unsigned int) rand()];
 }
 
 - (NSException *)createFolderOfType:(NSString *)_type
index edf3f909df9788ef966b7d90e2aa6e75105fd48f..5ad540f18437d15e9e0a276fd95271371a8d4e09 100644 (file)
@@ -862,7 +862,12 @@ function setSearchCriteria(event) {
   if (this.parentNode.chosenNode)
     this.parentNode.chosenNode.removeClassName("_chosen");
   this.addClassName("_chosen");
-  this.parentNode.chosenNode = this;
+
+  if (this.parentNode.chosenNode != this) {
+    searchValue.lastSearch = null;
+    this.parentNode.chosenNode = this;
+    onSearchFormSubmit();
+  }
 }
 
 function checkSearchValue(event) {