Skip to content

Commit e3da2d7

Browse files
authored
Merge pull request #17 from jordandukart/8.x-1.x
D9 compat.
2 parents 3b6905b + 5f6827d commit e3da2d7

File tree

3 files changed

+30
-18
lines changed

3 files changed

+30
-18
lines changed

embargoes.info.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: Embargoes
22
description: 'A module for managing embargo policies with access restrictions on content.'
33
type: module
4-
core: 8.x
4+
core_version_requirement: ^8 || ^9
55
dependencies:
66
- menu_ui
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: Embargoes Log Views
22
description: 'Provides views for embargo logs.'
33
type: module
4-
core: 8.x
4+
core_version_requirement: ^8 || ^9
55
dependencies:
66
- embargoes
77
- views

src/Form/EmbargoesIpRangeEntityForm.php

+28-16
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@ public function form(array $form, FormStateInterface $form_state) {
6969
'#default_value' => implode('|', $range->getRanges()),
7070
'#description' => $this->t("IP range to be used. Please list in CIDR format, and separate multiple ranges with a '|'."),
7171
'#required' => TRUE,
72+
'#element_validate' => [
73+
'::validateIpRanges',
74+
],
7275
];
7376

7477
$form['proxy_url'] = [
@@ -82,6 +85,24 @@ public function form(array $form, FormStateInterface $form_state) {
8285
return $form;
8386
}
8487

88+
/**
89+
* Validates the IP range entered.
90+
*
91+
* @param array $element
92+
* An array representing the element.
93+
* @param Drupal\Core\Form\FormStateInterface $form_state
94+
* The Drupal form state.
95+
*/
96+
public function validateIpRanges(array $element, FormStateInterface $form_state) {
97+
$errors = $this->ipRanges->detectIpRangeStringErrors(array_map('trim', explode('|', trim($form_state->getValue('range')))));
98+
if (!empty($errors)) {
99+
$form_state->setError($element, $this->t('Problems detected with the %label IP Range. <br/>Errors: %errors', [
100+
'%label' => $this->entity->label(),
101+
'%errors' => implode(", ", $errors),
102+
]));
103+
}
104+
}
105+
85106
/**
86107
* {@inheritdoc}
87108
*/
@@ -91,22 +112,13 @@ public function save(array $form, FormStateInterface $form_state) {
91112
$range->setProxyUrl($form_state->getValue('proxy_url'));
92113
$status = $range->save();
93114

94-
$errors = $this->ipRanges->detectIpRangeStringErrors(array_map('trim', explode('|', trim($form_state->getValue('range')))));
95-
if (!$errors) {
96-
switch ($status) {
97-
case SAVED_NEW:
98-
$this->messenger()->addMessage($this->t('Created the %label IP Range.', ['%label' => $range->label()]));
99-
break;
100-
101-
default:
102-
$this->messenger()->addMessage($this->t('Saved the %label IP Range.', ['%label' => $range->label()]));
103-
}
104-
}
105-
else {
106-
drupal_set_message("Problems detected with the {$range->label()} IP Range.", 'error');
107-
foreach ($errors as $error) {
108-
drupal_set_message("Error: {$error}.", 'error');
109-
}
115+
switch ($status) {
116+
case SAVED_NEW:
117+
$this->messenger()->addMessage($this->t('Created the %label IP Range.', ['%label' => $range->label()]));
118+
break;
119+
120+
default:
121+
$this->messenger()->addMessage($this->t('Saved the %label IP Range.', ['%label' => $range->label()]));
110122
}
111123
$form_state->setRedirectUrl($range->toUrl('collection'));
112124
}

0 commit comments

Comments
 (0)