Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add env indicator for production #656

Merged
merged 4 commits into from
Oct 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion config/user.role.authenticated.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ langcode: en
status: true
dependencies:
config:
- environment_indicator.switcher.demo
- environment_indicator.switcher.dev
- filter.format.basic_html
- filter.format.hr_plain_text
module:
Expand All @@ -22,7 +24,8 @@ weight: 1
is_admin: false
permissions:
- 'access content'
- 'access environment indicator'
- 'access environment indicator demo'
- 'access environment indicator dev'
- 'access shortcuts'
- 'enter landing_page revision log entry'
- 'enter page revision log entry'
Expand Down
2 changes: 2 additions & 0 deletions config/user.role.global_editor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ dependencies:
- contextual
- dashboards
- entity_reference_revisions
- environment_indicator
- file
- filter
- group
Expand All @@ -44,6 +45,7 @@ permissions:
- 'access administration pages'
- 'access content overview'
- 'access contextual links'
- 'access environment indicator'
- 'access files overview'
- 'access group overview'
- 'access site in maintenance mode'
Expand Down
183 changes: 172 additions & 11 deletions config/views.view.db_links.yml
Original file line number Diff line number Diff line change
Expand Up @@ -674,12 +674,13 @@ display:
default_row_class: true
columns:
url: url
code: code
last_check: last_check
fail_count: fail_count
entity_field: entity_field
entity_id__target_id: entity_id__target_id
linkcheckerlink_group_entity_label: linkcheckerlink_group_entity_label
linkcheckerlink_page_entity_label: linkcheckerlink_page_entity_label
entity_id__target_id: entity_id__target_id
entity_field: entity_field
code: code
last_check: last_check
default: '-1'
info:
url:
Expand All @@ -689,21 +690,28 @@ display:
separator: ''
empty_column: false
responsive: ''
code:
fail_count:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
last_check:
sortable: true
linkcheckerlink_group_entity_label:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
fail_count:
linkcheckerlink_page_entity_label:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
entity_id__target_id:
sortable: true
default_sort_order: asc
align: ''
Expand All @@ -717,14 +725,14 @@ display:
separator: ''
empty_column: false
responsive: ''
entity_id__target_id:
sortable: false
code:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
linkcheckerlink_page_entity_label:
last_check:
sortable: true
default_sort_order: asc
align: ''
Expand Down Expand Up @@ -1381,6 +1389,57 @@ display:
multi_type: separator
separator: ', '
field_api_classes: false
linkcheckerlink_group_entity_label:
id: linkcheckerlink_group_entity_label
table: linkchecker_link
field: linkcheckerlink_group_entity_label
relationship: none
group_type: group
admin_label: ''
entity_type: linkcheckerlink
plugin_id: linkcheckerlink_group_entity_label
label: 'Operation / Cluster'
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
link_to_entity: 1
entity_id__target_id:
id: entity_id__target_id
table: linkchecker_link
Expand Down Expand Up @@ -1497,6 +1556,108 @@ display:
empty_zero: false
hide_alter_empty: true
link_to_entity: 1
linkcheckerlink_group_entity_link:
id: linkcheckerlink_group_entity_link
table: linkchecker_link
field: linkcheckerlink_group_entity_link
relationship: none
group_type: group
admin_label: ''
entity_type: linkcheckerlink
plugin_id: linkcheckerlink_group_entity_link
label: 'Operation / Cluster link'
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
absolute_link: 1
linkcheckerlink_page_entity_link:
id: linkcheckerlink_page_entity_link
table: linkchecker_link
field: linkcheckerlink_page_entity_link
relationship: none
group_type: group
admin_label: ''
entity_type: linkcheckerlink
plugin_id: linkcheckerlink_page_entity_link
label: 'Page entity link'
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
absolute_link: 1
access:
type: perm
options:
Expand Down
18 changes: 17 additions & 1 deletion html/modules/custom/hr_paragraphs/hr_paragraphs.module
Original file line number Diff line number Diff line change
Expand Up @@ -2472,8 +2472,24 @@ function hr_paragraphs_views_data_alter(array &$data) {
$data['linkchecker_link']['linkcheckerlink_group_entity_label'] = [
'field' => [
'title' => t('Group entity label'),
'help' => t('The label of the entity that is related to the file.'),
'help' => t('The label of the group that is related.'),
'id' => 'linkcheckerlink_group_entity_label',
],
];

$data['linkchecker_link']['linkcheckerlink_group_entity_link'] = [
'field' => [
'title' => t('Group entity link'),
'help' => t('The link of the group that is related.'),
'id' => 'linkcheckerlink_group_entity_link',
],
];

$data['linkchecker_link']['linkcheckerlink_page_entity_link'] = [
'field' => [
'title' => t('Page entity link'),
'help' => t('The link of the page that is related.'),
'id' => 'linkcheckerlink_page_entity_link',
],
];
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
<?php

namespace Drupal\hr_paragraphs\Plugin\views\field;

use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\group\Entity\GroupRelationship;
use Drupal\linkchecker\LinkCheckerLinkInterface;
use Drupal\views\Plugin\views\field\FieldPluginBase;
use Drupal\views\ResultRow;

/**
* Field handler that builds the group entity link for the linkchecker_link.
*
* @ingroup views_field_handlers
*
* @ViewsField("linkcheckerlink_group_entity_link")
*/
class LinkcheckerLinkGroupEntityLink extends FieldPluginBase {

/**
* {@inheritdoc}
*/
protected function defineOptions() {
$options = parent::defineOptions();
$options['absolute_link'] = [
'default' => FALSE,
];

return $options;
}

/**
* {@inheritdoc}
*/
public function buildOptionsForm(&$form, FormStateInterface $form_state) {
$form['absolute_link'] = [
'#title' => $this->t('Create absolute link'),
'#description' => $this->t('Create absolute link.'),
'#type' => 'checkbox',
'#default_value' => !empty($this->options['absolute_link']),
];

parent::buildOptionsForm($form, $form_state);
}

/**
* {@inheritdoc}
*/
public function query() {
}

/**
* {@inheritdoc}
*/
public function render(ResultRow $values) {
$linkchecker_link = $this->getEntity($values);

if (!$linkchecker_link instanceof LinkCheckerLinkInterface) {
return '';
}

if (!$linkchecker_link->hasField('entity_id')) {
return '';
}

if ($linkchecker_link->get('entity_id')->isEmpty()) {
return '';
}

$linked_entity = $linkchecker_link->get('entity_id')->entity;

if (!$linked_entity instanceof EntityInterface) {
return '';
}

while ($linked_entity->getEntityTypeId() === 'paragraph' && $linked_entity->getParentEntity() !== NULL) {
$linked_entity = $linked_entity->getParentEntity();
}

$parent_entity = $linked_entity;

// Get group.
$group_content_array = GroupRelationship::loadByEntity($linked_entity);
$group_content = reset($group_content_array);
if ($group_content) {
$parent_entity = $group_content->getGroup();
}

if (!empty($this->options['absolute_link'])) {
return $this->sanitizeValue($parent_entity->toUrl('canonical', ['absolute' => TRUE])->toString());
}
else {
return $this->sanitizeValue($parent_entity->toUrl('canonical', ['absolute' => FALSE])->toString());
}
}

}
Loading