mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-04-18 11:38:53 +00:00
(fix) also try to get event using its UID before bailing out
This commit is contained in:
committed by
leecher1337
parent
f40584616e
commit
cb31d4faa9
@@ -189,7 +189,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
processIdentifierInCache = [[self globalMetadataForDevice] objectForKey: key];
|
||||
|
||||
// Don't update the cache if another request is processing the same collection.
|
||||
// I case of a merged folder we have to check personal folder's lock.
|
||||
// In case of a merged folder we have to check personal folder's lock.
|
||||
a = [key componentsSeparatedByString: @"/"];
|
||||
pkey = [NSString stringWithFormat: @"%@/personal", [a objectAtIndex:0]];
|
||||
|
||||
|
||||
@@ -290,6 +290,39 @@ void handle_eas_terminate(int signum)
|
||||
return theIdToTranslate;
|
||||
}
|
||||
|
||||
//
|
||||
//
|
||||
//
|
||||
- (SOGoAppointmentObject *) _eventObjectWithUID: (NSString *) uid
|
||||
{
|
||||
SOGoAppointmentFolder *folder;
|
||||
SOGoAppointmentObject *eventObject;
|
||||
NSArray *folders;
|
||||
NSEnumerator *e;
|
||||
NSString *cname;
|
||||
|
||||
eventObject = nil;
|
||||
|
||||
folders = [[[context activeUser] calendarsFolderInContext: context] subFolders];
|
||||
e = [folders objectEnumerator];
|
||||
while (eventObject == nil && (folder = [e nextObject]))
|
||||
{
|
||||
cname = [folder resourceNameForEventUID: uid];
|
||||
if (cname)
|
||||
{
|
||||
eventObject = [folder lookupName: cname inContext: context
|
||||
acquire: NO];
|
||||
if ([eventObject isKindOfClass: [NSException class]])
|
||||
eventObject = nil;
|
||||
}
|
||||
}
|
||||
|
||||
if (eventObject)
|
||||
return eventObject;
|
||||
else
|
||||
return [NSException exceptionWithHTTPStatus:404 /* Not Found */];
|
||||
}
|
||||
|
||||
//
|
||||
//
|
||||
//
|
||||
@@ -1848,6 +1881,9 @@ void handle_eas_terminate(int signum)
|
||||
inContext: context
|
||||
acquire: NO];
|
||||
|
||||
if ([appointmentObject isKindOfClass: [NSException class]])
|
||||
appointmentObject = [self _eventObjectWithUID:[event uid]];
|
||||
|
||||
// Create the appointment if it is not added to calendar yet
|
||||
if ([appointmentObject isKindOfClass: [NSException class]])
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user