diff --git a/core/modules/forum/forum.routing.yml b/core/modules/forum/forum.routing.yml index ed91bbe..fcf86b0 100644 --- a/core/modules/forum/forum.routing.yml +++ b/core/modules/forum/forum.routing.yml @@ -1,5 +1,5 @@ forum_delete: - pattern: 'admin/structure/forum/delete/forum/{taxonomy_term}' + pattern: '/admin/structure/forum/delete/forum/{taxonomy_term}' defaults: _form: '\Drupal\forum\Form\DeleteForm' requirements: @@ -13,35 +13,35 @@ forum_settings: _permission: 'administer forums' forum_add_container: - pattern: 'admin/structure/forum/add/container' + pattern: '/admin/structure/forum/add/container' defaults: _content: '\Drupal\forum\Controller\ForumController::addContainer' requirements: _permission: 'administer forums' forum_add_forum: - pattern: 'admin/structure/forum/add/forum' + pattern: '/admin/structure/forum/add/forum' defaults: _content: '\Drupal\forum\Controller\ForumController::addForum' requirements: _permission: 'administer forums' forum_edit_container: - pattern: 'admin/structure/forum/edit/container/{taxonomy_term}' + pattern: '/admin/structure/forum/edit/container/{taxonomy_term}' defaults: _entity_form: 'taxonomy_term.container' requirements: _permission: 'administer forums' forum_edit_forum: - pattern: 'admin/structure/forum/edit/forum/{taxonomy_term}' + pattern: '/admin/structure/forum/edit/forum/{taxonomy_term}' defaults: _entity_form: 'taxonomy_term.forum' requirements: _permission: 'administer forums' forum_overview: - pattern: 'admin/structure/forum' + pattern: '/admin/structure/forum' defaults: _form: '\Drupal\forum\Form\OverviewForm' requirements: diff --git a/core/modules/forum/lib/Drupal/forum/Form/OverviewForm.php b/core/modules/forum/lib/Drupal/forum/Form/OverviewForm.php index f80deb2..2aa34c9 100644 --- a/core/modules/forum/lib/Drupal/forum/Form/OverviewForm.php +++ b/core/modules/forum/lib/Drupal/forum/Form/OverviewForm.php @@ -7,9 +7,10 @@ namespace Drupal\forum\Form; -use Drupal\Core\Entity\EntityManager; -use Drupal\Core\Config\ConfigFactory; use Drupal\taxonomy\Form\OverviewTerms; +use Drupal\Core\Config\ConfigFactory; +use Drupal\Core\Entity\EntityManager; +use Drupal\Core\Extension\ModuleHandlerInterface; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; @@ -30,9 +31,11 @@ class OverviewForm extends OverviewTerms { * @param \Drupal\Core\Entity\EntityManager $entity_manager * The entity manager service. */ - public function __construct(ConfigFactory $config_factory, EntityManager $entity_manager) { + public function __construct(ConfigFactory $config_factory, EntityManager $entity_manager, ModuleHandlerInterface $module_handler) { + $this->config = $config_factory->get('taxonomy.settings'); $this->forumConfig = $config_factory->get('forum.settings'); $this->entityManager = $entity_manager; + $this->moduleHandler = $module_handler; } /** @@ -41,7 +44,8 @@ public function __construct(ConfigFactory $config_factory, EntityManager $entity public static function create(ContainerInterface $container) { return new static( $container->get('config.factory'), - $container->get('plugin.manager.entity') + $container->get('plugin.manager.entity'), + $container->get('module_handler') ); } @@ -66,12 +70,13 @@ public function buildForm(array $form, array &$form_state) { // Build base taxonomy term overview. $form = parent::buildForm($form, $form_state, $vocabulary); + $containers = $this->forumConfig->get('containers'); foreach (element_children($form) as $key) { if (isset($form[$key]['#term'])) { $term = $form[$key]['#term']; $form[$key]['view']['#href'] = 'forum/' . $term['tid']; unset($form[$key]['operations']['#links']['delete']); - if (in_array($form[$key]['#term']['tid'], $this->forumConfig->get('containers'))) { + if (in_array($form[$key]['#term']['tid'], $containers)) { $form[$key]['operations']['#links']['edit']['title'] = $this->t('edit container'); $form[$key]['operations']['#links']['edit']['href'] = 'admin/structure/forum/edit/container/' . $term['tid']; // We don't want the redirect from the link so we can redirect the