@@ -49,7 +49,7 @@ class ContentTreeController extends RestController
4949
5050 private ConfigResolverInterface $ configResolver ;
5151
52- private SiteaccessResolverInterface $ siteaccessResolver ;
52+ private SiteaccessResolverInterface $ siteaccessResolver ;
5353
5454 public function __construct (
5555 LocationService $ locationService ,
@@ -226,7 +226,7 @@ private function getLocationPermissionRestrictions(Location $location): array
226226 'restrictedLanguageCodes ' => $ createLimitationsValues [Limitation::LANGUAGE ],
227227 ],
228228 'edit ' => [
229- 'hasAccess ' => $ lookupUpdateLimitationsResult -> hasAccess ( ),
229+ 'hasAccess ' => $ this -> canUserEditContent ( $ location ),
230230 // skipped content type limitation values as in this case it can be inferred from "hasAccess" above
231231 'restrictedLanguageCodes ' => $ updateLimitationsValues [Limitation::LANGUAGE ],
232232 ],
@@ -325,6 +325,20 @@ private function isPreviewable(
325325
326326 return !empty ($ siteAccesses );
327327 }
328+
329+ /**
330+ * @throws \Ibexa\Contracts\Core\Repository\Exceptions\BadStateException
331+ * @throws \Ibexa\Contracts\Core\Repository\Exceptions\InvalidArgumentException
332+ */
333+ private function canUserEditContent (Location $ location ): bool
334+ {
335+ return $ this ->permissionResolver ->canUser (
336+ 'content ' ,
337+ 'edit ' ,
338+ $ location ->getContent (),
339+ [$ location ]
340+ );
341+ }
328342}
329343
330344class_alias (ContentTreeController::class, 'EzSystems\EzPlatformAdminUiBundle\Controller\Content\ContentTreeController ' );
0 commit comments