Chris@0: entityManager = $entity_manager; Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public static function create(ContainerInterface $container) { Chris@0: return new static($container->get('entity.manager')); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Get taxonomy permissions. Chris@0: * Chris@0: * @return array Chris@0: * Permissions array. Chris@0: */ Chris@0: public function permissions() { Chris@0: $permissions = []; Chris@14: foreach (Vocabulary::loadMultiple() as $vocabulary) { Chris@14: $permissions += $this->buildPermissions($vocabulary); Chris@0: } Chris@0: return $permissions; Chris@0: } Chris@0: Chris@14: /** Chris@14: * Builds a standard list of taxonomy term permissions for a given vocabulary. Chris@14: * Chris@14: * @param \Drupal\taxonomy\VocabularyInterface $vocabulary Chris@14: * The vocabulary. Chris@14: * Chris@14: * @return array Chris@14: * An array of permission names and descriptions. Chris@14: */ Chris@14: protected function buildPermissions(VocabularyInterface $vocabulary) { Chris@14: $id = $vocabulary->id(); Chris@14: $args = ['%vocabulary' => $vocabulary->label()]; Chris@14: Chris@14: return [ Chris@14: "create terms in $id" => ['title' => $this->t('%vocabulary: Create terms', $args)], Chris@14: "delete terms in $id" => ['title' => $this->t('%vocabulary: Delete terms', $args)], Chris@14: "edit terms in $id" => ['title' => $this->t('%vocabulary: Edit terms', $args)], Chris@14: ]; Chris@14: } Chris@14: Chris@0: }