summaryrefslogtreecommitdiffstats
path: root/application/forms/IcingaForgetApiKeyForm.php
blob: d1f475c3b980f7fc785fda2c8a185b929b3488e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php

namespace Icinga\Module\Director\Forms;

use Icinga\Module\Director\Objects\IcingaHost;
use Icinga\Module\Director\Web\Form\DirectorForm;

class IcingaForgetApiKeyForm extends DirectorForm
{
    /** @var IcingaHost */
    protected $host;

    public function setHost(IcingaHost $host)
    {
        $this->host = $host;
        return $this;
    }

    public function setup()
    {
        $this->addStandaloneSubmitButton(sprintf(
            $this->translate('Drop Self Service API key'),
            $this->host->getObjectName()
        ));
    }

    public function onSuccess()
    {
        $this->host->set('api_key', null)->store();
        $this->redirectOnSuccess(sprintf($this->translate(
            'The Self Service API key for %s has been dropped'
        ), $this->host->getObjectName()));
    }
}