diff --git a/SOPE/NGCards/CardElement.h b/SOPE/NGCards/CardElement.h index 7bccaa46f..21e6c4d1d 100644 --- a/SOPE/NGCards/CardElement.h +++ b/SOPE/NGCards/CardElement.h @@ -1,6 +1,6 @@ /* CardElement.h - this file is part of SOPE * - * Copyright (C) 2006 Inverse inc. + * Copyright (C) 2006-2012 Inverse inc. * * Author: Wolfgang Sourdeau * diff --git a/SOPE/NGCards/CardElement.m b/SOPE/NGCards/CardElement.m index 959c37f12..552f4cbfa 100644 --- a/SOPE/NGCards/CardElement.m +++ b/SOPE/NGCards/CardElement.m @@ -1,6 +1,6 @@ /* CardElement.m - this file is part of SOPE * - * Copyright (C) 2006 Inverse inc. + * Copyright (C) 2006-2012 Inverse inc. * * Author: Wolfgang Sourdeau * diff --git a/SOPE/NGCards/CardGroup.h b/SOPE/NGCards/CardGroup.h index 117d00c54..b70dc817e 100644 --- a/SOPE/NGCards/CardGroup.h +++ b/SOPE/NGCards/CardGroup.h @@ -75,6 +75,8 @@ - (void) replaceThisElement: (CardElement *) oldElement withThisOne: (CardElement *) newElement; +- (NSArray *) orderOfElements; + @end #endif /* CARDGROUP_H */ diff --git a/SOPE/NGCards/CardGroup.m b/SOPE/NGCards/CardGroup.m index 702257148..c9ecfb1f3 100644 --- a/SOPE/NGCards/CardGroup.m +++ b/SOPE/NGCards/CardGroup.m @@ -1,6 +1,6 @@ /* CardGroup.m - this file is part of SOPE * - * Copyright (C) 2006 Inverse inc. + * Copyright (C) 2006-2012 Inverse inc. * * Author: Wolfgang Sourdeau * @@ -454,4 +454,9 @@ static NGCardsSaxHandler *sax = nil; return new; } +- (NSArray *) orderOfElements +{ + return nil; +} + @end diff --git a/SOPE/NGCards/CardVersitRenderer.m b/SOPE/NGCards/CardVersitRenderer.m index 50894a831..044528afc 100644 --- a/SOPE/NGCards/CardVersitRenderer.m +++ b/SOPE/NGCards/CardVersitRenderer.m @@ -1,6 +1,6 @@ /* CardVersitRenderer.m - this file is part of SOPE * - * Copyright (C) 2006 Inverse inc. + * Copyright (C) 2006-2012 Inverse inc. * * Author: Wolfgang Sourdeau * @@ -107,6 +107,7 @@ CardElement *currentChild; NSMutableString *rendering; NSString *groupTag; + NSArray *order; rendering = [NSMutableString string]; @@ -120,7 +121,30 @@ groupTag = [groupTag uppercaseString]; [rendering appendFormat: @"BEGIN:%@\r\n", groupTag]; - children = [[aGroup children] objectEnumerator]; + + // We reorder the group elemments, if necessary + order = [aGroup orderOfElements]; + + if (order) + { + NSMutableArray *orderedElements; + int i, c; + + orderedElements = [NSMutableArray array]; + c = [order count]; + + for (i = 0; i < c; i++) + { + [orderedElements addObjectsFromArray: [aGroup childrenWithTag: [order objectAtIndex: i]]]; + } + + children = [orderedElements objectEnumerator]; + } + else + { + children = [[aGroup children] objectEnumerator]; + } + while ((currentChild = [children nextObject])) [rendering appendString: [self render: currentChild]]; [rendering appendFormat: @"END:%@\r\n", groupTag]; diff --git a/SOPE/NGCards/iCalCalendar.h b/SOPE/NGCards/iCalCalendar.h index 7e95badb6..ec9f0b2d9 100644 --- a/SOPE/NGCards/iCalCalendar.h +++ b/SOPE/NGCards/iCalCalendar.h @@ -38,18 +38,6 @@ @class iCalTimeZone; @interface iCalCalendar : CardGroup -// { -// NSString *version; -// NSString *calscale; -// NSString *prodId; -// NSString *method; - -// NSMutableArray *todos; -// NSMutableArray *events; -// NSMutableArray *journals; -// NSMutableArray *freeBusys; -// NSMutableDictionary *timezones; -// } /* accessors */ diff --git a/SOPE/NGCards/iCalCalendar.m b/SOPE/NGCards/iCalCalendar.m index 7578d71a3..09f629cf1 100644 --- a/SOPE/NGCards/iCalCalendar.m +++ b/SOPE/NGCards/iCalCalendar.m @@ -210,6 +210,13 @@ return [super versitString]; } +- (NSArray *) orderOfElements +{ + return [NSArray arrayWithObjects: @"prodid", @"version", @"method", @"calscale", + @"vtimezone", @"vevent", @"vtodo", @"vjournal", @"vfreebusy", nil]; +} + + /* ical typing */ - (NSString *) entityName diff --git a/SoObjects/Appointments/SOGoAppointmentObject.m b/SoObjects/Appointments/SOGoAppointmentObject.m index 09eefec8a..658490e8f 100644 --- a/SoObjects/Appointments/SOGoAppointmentObject.m +++ b/SoObjects/Appointments/SOGoAppointmentObject.m @@ -410,14 +410,6 @@ previousObject: oldEvent toAttendees: updateAttendees withType: @"calendar:invitation-update"]; - -#if 0 - // DELETE CODE - [self sendReceiptEmailForObject: newEvent - addedAttendees: nil - deletedAttendees: nil - updatedAttendees: updateAttendees]; -#endif } //