patched flag_list https://www.drupal.org/project/flag_lists/issues/3230729, patch 3
This commit is contained in:
		@@ -235,7 +235,7 @@
 | 
			
		||||
              "Term Reference Tree: Re-implement Track List https://www.drupal.org/project/term_reference_tree/issues/3064280": "https://www.drupal.org/files/issues/2021-07-16/3064280_bring_back_tracklist-15.patch"
 | 
			
		||||
            },
 | 
			
		||||
            "drupal/flag_lists": {
 | 
			
		||||
              "Call to a member function id() on null in flag_lists_flag_action_access https://www.drupal.org/project/flag_lists/issues/3230729": "./patches/hook_flag_access_id_on_null_2.patch"
 | 
			
		||||
              "Call to a member function id() on null in flag_lists_flag_action_access https://www.drupal.org/project/flag_lists/issues/3230729": "./patches/hook_flag_access_id_on_null_3.patch"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "drupal-scaffold": {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										49
									
								
								patches/hook_flag_access_id_on_null_3.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								patches/hook_flag_access_id_on_null_3.patch
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,49 @@
 | 
			
		||||
diff --git a/flag_lists.module b/flag_lists.module
 | 
			
		||||
index cd81104..eced8fd 100644
 | 
			
		||||
--- a/flag_lists.module
 | 
			
		||||
+++ b/flag_lists.module
 | 
			
		||||
@@ -240,23 +240,29 @@ function flag_lists_flag_action_access($action, FlagInterface $flag, AccountInte
 | 
			
		||||
   $flagListsService = Drupal::service('flaglists');
 | 
			
		||||
   $flagLists = $flagListsService->getAllFlaggingCollections();
 | 
			
		||||
   foreach ($flagLists as $flagList) {
 | 
			
		||||
-    if ($flag->id() == $flagList->getRelatedFlag()->id()) {
 | 
			
		||||
-      if ($flagList->getBaseFlag()->isGlobal()) {
 | 
			
		||||
-        // The flag list is global.
 | 
			
		||||
-        return AccessResult::allowedIfHasPermission($account,
 | 
			
		||||
-          'access global flag lists');
 | 
			
		||||
-      }
 | 
			
		||||
-      elseif ($flagList->getOwnerId() == $account->id()) {
 | 
			
		||||
-        // The flag list is owned by current user.
 | 
			
		||||
-        return AccessResult::allowedIfHasPermission($account,
 | 
			
		||||
-          'view own flag lists');
 | 
			
		||||
-      }
 | 
			
		||||
-      else {
 | 
			
		||||
-        // The user is allowed to see all flag lists.
 | 
			
		||||
-        return AccessResult::allowedIfHasPermission($account,
 | 
			
		||||
-          'view flag lists');
 | 
			
		||||
+    if ($flagList->getRelatedFlag()) {
 | 
			
		||||
+      if ($flag->id() == $flagList->getRelatedFlag()->id()) {
 | 
			
		||||
+        if ($flagList->getBaseFlag()->isGlobal()) {
 | 
			
		||||
+          // The flag list is global.
 | 
			
		||||
+          return AccessResult::allowedIfHasPermission($account,
 | 
			
		||||
+            'access global flag lists');
 | 
			
		||||
+        }
 | 
			
		||||
+        elseif ($flagList->getOwnerId() == $account->id()) {
 | 
			
		||||
+          // The flag list is owned by current user.
 | 
			
		||||
+          return AccessResult::allowedIfHasPermission($account,
 | 
			
		||||
+            'view own flag lists');
 | 
			
		||||
+        }
 | 
			
		||||
+        else {
 | 
			
		||||
+          // The user is allowed to see all flag lists.
 | 
			
		||||
+          return AccessResult::allowedIfHasPermission($account,
 | 
			
		||||
+            'view flag lists');
 | 
			
		||||
+        }
 | 
			
		||||
       }
 | 
			
		||||
+    } else {
 | 
			
		||||
+      $logger = \Drupal::logger('flag_lists');
 | 
			
		||||
+      $logger->error('flagging_collection ' . $flagList->id() . 'doesn\'t have related flag');
 | 
			
		||||
     }
 | 
			
		||||
+    
 | 
			
		||||
   }
 | 
			
		||||
 
 | 
			
		||||
   // Check for access for the used template as well.
 | 
			
		||||
		Reference in New Issue
	
	Block a user