Repository URL to install this package:
|
Version:
2.0.1 ▾
|
<?php
namespace Drupal\custom_forms\Controller;
use Drupal\Core\Entity\Controller\EntityViewController;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Entity\EntityRepositoryInterface;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\Render\RendererInterface;
use Drupal\Core\Session\AccountInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Class CustomFormViewController
*
* @package Drupal\custom_forms\Controller
*/
class CustomFormViewController extends EntityViewController {
/**
* The current user.
*
* @var \Drupal\Core\Session\AccountInterface
*/
protected $currentUser;
/**
* The entity repository service.
*
* @var \Drupal\Core\Entity\EntityRepositoryInterface
*/
protected $entityRepository;
/**
* Creates an CustomFormViewController object.
*
* @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
* The entity type manager.
* @param \Drupal\Core\Render\RendererInterface $renderer
* The renderer service.
* @param \Drupal\Core\Session\AccountInterface $current_user
* The current user. For backwards compatibility this is optional, however
* this will be removed before Drupal 9.0.0.
* @param \Drupal\Core\Entity\EntityRepositoryInterface $entity_repository
* The entity repository.
*/
public function __construct(EntityTypeManagerInterface $entity_type_manager, RendererInterface $renderer, AccountInterface $current_user = NULL, EntityRepositoryInterface $entity_repository = NULL) {
parent::__construct($entity_type_manager, $renderer);
$this->currentUser = $current_user ?: \Drupal::currentUser();
if (!$entity_repository) {
@trigger_error('The entity.repository service must be passed to CustomFormViewController::__construct(), it is required before Drupal 9.0.0. See https://www.drupal.org/node/2549139.', E_USER_DEPRECATED);
$entity_repository = \Drupal::service('entity.repository');
}
$this->entityRepository = $entity_repository;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container) {
return new static(
$container->get('entity_type.manager'),
$container->get('renderer'),
$container->get('current_user'),
$container->get('entity.repository')
);
}
/**
* {@inheritdoc}
*/
public function view(EntityInterface $custom_form, $view_mode = 'full', $langcode = NULL) {
return parent::view($custom_form, $view_mode, $langcode);
}
/**
* The _title_callback for the page that renders a single custom form.
*
* @param \Drupal\Core\Entity\EntityInterface $custom_form
* The current custom form.
*
* @return string
* The page title.
*/
public function title(EntityInterface $custom_form) {
return $this->entityRepository->getTranslationFromContext($custom_form)->label();
}
}