File: SendForm.php

package info (click to toggle)
icingaweb2-module-reporting 1.0.5-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 552 kB
  • sloc: php: 3,469; sql: 289; sh: 54; xml: 18; makefile: 15
file content (43 lines) | stat: -rw-r--r-- 889 bytes parent folder | download | duplicates (2)
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
35
36
37
38
39
40
41
42
43
<?php

// Icinga Reporting | (c) 2018 Icinga GmbH | GPLv2

namespace Icinga\Module\Reporting\Web\Forms;

use Icinga\Module\Reporting\Actions\SendMail;
use Icinga\Module\Reporting\ProvidedReports;
use Icinga\Module\Reporting\Report;
use ipl\Web\Compat\CompatForm;

class SendForm extends CompatForm
{
    use ProvidedReports;

    /** @var Report */
    protected $report;

    public function setReport(Report $report)
    {
        $this->report = $report;

        return $this;
    }

    protected function assemble()
    {
        (new SendMail())->initConfigForm($this, $this->report);

        $this->addElement('submit', 'submit', [
            'label' => $this->translate('Send Report')
        ]);
    }

    public function onSuccess()
    {
        $values = $this->getValues();

        $sendMail = new SendMail();

        $sendMail->execute($this->report, $values);
    }
}