mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-04-18 19:48:53 +00:00
Monotone-Parent: 4ae01eea0221889e088ac21232d629d3b265be05
Monotone-Revision: 07066101c28f825ad99e746c40e1e3eb5c46ffd5 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-12-06T22:54:01 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
@@ -26,6 +26,7 @@
|
||||
|
||||
#import <NGObjWeb/NSException+HTTP.h>
|
||||
#import <NGObjWeb/SoObject+SoDAV.h>
|
||||
#import <NGObjWeb/SoSecurityManager.h>
|
||||
#import <NGObjWeb/WOContext+SoObjects.h>
|
||||
#import <NGObjWeb/WOMessage.h>
|
||||
#import <NGObjWeb/WORequest.h>
|
||||
@@ -230,7 +231,6 @@ static NSNumber *sharedYes = nil;
|
||||
return filterData;
|
||||
}
|
||||
|
||||
#warning filters is leaked here
|
||||
- (NSArray *) _parseCalendarFilters: (id <DOMElement>) parentNode
|
||||
{
|
||||
NSEnumerator *children;
|
||||
@@ -1422,6 +1422,17 @@ static NSNumber *sharedYes = nil;
|
||||
// return objectNames;
|
||||
// }
|
||||
|
||||
- (NSArray *) fetchContentObjectNames
|
||||
{
|
||||
static NSArray *cNameField = nil;
|
||||
|
||||
if (!cNameField)
|
||||
cNameField = [[NSArray alloc] initWithObjects: @"c_name", nil];
|
||||
|
||||
return [[self fetchFields: cNameField from: nil to: nil
|
||||
title: nil component: nil] objectsForKey: @"c_name"];
|
||||
}
|
||||
|
||||
/* folder type */
|
||||
|
||||
- (NSString *) folderType
|
||||
|
||||
@@ -332,13 +332,15 @@
|
||||
iCalEvent *event;
|
||||
iCalPerson *attendee;
|
||||
NSException *ex;
|
||||
SOGoUser *ownerUser;
|
||||
|
||||
ex = nil;
|
||||
|
||||
event = [self component: NO secure: NO];
|
||||
if (event)
|
||||
{
|
||||
attendee = [event findParticipant: [context activeUser]];
|
||||
ownerUser = [SOGoUser userWithLogin: owner roles: nil];
|
||||
attendee = [event findParticipant: ownerUser];
|
||||
if (attendee)
|
||||
ex = [self _handleAttendee: attendee statusChange: _status
|
||||
inEvent: event];
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
#import <NGObjWeb/SoSecurityManager.h>
|
||||
#import <NGObjWeb/WOApplication.h>
|
||||
#import <NGObjWeb/WOContext+SoObjects.h>
|
||||
#import <NGObjWeb/WORequest+So.h>
|
||||
#import <NGExtensions/NSObject+Logs.h>
|
||||
#import <NGExtensions/NGHashMap.h>
|
||||
#import <NGCards/iCalCalendar.h>
|
||||
@@ -142,6 +143,18 @@ static BOOL sendEMailNotifications = NO;
|
||||
return iCalString;
|
||||
}
|
||||
|
||||
- (NSString *) contentAsString
|
||||
{
|
||||
NSString *secureContent;
|
||||
|
||||
if ([[context request] isSoWebDAVRequest])
|
||||
secureContent = [self secureContentAsString];
|
||||
else
|
||||
secureContent = [super contentAsString];
|
||||
|
||||
return secureContent;
|
||||
}
|
||||
|
||||
- (iCalCalendar *) calendar: (BOOL) create secure: (BOOL) secure
|
||||
{
|
||||
NSString *componentTag;
|
||||
@@ -559,6 +572,7 @@ static BOOL sendEMailNotifications = NO;
|
||||
NSArray *superAcls;
|
||||
iCalRepeatableEntityObject *component;
|
||||
NSString *accessRole, *ownerRole;
|
||||
SOGoUser *aclUser;
|
||||
|
||||
roles = [NSMutableArray array];
|
||||
superAcls = [super aclsForUser: uid];
|
||||
@@ -573,6 +587,11 @@ static BOOL sendEMailNotifications = NO;
|
||||
{
|
||||
if (component)
|
||||
{
|
||||
aclUser = [SOGoUser userWithLogin: uid roles: nil];
|
||||
if ([component userIsOrganizer: aclUser])
|
||||
[roles addObject: SOGoCalendarRole_Organizer];
|
||||
else if ([component userIsParticipant: aclUser])
|
||||
[roles addObject: SOGoCalendarRole_Participant];
|
||||
accessRole = [container roleForComponentsWithAccessClass:
|
||||
[component symbolicAccessClass]
|
||||
forUser: uid];
|
||||
|
||||
@@ -35,13 +35,14 @@
|
||||
};
|
||||
SOGoCalendarComponent = {
|
||||
superclass = "SOGoContentObject";
|
||||
/* defaultAccess = "SeeComponent"; */
|
||||
defaultRoles = {
|
||||
"ViewAllComponent" = ( "Owner", "Organizer", "Participant", "ComponentModifier", "ComponentResponder", "ComponentViewer" );
|
||||
"ViewDAndT" = ( "Organizer", "Participant", "ComponentDAndTViewer" );
|
||||
"ModifyComponent" = ( "Owner", "Organizer" );
|
||||
"RespondToComponent" = ( "Participant" );
|
||||
/* "SeeComponent" = ( "Owner", "Organizer", "Participant", "ComponentModifier", "ComponentResponder", "ComponentViewer", "ComponentDAndTViewer" ); */
|
||||
"RespondToComponent" = ( "Participant", "ComponentModifier", "ComponentResponder" );
|
||||
"Access Object" = ( "Owner", "Organizer", "Participant", "ComponentModifier", "ComponentResponder", "ComponentViewer", "ComponentDAndTViewer" );
|
||||
"Access Contents Information" = ( "Owner", "Organizer", "Participant", "ComponentModifier", "ComponentResponder", "ComponentViewer", "ComponentDAndTViewer" );
|
||||
"WebDAV Access" = ( "Owner", "Organizer", "Participant", "ComponentModifier", "ComponentResponder", "ComponentViewer", "ComponentDAndTViewer" );
|
||||
};
|
||||
};
|
||||
SOGoAppointmentObject = {
|
||||
|
||||
Reference in New Issue
Block a user