AbjsConditionDeleteConfirmForm.php in A/B Test JS 2.0.x
File
src/Form/AbjsConditionDeleteConfirmForm.php
View source
<?php
namespace Drupal\abjs\Form;
use Drupal\Core\Database\Connection;
use Drupal\Core\Form\ConfirmFormBase;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Url;
use Symfony\Component\DependencyInjection\ContainerInterface;
class AbjsConditionDeleteConfirmForm 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_condition_delete_confirm';
}
public function getQuestion() {
return $this
->t('Do you want to delete condition %id?', [
'%id' => $this->id,
]);
}
public function getCancelUrl() {
return new Url('abjs.condition_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, $cid = NULL) {
$this->id = $cid;
return parent::buildForm($form, $form_state);
}
public function submitForm(array &$form, FormStateInterface $form_state) {
$this->database
->delete('abjs_condition')
->condition('cid', $this->id)
->execute();
$this->database
->delete('abjs_test_condition')
->condition('cid', $this->id)
->execute();
$this
->messenger()
->addStatus($this
->t('Condition %id has been deleted.', [
'%id' => $this->id,
]));
$form_state
->setRedirect('abjs.condition_admin');
}
}