From 94f662c71a1ff22f57d74440795ff6dab9857d27 Mon Sep 17 00:00:00 2001 From: Thomas Casteleyn Date: Wed, 30 Jun 2021 14:59:36 +0200 Subject: [PATCH] Show real next backup date (#196) * Get the next backup date from what is scheduled in the background task. * Show different message if cron is not running. --- .../dictionaries/en.dict.itop-backup.php | 3 ++- datamodels/2.x/itop-backup/status.php | 21 ++++++++++++++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/datamodels/2.x/itop-backup/dictionaries/en.dict.itop-backup.php b/datamodels/2.x/itop-backup/dictionaries/en.dict.itop-backup.php index 2b05aa0fb3..c981bdd239 100644 --- a/datamodels/2.x/itop-backup/dictionaries/en.dict.itop-backup.php +++ b/datamodels/2.x/itop-backup/dictionaries/en.dict.itop-backup.php @@ -49,7 +49,8 @@ Dict::Add('EN US', 'English', 'English', array( 'bkp-status-backups-auto' => 'Scheduled backups', 'bkp-status-backups-manual' => 'Manual backups', 'bkp-status-backups-none' => 'No backup yet', - 'bkp-next-backup' => 'The next backup will occur on %1$s (%2$s) at %3$s', + 'bkp-next-backup' => 'The next backup will occur on %1$s (%2$s) at %3$s.', + 'bkp-next-backup-unknown' => 'The next backup is not scheduled yet.', 'bkp-button-backup-now' => 'Backup now!', 'bkp-button-restore-now' => 'Restore!', 'bkp-confirm-backup' => 'Please confirm that you do request the backup to occur right now.', diff --git a/datamodels/2.x/itop-backup/status.php b/datamodels/2.x/itop-backup/status.php index 0b07cf3f7b..aa74178238 100644 --- a/datamodels/2.x/itop-backup/status.php +++ b/datamodels/2.x/itop-backup/status.php @@ -337,18 +337,29 @@ try { ); } - // Do backup now + // Next occurrence // - $oBackupExec = new BackupExec(); - $oNext = $oBackupExec->GetNextOccurrence(); - $sNextOccurrence = Dict::Format('bkp-next-backup', $aWeekDayToString[$oNext->Format('N')], $oNext->Format('Y-m-d'), - $oNext->Format('H:i')); + /** @var \BackgroundTask $oTask */ + $oTask = MetaModel::GetObjectByName(BackgroundTask::class, BackupExec::class, false); + if ($oTask) + { + $oTimezone = new DateTimeZone(MetaModel::GetConfig()->Get('timezone')); + $oNext = new DateTime($oTask->Get('next_run_date'), $oTimezone); + $sNextOccurrence = Dict::Format('bkp-next-backup', $aWeekDayToString[$oNext->Format('N')], $oNext->Format('Y-m-d'), + $oNext->Format('H:i')); + } + else + { + $sNextOccurrence = Dict::S('bkp-next-backup-unknown'); + } $oFieldsetBackupNow->AddSubBlock( AlertUIBlockFactory::MakeForInformation('', $sNextOccurrence) ->SetIsClosable(false) ->SetIsCollapsible(false) ); + // Do backup now + // $oLaunchBackupButton = ButtonUIBlockFactory::MakeForPrimaryAction(Dict::S('bkp-button-backup-now')); $oLaunchBackupButton->SetOnClickJsCode('LaunchBackupNow();'); $oFieldsetBackupNow->AddSubBlock($oLaunchBackupButton);