AbjsTestDeleteConfirmForm.php in A/B Test JS 8
File
src/Form/AbjsTestDeleteConfirmForm.php
View source
<?php
namespace Drupal\abjs\Form;
use Drupal\Core\Form\ConfirmFormBase;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Url;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Drupal\Core\Database\Connection;
class AbjsTestDeleteConfirmForm extends ConfirmFormBase {
protected $id;
protected $database;
public function __construct(Connection $database) {
$this->database = $database;
}
public static function create(ContainerInterface $container) {
return new static($container
->get('database'));
}
public function getFormId() {
return 'abjs_test_delete_confirm';
}
public function getQuestion() {
return $this
->t('Do you want to delete test %id?', [
'%id' => $this->id,
]);
}
public function getCancelUrl() {
return new Url('abjs.test_admin');
}
public function getDescription() {
return $this
->t('This action cannot be undone.');
}
public function getConfirmText() {
return $this
->t('Delete');
}
public function getCancelText() {
return $this
->t('Cancel');
}
public function buildForm(array $form, FormStateInterface $form_state, $tid = NULL) {
$this->id = $tid;
return parent::buildForm($form, $form_state);
}
public function submitForm(array &$form, FormStateInterface $form_state) {
$this->database
->delete('abjs_test')
->condition('tid', $this->id)
->execute();
$this->database
->delete('abjs_test_condition')
->condition('tid', $this->id)
->execute();
$this->database
->delete('abjs_test_experience')
->condition('tid', $this->id)
->execute();
$this
->messenger()
->addMessage($this
->t('Test %id has been deleted.', [
'%id' => $this->id,
]));
$form_state
->setRedirect('abjs.test_admin');
}
}