* @license http://www.gnu.org/licenses/gpl-2.0.txt GPL, version 2 * @author Icinga Development Team */ // {{{ICINGA_LICENSE_HEADER}}} namespace Monitoring\Form\Command; use \Icinga\Web\Form\Element\Note; /** * Form for the delay notification command */ class DelayNotificationForm extends CommandForm { /** * Maximum delay amount in minutes */ const MAX_DELAY = 1440; // 1 day /** * Create the form's elements */ protected function create() { $this->addElement( new Note( array( 'name' => 'commanddescription', 'value' => t('This command is used to delay the next problem notification that is sent out.') ) ) ); $this->addElement( 'text', 'minutes', array( 'label' => t('Notification Delay (minutes from now)'), 'style' => 'width: 80px;', 'value' => 0, 'required' => true, 'validators' => array( array( 'between', true, array( 'min' => 1, 'max' => self::MAX_DELAY ) ) ) ) ); $this->addNote( t( 'The notification delay will be disregarded if the host/service changes state before the next ' . 'notification is scheduled to be sent out.' ) ); $this->setSubmitLabel(t('Delay Notification')); parent::create(); } public function getDelayTime() { return $this->getValue('minutes') * 60; } }