Skip to content
Snippets Groups Projects
Commit f8ef1a0f authored by Tim Rohaly's avatar Tim Rohaly
Browse files

Issue #3476478 by tr: TypeError in Drupal\regcode\RegistrationCode

parent f22447a6
No related branches found
No related tags found
1 merge request!18Issue #3476478 by tr: TypeError in Drupal\regcode\RegistrationCode
Pipeline #294910 passed with warnings
......@@ -2,6 +2,12 @@ regcode.settings:
type: config_object
label: Settings
mapping:
regcode_field_title:
type: label
label: 'Field label'
regcode_field_description:
type: text
label: 'Field description'
regcode_optional:
type: boolean
label: 'Make registration code optional'
......@@ -11,9 +17,3 @@ regcode.settings:
regcode_generate_case:
type: boolean
label: 'Convert generated codes to uppercase'
regcode_field_title:
type: label
label: 'Field label'
regcode_field_description:
type: text
label: 'Field description'
......@@ -69,17 +69,19 @@ class RegcodeAdminCreateForm extends FormBase {
];
$form['regcode_create']['regcode_create_maxuses'] = [
'#type' => 'textfield',
'#type' => 'number',
'#title' => $this->t('Maximum uses'),
'#description' => $this->t('How many times this code can be used to register (enter 0 for unlimited).'),
'#min' => 0,
'#size' => 10,
'#default_value' => 1,
'#required' => TRUE,
];
$form['regcode_create']['regcode_create_length'] = [
'#type' => 'textfield',
'#type' => 'number',
'#title' => $this->t('Code size'),
'#min' => 1,
'#size' => 10,
'#default_value' => 12,
];
......@@ -134,8 +136,9 @@ class RegcodeAdminCreateForm extends FormBase {
];
$form['regcode_create_bulk']['regcode_create_number'] = [
'#type' => 'textfield',
'#type' => 'number',
'#title' => $this->t('Number of codes to generate'),
'#min' => 1,
'#size' => 10,
'#default_value' => 1,
];
......@@ -149,12 +152,20 @@ class RegcodeAdminCreateForm extends FormBase {
}
/**
* {@inheritdoc}
* An #element_validate callback to ensure a blank date validates.
*/
public function validateForm(array &$form, FormStateInterface $form_state) {
if (!is_numeric($form_state->getValue(['regcode_create_maxuses'])) || $form_state->getValue(['regcode_create_maxuses']) < 0) {
$form_state->setErrorByName('regcode_create_maxuses', $this->t('Invalid maxuses, specify a positive integer or enter "0" for unlimited'));
public function validateDate(array &$element, FormStateInterface $form_state) {
if (isset($element['#value']) && !empty($element['#value'])) {
$date = strtotime($element['#value']);
$day = date('d', $date);
$month = date('m', $date);
$year = date('Y', $date);
if (!checkdate($month, $day, $year)) {
$form_state->setError($element, $this->t('The specified date is invalid.'));
}
}
return $element;
}
/**
......@@ -188,7 +199,7 @@ class RegcodeAdminCreateForm extends FormBase {
// Generate a code.
if (empty($code->code) || $form_state->getValue(['regcode_create_number']) > 1) {
$gen = $this->registrationCode->generate($form_state->getValue(['regcode_create_length']), $form_state->getValue(['regcode_create_format']), $form_state->getValue(['regcode_create_case']));
$gen = $this->registrationCode->generate((int) $form_state->getValue(['regcode_create_length']), $form_state->getValue(['regcode_create_format']), (bool) $form_state->getValue(['regcode_create_case']));
$code->code .= $gen;
}
......@@ -206,21 +217,4 @@ class RegcodeAdminCreateForm extends FormBase {
}
}
/**
* Ensures a blank date validates.
*/
public function validateDate(array &$element, FormStateInterface $form_state) {
if (isset($element['#value']) && !empty($element['#value'])) {
$date = strtotime($element['#value']);
$day = date('d', $date);
$month = date('m', $date);
$year = date('Y', $date);
if (!checkdate($month, $day, $year)) {
$form_state->setError($element, $this->t('The specified date is invalid.'));
}
}
return $element;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment