@@ -19,22 +19,31 @@ class PathFileEntityAccessControlHandler extends EntityAccessControlHandler {
19
19
*/
20
20
protected function checkAccess (EntityInterface $ entity , $ operation , AccountInterface $ account ) {
21
21
// @var \Drupal\path_file\Entity\PathFileEntityInterface $entity
22
+
23
+ // Default to Unknown operation, no opinion.
24
+ $ access_result = AccessResult::neutral ();
25
+
22
26
switch ($ operation ) {
23
27
case 'view ' :
24
28
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 ' );
26
32
}
27
- return AccessResult:: allowedIfHasPermission ( $ account , ' view published path file entity entities ' ) ;
33
+ break ;
28
34
29
35
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 ;
32
38
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 ;
34
41
}
42
+ // Add Cache contexts.
43
+ $ access_result ->cachePerPermissions ();
44
+ $ access_result ->addCacheableDependency ($ entity );
35
45
36
- // Unknown operation, no opinion.
37
- return AccessResult::neutral ();
46
+ return $ access_result ;
38
47
}
39
48
40
49
/**
0 commit comments