]> err.no Git - scalable-opengroupware.org/commitdiff
fixed improper '&' escaping during generation of redirect URLs and changed logic...
authorznek <znek@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Thu, 7 Jul 2005 14:29:05 +0000 (14:29 +0000)
committerznek <znek@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Thu, 7 Jul 2005 14:29:05 +0000 (14:29 +0000)
git-svn-id: http://svn.opengroupware.org/SOGo/trunk@690 d1b88da0-ebda-0310-925b-ed51d893ca5b

SOGo/UI/SOGoUI/ChangeLog
SOGo/UI/SOGoUI/UIxComponent.m
SOGo/UI/SOGoUI/Version
SOGo/UI/Scheduler/ChangeLog
SOGo/UI/Scheduler/UIxAppointmentEditor.m
SOGo/UI/Scheduler/UIxAppointmentView.m
SOGo/UI/Scheduler/Version

index 5d3d3496ba9c9c275eb35dabc89d2ded0861a346..8393312adffeb36c39b0301088ca67878f1c3365 100644 (file)
@@ -1,8 +1,15 @@
 2005-07-07  Marcus Mueller  <znek@mulle-kybernetik.com>
 
+       * v0.9.27
+       
+       * UIxComponent.m: implicitly set the context's queryPathSeperator
+         when generating URIs used in redirects
+
+       * v0.9.26
+
        * UIxComponent.m: added method -isAccessRestricted to indicate whether
          certain options might have to be disabled due to restrictions
-         set by the customer (v0.9.26)
+         set by the customer
 
 2005-07-06  Helge Hess  <helge.hess@opengroupware.org>
 
index 1b8c34241cd9d659fb0bce70f0faca6e88291069..8434265c652211ae1fb69928e018460ef114e635 100644 (file)
@@ -187,14 +187,19 @@ static BOOL uixDebugEnabled = NO;
 }
 
 - (NSString *)completeHrefForMethod:(NSString *)_method {
+  WOContext    *ctx;
   NSDictionary *qp;
-  NSString *qs;
-    
+  NSString     *qs, *qps;
+
   qp = [self queryParameters];
   if([qp count] == 0)
     return _method;
-    
-  qs = [[self context] queryStringFromDictionary:qp];
+
+  ctx = [self context];
+  qps = [ctx queryPathSeparator];
+  [ctx setQueryPathSeparator:@"&"];
+  qs = [ctx queryStringFromDictionary:qp];
+  [ctx setQueryPathSeparator:qps];
   return [_method stringByAppendingFormat:@"?%@", qs];
 }
 
index f94f3e5dad3635a18434257079a2d5eac7e4fb0d..e67137c3922b8d967c17f599d507ce9400bb9440 100644 (file)
@@ -1,5 +1,5 @@
 # version file
 
-SUBMINOR_VERSION:=26
+SUBMINOR_VERSION:=27
 
 # v0.9.18 requires NGExtensions v4.5.136
index e1caccf94e103d9a41279ce252276cb1540ccc22..85ba43f454fda45e2e17d0592cefdba585a9d6bc 100644 (file)
@@ -1,3 +1,15 @@
+2005-07-07  Marcus Mueller  <znek@mulle-kybernetik.com>
+
+       * v0.9.125
+
+       * UIxAppointmentEditor.m: Properly preserve organizer of appointments.
+         This is now also used to validate if user is allowed to edit an
+         appointment.
+       
+       * UIxAppointmentView.m: changed -isMyApt to test on organizer's email
+         address and user's email address to decide whether he is allowed
+         to edit the appointment in question.
+
 2005-07-06  Marcus Mueller  <znek@mulle-kybernetik.com>
 
        * UIxAppointmentProposal.m: changed implementation of
index b6e7f5c78c2f2f31396434d8adb4ede89680ea1d..945711d7236fbf37737b2d34a05cf07b64abacdc 100644 (file)
@@ -42,6 +42,7 @@
   NSString       *title;
   NSString       *location;
   NSString       *comment;
+  iCalPerson     *organizer;
   NSArray        *participants;     /* array of iCalPerson's */
   NSArray        *resources;        /* array of iCalPerson's */
   NSString       *priority;
   [self->cycleUntilDate release];
   [self->title          release];
   [self->location       release];
+  [self->organizer      release];
   [self->comment        release];
   [self->participants   release];
   [self->resources      release];
   self->comment      = [[_appointment comment]  copy];
   self->priority     = [[_appointment priority] copy];
   self->categories   = [[_appointment categories]   retain];
+  self->organizer    = [[_appointment organizer]    retain];
   self->participants = [[_appointment participants] retain];
   self->resources    = [[_appointment resources]    retain];
 
   [_appointment setAccessClass:[self accessClass]];
   [_appointment setTransparency:[self transparency]];
 
+  [_appointment setOrganizer:self->organizer];
   attendees  = [self participants];
   lResources = [self resources];
   if ([lResources count] > 0) {
 /* access */
 
 - (BOOL)isMyApt {
-  NSString *owner;
-
-  owner = [[self clientObject] ownerInContext:[self context]];
-  if (!owner)
-    return YES;
-  return [owner isEqualToString:[[self user] login]];
+  return [[self->organizer rfc822Email] isEqualToString:[self emailForUser]];
 }
 
 - (BOOL)canAccessApt {
index 8ecdabb59ecf46f2b4d6be663cb5fbd3ee38e715..f53d5c4fb95c4f858a5033ba02c58924f36d7921 100644 (file)
 /* access */
 
 - (BOOL)isMyApt {
-  NSString *owner;
+  iCalPerson *organizer;
   
-  owner = [[self clientObject] ownerInContext:[self context]];
-  if (!owner)
-    return YES;
-  return [owner isEqualToString:[[self user] login]];
+  organizer = [[self appointment] organizer];
+  return [[organizer rfc822Email] isEqualToString:[self emailForUser]];
 }
 
 - (BOOL)canAccessApt {
index 8d3f6d07c8e2271a71602722b54388c092af42bc..9532d64958cfe050c4f43ed6ab479d543a7391a0 100644 (file)
@@ -1,6 +1,6 @@
 # Version file
 
-SUBMINOR_VERSION:=124
+SUBMINOR_VERSION:=125
 
 # v0.9.123 requires Appointments v0.9.35
 # v0.9.123 requires SOGoUI       v0.9.24