mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-10-11 14:57:12 +00:00
Monotone-Parent: 950ea2f4a5916f47123e12564b35c975f97e4c78
Monotone-Revision: a4f965425609368d1347526114e039b4c8f07962 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2010-01-20T23:09:35 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
1 parent
cb288eb502
commit
c5bc543e8d
7 files changed
+87
-61
No files matched your search
@@ -2308,7 +2308,6 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
|
||||
{
|
||||
NSMutableArray *colType;
|
||||
NSArray *gdRT, *gdVEventCol, *gdVTodoCol;
|
||||
NSString *login;
|
||||
WORequest *request;
|
||||
|
||||
colType = [NSMutableArray arrayWithCapacity: 10];
|
||||
@@ -2329,16 +2328,8 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
|
||||
XMLNS_GROUPDAV, nil];
|
||||
[colType addObject: gdVTodoCol];
|
||||
if ([nameInContainer isEqualToString: @"personal"])
|
||||
{
|
||||
login = [[context activeUser] login];
|
||||
if ([login isEqualToString: [self ownerInContext: self]])
|
||||
{
|
||||
// [colType addObject: [NSArray arrayWithObjects: @"schedule-inbox",
|
||||
// XMLNS_CALDAV, nil]];
|
||||
[colType addObject: [NSArray arrayWithObjects: @"schedule-outbox",
|
||||
XMLNS_CALDAV, nil]];
|
||||
}
|
||||
}
|
||||
[colType addObject: [NSArray arrayWithObjects: @"schedule-outbox",
|
||||
XMLNS_CALDAV, nil]];
|
||||
}
|
||||
|
||||
return colType;
|
||||
|
||||
@@ -88,9 +88,9 @@
|
||||
currentUser = [context activeUser];
|
||||
login = [currentUser login];
|
||||
keys = [NSMutableArray array];
|
||||
[keys addObject: @"inbox"];
|
||||
if ([owner isEqualToString: login])
|
||||
{
|
||||
[keys addObject: @"inbox"];
|
||||
sortedSubFolders = [[self subFolders] objectEnumerator];
|
||||
while ((currentFolder = [sortedSubFolders nextObject]))
|
||||
{
|
||||
@@ -120,17 +120,10 @@
|
||||
acquire: (BOOL) acquire
|
||||
{
|
||||
id obj;
|
||||
NSString *login;
|
||||
|
||||
if ([name isEqualToString: @"inbox"])
|
||||
{
|
||||
login = [[context activeUser] login];
|
||||
if ([owner isEqualToString: login])
|
||||
obj = [SOGoAppointmentInboxFolder objectWithName: name
|
||||
inContainer: self];
|
||||
else
|
||||
obj = nil;
|
||||
}
|
||||
obj = [SOGoAppointmentInboxFolder objectWithName: name
|
||||
inContainer: self];
|
||||
else
|
||||
obj = [super lookupName: name inContext: lookupContext acquire: NO];
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
#import <NGObjWeb/WOContext+SoObjects.h>
|
||||
|
||||
#import <SOGo/NSObject+DAV.h>
|
||||
#import <SOGo/SOGoPermissions.h>
|
||||
#import <SOGo/SOGoUser.h>
|
||||
#import <SOGo/SOGoWebDAVValue.h>
|
||||
|
||||
@@ -43,17 +44,9 @@
|
||||
|
||||
- (NSArray *) davResourceType
|
||||
{
|
||||
NSMutableArray *colType;
|
||||
NSString *login;
|
||||
|
||||
colType = [NSMutableArray arrayWithCapacity: 10];
|
||||
[colType addObject: @"collection"];
|
||||
login = [[context activeUser] login];
|
||||
if ([login isEqualToString: [self ownerInContext: self]])
|
||||
[colType addObject: [NSArray arrayWithObjects: @"schedule-inbox",
|
||||
XMLNS_CALDAV, nil]];
|
||||
|
||||
return colType;
|
||||
return [NSArray arrayWithObjects: @"collection",
|
||||
[NSArray arrayWithObjects: @"schedule-inbox", XMLNS_CALDAV, nil],
|
||||
nil];
|
||||
}
|
||||
|
||||
- (SOGoWebDAVValue *) davCalendarFreeBusySet
|
||||
@@ -66,9 +59,10 @@
|
||||
response = [NSMutableArray array];
|
||||
subFolders = [[container subFolders] objectEnumerator];
|
||||
while ((currentFolder = [subFolders nextObject]))
|
||||
[response
|
||||
addObject: davElementWithContent (@"href", XMLNS_WEBDAV,
|
||||
[currentFolder davURLAsString])];
|
||||
if ([owner isEqualToString: [currentFolder ownerInContext: context]])
|
||||
[response
|
||||
addObject: davElementWithContent (@"href", XMLNS_WEBDAV,
|
||||
[currentFolder davURLAsString])];
|
||||
responseValue = [davElementWithContent (@"calendar-free-busy-set", XMLNS_CALDAV, response)
|
||||
asWebDAVValue];
|
||||
|
||||
@@ -81,4 +75,37 @@
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (NSArray *) davScheduleDefaultCalendarURL
|
||||
{
|
||||
NSArray *response;
|
||||
NSString *personalURL;
|
||||
|
||||
personalURL = [NSString stringWithFormat: @"%@personal/",
|
||||
[container davURLAsString]];
|
||||
response = [NSArray arrayWithObjects: @"href", XMLNS_WEBDAV, @"D",
|
||||
personalURL, nil];
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
- (NSArray *) aclsForUser: (NSString *) userID
|
||||
{
|
||||
NSString *login;
|
||||
NSArray *acls;
|
||||
|
||||
acls = nil;
|
||||
|
||||
login = [[context activeUser] login];
|
||||
if (![login isEqualToString: owner])
|
||||
{
|
||||
if ([container hasProxyCalendarsWithWriteAccess: YES
|
||||
forUserWithLogin: login]
|
||||
|| [container hasProxyCalendarsWithWriteAccess: NO
|
||||
forUserWithLogin: login])
|
||||
acls = [NSArray arrayWithObject: SOGoRole_AuthorizedSubscriber];
|
||||
}
|
||||
|
||||
return acls;
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -68,7 +68,7 @@
|
||||
emails = [[ownerUser allEmails] objectEnumerator];
|
||||
while ((currentEmail = [emails nextObject]))
|
||||
{
|
||||
tag = [NSArray arrayWithObjects: @"href", @"DAV:", @"D",
|
||||
tag = [NSArray arrayWithObjects: @"href", XMLNS_WEBDAV, @"D",
|
||||
[NSString stringWithFormat: @"mailto:%@", currentEmail],
|
||||
nil];
|
||||
[addresses addObject: tag];
|
||||
@@ -94,7 +94,7 @@
|
||||
SOGoAppointmentFolders *parent;
|
||||
|
||||
parent = [self privateCalendars: @"Calendar" inContext: context];
|
||||
tag = [NSArray arrayWithObjects: @"href", @"DAV:", @"D",
|
||||
tag = [NSArray arrayWithObjects: @"href", XMLNS_WEBDAV, @"D",
|
||||
[parent davURLAsString], nil];
|
||||
|
||||
return [NSArray arrayWithObject: tag];
|
||||
@@ -104,24 +104,14 @@
|
||||
{
|
||||
SOGoAppointmentFolders *parent;
|
||||
NSArray *tag, *response;
|
||||
NSString *parentURL, *login;
|
||||
NSString *parentURL;
|
||||
|
||||
login = [[context activeUser] login];
|
||||
if ([login isEqualToString: owner])
|
||||
{
|
||||
parent = [self privateCalendars: @"Calendar" inContext: context];
|
||||
parentURL = [parent davURLAsString];
|
||||
|
||||
if ([parentURL hasSuffix: @"/"])
|
||||
parentURL = [parentURL substringToIndex: [parentURL length]-1];
|
||||
|
||||
tag = [NSArray arrayWithObjects: @"href", @"DAV:", @"D",
|
||||
[NSString stringWithFormat: @"%@/%@/", parentURL, name],
|
||||
nil];
|
||||
response = [NSArray arrayWithObject: tag];
|
||||
}
|
||||
else
|
||||
response = nil;
|
||||
parent = [self privateCalendars: @"Calendar" inContext: context];
|
||||
parentURL = [parent davURLAsString];
|
||||
tag = [NSArray arrayWithObjects: @"href", XMLNS_WEBDAV, @"D",
|
||||
[NSString stringWithFormat: @"%@%@/", parentURL, name],
|
||||
nil];
|
||||
response = [NSArray arrayWithObject: tag];
|
||||
|
||||
return response;
|
||||
}
|
||||
@@ -193,7 +183,7 @@
|
||||
for (count = 0; count < max; count++)
|
||||
{
|
||||
proxiedUser = [proxiedUsers objectAtIndex: count];
|
||||
tag = [NSArray arrayWithObjects: @"href", @"DAV:", @"D",
|
||||
tag = [NSArray arrayWithObjects: @"href", XMLNS_WEBDAV, @"D",
|
||||
[NSString stringWithFormat: @"/%@/dav/%@/%@/",
|
||||
appName, proxiedUser, groupId],
|
||||
nil];
|
||||
@@ -233,7 +223,7 @@
|
||||
for (count = 0; count < max; count++)
|
||||
{
|
||||
proxiedUser = [proxiedUsers objectAtIndex: count];
|
||||
tag = [NSArray arrayWithObjects: @"href", @"DAV:", @"D",
|
||||
tag = [NSArray arrayWithObjects: @"href", XMLNS_WEBDAV, @"D",
|
||||
[NSString stringWithFormat: @"/%@/dav/%@/",
|
||||
appName, proxiedUser],
|
||||
nil];
|
||||
|
||||
@@ -51,10 +51,10 @@
|
||||
};
|
||||
SOGoAppointmentInboxFolder = {
|
||||
superclass = "SOGoAppointmentFolder";
|
||||
defaultRoles = {
|
||||
"Access Contents Information" = ( "Owner", "AuthorizedSubscriber" );
|
||||
};
|
||||
};
|
||||
// SOGoGroupAppointmentFolder = {
|
||||
// superclass = "SOGoAppointmentFolder";
|
||||
// };
|
||||
SOGoCalendarComponent = {
|
||||
superclass = "SOGoContentObject";
|
||||
defaultRoles = {
|
||||
|
||||
Reference in new issue
Block a user