class GroupCoreCommentsController in Open Social 10.3.x
Same name and namespace in other branches
- 8.9 modules/custom/group_core_comments/src/Controller/GroupCoreCommentsController.php \Drupal\group_core_comments\Controller\GroupCoreCommentsController
- 8.8 modules/custom/group_core_comments/src/Controller/GroupCoreCommentsController.php \Drupal\group_core_comments\Controller\GroupCoreCommentsController
- 10.0.x modules/custom/group_core_comments/src/Controller/GroupCoreCommentsController.php \Drupal\group_core_comments\Controller\GroupCoreCommentsController
- 10.1.x modules/custom/group_core_comments/src/Controller/GroupCoreCommentsController.php \Drupal\group_core_comments\Controller\GroupCoreCommentsController
- 10.2.x modules/custom/group_core_comments/src/Controller/GroupCoreCommentsController.php \Drupal\group_core_comments\Controller\GroupCoreCommentsController
Provides group core comments controllers.
Hierarchy
- class \Drupal\Core\Controller\ControllerBase implements ContainerInjectionInterface uses LoggerChannelTrait, MessengerTrait, RedirectDestinationTrait, StringTranslationTrait
- class \Drupal\group_core_comments\Controller\GroupCoreCommentsController
Expanded class hierarchy of GroupCoreCommentsController
File
- modules/
custom/ group_core_comments/ src/ Controller/ GroupCoreCommentsController.php, line 19
Namespace
Drupal\group_core_comments\ControllerView source
class GroupCoreCommentsController extends ControllerBase {
/**
* Request service.
*
* @var \Symfony\Component\HttpFoundation\RequestStack
*/
protected $requestService;
/**
* Constructs a new GroupCoreCommentsController.
*
* @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
* The Entity type manager.
* @param \Drupal\Core\Session\AccountInterface $current_user
* The current user.
* @param \Symfony\Component\HttpFoundation\RequestStack $request_stack
* The request stack.
* @param \Drupal\Core\Messenger\MessengerInterface $messenger
* The messenger service.
* @param \Drupal\Core\StringTranslation\TranslationInterface $string_translation
* The string translation service.
*/
public function __construct(EntityTypeManagerInterface $entity_type_manager, AccountInterface $current_user, RequestStack $request_stack, MessengerInterface $messenger, TranslationInterface $string_translation) {
$this->entityTypeManager = $entity_type_manager;
$this->currentUser = $current_user;
$this->requestService = $request_stack;
$this
->setMessenger($messenger);
$this
->setStringTranslation($string_translation);
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container) {
return new static($container
->get('entity_type.manager'), $container
->get('current_user'), $container
->get('request_stack'), $container
->get('messenger'), $container
->get('string_translation'));
}
/**
* Callback to quick joining group.
*
* @param \Drupal\group\Entity\GroupInterface $group
* Group entity.
*
* @return \Symfony\Component\HttpFoundation\RedirectResponse
* Redirect response.
*
* @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
* @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException
* @throws \Drupal\Core\Entity\EntityStorageException
*/
public function quickJoinGroup(GroupInterface $group) {
/** @var \Drupal\group\Plugin\GroupContentEnablerInterface $plugin */
$plugin = $group
->getGroupType()
->getContentPlugin('group_membership');
$group_content = $this
->entityTypeManager()
->getStorage('group_content')
->create([
'type' => $plugin
->getContentTypeConfigId(),
'gid' => $group
->id(),
'entity_id' => $this
->currentUser()
->id(),
]);
$result = $group_content
->save();
if ($result) {
$this
->messenger()
->addMessage($this
->t('You have joined the group and you can leave your comment now.'));
}
else {
$this
->messenger()
->addError($this
->t('Error when joining the group.'));
}
$previous_url = $this->requestService
->getCurrentRequest()->headers
->get('referer');
$request = Request::create($previous_url);
$referer_path = $request
->getRequestUri();
return new RedirectResponse($referer_path);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ControllerBase:: |
protected | property | The configuration factory. | |
ControllerBase:: |
protected | property | The current user service. | 1 |
ControllerBase:: |
protected | property | The entity form builder. | |
ControllerBase:: |
protected | property | The entity type manager. | |
ControllerBase:: |
protected | property | The form builder. | 2 |
ControllerBase:: |
protected | property | The key-value storage. | 1 |
ControllerBase:: |
protected | property | The language manager. | 1 |
ControllerBase:: |
protected | property | The module handler. | 2 |
ControllerBase:: |
protected | property | The state service. | |
ControllerBase:: |
protected | function | Returns the requested cache bin. | |
ControllerBase:: |
protected | function | Retrieves a configuration object. | |
ControllerBase:: |
private | function | Returns the service container. | |
ControllerBase:: |
protected | function | Returns the current user. | 1 |
ControllerBase:: |
protected | function | Retrieves the entity form builder. | |
ControllerBase:: |
protected | function | Retrieves the entity type manager. | |
ControllerBase:: |
protected | function | Returns the form builder service. | 2 |
ControllerBase:: |
protected | function | Returns a key/value storage collection. | 1 |
ControllerBase:: |
protected | function | Returns the language manager service. | 1 |
ControllerBase:: |
protected | function | Returns the module handler. | 2 |
ControllerBase:: |
protected | function | Returns a redirect response object for the specified route. | |
ControllerBase:: |
protected | function | Returns the state storage service. | |
GroupCoreCommentsController:: |
protected | property | Request service. | |
GroupCoreCommentsController:: |
public static | function |
Instantiates a new instance of this class. Overrides ControllerBase:: |
|
GroupCoreCommentsController:: |
public | function | Callback to quick joining group. | |
GroupCoreCommentsController:: |
public | function | Constructs a new GroupCoreCommentsController. | |
LoggerChannelTrait:: |
protected | property | The logger channel factory service. | |
LoggerChannelTrait:: |
protected | function | Gets the logger for a specific channel. | |
LoggerChannelTrait:: |
public | function | Injects the logger channel factory. | |
MessengerTrait:: |
protected | property | The messenger. | 27 |
MessengerTrait:: |
public | function | Gets the messenger. | 27 |
MessengerTrait:: |
public | function | Sets the messenger. | |
RedirectDestinationTrait:: |
protected | property | The redirect destination service. | 1 |
RedirectDestinationTrait:: |
protected | function | Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url. | |
RedirectDestinationTrait:: |
protected | function | Returns the redirect destination service. | |
RedirectDestinationTrait:: |
public | function | Sets the redirect destination service. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 4 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. |