See ChangeLog

Monotone-Parent: 03944000f318b9e9a2fdb399e581d287d2e421a7
Monotone-Revision: 8001653b7ad76335a3a051884e3e11e04395f3d8

Monotone-Author: ludovic@Sophos.ca
Monotone-Date: 2010-10-21T20:12:47
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Ludovic Marcotte 2010-10-21 20:12:47 +00:00
parent 5426344d78
commit 9b3cbdae66
19 changed files with 79 additions and 18 deletions

View File

@ -1,3 +1,7 @@
2010-10-21 Ludovic Marcotte <lmarcotte@inverse.ca>
* Changes required for http://sogo.nu/bugs/view.php?id=795
2010-10-19 Wolfgang Sourdeau <wsourdeau@inverse.ca> 2010-10-19 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* SoObjects/SOGo/SOGoContentObject.m (-davContentLength): fixed a * SoObjects/SOGo/SOGoContentObject.m (-davContentLength): fixed a

View File

@ -35,7 +35,7 @@ vtodo_class2 = "(Tarefa Confidencial)";
/* Invitation */ /* Invitation */
"Event Invitation: \"%{Summary}\"" = "Event Invitation: \"%{Summary}\""; "Event Invitation: \"%{Summary}\"" = "Event Invitation: \"%{Summary}\"";
"(sent by %{SentBy}) " = "(enviado por %{SentBy}) "; "(sent by %{SentBy}) " = "(enviado por %{SentBy}) ";
"%{Organizer} %{SentByText}has invited you to %{Summary}." = "%{Organizer} %{SentByText}has invited you to %{Summary}."; "%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}" = "%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}";
/* Deletion */ /* Deletion */
"Event Cancelled: \"%{Summary}\"" = "Event Cancelled: \"%{Summary}\""; "Event Cancelled: \"%{Summary}\"" = "Event Cancelled: \"%{Summary}\"";

View File

@ -35,7 +35,7 @@ vtodo_class2 = "(Tasca confidencial)";
/* Invitation */ /* Invitation */
"Event Invitation: \"%{Summary}\"" = "Invitació a l'esdeveniment: \"%{Summary}\""; "Event Invitation: \"%{Summary}\"" = "Invitació a l'esdeveniment: \"%{Summary}\"";
"(sent by %{SentBy}) " = "(enviada per %{SentBy}) "; "(sent by %{SentBy}) " = "(enviada per %{SentBy}) ";
"%{Organizer} %{SentByText}has invited you to %{Summary}." = "%{Organizer} %{SentByText} us ha invitat a %{Summary}."; "%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}" = "%{Organizer} %{SentByText} us ha invitat a %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}";
/* Deletion */ /* Deletion */
"Event Cancelled: \"%{Summary}\"" = "Esdeveniment suspès: \"%{Summary}\""; "Event Cancelled: \"%{Summary}\"" = "Esdeveniment suspès: \"%{Summary}\"";

View File

@ -35,7 +35,7 @@ vtodo_class2 = "(Skrytý úkol)";
/* Invitation */ /* Invitation */
"Event Invitation: \"%{Summary}\"" = "Pozvání na událost: \"%{Summary}\""; "Event Invitation: \"%{Summary}\"" = "Pozvání na událost: \"%{Summary}\"";
"(sent by %{SentBy}) " = "(poslal/a %{SentBy}) "; "(sent by %{SentBy}) " = "(poslal/a %{SentBy}) ";
"%{Organizer} %{SentByText}has invited you to %{Summary}." = "%{Organizer} %{SentByText}Vás pozval/a na %{Summary}."; "%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}" = "%{Organizer} %{SentByText}Vás pozval/a na %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}";
/* Deletion */ /* Deletion */
"Event Cancelled: \"%{Summary}\"" = "Zrušení události: \"%{Summary}\""; "Event Cancelled: \"%{Summary}\"" = "Zrušení události: \"%{Summary}\"";

View File

@ -35,7 +35,7 @@ vtodo_class2 = "(Vertrouwelijke taak)";
/* Invitation */ /* Invitation */
"Event Invitation: \"%{Summary}\"" = "Event Invitation: \"%{Summary}\""; "Event Invitation: \"%{Summary}\"" = "Event Invitation: \"%{Summary}\"";
"(sent by %{SentBy}) " = "(sent by %{SentBy}) "; "(sent by %{SentBy}) " = "(sent by %{SentBy}) ";
"%{Organizer} %{SentByText}has invited you to %{Summary}." = "%{Organizer} %{SentByText}has invited you to %{Summary}."; "%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}" = "%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}";
/* Deletion */ /* Deletion */
"Event Cancelled: \"%{Summary}\"" = "Event Cancelled: \"%{Summary}\""; "Event Cancelled: \"%{Summary}\"" = "Event Cancelled: \"%{Summary}\"";

View File

@ -35,7 +35,7 @@ vtodo_class2 = "(Confidential task)";
/* Invitation */ /* Invitation */
"Event Invitation: \"%{Summary}\"" = "Event Invitation: \"%{Summary}\""; "Event Invitation: \"%{Summary}\"" = "Event Invitation: \"%{Summary}\"";
"(sent by %{SentBy}) " = "(sent by %{SentBy}) "; "(sent by %{SentBy}) " = "(sent by %{SentBy}) ";
"%{Organizer} %{SentByText}has invited you to %{Summary}." = "%{Organizer} %{SentByText}has invited you to %{Summary}."; "%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}" = "%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}";
/* Deletion */ /* Deletion */
"Event Cancelled: \"%{Summary}\"" = "Event Cancelled: \"%{Summary}\""; "Event Cancelled: \"%{Summary}\"" = "Event Cancelled: \"%{Summary}\"";

View File

@ -35,7 +35,7 @@ vtodo_class2 = "(Tâche confidentielle)";
/* Invitation */ /* Invitation */
"Event Invitation: \"%{Summary}\"" = "Invitation à la réunion : \"%{Summary}\""; "Event Invitation: \"%{Summary}\"" = "Invitation à la réunion : \"%{Summary}\"";
"(sent by %{SentBy}) " = "(envoyé par %{SentBy}) "; "(sent by %{SentBy}) " = "(envoyé par %{SentBy}) ";
"%{Organizer} %{SentByText}has invited you to %{Summary}." = "%{Organizer} %{SentByText}vous a invité à la réunion « %{Summary} »."; "%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}" = "%{Organizer} %{SentByText}vous a invité à la réunion « %{Summary} ».\n\nDébut: %{StartDate} à %{StartTime}\nFin: %{EndDate} à %{EndTime}\nDescription: %{Description}";
/* Deletion */ /* Deletion */
"Event Cancelled: \"%{Summary}\"" = "Réunion annulée : « %{Summary} »"; "Event Cancelled: \"%{Summary}\"" = "Réunion annulée : « %{Summary} »";

View File

@ -35,7 +35,7 @@ vtodo_class2 = "(Vertrauliche Aufgabe)";
/* Invitation */ /* Invitation */
"Event Invitation: \"%{Summary}\"" = "Termin Einladung: \"%{Summary}\""; "Event Invitation: \"%{Summary}\"" = "Termin Einladung: \"%{Summary}\"";
"(sent by %{SentBy}) " = "(gesendet von %{SentBy}) "; "(sent by %{SentBy}) " = "(gesendet von %{SentBy}) ";
"%{Organizer} %{SentByText}has invited you to %{Summary}." = "%{Organizer} %{SentByText}hat Sie eingeladen zu %{Summary}."; "%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}" = "%{Organizer} %{SentByText}hat Sie eingeladen zu %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}";
/* Deletion */ /* Deletion */
"Event Cancelled: \"%{Summary}\"" = "Termin abgesagt: \"%{Summary}\""; "Event Cancelled: \"%{Summary}\"" = "Termin abgesagt: \"%{Summary}\"";

View File

@ -35,7 +35,7 @@ vtodo_class2 = "(Bizalmas feladat)";
/* Invitation */ /* Invitation */
"Event Invitation: \"%{Summary}\"" = "Event Invitation: \"%{Summary}\""; "Event Invitation: \"%{Summary}\"" = "Event Invitation: \"%{Summary}\"";
"(sent by %{SentBy}) " = "(%{SentBy} által elküldve) "; "(sent by %{SentBy}) " = "(%{SentBy} által elküldve) ";
"%{Organizer} %{SentByText}has invited you to %{Summary}." = "%{Organizer} %{SentByText}has invited you to %{Summary}."; "%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}" = "%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}";
/* Deletion */ /* Deletion */
"Event Cancelled: \"%{Summary}\"" = "Event Cancelled: \"%{Summary}\""; "Event Cancelled: \"%{Summary}\"" = "Event Cancelled: \"%{Summary}\"";

View File

@ -35,7 +35,7 @@ vtodo_class2 = "(Attività confidenziale)";
/* Invitation */ /* Invitation */
"Event Invitation: \"%{Summary}\"" = "Invito Evento: \"%{Summary}\""; "Event Invitation: \"%{Summary}\"" = "Invito Evento: \"%{Summary}\"";
"(sent by %{SentBy}) " = "(inviato da %{SentBy}) "; "(sent by %{SentBy}) " = "(inviato da %{SentBy}) ";
"%{Organizer} %{SentByText}has invited you to %{Summary}." = "%{Organizer} %{SentByText}ti ha invitato al %{Summary}."; "%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}" = "%{Organizer} %{SentByText}ti ha invitato al %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}";
/* Deletion */ /* Deletion */
"Event Cancelled: \"%{Summary}\"" = "Evento cancellato: \"%{Summary}\""; "Event Cancelled: \"%{Summary}\"" = "Evento cancellato: \"%{Summary}\"";

View File

@ -35,7 +35,7 @@ vtodo_class2 = "(Zadanie poufne)";
/* Invitation */ /* Invitation */
"Event Invitation: \"%{Summary}\"" = "Zaproszenie na wydarzenie: \"%{Summary}\""; "Event Invitation: \"%{Summary}\"" = "Zaproszenie na wydarzenie: \"%{Summary}\"";
"(sent by %{SentBy}) " = "(wysłane przez %{SentBy}) "; "(sent by %{SentBy}) " = "(wysłane przez %{SentBy}) ";
"%{Organizer} %{SentByText}has invited you to %{Summary}." = "%{Organizer} %{SentByText}zaprosił cię na %{Summary}."; "%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}" = "%{Organizer} %{SentByText}zaprosił cię na %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}";
/* Deletion */ /* Deletion */
"Event Cancelled: \"%{Summary}\"" = "Wydarzenie anulowane: \"%{Summary}\""; "Event Cancelled: \"%{Summary}\"" = "Wydarzenie anulowane: \"%{Summary}\"";

View File

@ -35,7 +35,7 @@ vtodo_class2 = "(Confidential task)";
/* Invitation */ /* Invitation */
"Event Invitation: \"%{Summary}\"" = "Event Invitation: \"%{Summary}\""; "Event Invitation: \"%{Summary}\"" = "Event Invitation: \"%{Summary}\"";
"(sent by %{SentBy}) " = "(послал %{SentBy}) "; "(sent by %{SentBy}) " = "(послал %{SentBy}) ";
"%{Organizer} %{SentByText}has invited you to %{Summary}." = "%{Organizer} %{SentByText}has invited you to %{Summary}."; "%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}" = "%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}";
/* Deletion */ /* Deletion */
"Event Cancelled: \"%{Summary}\"" = "Event Cancelled: \"%{Summary}\""; "Event Cancelled: \"%{Summary}\"" = "Event Cancelled: \"%{Summary}\"";

View File

@ -21,9 +21,11 @@
#import <NGCards/iCalEvent.h> #import <NGCards/iCalEvent.h>
#import <NGObjWeb/WOContext+SoObjects.h>
#import <SOGo/NSDictionary+Utilities.h> #import <SOGo/NSDictionary+Utilities.h>
#import <SOGo/NSObject+Utilities.h> #import <SOGo/NSObject+Utilities.h>
#import <SOGo/SOGoDateFormatter.h>
#import <SOGo/SOGoUser.h>
#import "iCalPerson+SOGo.h" #import "iCalPerson+SOGo.h"
#import "SOGoAptMailNotification.h" #import "SOGoAptMailNotification.h"
@ -33,6 +35,34 @@
@implementation SOGoAptMailInvitation @implementation SOGoAptMailInvitation
- (void) setupValues
{
SOGoDateFormatter *dateFormatter;
NSCalendarDate *date;
NSString *description;
[super setupValues];
dateFormatter = [[context activeUser] dateFormatterInContext: context];
date = [self newStartDate];
[values setObject: [dateFormatter shortFormattedDate: date]
forKey: @"StartDate"];
[values setObject: [dateFormatter formattedTime: date]
forKey: @"StartTime"];
date = [self newEndDate];
[values setObject: [dateFormatter shortFormattedDate: date]
forKey: @"EndDate"];
[values setObject: [dateFormatter formattedTime: date]
forKey: @"EndTime"];
description = [[self apt] comment];
[values setObject: (description ? description : @"")
forKey: @"Description"];
}
- (NSString *) getSubject - (NSString *) getSubject
{ {
NSString *subjectFormat; NSString *subjectFormat;
@ -53,7 +83,7 @@
if (!values) if (!values)
[self setupValues]; [self setupValues];
bodyFormat = [self labelForKey: @"%{Organizer} %{SentByText}has invited you to %{Summary}." bodyFormat = [self labelForKey: @"%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}"
inContext: context]; inContext: context];
return [values keysWithFormat: bodyFormat]; return [values keysWithFormat: bodyFormat];

View File

@ -1,6 +1,6 @@
/* /*
Copyright (C) 2006-2010 Inverse inc.
Copyright (C) 2000-2005 SKYRIX Software AG Copyright (C) 2000-2005 SKYRIX Software AG
Copyright (C) 2006-2009 Inverse inc.
This file is part of OpenGroupware.org. This file is part of OpenGroupware.org.
@ -43,6 +43,8 @@
NSTimeZone *viewTZ; NSTimeZone *viewTZ;
NSCalendarDate *oldStartDate; NSCalendarDate *oldStartDate;
NSCalendarDate *newStartDate; NSCalendarDate *newStartDate;
NSCalendarDate *oldEndDate;
NSCalendarDate *newEndDate;
NSString *organizerName; NSString *organizerName;
NSMutableDictionary *values; NSMutableDictionary *values;
} }
@ -61,6 +63,9 @@
- (NSCalendarDate *) oldStartDate; - (NSCalendarDate *) oldStartDate;
- (NSCalendarDate *) newStartDate; - (NSCalendarDate *) newStartDate;
- (NSCalendarDate *) oldEndDate;
- (NSCalendarDate *) newEndDate;
- (NSString *) getSubject; - (NSString *) getSubject;
- (NSString *) getBody; - (NSString *) getBody;

View File

@ -62,6 +62,8 @@
[viewTZ release]; [viewTZ release];
[oldStartDate release]; [oldStartDate release];
[newStartDate release]; [newStartDate release];
[oldEndDate release];
[newEndDate release];
[super dealloc]; [super dealloc];
} }
@ -115,6 +117,26 @@
return newStartDate; return newStartDate;
} }
- (NSCalendarDate *) oldEndDate
{
if (!oldEndDate)
{
ASSIGN (oldEndDate, [[self previousApt] endDate]);
[oldEndDate setTimeZone: viewTZ];
}
return oldEndDate;
}
- (NSCalendarDate *) newEndDate
{
if (!newEndDate)
{
ASSIGN (newEndDate, [[self apt] endDate]);
[newEndDate setTimeZone: viewTZ];
}
return newEndDate;
}
- (NSString *) summary - (NSString *) summary
{ {
return [apt summary]; return [apt summary];

View File

@ -35,7 +35,7 @@ vtodo_class2 = "(Tarea confidencial)";
/* Invitation */ /* Invitation */
"Event Invitation: \"%{Summary}\"" = "Event Invitation: \"%{Summary}\""; "Event Invitation: \"%{Summary}\"" = "Event Invitation: \"%{Summary}\"";
"(sent by %{SentBy}) " = "(sent by %{SentBy}) "; "(sent by %{SentBy}) " = "(sent by %{SentBy}) ";
"%{Organizer} %{SentByText}has invited you to %{Summary}." = "%{Organizer} %{SentByText}has invited you to %{Summary}."; "%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}" = "%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}";
/* Deletion */ /* Deletion */
"Event Cancelled: \"%{Summary}\"" = "Event Cancelled: \"%{Summary}\""; "Event Cancelled: \"%{Summary}\"" = "Event Cancelled: \"%{Summary}\"";

View File

@ -35,7 +35,7 @@ vtodo_class2 = "(Konfidentiell uppgift)";
/* Invitation */ /* Invitation */
"Event Invitation: \"%{Summary}\"" = "Event Invitation: \"%{Summary}\""; "Event Invitation: \"%{Summary}\"" = "Event Invitation: \"%{Summary}\"";
"(sent by %{SentBy}) " = "(sent by %{SentBy}) "; "(sent by %{SentBy}) " = "(sent by %{SentBy}) ";
"%{Organizer} %{SentByText}has invited you to %{Summary}." = "%{Organizer} %{SentByText}has invited you to %{Summary}."; "%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}" = "%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}";
/* Deletion */ /* Deletion */
"Event Cancelled: \"%{Summary}\"" = "Event Cancelled: \"%{Summary}\""; "Event Cancelled: \"%{Summary}\"" = "Event Cancelled: \"%{Summary}\"";

View File

@ -35,7 +35,7 @@ vtodo_class2 = "(Конфіденційне завдання)";
/* Invitation */ /* Invitation */
"Event Invitation: \"%{Summary}\"" = "Запрошення на подію: \"%{Summary}\""; "Event Invitation: \"%{Summary}\"" = "Запрошення на подію: \"%{Summary}\"";
"(sent by %{SentBy}) " = "(надіслано %{SentBy}) "; "(sent by %{SentBy}) " = "(надіслано %{SentBy}) ";
"%{Organizer} %{SentByText}has invited you to %{Summary}." = "%{Organizer} %{SentByText} запросив вас до %{Summary}."; "%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}" = "%{Organizer} %{SentByText} запросив вас до %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}";
/* Deletion */ /* Deletion */
"Event Cancelled: \"%{Summary}\"" = "Подію скасовано: \"%{Summary}\""; "Event Cancelled: \"%{Summary}\"" = "Подію скасовано: \"%{Summary}\"";

View File

@ -35,7 +35,7 @@ vtodo_class2 = "(Tasg gyfrinachol)";
/* Invitation */ /* Invitation */
"Event Invitation: \"%{Summary}\"" = "Event Invitation: \"%{Summary}\""; "Event Invitation: \"%{Summary}\"" = "Event Invitation: \"%{Summary}\"";
"(sent by %{SentBy}) " = "(anfon gan %{SentBy}) "; "(sent by %{SentBy}) " = "(anfon gan %{SentBy}) ";
"%{Organizer} %{SentByText}has invited you to %{Summary}." = "%{Organizer} %{SentByText}has invited you to %{Summary}."; "%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}" = "%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}";
/* Deletion */ /* Deletion */
"Event Cancelled: \"%{Summary}\"" = "Event Cancelled: \"%{Summary}\""; "Event Cancelled: \"%{Summary}\"" = "Event Cancelled: \"%{Summary}\"";