crm_core-8.x-3.x-dev/modules/crm_core_user_sync/src/Form/RuleDeleteConfirmForm.php
modules/crm_core_user_sync/src/Form/RuleDeleteConfirmForm.php
<?php namespace Drupal\crm_core_user_sync\Form; use Drupal\Core\Form\ConfirmFormBase; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Url; use Symfony\Component\DependencyInjection\ContainerInterface; /** * Provides a confirmation form before clearing out the examples. */ class RuleDeleteConfirmForm extends ConfirmFormBase { /** * {@inheritdoc} */ public static function create(ContainerInterface $container) { return new static(); } /** * {@inheritdoc} */ public function getFormId() { return 'crm_core_user_sync_rule_delete_confirm_form'; } /** * {@inheritdoc} */ public function getQuestion() { return $this->t('Are you sure you want to delete this rule?'); } /** * {@inheritdoc} */ public function getCancelUrl() { return new Url('crm_core_user_sync.config'); } /** * {@inheritdoc} */ public function submitForm(array &$form, FormStateInterface $form_state) { $rule_key = $this->getRequest()->get('rule_key'); $rules = $this->configFactory()->getEditable('crm_core_user_sync.settings')->get('rules'); unset($rules[$rule_key]); // Re-key. $rules = array_values($rules); $this->configFactory()->getEditable('crm_core_user_sync.settings')->set('rules', $rules)->save(); $this->messenger()->addMessage('Rule was deleted'); $form_state->setRedirectUrl($this->getCancelUrl()); } }