cloud-8.x-2.0-beta1/modules/cloud_service_providers/k8s/src/Form/K8sNamespaceDeleteForm.php
modules/cloud_service_providers/k8s/src/Form/K8sNamespaceDeleteForm.php
<?php
namespace Drupal\k8s\Form;
use Drupal\Core\Form\FormStateInterface;
use Drupal\k8s\Service\K8sServiceException;
/**
* Provides a form for deleting a Namespace entity.
*
* @ingroup k8s
*/
class K8sNamespaceDeleteForm extends K8sDeleteForm {
/**
* {@inheritdoc}
*/
public function submitForm(array &$form, FormStateInterface $form_state) {
$entity = $this->entity;
try {
$this->k8sService->setCloudContext($entity->getCloudContext());
$this->k8sService->deleteNamespace([
'metadata' => [
'name' => $entity->getName(),
],
]);
$message = $this->t('The @type "@label" has been deleted.', [
'@type' => $entity->getEntityType()->getLabel(),
'@label' => $entity->label(),
]);
$entity->delete();
$this->messenger->addMessage($message);
}
catch (K8sServiceException $e) {
$message = $this->t('The @type "@label" couldn\'t delete.', [
'@type' => $entity->getEntityType()->getLabel(),
'@label' => $entity->label(),
]);
$this->messenger->addError($message);
}
$form_state->setRedirect('view.k8s_namespace.list', ['cloud_context' => $entity->getCloudContext()]);
}
}
