diff --git a/application/forms/ChannelForm.php b/application/forms/ChannelForm.php index 7b03b7e1..8f79b938 100644 --- a/application/forms/ChannelForm.php +++ b/application/forms/ChannelForm.php @@ -20,6 +20,7 @@ use ipl\Validator\EmailAddressValidator; use ipl\Web\Common\CsrfCounterMeasure; use ipl\Web\Compat\CompatForm; +use ipl\Web\Widget\EmptyStateBar; /** * @phpstan-type ChannelOptionConfig array{ @@ -67,7 +68,17 @@ protected function assemble() ] ); - $query = AvailableChannelType::on($this->db)->columns(['type', 'name', 'config_attrs']); + $query = AvailableChannelType::on($this->db) + ->columns(['type', 'name', 'config_attrs']) + ->execute(); + + if (! $query->hasResult()) { + $this->addHtml(new EmptyStateBar( + $this->translate('No channel types available. Make sure Icinga Notifications is running') + )); + + return; + } /** @var string[] $typesConfig */ $typesConfig = [];