You are here

class GroupPermissionsOutsiderForm in Group 2.0.x

Same name and namespace in other branches
  1. 8 src/Form/GroupPermissionsOutsiderForm.php \Drupal\group\Form\GroupPermissionsOutsiderForm

Permission form for the synchronized outsider roles for a group type.

Hierarchy

Expanded class hierarchy of GroupPermissionsOutsiderForm

1 string reference to 'GroupPermissionsOutsiderForm'
group.routing.yml in ./group.routing.yml
group.routing.yml

File

src/Form/GroupPermissionsOutsiderForm.php, line 14

Namespace

Drupal\group\Form
View source
class GroupPermissionsOutsiderForm extends GroupPermissionsTypeSpecificForm {

  /**
   * The group role synchronizer service.
   *
   * @var \Drupal\group\GroupRoleSynchronizerInterface
   */
  protected $groupRoleSynchronizer;

  /**
   * Constructs a new GroupPermissionsOutsiderForm.
   *
   * @param \Drupal\group\GroupRoleSynchronizerInterface $group_role_synchronizer
   *   The group role synchronizer service.
   * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
   *   The entity type manager.
   * @param \Drupal\group\Access\GroupPermissionHandlerInterface $permission_handler
   *   The group permission handler.
   * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
   *   The module handler.
   */
  public function __construct(GroupRoleSynchronizerInterface $group_role_synchronizer, EntityTypeManagerInterface $entity_type_manager, GroupPermissionHandlerInterface $permission_handler, ModuleHandlerInterface $module_handler) {
    parent::__construct($entity_type_manager, $permission_handler, $module_handler);
    $this->groupRoleSynchronizer = $group_role_synchronizer;
  }

  /**
   * {@inheritdoc}
   */
  public static function create(ContainerInterface $container) {
    return new static($container
      ->get('group_role.synchronizer'), $container
      ->get('entity_type.manager'), $container
      ->get('group.permissions'), $container
      ->get('module_handler'));
  }

  /**
   * {@inheritdoc}
   */
  protected function getInfo() {
    $info = [
      'outsider_info' => [
        '#prefix' => '<p>',
        '#suffix' => '</p>',
        '#markup' => $this
          ->t("If one Outside role to represent all Authenticated users does not cut it, this is the form for you.<br />Here you can assign outsider permissions per configured site role.<br />Please note that any permissions set here will become void once the user joins the group."),
      ],
    ] + parent::getInfo();

    // Unset the info about the group role audiences.
    unset($info['role_info']);
    return $info;
  }

  /**
   * {@inheritdoc}
   */
  protected function getGroupRoles() {

    /** @var \Drupal\group\Entity\Storage\GroupRoleStorageInterface $storage */
    $storage = $this->entityTypeManager
      ->getStorage('group_role');
    return $storage
      ->loadSynchronizedByGroupTypes([
      $this->groupType
        ->id(),
    ]);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DependencySerializationTrait::$_entityStorages protected property
DependencySerializationTrait::$_serviceIds protected property
DependencySerializationTrait::__sleep public function 2
DependencySerializationTrait::__wakeup public function 2
FormBase::$configFactory protected property The config factory. 3
FormBase::$requestStack protected property The request stack. 1
FormBase::$routeMatch protected property The route match.
FormBase::config protected function Retrieves a configuration object.
FormBase::configFactory protected function Gets the config factory for this form. 3
FormBase::container private function Returns the service container.
FormBase::currentUser protected function Gets the current user.
FormBase::getRequest protected function Gets the request object.
FormBase::getRouteMatch protected function Gets the route match.
FormBase::logger protected function Gets the logger for a specific channel.
FormBase::redirect protected function Returns a redirect response object for the specified route.
FormBase::resetConfigFactory public function Resets the configuration factory.
FormBase::setConfigFactory public function Sets the config factory for this form.
FormBase::setRequestStack public function Sets the request stack object to use.
FormBase::validateForm public function Form validation handler. Overrides FormInterface::validateForm 72
GroupPermissionsForm::$groupPermissionHandler protected property The permission handler.
GroupPermissionsForm::$moduleHandler protected property The module handler.
GroupPermissionsForm::getFormId public function Returns a unique string identifying the form. Overrides FormInterface::getFormId
GroupPermissionsForm::getPermissions protected function Gets the permissions to display in this form.
GroupPermissionsForm::submitForm function Form submission handler. Overrides FormInterface::submitForm
GroupPermissionsOutsiderForm::$groupRoleSynchronizer protected property The group role synchronizer service.
GroupPermissionsOutsiderForm::create public static function Instantiates a new instance of this class. Overrides GroupPermissionsTypeSpecificForm::create
GroupPermissionsOutsiderForm::getGroupRoles protected function Gets the group roles to display in this form. Overrides GroupPermissionsTypeSpecificForm::getGroupRoles
GroupPermissionsOutsiderForm::getInfo protected function Gets a few basic instructions to show the user. Overrides GroupPermissionsTypeSpecificForm::getInfo
GroupPermissionsOutsiderForm::__construct public function Constructs a new GroupPermissionsOutsiderForm. Overrides GroupPermissionsTypeSpecificForm::__construct
GroupPermissionsTypeSpecificForm::$entityTypeManager protected property The entity type manager.
GroupPermissionsTypeSpecificForm::$groupType protected property The specific group role for this form.
GroupPermissionsTypeSpecificForm::buildForm public function Form constructor. Overrides GroupPermissionsForm::buildForm
GroupPermissionsTypeSpecificForm::getGroupType protected function Gets the group type to build the form for. Overrides GroupPermissionsForm::getGroupType
LoggerChannelTrait::$loggerFactory protected property The logger channel factory service.
LoggerChannelTrait::getLogger protected function Gets the logger for a specific channel.
LoggerChannelTrait::setLoggerFactory public function Injects the logger channel factory.
MessengerTrait::$messenger protected property The messenger. 27
MessengerTrait::messenger public function Gets the messenger. 27
MessengerTrait::setMessenger public function Sets the messenger.
RedirectDestinationTrait::$redirectDestination protected property The redirect destination service. 1
RedirectDestinationTrait::getDestinationArray protected function Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url.
RedirectDestinationTrait::getRedirectDestination protected function Returns the redirect destination service.
RedirectDestinationTrait::setRedirectDestination public function Sets the redirect destination service.
StringTranslationTrait::$stringTranslation protected property The string translation service. 4
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.