@@ -173,18 +173,38 @@ public function getACL() {
173173 'principal ' => parent ::getOwner (),
174174 'protected ' => true ,
175175 ];
176+ $ acl [] = [
177+ 'privilege ' => '{DAV:}read ' ,
178+ 'principal ' => parent ::getOwner () . '/calendar-proxy-read ' ,
179+ 'protected ' => true ,
180+ ];
181+ $ acl [] = [
182+ 'privilege ' => '{DAV:}read ' ,
183+ 'principal ' => parent ::getOwner () . '/calendar-proxy-write ' ,
184+ 'protected ' => true ,
185+ ];
176186 if ($ this ->canWrite ()) {
177187 $ acl [] = [
178188 'privilege ' => '{DAV:}write ' ,
179189 'principal ' => parent ::getOwner (),
180190 'protected ' => true ,
181191 ];
192+ $ acl [] = [
193+ 'privilege ' => '{DAV:}write ' ,
194+ 'principal ' => parent ::getOwner () . '/calendar-proxy-write ' ,
195+ 'protected ' => true ,
196+ ];
182197 } else {
183198 $ acl [] = [
184199 'privilege ' => '{DAV:}write-properties ' ,
185200 'principal ' => parent ::getOwner (),
186201 'protected ' => true ,
187202 ];
203+ $ acl [] = [
204+ 'privilege ' => '{DAV:}write-properties ' ,
205+ 'principal ' => parent ::getOwner () . '/calendar-proxy-write ' ,
206+ 'protected ' => true ,
207+ ];
188208 }
189209 }
190210 if ($ this ->isPublic ()) {
@@ -201,6 +221,8 @@ public function getACL() {
201221 $ this ->getOwner () . '/calendar-proxy-read ' ,
202222 $ this ->getOwner () . '/calendar-proxy-write ' ,
203223 parent ::getOwner (),
224+ parent ::getOwner () . '/calendar-proxy-read ' ,
225+ parent ::getOwner () . '/calendar-proxy-write ' ,
204226 'principals/system/public ' ,
205227 ];
206228 /** @var list<array{privilege: string, principal: string, protected: bool}> $acl */
0 commit comments