Monotone-Parent: 1960a36a480c2b580275d8352c65f53c16c80b5a
Monotone-Revision: 6d9605bebc980669f2328d07205d430fc4478d79 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-11-07T15:59:01 Monotone-Branch: ca.inverse.sogomaint-2.0.2
parent
b83e708b70
commit
46d9a1d645
19
ChangeLog
19
ChangeLog
|
@ -1,3 +1,22 @@
|
|||
2007-11-07 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||
|
||||
* SoObjects/SOGo/SOGoParentFolder.m: no longer a subclass of
|
||||
SOGoObject, but of SOGoFolder instead.
|
||||
|
||||
* SoObjects/SOGo/SOGoUserFolder.m: no longer a subclass of
|
||||
SOGoGCSFolder, but of SOGoFolder instead.
|
||||
|
||||
* SoObjects/Appointments/SOGoAppointmentFolder.m
|
||||
([SOGoAppointmentFolder -lookupCalendarFolderForUID:uid]): fixed
|
||||
to take the new SOGoParentFolder class into account. Also, create
|
||||
the personal folder if it doesn't exist.
|
||||
|
||||
* SoObjects/SOGo/SOGoFolder.[hm]: new class module implementing
|
||||
the parent of all SOGo containers.
|
||||
|
||||
* SoObjects/SOGo/SOGoGCSFolder.[hm]: SOGoFolder class renamed to
|
||||
SOGoGCSFolder.
|
||||
|
||||
2007-11-06 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||
|
||||
* UI/MailerUI/UIxMailToSelection.m ([UIxMailToSelection
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
create two different vevent-files with the same uid in the store.
|
||||
*/
|
||||
|
||||
#import "SOGo/SOGoFolder.h"
|
||||
#import "SOGo/SOGoGCSFolder.h"
|
||||
|
||||
@class NSArray;
|
||||
@class NSCalendarDate;
|
||||
|
@ -47,7 +47,7 @@
|
|||
@class GCSFolder;
|
||||
|
||||
#import <NGCards/iCalEntityObject.h>
|
||||
@interface SOGoAppointmentFolder : SOGoFolder
|
||||
@interface SOGoAppointmentFolder : SOGoGCSFolder
|
||||
{
|
||||
NSTimeZone *timeZone;
|
||||
NSMutableDictionary *uidToFilename;
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#ifndef __Appointments_SOGoFreeBusyObject_H_
|
||||
#define __Appointments_SOGoFreeBusyObject_H_
|
||||
|
||||
#include <SOGo/SOGoContentObject.h>
|
||||
#include <SOGo/SOGoObject.h>
|
||||
|
||||
/*
|
||||
SOGoFreeBusyObject
|
||||
|
@ -34,7 +34,7 @@
|
|||
|
||||
@class NSArray, NSCalendarDate;
|
||||
|
||||
@interface SOGoFreeBusyObject : SOGoContentObject
|
||||
@interface SOGoFreeBusyObject : SOGoObject
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -20,17 +20,18 @@
|
|||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#import "SOGoContactFolder.h"
|
||||
#import "SOGoContactGCSEntry.h"
|
||||
|
||||
#import <DOM/DOMProtocols.h>
|
||||
#import <Foundation/NSArray.h>
|
||||
#import <NGExtensions/NSString+misc.h>
|
||||
#import <SaxObjC/SaxObjC.h>
|
||||
#import <SaxObjC/XMLNamespaces.h>
|
||||
|
||||
#import <NGObjWeb/WOContext.h>
|
||||
#import <NGObjWeb/WORequest.h>
|
||||
#import <NGObjWeb/WOResponse.h>
|
||||
#import <NGExtensions/NSString+misc.h>
|
||||
#import <DOM/DOMProtocols.h>
|
||||
#import <SaxObjC/SaxObjC.h>
|
||||
#import <SaxObjC/XMLNamespaces.h>
|
||||
|
||||
#import "SOGoContactFolder.h"
|
||||
#import "SOGoContactGCSEntry.h"
|
||||
|
||||
@implementation NSObject (CardDAV)
|
||||
|
||||
|
@ -42,7 +43,7 @@
|
|||
NSDictionary *currentFilter, *contact;
|
||||
NSEnumerator *contacts;
|
||||
NSString *baseURL;
|
||||
id<SOGoContactFolder> o;
|
||||
SOGoObject <SOGoContactFolder> *o;
|
||||
|
||||
o = (id<SOGoContactFolder>)self;
|
||||
baseURL = [o baseURLInContext: context];
|
||||
|
|
|
@ -43,8 +43,6 @@
|
|||
|
||||
@class WOContext;
|
||||
|
||||
|
||||
|
||||
@implementation SOGoContactLDAPFolder
|
||||
|
||||
- (void) appendObject: (NSDictionary *) object
|
||||
|
@ -59,7 +57,8 @@
|
|||
componentClass = [SOGoContactLDIFEntry class];
|
||||
|
||||
|
||||
component = [componentClass contactEntryWithName: name withLDIFEntry: object inContainer: self];
|
||||
component = [componentClass contactEntryWithName: name
|
||||
withLDIFEntry: object inContainer: self];
|
||||
|
||||
[r appendContentString: @" <D:response>\r\n"];
|
||||
[r appendContentString: @" <D:href>"];
|
||||
|
|
|
@ -479,14 +479,16 @@ static NSString *otherUsersFolderName = @""; // TODO: add English default
|
|||
s = [self nameInContainer];
|
||||
|
||||
r = [s rangeOfString:@"@"];
|
||||
if (r.length > 0) {
|
||||
login = [s substringToIndex:r.location];
|
||||
host = [s substringFromIndex:(r.location + r.length)];
|
||||
}
|
||||
else {
|
||||
login = nil;
|
||||
host = s;
|
||||
}
|
||||
if (r.length > 0)
|
||||
{
|
||||
login = [s substringToIndex:r.location];
|
||||
host = [s substringFromIndex:(r.location + r.length)];
|
||||
}
|
||||
else
|
||||
{
|
||||
login = nil;
|
||||
host = s;
|
||||
}
|
||||
|
||||
r = [host rangeOfString:@"."];
|
||||
if (r.length > 0)
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
#import <NGExtensions/NSObject+Logs.h>
|
||||
#import <GDLContentStore/GCSFolder.h>
|
||||
|
||||
#import "SOGoFolder.h"
|
||||
#import "SOGoGCSFolder.h"
|
||||
#import "SOGoUser.h"
|
||||
#import "SOGoPermissions.h"
|
||||
#import "SOGoContentObject.h"
|
||||
|
|
|
@ -1017,4 +1017,11 @@ static BOOL kontactGroupDAV = YES;
|
|||
return ms;
|
||||
}
|
||||
|
||||
- (NSString *) loggingPrefix
|
||||
{
|
||||
return [NSString stringWithFormat:@"<0x%08X[%@]:%@>",
|
||||
self, NSStringFromClass([self class]),
|
||||
[self nameInContainer]];
|
||||
}
|
||||
|
||||
@end /* SOGoObject */
|
||||
|
|
|
@ -31,11 +31,11 @@
|
|||
@class NSMutableDictionary;
|
||||
|
||||
@class LDAPUserManager;
|
||||
@class SOGoFolder;
|
||||
@class SOGoGCSFolder;
|
||||
|
||||
@interface UIxFolderActions : WODirectAction
|
||||
{
|
||||
SOGoFolder *clientObject;
|
||||
SOGoGCSFolder *clientObject;
|
||||
LDAPUserManager *um;
|
||||
NSUserDefaults *ud;
|
||||
NSString *owner;
|
||||
|
|
|
@ -581,7 +581,7 @@
|
|||
Update: remember that there are group folders as well.
|
||||
*/
|
||||
NSString *uri, *objectId, *nextMethod;
|
||||
id <SOGoContactFolder> co;
|
||||
SOGoObject <SOGoContactFolder> *co;
|
||||
|
||||
co = [self clientObject];
|
||||
if ([co respondsToSelector: @selector (globallyUniqueObjectId)])
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
};
|
||||
};
|
||||
SOGoParentFolder = {
|
||||
superclass = "SOGoObject";
|
||||
superclass = "SOGoFolder";
|
||||
protectedBy = "Access Contents Information";
|
||||
defaultRoles = {
|
||||
"Access Contents Information" = ( "Authenticated" );
|
||||
|
|
Loading…
Reference in New Issue