]> err.no Git - scalable-opengroupware.org/blobdiff - UI/MailPartViewers/UIxMailPartICalViewer.m
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1039 d1b88da0-ebda-0310...
[scalable-opengroupware.org] / UI / MailPartViewers / UIxMailPartICalViewer.m
index 7af72391c404cb078cc0f821b08f3ed0a47df0bc..f8a0e549a44ed84938e9fcb70b6d61b9b90190d8 100644 (file)
   return self->attendee;
 }
 
+- (NSString *) _personForDisplay: (iCalPerson *) person
+{
+  return [NSString stringWithFormat: @"%@ <%@>",
+                  [person cnWithoutQuotes],
+                  [person rfc822Email]];
+}
+
+- (NSString *) attendeeForDisplay
+{
+  return [self _personForDisplay: attendee];
+}
+
 - (void)setItem:(id)_item {
   ASSIGN(self->item, _item);
 }
 }
 
 - (iCalEvent *)storedEvent {
-  return (iCalEvent *) [(SOGoAppointmentObject *)[self storedEventObject] component];
+  return (iCalEvent *) [(SOGoAppointmentObject *)[self storedEventObject] component: NO];
 }
 
 /* organizer tracking */
 
 /* derived fields */
 
-- (NSString *)organizerDisplayName {
+- (NSString *) organizerDisplayName
+{
   iCalPerson *organizer;
-  NSString   *cn;
-  
-  if ((organizer = [[self authorativeEvent] organizer]) != nil) {
-    cn = [organizer valueForKey:@"cnWithoutQuotes"];
-    if ([cn isNotNull] && [cn length] > 0)
-      return cn;
-    
-    cn = [organizer valueForKey:@"rfc822Email"];
-    if ([cn isNotNull] && [cn length] > 0)
-      return cn;
-    
-    return @"[error: unable to derive organizer name]";
-  }
+  NSString *value;
+
+  organizer = [[self authorativeEvent] organizer];
+  if (organizer)
+    value = [self _personForDisplay: organizer];
+  else
+    value = @"[todo: no organizer set, use 'from']";
 
-  return @"[todo: no organizer set, use 'from']";
+  return value;
 }
 
 /* replies */