SearchDeleteForm.php in Entity Share 8.3
File
modules/entity_share_server/src/Form/SearchDeleteForm.php
View source
<?php
declare (strict_types=1);
namespace Drupal\entity_share_server\Form;
use Drupal\Core\Form\FormStateInterface;
class SearchDeleteForm extends SearchBaseForm {
protected $searchId;
public function form(array $form, FormStateInterface $form_state) {
$search_id = $this
->getsearchId();
if (!$this
->searchIdExists()) {
$this
->messenger()
->addError($this
->t('There is no search with the ID @id in this channel', [
'@id' => $search_id,
]));
return [];
}
$form = parent::form($form, $form_state);
$form['description'] = [
'#markup' => $this
->t('This action cannot be undone.'),
];
return $form;
}
public function save(array $form, FormStateInterface $form_state) {
$channel = $this->entity;
$channel_searches = $channel
->get('channel_searches');
unset($channel_searches[$this
->getsearchId()]);
$channel
->set('channel_searches', $channel_searches);
$channel
->save();
$form_state
->setRedirectUrl($channel
->toUrl('edit-form'));
}
protected function actions(array $form, FormStateInterface $form_state) {
if (!$this
->searchIdExists()) {
return [];
}
$actions = parent::actions($form, $form_state);
$actions['submit']['#value'] = $this
->t('Delete search');
$channel = $this->entity;
$actions['cancel'] = [
'#type' => 'link',
'#title' => $this
->t('Cancel'),
'#url' => $channel
->toUrl('edit-form'),
'#attributes' => [
'class' => [
'button',
],
],
];
return $actions;
}
}