diff --git a/ChangeLog b/ChangeLog index 1b3cd1239..eaae1e86c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-08-26 Wolfgang Sourdeau + + * SoObjects/Appointments/SOGoAptMailReceipt.[hm]: new module + containing the template code for sending event receipts. + 2009-08-25 Wolfgang Sourdeau * SoObjects/SOGo/SOGoUser.m (+userWithLogin:): new constructor diff --git a/SoObjects/Appointments/SOGoAptMailReceipt.h b/SoObjects/Appointments/SOGoAptMailReceipt.h new file mode 100644 index 000000000..8b8fc9ca9 --- /dev/null +++ b/SoObjects/Appointments/SOGoAptMailReceipt.h @@ -0,0 +1,57 @@ +/* SOGoAptMailReceipt.h - this file is part of SOGo + * + * Copyright (C) 2009 Inverse inc. + * + * Author: Wolfgang Sourdeau + * + * This file is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef SOGOAPTMAILRECEIPT_H +#define SOGOAPTMAILRECEIPT_H + +#import "SOGoAptMailNotification.h" + +@class NSArray; +@class NSString; + +@class iCalPerson; + +@interface SOGoAptMailReceipt : SOGoAptMailNotification +{ + NSString *originator; + NSArray *recipients; + iCalPerson *currentRecipient; +} + +- (void) setOriginator: (NSString *) newOriginator; +- (void) setRecipients: (NSArray *) newRecipients; + +@end + +@interface SOGoAptMailInvitationReceipt : SOGoAptMailReceipt + +@end + +@interface SOGoAptMailUpdateReceipt : SOGoAptMailReceipt + +@end + +@interface SOGoAptMailDeletionReceipt : SOGoAptMailReceipt + +@end + +#endif /* SOGOAPTMAILRECEIPT_H */ diff --git a/SoObjects/Appointments/SOGoAptMailReceipt.m b/SoObjects/Appointments/SOGoAptMailReceipt.m new file mode 100644 index 000000000..81beab532 --- /dev/null +++ b/SoObjects/Appointments/SOGoAptMailReceipt.m @@ -0,0 +1,131 @@ +/* SOGoAptMailReceipt.m - this file is part of SOGo + * + * Copyright (C) 2009 Inverse inc. + * + * Author: Wolfgang Sourdeau + * + * This file is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#import + +#import + +#import +#import + +#import +#import +#import + +#import "SOGoAptMailReceipt.h" + +static LDAPUserManager *um = nil; + + +@implementation SOGoAptMailReceipt + ++ (void) initialize +{ + if (!um) + um = [LDAPUserManager sharedUserManager]; +} + +- (id) init +{ + if ((self = [super init])) + { + originator = nil; + recipients = nil; + } + + return self; +} + +- (void) dealloc +{ + [originator release]; + [recipients release]; + [super dealloc]; +} + +- (void) setOriginator: (NSString *) newOriginator +{ + ASSIGN (originator, newOriginator); +} + +- (void) setRecipients: (NSArray *) newRecipients +{ + ASSIGN (recipients, newRecipients); +} + +- (NSArray *) recipients +{ + return recipients; +} + +- (void) setCurrentRecipient: (iCalPerson *) newCurrentRecipient +{ + ASSIGN (currentRecipient, newCurrentRecipient); +} + +- (iCalPerson *) currentRecipient +{ + return currentRecipient; +} + +- (NSString *) _formattedUserDate: (NSCalendarDate *) date +{ + SOGoDateFormatter *formatter; + NSCalendarDate *tzDate; + SOGoUser *currentUser; + + currentUser = [context activeUser]; + + tzDate = [date copy]; + [tzDate setTimeZone: [currentUser timeZone]]; + [tzDate autorelease]; + + formatter = [currentUser dateFormatterInContext: context]; + + return [NSString stringWithFormat: @"%@ - %@", + [formatter formattedDate: tzDate], + [formatter formattedTime: tzDate]]; +} + +- (NSString *) aptStartDate +{ + return [self _formattedUserDate: [apt startDate]]; +} + +- (NSString *) aptEndDate +{ + return [self _formattedUserDate: [(iCalEvent *) apt endDate]]; +} + +@end + +@implementation SOGoAptMailInvitationReceipt : SOGoAptMailReceipt + +@end + +@implementation SOGoAptMailUpdateReceipt : SOGoAptMailReceipt + +@end + +@implementation SOGoAptMailDeletionReceipt : SOGoAptMailReceipt + +@end