@@ -177,18 +177,38 @@ public function getACL() {
177177 'principal ' => parent ::getOwner (),
178178 'protected ' => true ,
179179 ];
180+ $ acl [] = [
181+ 'privilege ' => '{DAV:}read ' ,
182+ 'principal ' => parent ::getOwner () . '/calendar-proxy-read ' ,
183+ 'protected ' => true ,
184+ ];
185+ $ acl [] = [
186+ 'privilege ' => '{DAV:}read ' ,
187+ 'principal ' => parent ::getOwner () . '/calendar-proxy-write ' ,
188+ 'protected ' => true ,
189+ ];
180190 if ($ this ->canWrite ()) {
181191 $ acl [] = [
182192 'privilege ' => '{DAV:}write ' ,
183193 'principal ' => parent ::getOwner (),
184194 'protected ' => true ,
185195 ];
196+ $ acl [] = [
197+ 'privilege ' => '{DAV:}write ' ,
198+ 'principal ' => parent ::getOwner () . '/calendar-proxy-write ' ,
199+ 'protected ' => true ,
200+ ];
186201 } else {
187202 $ acl [] = [
188203 'privilege ' => '{DAV:}write-properties ' ,
189204 'principal ' => parent ::getOwner (),
190205 'protected ' => true ,
191206 ];
207+ $ acl [] = [
208+ 'privilege ' => '{DAV:}write-properties ' ,
209+ 'principal ' => parent ::getOwner () . '/calendar-proxy-write ' ,
210+ 'protected ' => true ,
211+ ];
192212 }
193213 }
194214 if ($ this ->isPublic ()) {
@@ -205,6 +225,8 @@ public function getACL() {
205225 $ this ->getOwner () . '/calendar-proxy-read ' ,
206226 $ this ->getOwner () . '/calendar-proxy-write ' ,
207227 parent ::getOwner (),
228+ parent ::getOwner () . '/calendar-proxy-read ' ,
229+ parent ::getOwner () . '/calendar-proxy-write ' ,
208230 'principals/system/public ' ,
209231 ];
210232 /** @var list<array{privilege: string, principal: string, protected: bool}> $acl */
0 commit comments