Skip to content

Commit e3f157d

Browse files
authored
Merge pull request #18 from digitalutsc/feat/add-ci-and-linting
feat: add ci and linting
2 parents 88d4f9e + a2619b3 commit e3f157d

4 files changed

Lines changed: 59 additions & 12 deletions

File tree

.github/workflows/ci.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
workflow_dispatch:
9+
10+
jobs:
11+
build:
12+
runs-on: ubuntu-latest
13+
continue-on-error: false
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
php-versions: ["8.3", "8.4"]
18+
drupal-version: ["10.6", "11.3"]
19+
20+
name: PHP ${{ matrix.php-versions }} | Drupal ${{ matrix.drupal-version }}
21+
22+
steps:
23+
- name: Checkout code
24+
uses: actions/checkout@v5
25+
26+
- name: Create docker network
27+
run: docker network create ci-default
28+
29+
- name: PHPUnit tests
30+
run: |
31+
docker run \
32+
--rm \
33+
--name drupal \
34+
--hostname drupal \
35+
--volume $(pwd):/var/www/drupal/web/modules/contrib/$ENABLE_MODULES:ro \
36+
--env ENABLE_MODULES \
37+
--network ci-default \
38+
ghcr.io/islandora/ci:${{ matrix.drupal-version }}-php${{ matrix.php-versions }}
39+
env:
40+
ENABLE_MODULES: islandora_breadcrumbs

composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@
22
"name": "islandora_lite/islandora_breadcrumbs",
33
"type": "drupal-module",
44
"description": "Breadcrumbs for Islandora objects",
5-
"keywords": ["Drupal"]
5+
"keywords": ["Drupal"],
6+
"require": {}
67
}

islandora_breadcrumbs.module

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
* Primary module hooks for Islandora Breadcrumbs module.
66
*/
77

8-
use Drupal\node\NodeInterface;
9-
108
/**
119
* Implements hook_theme().
1210
*/
@@ -32,7 +30,7 @@ function islandora_breadcrumbs_theme($existing, $type, $theme, $path) {
3230
function islandora_breadcrumbs_preprocess_islandora_breadcrumb(array &$variables) {
3331
$variables['breadcrumb'] = [];
3432
$route_name = \Drupal::routeMatch()->getRouteName();
35-
if (strpos($route_name, "view.group") === false) {
33+
if (strpos($route_name, "view.group") === FALSE) {
3634
/** @var \Drupal\Core\Link $link */
3735
foreach ($variables['links'] as $key => $links) {
3836
foreach ($links as $link) {
@@ -44,4 +42,3 @@ function islandora_breadcrumbs_preprocess_islandora_breadcrumb(array &$variables
4442
}
4543
}
4644
}
47-

src/IslandoraBreadcrumbBuilder.php

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
<?php
22

3+
// phpcs:disable DrupalPractice.Objects.GlobalDrupal
4+
// phpcs:disable DrupalPractice.Objects.GlobalClass
5+
36
namespace Drupal\islandora_breadcrumbs;
47

8+
use Drupal\views\Views;
59
use Drupal\Core\Config\ConfigFactoryInterface;
610
use Drupal\Core\Entity\EntityTypeManagerInterface;
711
use Drupal\Core\Entity\EntityInterface;
@@ -124,13 +128,15 @@ public function build(RouteMatchInterface $route_match) {
124128
}
125129
}
126130

127-
//$title = str_replace(['-', '_'], ' ', Unicode::ucwords(end($path_elements)));
128-
$view = \Drupal\views\Views::getView($parameters['view_id']);
131+
// phpcs:ignore -- Line exceeds 80 characters; contains 86 characters
132+
// $title = str_replace(['-', '_'], ' ', Unicode::ucwords(end($path_elements)));
133+
$view = Views::getView($parameters['view_id']);
129134
$view->setDisplay($parameters['display_id']);
130135
$view_title = $view->getTitle();
131-
if (is_null($node)){
136+
if (is_null($node)) {
132137
$breadcrumb->addLink(Link::createFromRoute($view_title, '<none>'));
133-
} else {
138+
}
139+
else {
134140
$this->setReferenceBreadcrumbs($breadcrumb, $node);
135141
$breadcrumb->addLink(Link::createFromRoute($title, 'entity.node.canonical', ['node' => $nid])); //updated for breadcrumb issue
136142
}
@@ -164,7 +170,7 @@ public function build(RouteMatchInterface $route_match) {
164170
* @param \Drupal\node\Entity\Node $node
165171
* Node to get breadcrumb of.
166172
*/
167-
protected function setReferenceBreadcrumbs(IslandoraBreadcrumb &$breadcrumb, Node $node = NULL) {
173+
protected function setReferenceBreadcrumbs(IslandoraBreadcrumb &$breadcrumb, ?Node $node = NULL) {
168174
if ($node == NULL) {
169175
return;
170176
}
@@ -175,6 +181,7 @@ protected function setReferenceBreadcrumbs(IslandoraBreadcrumb &$breadcrumb, Nod
175181

176182
// Check referenced fields for members.
177183
foreach ($referenced_entities as $referenced_entity) {
184+
// phpcs:ignore -- Unused variable $link.
178185
$link = $referenced_entity->toLink()->toString()->getGeneratedLink();
179186
$node = $this->extractNode($referenced_entity);
180187
$refs = $this->getReferencedEntities($node);
@@ -190,6 +197,7 @@ protected function setReferenceBreadcrumbs(IslandoraBreadcrumb &$breadcrumb, Nod
190197
}
191198
foreach ($referenced_entities as $referenced_entity) {
192199
$referenced_entity = \Drupal::service('entity.repository')->getTranslationFromContext($referenced_entity);
200+
// phpcs:ignore -- Unused variable $link.
193201
$link = $referenced_entity->toLink()->toString()->getGeneratedLink();
194202
$node = $this->extractNode($referenced_entity);
195203

@@ -213,7 +221,7 @@ protected function setReferenceBreadcrumbs(IslandoraBreadcrumb &$breadcrumb, Nod
213221
* @return array
214222
* List of objects referenced by $node.
215223
*/
216-
protected function getReferencedEntities(Node $node = NULL) {
224+
protected function getReferencedEntities(?Node $node = NULL) {
217225
$referenced_entities = [];
218226
if ($node == NULL) {
219227
return $referenced_entities;
@@ -251,6 +259,7 @@ protected function nodeHasReferenceFields(Node $node) {
251259
* Link representing node.
252260
*/
253261
protected function getViewLink(Node $node) {
262+
// phpcs:ignore -- Unused variable $nid.
254263
$nid = $node->id();
255264
if (Term::load($node->get('field_model')->target_id)->get('name')->value === "Paged Content") {
256265
return Link::createFromRoute($node->getTitle(), "entity.node.canonical", ['node' => $node->id()]);
@@ -269,7 +278,7 @@ protected function getViewLink(Node $node) {
269278
* @return \Drupal\node\Entity\Node
270279
* Translated node.
271280
*/
272-
protected function getTranslatedNode(Node $node = NULL) {
281+
protected function getTranslatedNode(?Node $node = NULL) {
273282
if (is_null($node)) {
274283
return NULL;
275284
}

0 commit comments

Comments
 (0)