From 11e01637818f1f9dd2c30e2ac346e9e6ccc6b7d1 Mon Sep 17 00:00:00 2001 From: Lucas D Hedding Date: Fri, 10 Aug 2018 16:01:53 -0500 Subject: [PATCH] Revert "hide add user option from overview page" This reverts commit 938c4c96f65554eaa33a861b0a95915182fd1dff. --- og.links.action.yml | 3 - src/Controller/OgAdminMembersController.php | 20 --- src/Controller/OgAdminRoutesController.php | 5 - src/Entity/OgMembership.php | 1 - src/EventSubscriber/OgEventSubscriber.php | 10 -- src/Form/GroupSubscribeForm.php | 2 +- src/Form/GroupUserSubscribeForm.php | 127 -------------------- src/Plugin/Derivative/OgLocalAction.php | 84 ------------- 8 files changed, 1 insertion(+), 251 deletions(-) delete mode 100644 og.links.action.yml delete mode 100644 src/Form/GroupUserSubscribeForm.php delete mode 100644 src/Plugin/Derivative/OgLocalAction.php diff --git a/og.links.action.yml b/og.links.action.yml deleted file mode 100644 index e24e27806..000000000 --- a/og.links.action.yml +++ /dev/null @@ -1,3 +0,0 @@ -og.local_actions: - class: \Drupal\Core\Menu\LocalActionDefault - deriver: \Drupal\og\Plugin\Derivative\OgLocalAction diff --git a/src/Controller/OgAdminMembersController.php b/src/Controller/OgAdminMembersController.php index 0f6b444b2..9eb723aea 100644 --- a/src/Controller/OgAdminMembersController.php +++ b/src/Controller/OgAdminMembersController.php @@ -4,8 +4,6 @@ use Drupal\Core\Controller\ControllerBase; use Drupal\Core\Routing\RouteMatchInterface; -use Drupal\og\Entity\OgMembership; -use Drupal\og\OgMembershipInterface; use Drupal\views\Views; /** @@ -32,22 +30,4 @@ public function membersList(RouteMatchInterface $route_match) { return Views::getView('og_members_overview')->executeDisplay('default', $arguments); } - /** - * Display subscribe form. - * - * @param \Drupal\Core\Routing\RouteMatchInterface $route_match - * The route match service. - * - * @return array - * The subscribe form. - */ - public function addMember(RouteMatchInterface $route_match) { - $parameter_name = $route_match->getRouteObject()->getOption('_og_entity_type_id'); - /** @var \Drupal\Core\Entity\EntityInterface $group */ - $group = $route_match->getParameter($parameter_name); - $membership = OgMembership::create(['type' => OgMembershipInterface::TYPE_DEFAULT]); - $membership->setGroup($group); - return $this->entityFormBuilder()->getForm($membership, 'user-subscribe'); - } - } diff --git a/src/Controller/OgAdminRoutesController.php b/src/Controller/OgAdminRoutesController.php index bc75b4dd5..071b53f35 100644 --- a/src/Controller/OgAdminRoutesController.php +++ b/src/Controller/OgAdminRoutesController.php @@ -80,11 +80,6 @@ public function overview(RouteMatchInterface $route_match) { $route_name = "entity.$entity_type_id.og_admin_routes.$name"; $parameters = [$entity_type_id => $group->id()]; - // Don't list items that are intentionally hidden from the overview. - if (array_intersect_assoc(['_overview' => FALSE], $info)) { - continue; - } - // We don't use Url::fromRoute() here for the access check, as it will // prevent us from unit testing this method. if (!$this->accessManager->checkNamedRoute($route_name, $parameters)) { diff --git a/src/Entity/OgMembership.php b/src/Entity/OgMembership.php index 2399929a8..99cf326f1 100644 --- a/src/Entity/OgMembership.php +++ b/src/Entity/OgMembership.php @@ -69,7 +69,6 @@ * "views_data" = "Drupal\og\OgMembershipViewsData", * "form" = { * "subscribe" = "Drupal\og\Form\GroupSubscribeForm", - * "user-subscribe" = "Drupal\og\Form\GroupUserSubscribeForm", * "unsubscribe" = "Drupal\og\Form\GroupUnsubscribeConfirmForm", * }, * } diff --git a/src/EventSubscriber/OgEventSubscriber.php b/src/EventSubscriber/OgEventSubscriber.php index e47b0125f..3463cd3f2 100644 --- a/src/EventSubscriber/OgEventSubscriber.php +++ b/src/EventSubscriber/OgEventSubscriber.php @@ -362,16 +362,6 @@ public function provideOgAdminRoutes(OgAdminRoutesEventInterface $event) { '_module_dependencies' => 'views', ], ]; - $routes_info['add_member'] = [ - 'controller' => '\Drupal\og\Controller\OgAdminMembersController::addMember', - 'title' => 'Add Member', - 'description' => 'Add group membership', - 'path' => 'add-member', - 'requirements' => [ - '_og_user_access_group' => 'administer group', - ], - '_overview' => FALSE, - ]; $event->setRoutesInfo($routes_info); } diff --git a/src/Form/GroupSubscribeForm.php b/src/Form/GroupSubscribeForm.php index 89380eeab..d77fc69a4 100644 --- a/src/Form/GroupSubscribeForm.php +++ b/src/Form/GroupSubscribeForm.php @@ -99,7 +99,7 @@ public function getQuestion() { $message = $this->isStateActive() ? $this->t('Are you sure you want to join the group %label?', ['%label' => $label]) - : $this->t('Are you sure you want to request a subscription to the group %label?', ['%label' => $label]); + : $this->t('Are you sure you want to request subscription the group %label?', ['%label' => $label]); return $message; } diff --git a/src/Form/GroupUserSubscribeForm.php b/src/Form/GroupUserSubscribeForm.php deleted file mode 100644 index e6631f32a..000000000 --- a/src/Form/GroupUserSubscribeForm.php +++ /dev/null @@ -1,127 +0,0 @@ -entity->getGroup(); - // User have access to the group entity, direct to the member admin page. - // Otherwise back to the front page. - if ($group->access('view')) { - return new Url("entity.{$group->getEntityTypeId()}.og_admin_routes.members", [$group->getEntityTypeId() => $group->id()]); - } - return new Url(''); - } - - /** - * {@inheritdoc} - * - * @see \Drupal\Core\Entity\EntityConfirmFormBase::buildForm - */ - public function buildForm(array $form, FormStateInterface $form_state) { - $form = parent::buildForm($form, $form_state); - /** @var \Drupal\og\OgMembershipInterface $membership */ - $membership = $this->entity; - $form['uid'] = [ - '#type' => 'entity_autocomplete', - '#title' => $this->t('Member'), - '#target_type' => 'user', - ]; - $options = []; - /** @var \Drupal\og\OgRoleInterface $role */ - foreach (OgRole::loadByGroupType($membership->getGroup()->getEntityTypeId(), $membership->getGroup()->bundle()) as $role) { - // Only add the role to the list if it is not a required role, these - // cannot be added. Nor should invalid roles be added. - if (!$role->isRequired() && $membership->isRoleValid($role)) { - $options[$role->id()] = $role->label(); - } - } - $form['roles'] = [ - '#type' => 'select', - '#title' => t('Roles'), - '#multiple' => TRUE, - '#options' => $options, - ]; - $form[OgMembershipInterface::REQUEST_FIELD]['#access'] = FALSE; - return $form; - } - - /** - * {@inheritdoc} - */ - protected function actions(array $form, FormStateInterface $form_state) { - $actions = parent::actions($form, $form_state); - $actions['submit']['#value'] = $this->t('Add'); - $actions['cancel'] = [ - '#type' => 'link', - '#title' => $this->t('Cancel'), - '#attributes' => ['class' => ['button']], - '#url' => $this->getCancelUrl(), - '#cache' => [ - 'contexts' => [ - 'url.query_args:destination', - ], - ], - ]; - return $actions; - } - - /** - * {@inheritdoc} - */ - public function validateForm(array &$form, FormStateInterface $form_state) { - parent::validateForm($form, $form_state); - /** @var \Drupal\og\OgMembershipInterface $membership */ - $membership = $this->entity; - $result = $this->entityTypeManager - ->getStorage($membership->getEntityTypeId()) - ->getQuery() - ->condition('uid', $form_state->getValue('uid')) - ->condition('type', $membership->bundle()) - ->condition('entity_type', $membership->getGroup()->getEntityTypeId()) - ->condition('entity_id', $membership->getGroup()->id()) - ->execute(); - if ($result) { - $form_state->setErrorByName('uid', $this->t('The user is already a member of the group.')); - } - } - - /** - * {@inheritdoc} - */ - public function submitForm(array &$form, FormStateInterface $form_state) { - parent::submitForm($form, $form_state); - /** @var \Drupal\og\OgMembershipInterface $membership */ - $membership = $this->entity; - $this->messenger()->addStatus($this->t('%name added to %group.', [ - '%name' => $membership->getOwner()->getAccountName(), - '%group' => $membership->getGroup()->label(), - ])); - $form_state->setRedirectUrl($this->getCancelUrl()); - } - -} diff --git a/src/Plugin/Derivative/OgLocalAction.php b/src/Plugin/Derivative/OgLocalAction.php deleted file mode 100644 index 9f8d043b1..000000000 --- a/src/Plugin/Derivative/OgLocalAction.php +++ /dev/null @@ -1,84 +0,0 @@ -groupTypeManager = $group_type_manager; - $this->routProvider = $route_provider; - } - - /** - * {@inheritdoc} - */ - public static function create(ContainerInterface $container, $base_plugin_id) { - return new static( - $container->get('og.group_type_manager'), - $container->get('router.route_provider') - ); - } - - /** - * {@inheritdoc} - */ - public function getDerivativeDefinitions($base_plugin_definition) { - $derivatives = []; - - foreach (array_keys($this->groupTypeManager->getGroupMap()) as $entity_type_id) { - $route_name = "entity.$entity_type_id.og_admin_routes.add_member"; - $appears_route = "entity.$entity_type_id.og_admin_routes.members"; - if (!$this->routProvider->getRoutesByNames([$route_name, $appears_route])) { - // Routes not found. - continue; - } - - $derivatives["$entity_type_id.add_member"] = [ - 'route_name' => $route_name, - 'title' => $this->t('Add member'), - 'appears_on' => [$appears_route], - ]; - } - - foreach ($derivatives as &$entry) { - $entry += $base_plugin_definition; - } - - return $derivatives; - } - -}