|  | @@ -0,0 +1,49 @@
 | 
	
		
			
				|  |  | +diff --git a/flag_lists.module b/flag_lists.module
 | 
	
		
			
				|  |  | +index cd81104..8a83435 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->getName() . ' (' . $flagList->id() . ')' . ' owned by user id ' . $flagList->getOwner()->id() . ' doesn\'t have related flag');
 | 
	
		
			
				|  |  | +     }
 | 
	
		
			
				|  |  | ++    
 | 
	
		
			
				|  |  | +   }
 | 
	
		
			
				|  |  | + 
 | 
	
		
			
				|  |  | +   // Check for access for the used template as well.
 |