class TranslationJobBreadcrumbBuilder in Lingotek Translation 3.5.x
Same name and namespace in other branches
- 8.2 src/Breadcrumb/TranslationJobBreadcrumbBuilder.php \Drupal\lingotek\Breadcrumb\TranslationJobBreadcrumbBuilder
- 4.0.x src/Breadcrumb/TranslationJobBreadcrumbBuilder.php \Drupal\lingotek\Breadcrumb\TranslationJobBreadcrumbBuilder
- 3.0.x src/Breadcrumb/TranslationJobBreadcrumbBuilder.php \Drupal\lingotek\Breadcrumb\TranslationJobBreadcrumbBuilder
- 3.1.x src/Breadcrumb/TranslationJobBreadcrumbBuilder.php \Drupal\lingotek\Breadcrumb\TranslationJobBreadcrumbBuilder
- 3.2.x src/Breadcrumb/TranslationJobBreadcrumbBuilder.php \Drupal\lingotek\Breadcrumb\TranslationJobBreadcrumbBuilder
- 3.3.x src/Breadcrumb/TranslationJobBreadcrumbBuilder.php \Drupal\lingotek\Breadcrumb\TranslationJobBreadcrumbBuilder
- 3.4.x src/Breadcrumb/TranslationJobBreadcrumbBuilder.php \Drupal\lingotek\Breadcrumb\TranslationJobBreadcrumbBuilder
- 3.6.x src/Breadcrumb/TranslationJobBreadcrumbBuilder.php \Drupal\lingotek\Breadcrumb\TranslationJobBreadcrumbBuilder
- 3.7.x src/Breadcrumb/TranslationJobBreadcrumbBuilder.php \Drupal\lingotek\Breadcrumb\TranslationJobBreadcrumbBuilder
- 3.8.x src/Breadcrumb/TranslationJobBreadcrumbBuilder.php \Drupal\lingotek\Breadcrumb\TranslationJobBreadcrumbBuilder
Hierarchy
- class \Drupal\lingotek\Breadcrumb\TranslationJobBreadcrumbBuilder implements BreadcrumbBuilderInterface uses StringTranslationTrait
Expanded class hierarchy of TranslationJobBreadcrumbBuilder
1 file declares its use of TranslationJobBreadcrumbBuilder
- TranslationJobBreadcrumbBuilderTest.php in tests/
src/ Unit/ Breadcrumb/ TranslationJobBreadcrumbBuilderTest.php
1 string reference to 'TranslationJobBreadcrumbBuilder'
1 service uses TranslationJobBreadcrumbBuilder
File
- src/
Breadcrumb/ TranslationJobBreadcrumbBuilder.php, line 15
Namespace
Drupal\lingotek\BreadcrumbView source
class TranslationJobBreadcrumbBuilder implements BreadcrumbBuilderInterface {
use StringTranslationTrait;
/**
* The request.
*
* @var \Symfony\Component\HttpFoundation\Request
*/
protected $request;
/**
* The access manager.
*
* @var \Drupal\Core\Access\AccessManagerInterface
*/
protected $accessManager;
/**
* The title resolver.
*
* @var \Drupal\Core\Controller\TitleResolverInterface
*/
protected $titleResolver;
/**
* The user currently logged in.
*
* @var \Drupal\Core\Session\AccountInterface
*/
protected $currentUser;
/**
* {@inheritdoc}
*/
public function __construct(RequestStack $request_stack, AccountInterface $current_user, TitleResolverInterface $title_resolver, AccessManagerInterface $access_manager) {
$this->request = $request_stack
->getCurrentRequest();
$this->accessManager = $access_manager;
$this->titleResolver = $title_resolver;
$this->currentUser = $current_user;
}
/**
* {@inheritdoc}
*/
public function applies(RouteMatchInterface $route_match) {
$routeName = $route_match
->getRouteName();
if (strpos($routeName, 'lingotek.translation_job') === 0) {
return TRUE;
}
return FALSE;
}
/**
* {@inheritdoc}
*/
public function build(RouteMatchInterface $route_match) {
$breadcrumb = new Breadcrumb();
$access = $this->accessManager
->check($route_match, $this->currentUser, NULL, TRUE);
$breadcrumb
->addCacheableDependency($access);
$breadcrumb
->addCacheContexts([
'url.path',
]);
$links = [];
if ($access
->isAllowed()) {
if ($route_match
->getRouteName() !== 'lingotek.translation_jobs') {
$title = $this->titleResolver
->getTitle($this->request, $route_match
->getRouteObject());
$route = $route_match
->getRouteMatchFromRequest($this->request);
$links[] = Link::createFromRoute($title, $route_match
->getRouteName(), [
'job_id' => $route
->getParameter('job_id'),
]);
}
$links[] = Link::createFromRoute($this
->t('Translation Jobs'), 'lingotek.translation_jobs');
$links[] = Link::createFromRoute($this
->t('Lingotek Translation Dashboard'), 'lingotek.dashboard');
$links[] = Link::createFromRoute($this
->t('Administration'), 'system.admin');
}
$links[] = Link::createFromRoute($this
->t('Home'), '<front>');
return $breadcrumb
->setLinks(array_reverse($links));
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
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. | |
TranslationJobBreadcrumbBuilder:: |
protected | property | The access manager. | |
TranslationJobBreadcrumbBuilder:: |
protected | property | The user currently logged in. | |
TranslationJobBreadcrumbBuilder:: |
protected | property | The request. | |
TranslationJobBreadcrumbBuilder:: |
protected | property | The title resolver. | |
TranslationJobBreadcrumbBuilder:: |
public | function |
Whether this breadcrumb builder should be used to build the breadcrumb. Overrides BreadcrumbBuilderInterface:: |
|
TranslationJobBreadcrumbBuilder:: |
public | function |
Builds the breadcrumb. Overrides BreadcrumbBuilderInterface:: |
|
TranslationJobBreadcrumbBuilder:: |
public | function |