]> err.no Git - scalable-opengroupware.org/commitdiff
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1308 d1b88da0-ebda-0310...
authorwolfgang <wolfgang@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Mon, 17 Dec 2007 21:29:35 +0000 (21:29 +0000)
committerwolfgang <wolfgang@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Mon, 17 Dec 2007 21:29:35 +0000 (21:29 +0000)
NEWS
SoObjects/Appointments/product.plist
UI/MailerUI/UIxMailFolderActions.m
UI/Scheduler/UIxCalListingActions.m
UI/Scheduler/UIxComponentEditor.m

diff --git a/NEWS b/NEWS
index 0d4165cf23753a0805060e625113e1ec715154e9..35889fda2781981858dbfb6466305ec371303d02 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,8 @@
+0.9.0-20071217 (1.0 rc3)
+------------------------
+- mail folders state is now saved;
+- the status of participants in represented with an icon;
+
 0.9.0-20071127 (1.0 rc2)
 ------------------------
 - the user password is no longer transmitted in the url when logging in;
@@ -14,8 +19,6 @@
 - invitation from Google calendar are now correctly parsed;
 - it is now possible to search events by title in the Calendar module;
 - all the writable calendars are now listed in the event edition dialog;
-- mail folders state is now save;
-- the status of participants in represented with an icon;
 
 0.9.0-20071119 (1.0 rc1)
 ------------------------
index af1952f610a83516aed08bf10327e14aa8ad8adc..3250fef2c26e1ad8fdc605239e5c22348d4a5c4d 100644 (file)
@@ -38,7 +38,7 @@
       defaultRoles = {
        "ViewAllComponent" = ( "Owner", "Organizer", "Participant", "ComponentModifier", "ComponentResponder", "ComponentViewer" );
        "ViewDAndT" = ( "Organizer", "Participant", "ComponentDAndTViewer" );
-       "ModifyComponent" = ( "Owner", "Organizer" );
+       "ModifyComponent" = ( "Owner", "Organizer", "ComponentModifier" );
        "RespondToComponent" = ( "Participant", "ComponentModifier", "ComponentResponder" );
        "Access Object" = ( "Owner", "Organizer", "Participant", "ComponentModifier", "ComponentResponder", "ComponentViewer", "ComponentDAndTViewer" );
        "Change Images and Files" = ( "Owner", "Organizer", "ComponentModifier" );
index dcdfa6e6967a29ec0e60ae4e052807ff760b88dc..bb28e284b6afa9c01c324045c0eafc52b6b2cd64 100644 (file)
@@ -84,6 +84,8 @@
   NSURL *destURL;
 
   path = [[srcURL path] stringByDeletingLastPathComponent];
+  if (![path hasSuffix: @"/"])
+    path = [path stringByAppendingString: @"/"];
 
   destURL = [[NSURL alloc] initWithScheme: [srcURL scheme]
                           host: [srcURL host]
index 04e3355d3119061a2993232612e592baf2f54cd8..2d0056870cd4f6bac4ebd9bf9d5be22536571d79 100644 (file)
       participants = nil;
       state = nil;
       if ([[oldEvent objectAtIndex: 9] length] > 0 &&
-         [[oldEvent objectAtIndex: 10] length] > 0) {
-       participants = [[oldEvent objectAtIndex: 9] componentsSeparatedByString: @"\n"];
-       states = [[oldEvent objectAtIndex: 10] componentsSeparatedByString: @"\n"];
-       for (i = 0; i < [participants count]; i++) {
-         user = [SOGoUser userWithLogin: [oldEvent objectAtIndex: 11] roles: nil];
-         participant = [participants objectAtIndex: i];
-         if ([user hasEmail: participant]) {
-           switch ([[states objectAtIndex: i] intValue]) {
-           case iCalPersonPartStatNeedsAction:
-             state = @"needs-action";
-             break;
-           case iCalPersonPartStatAccepted:
-             state = @"accepted";
-             break;
-           case iCalPersonPartStatDeclined:
-             state = @"declined";
-             break;
+         [[oldEvent objectAtIndex: 10] length] > 0)
+       {
+         participants = [[oldEvent objectAtIndex: 9] componentsSeparatedByString: @"\n"];
+         states = [[oldEvent objectAtIndex: 10] componentsSeparatedByString: @"\n"];
+         for (i = 0; i < [participants count]; i++)
+           {
+             user = [SOGoUser userWithLogin: [oldEvent objectAtIndex: 11] roles: nil];
+             participant = [participants objectAtIndex: i];
+             if ([user hasEmail: participant]) {
+               switch ([[states objectAtIndex: i] intValue]) {
+               case iCalPersonPartStatNeedsAction:
+               state = @"needs-action";
+               break;
+               case iCalPersonPartStatAccepted:
+                 state = @"accepted";
+                 break;
+               case iCalPersonPartStatDeclined:
+                 state = @"declined";
+                 break;
+               }
+               [newEvent replaceObjectAtIndex: 9 withObject: state];
+               break;
+             }
            }
-           [newEvent replaceObjectAtIndex: 9 withObject: state];
-           break;
-         }
        }
-      }
       if (participants == nil || i == [participants count])
        [newEvent replaceObjectAtIndex: 9 withObject: @""];
-      [newEvent removeObjectAtIndex: 10];
       [newEvent removeObjectAtIndex: 11];
+      [newEvent removeObjectAtIndex: 10];
 
       [newEvents addObject: newEvent];
       
index 4e61724dacdfd20ed41b64eedf645892ae4c3ac7..aa756c844cd1050c75dd8e7fee8a464ce8ede524 100644 (file)
     {
       if (![sm validatePermission: SOGoCalendarPerm_ModifyComponent
               onObject: clientObject
-              inContext: context])
+              inContext: context]
+         || [component userIsOrganizer: currentUser])
        toolbarFilename = adminToolbar;
       else
        toolbarFilename = @"SOGoComponentClose.toolbar";