X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=gui%2Fbaculum%2Fprotected%2FWeb%2FPortlets%2FDirectiveSchedule.php;h=8b7ead3167ce4e5261a03cbfca7a4e3a2c66b638;hb=007a911f9f9142c9a849b3508200727c65672a3c;hp=b34d8f1cc3e630ea3216b506037ca62655e6f66a;hpb=2f10e42cf4544d881e16b22051aca6d87331322a;p=bacula%2Fbacula diff --git a/gui/baculum/protected/Web/Portlets/DirectiveSchedule.php b/gui/baculum/protected/Web/Portlets/DirectiveSchedule.php index b34d8f1cc3..8b7ead3167 100644 --- a/gui/baculum/protected/Web/Portlets/DirectiveSchedule.php +++ b/gui/baculum/protected/Web/Portlets/DirectiveSchedule.php @@ -79,7 +79,6 @@ class DirectiveSchedule extends DirectiveListTemplate { 'WdayRangeTo', 'TimeHourAt', 'TimeMinAt', - 'TimeHourHourly', 'TimeMinHourly' ); @@ -106,9 +105,6 @@ class DirectiveSchedule extends DirectiveListTemplate { $directive_desc = $resource_desc[$this->overwrite_directives[$i]]; } if (is_object($directive_desc)) { - if (property_exists($directive_desc, 'Required')) { - $required = $directive_desc->Required; - } if (property_exists($directive_desc, 'DefaultValue')) { $default_value = $directive_desc->DefaultValue; } @@ -246,6 +242,9 @@ class DirectiveSchedule extends DirectiveListTemplate { $this->WeekRangeTo->setDirectiveValue($week_range_to); $wdays_long = array_values(Params::$wdays); + $this->Wday->setData(Params::$wdays); + $this->WdayRangeFrom->setData(Params::$wdays); + $this->WdayRangeTo->setData(Params::$wdays); $wday_single = null; $wday_range_from = null; @@ -271,13 +270,30 @@ class DirectiveSchedule extends DirectiveListTemplate { $minute = null; if ($load_values) { $hour = $directives->Hour[0]; // @TODO: Check for many hour values; - $minute = $directives->Minute; + /** + * Check if Minute property exists because of bug about missing Minute + * @see http://bugs.bacula.org/view.php?id=2318 + */ + $minute = property_exists($directives, 'Minute') ? $directives->Minute : 0; } $this->directives['time'] = array( 'hour' => $hour, 'minute' => $minute ); - $this->TimeAt->Checked = true; + if ($load_values) { + if (count($directives->Hour) == 24) { + $this->TimeHourly->Checked = true; + $this->TimeMinHourly->setDirectiveValue($minute); + } elseif (count($directives->Hour) == 1) { + $this->TimeAt->Checked = true; + $this->TimeHourAt->setDirectiveValue($hour); + $this->TimeMinAt->setDirectiveValue($minute); + } else { + $this->TimeDisable->Checked = true; + } + } else { + $this->TimeDisable->Checked = true; + } } public function getDirectiveValue() { @@ -302,7 +318,10 @@ class DirectiveSchedule extends DirectiveListTemplate { // value the same as default value, skip it continue; } - $directive_values[] = "{$directive_name}={$directive_value}"; + if ($this->directive_types[$i] === 'DirectiveBoolean') { + $directive_value = Params::getBoolValue($directive_value); + } + $directive_values[] = "{$directive_name}=\"{$directive_value}\""; } } @@ -343,9 +362,9 @@ class DirectiveSchedule extends DirectiveListTemplate { $minute = sprintf('%02d', $this->TimeMinAt->getDirectiveValue()); $directive_values[] = "at {$hour}:{$minute}"; } elseif ($this->TimeHourly->Checked === true) { - $hour = $this->TimeHourHourly->getDirectiveValue(); + $hour = '00'; $minute = sprintf('%02d', $this->TimeMinHourly->getDirectiveValue()); - $directive_values[] = "at {$hour}:{$minute}"; + $directive_values[] = "hourly at {$hour}:{$minute}"; } $directive_value = array('Run' => implode(' ', $directive_values));