Skip to content

Commit 6071c68

Browse files
committed
Issue #2834446 by dtraft, klausi: Settings and caching improvements
1 parent 38ef0ff commit 6071c68

File tree

3 files changed

+16
-35
lines changed

3 files changed

+16
-35
lines changed
File renamed without changes.

src/PathFileEntityAccessControlHandler.php

+16-7
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,31 @@ class PathFileEntityAccessControlHandler extends EntityAccessControlHandler {
1919
*/
2020
protected function checkAccess(EntityInterface $entity, $operation, AccountInterface $account) {
2121
// @var \Drupal\path_file\Entity\PathFileEntityInterface $entity
22+
23+
// Default to Unknown operation, no opinion.
24+
$access_result = AccessResult::neutral();
25+
2226
switch ($operation) {
2327
case 'view':
2428
if (!$entity->isPublished()) {
25-
return AccessResult::allowedIfHasPermission($account, 'view unpublished path file entity entities');
29+
$access_result = AccessResult::allowedIfHasPermission($account, 'view unpublished path file entity entities');
30+
}else{
31+
$access_result = AccessResult::allowedIfHasPermission($account, 'view published path file entity entities');
2632
}
27-
return AccessResult::allowedIfHasPermission($account, 'view published path file entity entities');
33+
break;
2834

2935
case 'update':
30-
return AccessResult::allowedIfHasPermission($account, 'edit path file entity entities');
31-
36+
$access_result = AccessResult::allowedIfHasPermission($account, 'edit path file entity entities');
37+
break;
3238
case 'delete':
33-
return AccessResult::allowedIfHasPermission($account, 'delete path file entity entities');
39+
$access_result = AccessResult::allowedIfHasPermission($account, 'delete path file entity entities');
40+
break;
3441
}
42+
// Add Cache contexts.
43+
$access_result->cachePerPermissions();
44+
$access_result->addCacheableDependency($entity);
3545

36-
// Unknown operation, no opinion.
37-
return AccessResult::neutral();
46+
return $access_result;
3847
}
3948

4049
/**

src/Tests/SettingsTest.php

-28
This file was deleted.

0 commit comments

Comments
 (0)