* @license http://www.gnu.org/licenses/gpl-2.0.txt GPL, version 2 * @author Icinga Development Team */ // {{{ICINGA_LICENSE_HEADER}}} namespace Monitoring\Form\Command; /** * 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 * * @see CommandForm::create() */ protected function create() { $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( 'Delay the next problem notification. 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; } }