Show plain/calendar mail parts.
*/
-#import <SOGoUI/SOGoDateFormatter.h>
-#import <SOGo/SOGoUser.h>
+#import <SoObjects/SOGo/SOGoDateFormatter.h>
+#import <SoObjects/SOGo/SOGoUser.h>
#import <SoObjects/Appointments/SOGoAppointmentFolder.h>
#import <SoObjects/Appointments/SOGoAppointmentObject.h>
#import <SoObjects/Mailer/SOGoMailObject.h>
- (SOGoDateFormatter *)dateFormatter {
if (self->dateFormatter == nil) {
- self->dateFormatter =
- [[SOGoDateFormatter alloc] initWithLocale:[self locale]];
- [self->dateFormatter setFullWeekdayNameAndDetails];
+ dateFormatter = [[context activeUser] dateFormatterInContext: context];
+ [dateFormatter retain];
}
+
return self->dateFormatter;
}
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);
}
return self->item;
}
-- (NSCalendarDate *)startTime {
+- (NSCalendarDate *) startTime
+{
NSCalendarDate *date;
+ NSTimeZone *timeZone;
date = [[self authorativeEvent] startDate];
- [date setTimeZone:[[self clientObject] userTimeZone]];
+ timeZone = [[context activeUser] timeZone];
+ [date setTimeZone: timeZone];
+
return date;
}
-- (NSCalendarDate *)endTime {
+- (NSCalendarDate *) endTime
+{
NSCalendarDate *date;
+ NSTimeZone *timeZone;
date = [[self authorativeEvent] endDate];
- [date setTimeZone:[[self clientObject] userTimeZone]];
+ timeZone = [[context activeUser] timeZone];
+ [date setTimeZone: timeZone];
+
return date;
}
- (id)calendarFolder {
/* return scheduling calendar of currently logged-in user */
- return [[[self context] activeUser] schedulingCalendarInContext:
- [self context]];
+ SOGoUser *user;
+ id folder;
+
+ user = [context activeUser];
+ folder = [[user homeFolderInContext: context] lookupName: @"Calendar"
+ inContext: context
+ acquire: NO];
+
+ return folder;
}
- (id)storedEventObject {
/* organizer tracking */
- (NSString *)loggedInUserEMail {
- return [[[self context] activeUser] email];
+ return [[[self context] activeUser] primaryEmail];
}
- (iCalEvent *)authorativeEvent {
/* 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 */