public function AppointmentCalendarDeleteForm::buildForm in Appointment Calendar 8
Form constructor.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Return value
array The form structure.
Overrides FormInterface::buildForm
File
- src/
Form/ AppointmentCalendarDeleteForm.php, line 24
Class
Namespace
Drupal\appointment_calendar\FormCode
public function buildForm(array $form, FormStateInterface $form_state) {
$db_conn = \Drupal::database();
$from_date = \Drupal::request()->query
->get('date');
// Checking for Booked slots.
// If slots booked in particular date disable option for delete.
if ($from_date != '') {
$date = date('Y-m-d', $from_date);
$delete_query = $db_conn
->select('node__field_appointment_date', 'ad');
$delete_query
->fields('ad', [
'field_appointment_date_value',
]);
$delete_query
->condition('field_appointment_date_value', '%' . $this->connection
->escapeLike($date) . '%', 'LIKE');
$delete_result = $delete_query
->execute()
->fetchAll();
if (count($delete_result) >= 1) {
$form['date'] = [
'#markup' => $this
->t('Unable to delete ' . $date . '. Appointment already booked in selected date<br>If you still want to delete the selected date, delete timeslots booked and retry<br> '),
];
$form['return'] = [
'#type' => 'submit',
'#value' => t('Return'),
];
}
else {
$form['date_markup'] = [
'#markup' => $this
->t('Are you sure to delete <b>:date</b>?<br>Note:All filled timeslots also will be deleted.<br>', array(
':date' => $date,
)),
];
$form['date'] = [
'#type' => 'hidden',
'#value' => $from_date,
];
$form['delete'] = [
'#type' => 'submit',
'#value' => $this
->t('Yes'),
];
$form['no'] = [
'#type' => 'submit',
'#value' => $this
->t('No'),
];
}
return $form;
}
}