diff --git a/src/Plugin/Condition/NodeIsIslandoraObject.php b/src/Plugin/Condition/NodeIsIslandoraObject.php index 4e4689d7..0a212aaf 100644 --- a/src/Plugin/Condition/NodeIsIslandoraObject.php +++ b/src/Plugin/Condition/NodeIsIslandoraObject.php @@ -20,6 +20,31 @@ use Drupal\Islandora\IslandoraUtils; */ class NodeIsIslandoraObject extends ConditionPluginBase implements ContainerFactoryPluginInterface { + /** + * Islandora Utils. + * + * @var \Drupal\islandora\IslandoraUtils + */ + protected $utils; + + /** + * Constructs a Node is Islandora Condition plugin. + * + * @param array $configuration + * A configuration array containing information about the plugin instance. + * @param string $plugin_id + * The plugin_id for the plugin instance. + * @param mixed $plugin_definition + * The plugin implementation definition. + * @param \Drupal\islandora\IslandoraUtils $islandora_utils + * Islandora utilities. + * @param \Drupal\Core\Entity\EntityTypeBundleInfoInterface $entity_type_bundle_info + * The entity type bundle service. + */ + public function __construct(array $configuration, $plugin_id, $plugin_definition, IslandoraUtils $islandora_utils) { + parent::__construct($configuration, $plugin_id, $plugin_definition); + $this->utils = $islandora_utils; + } /** * {@inheritdoc} @@ -28,7 +53,8 @@ class NodeIsIslandoraObject extends ConditionPluginBase implements ContainerFact return new static( $configuration, $plugin_id, - $plugin_definition + $plugin_definition, + $container->get('islandora.utils') ); } @@ -40,9 +66,8 @@ class NodeIsIslandoraObject extends ConditionPluginBase implements ContainerFact if (!$node) { return FALSE; } - // Islandora objects are determined by Islandora Utils. - $utils = \Drupal::service('islandora.utils'); - if ($utils->isIslandoraType('node',$node->bundle())) { + // Determine if node is Islandora. + if ($this->utils->isIslandoraType('node', $node->bundle())) { return TRUE; } } diff --git a/src/Plugin/views/filter/NodeIsIslandora.php b/src/Plugin/views/filter/NodeIsIslandora.php index 0c1741d2..a94da147 100644 --- a/src/Plugin/views/filter/NodeIsIslandora.php +++ b/src/Plugin/views/filter/NodeIsIslandora.php @@ -91,13 +91,14 @@ class NodeIsIslandora extends FilterPluginBase implements ContainerFactoryPlugin $types = []; foreach ($this->entityTypeBundleInfo->getBundleInfo('node') as $bundle_id => $bundle) { if ($this->utils->isIslandoraType('node', $bundle_id)) { - $types[] = $bundle['label'] . ' (' . $bundle_id . ')' ; + $types[] = "{$bundle['label']} ($bundle_id)"; } } + $types_list = implode(', ', $types); $form['info'] = [ '#type' => 'item', '#title' => 'Information', - '#description' => t("Configured Islandora bundles: ") . implode(', ', $types), + '#description' => t("Configured Islandora bundles: {$types_list} "), ]; $form['negated'] = [ '#type' => 'checkbox', @@ -139,6 +140,5 @@ class NodeIsIslandora extends FilterPluginBase implements ContainerFactoryPlugin $node_table_alias = $this->query->addTable('node', $this->relationship, $join); $this->query->addWhere($this->options['group'], "$node_table_alias.type", $types, $condition); } - }