From 44c4cba9fdceeec24ed36aa7d00931bf51ec3b6d Mon Sep 17 00:00:00 2001 From: mguessan Date: Wed, 1 Apr 2009 23:29:05 +0000 Subject: [PATCH] Caldav: no inbox/outbox for delegated calendars git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@495 3d1905a2-6b24-0410-a738-b14d5a86fcbd --- src/java/davmail/caldav/CaldavConnection.java | 51 +++++++++---------- 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/src/java/davmail/caldav/CaldavConnection.java b/src/java/davmail/caldav/CaldavConnection.java index a9546801..0b6c4fe9 100644 --- a/src/java/davmail/caldav/CaldavConnection.java +++ b/src/java/davmail/caldav/CaldavConnection.java @@ -446,7 +446,7 @@ public class CaldavConnection extends AbstractConnection { String eventName = getEventFileNameFromPath(href); if (eventName == null) { notFound.add(href); - } else if ("inbox".equals(eventName)|| "calendar".equals(eventName)) { + } else if ("inbox".equals(eventName) || "calendar".equals(eventName)) { // Sunbird: just ignore } else { events.add(session.getEvent(principal, path, eventName)); @@ -524,24 +524,21 @@ public class CaldavConnection extends AbstractConnection { actualPrincipal = session.getEmail(); } - //if (!session.getEmail().equals(principal)) { - // String message = "Invalid principal path, try /principals/users/" + session.getEmail(); - // DavGatewayTray.error(message); - // sendErr(HttpStatus.SC_NOT_FOUND, message); - //} else { - CaldavResponse response = new CaldavResponse(HttpStatus.SC_MULTI_STATUS); - response.startMultistatus(); - response.startResponse("/principals/users/" + principal); - response.startPropstat(); + CaldavResponse response = new CaldavResponse(HttpStatus.SC_MULTI_STATUS); + response.startMultistatus(); + response.startResponse("/principals/users/" + principal); + response.startPropstat(); - if (request.hasProperty("calendar-home-set")) { - response.appendProperty("C:calendar-home-set", "/users/" + actualPrincipal + "/calendar"); - } + if (request.hasProperty("calendar-home-set")) { + response.appendProperty("C:calendar-home-set", "/users/" + actualPrincipal + "/calendar"); + } - if (request.hasProperty("calendar-user-address-set")) { - response.appendProperty("C:calendar-user-address-set", "mailto:" + actualPrincipal + ""); - } + if (request.hasProperty("calendar-user-address-set")) { + response.appendProperty("C:calendar-user-address-set", "mailto:" + actualPrincipal + ""); + } + // no inbox/outbox for delegated calendars + if (session.getEmail().equals(principal)) { if (request.hasProperty("schedule-inbox-URL")) { response.appendProperty("C:schedule-inbox-URL", "/users/" + actualPrincipal + "/inbox"); } @@ -549,18 +546,18 @@ public class CaldavConnection extends AbstractConnection { if (request.hasProperty("schedule-outbox-URL")) { response.appendProperty("C:schedule-outbox-URL", "/users/" + actualPrincipal + "/outbox"); } + } - if (request.hasProperty("displayname")) { - response.appendProperty("D:displayname", actualPrincipal); - } - if (request.hasProperty("resourcetype")) { - response.appendProperty("D:resourcetype", ""); - } - response.endPropStatOK(); - response.endResponse(); - response.endMultistatus(); - response.close(); - //} + if (request.hasProperty("displayname")) { + response.appendProperty("D:displayname", actualPrincipal); + } + if (request.hasProperty("resourcetype")) { + response.appendProperty("D:resourcetype", ""); + } + response.endPropStatOK(); + response.endResponse(); + response.endMultistatus(); + response.close(); } public void sendFreeBusy(String body) throws IOException {