See ChangeLog
Monotone-Parent: 03944000f318b9e9a2fdb399e581d287d2e421a7 Monotone-Revision: 8001653b7ad76335a3a051884e3e11e04395f3d8 Monotone-Author: ludovic@Sophos.ca Monotone-Date: 2010-10-21T20:12:47 Monotone-Branch: ca.inverse.sogomaint-2.0.2
parent
5426344d78
commit
9b3cbdae66
|
@ -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>
|
||||
|
||||
* SoObjects/SOGo/SOGoContentObject.m (-davContentLength): fixed a
|
||||
|
|
|
@ -35,7 +35,7 @@ vtodo_class2 = "(Tarefa Confidencial)";
|
|||
/* Invitation */
|
||||
"Event Invitation: \"%{Summary}\"" = "Event Invitation: \"%{Summary}\"";
|
||||
"(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 */
|
||||
"Event Cancelled: \"%{Summary}\"" = "Event Cancelled: \"%{Summary}\"";
|
||||
|
|
|
@ -35,7 +35,7 @@ vtodo_class2 = "(Tasca confidencial)";
|
|||
/* Invitation */
|
||||
"Event Invitation: \"%{Summary}\"" = "Invitació a l'esdeveniment: \"%{Summary}\"";
|
||||
"(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 */
|
||||
"Event Cancelled: \"%{Summary}\"" = "Esdeveniment suspès: \"%{Summary}\"";
|
||||
|
|
|
@ -35,7 +35,7 @@ vtodo_class2 = "(Skrytý úkol)";
|
|||
/* Invitation */
|
||||
"Event Invitation: \"%{Summary}\"" = "Pozvání na událost: \"%{Summary}\"";
|
||||
"(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 */
|
||||
"Event Cancelled: \"%{Summary}\"" = "Zrušení události: \"%{Summary}\"";
|
||||
|
|
|
@ -35,7 +35,7 @@ vtodo_class2 = "(Vertrouwelijke taak)";
|
|||
/* Invitation */
|
||||
"Event Invitation: \"%{Summary}\"" = "Event Invitation: \"%{Summary}\"";
|
||||
"(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 */
|
||||
"Event Cancelled: \"%{Summary}\"" = "Event Cancelled: \"%{Summary}\"";
|
||||
|
|
|
@ -35,7 +35,7 @@ vtodo_class2 = "(Confidential task)";
|
|||
/* Invitation */
|
||||
"Event Invitation: \"%{Summary}\"" = "Event Invitation: \"%{Summary}\"";
|
||||
"(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 */
|
||||
"Event Cancelled: \"%{Summary}\"" = "Event Cancelled: \"%{Summary}\"";
|
||||
|
|
|
@ -35,7 +35,7 @@ vtodo_class2 = "(Tâche confidentielle)";
|
|||
/* Invitation */
|
||||
"Event Invitation: \"%{Summary}\"" = "Invitation à la réunion : \"%{Summary}\"";
|
||||
"(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 */
|
||||
"Event Cancelled: \"%{Summary}\"" = "Réunion annulée : « %{Summary} »";
|
||||
|
|
|
@ -35,7 +35,7 @@ vtodo_class2 = "(Vertrauliche Aufgabe)";
|
|||
/* Invitation */
|
||||
"Event Invitation: \"%{Summary}\"" = "Termin Einladung: \"%{Summary}\"";
|
||||
"(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 */
|
||||
"Event Cancelled: \"%{Summary}\"" = "Termin abgesagt: \"%{Summary}\"";
|
||||
|
|
|
@ -35,7 +35,7 @@ vtodo_class2 = "(Bizalmas feladat)";
|
|||
/* Invitation */
|
||||
"Event Invitation: \"%{Summary}\"" = "Event Invitation: \"%{Summary}\"";
|
||||
"(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 */
|
||||
"Event Cancelled: \"%{Summary}\"" = "Event Cancelled: \"%{Summary}\"";
|
||||
|
|
|
@ -35,7 +35,7 @@ vtodo_class2 = "(Attività confidenziale)";
|
|||
/* Invitation */
|
||||
"Event Invitation: \"%{Summary}\"" = "Invito Evento: \"%{Summary}\"";
|
||||
"(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 */
|
||||
"Event Cancelled: \"%{Summary}\"" = "Evento cancellato: \"%{Summary}\"";
|
||||
|
|
|
@ -35,7 +35,7 @@ vtodo_class2 = "(Zadanie poufne)";
|
|||
/* Invitation */
|
||||
"Event Invitation: \"%{Summary}\"" = "Zaproszenie na wydarzenie: \"%{Summary}\"";
|
||||
"(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 */
|
||||
"Event Cancelled: \"%{Summary}\"" = "Wydarzenie anulowane: \"%{Summary}\"";
|
||||
|
|
|
@ -35,7 +35,7 @@ vtodo_class2 = "(Confidential task)";
|
|||
/* Invitation */
|
||||
"Event Invitation: \"%{Summary}\"" = "Event Invitation: \"%{Summary}\"";
|
||||
"(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 */
|
||||
"Event Cancelled: \"%{Summary}\"" = "Event Cancelled: \"%{Summary}\"";
|
||||
|
|
|
@ -21,9 +21,11 @@
|
|||
|
||||
#import <NGCards/iCalEvent.h>
|
||||
|
||||
#import <NGObjWeb/WOContext+SoObjects.h>
|
||||
#import <SOGo/NSDictionary+Utilities.h>
|
||||
#import <SOGo/NSObject+Utilities.h>
|
||||
|
||||
#import <SOGo/SOGoDateFormatter.h>
|
||||
#import <SOGo/SOGoUser.h>
|
||||
#import "iCalPerson+SOGo.h"
|
||||
|
||||
#import "SOGoAptMailNotification.h"
|
||||
|
@ -33,6 +35,34 @@
|
|||
|
||||
@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 *subjectFormat;
|
||||
|
@ -53,7 +83,7 @@
|
|||
if (!values)
|
||||
[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];
|
||||
|
||||
return [values keysWithFormat: bodyFormat];
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
Copyright (C) 2006-2010 Inverse inc.
|
||||
Copyright (C) 2000-2005 SKYRIX Software AG
|
||||
Copyright (C) 2006-2009 Inverse inc.
|
||||
|
||||
This file is part of OpenGroupware.org.
|
||||
|
||||
|
@ -43,6 +43,8 @@
|
|||
NSTimeZone *viewTZ;
|
||||
NSCalendarDate *oldStartDate;
|
||||
NSCalendarDate *newStartDate;
|
||||
NSCalendarDate *oldEndDate;
|
||||
NSCalendarDate *newEndDate;
|
||||
NSString *organizerName;
|
||||
NSMutableDictionary *values;
|
||||
}
|
||||
|
@ -61,6 +63,9 @@
|
|||
- (NSCalendarDate *) oldStartDate;
|
||||
- (NSCalendarDate *) newStartDate;
|
||||
|
||||
- (NSCalendarDate *) oldEndDate;
|
||||
- (NSCalendarDate *) newEndDate;
|
||||
|
||||
- (NSString *) getSubject;
|
||||
- (NSString *) getBody;
|
||||
|
||||
|
|
|
@ -62,6 +62,8 @@
|
|||
[viewTZ release];
|
||||
[oldStartDate release];
|
||||
[newStartDate release];
|
||||
[oldEndDate release];
|
||||
[newEndDate release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
@ -115,6 +117,26 @@
|
|||
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
|
||||
{
|
||||
return [apt summary];
|
||||
|
|
|
@ -35,7 +35,7 @@ vtodo_class2 = "(Tarea confidencial)";
|
|||
/* Invitation */
|
||||
"Event Invitation: \"%{Summary}\"" = "Event Invitation: \"%{Summary}\"";
|
||||
"(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 */
|
||||
"Event Cancelled: \"%{Summary}\"" = "Event Cancelled: \"%{Summary}\"";
|
||||
|
|
|
@ -35,7 +35,7 @@ vtodo_class2 = "(Konfidentiell uppgift)";
|
|||
/* Invitation */
|
||||
"Event Invitation: \"%{Summary}\"" = "Event Invitation: \"%{Summary}\"";
|
||||
"(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 */
|
||||
"Event Cancelled: \"%{Summary}\"" = "Event Cancelled: \"%{Summary}\"";
|
||||
|
|
|
@ -35,7 +35,7 @@ vtodo_class2 = "(Конфіденційне завдання)";
|
|||
/* Invitation */
|
||||
"Event Invitation: \"%{Summary}\"" = "Запрошення на подію: \"%{Summary}\"";
|
||||
"(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 */
|
||||
"Event Cancelled: \"%{Summary}\"" = "Подію скасовано: \"%{Summary}\"";
|
||||
|
|
|
@ -35,7 +35,7 @@ vtodo_class2 = "(Tasg gyfrinachol)";
|
|||
/* Invitation */
|
||||
"Event Invitation: \"%{Summary}\"" = "Event Invitation: \"%{Summary}\"";
|
||||
"(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 */
|
||||
"Event Cancelled: \"%{Summary}\"" = "Event Cancelled: \"%{Summary}\"";
|
||||
|
|
Loading…
Reference in New Issue