From 98e55dcd036f6d6f31a5a0c78a8bc694317834d5 Mon Sep 17 00:00:00 2001
From: Laur0r <laura-troost@t-online.de>
Date: Thu, 31 Mar 2022 12:03:40 +0200
Subject: [PATCH] Add error when no backup is created

---
 classes/local/manager/backup_manager.php | 2 +-
 lang/de/tool_lifecycle.php               | 4 ++++
 lang/en/tool_lifecycle.php               | 3 +++
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/classes/local/manager/backup_manager.php b/classes/local/manager/backup_manager.php
index e2f61ee..f7752b4 100644
--- a/classes/local/manager/backup_manager.php
+++ b/classes/local/manager/backup_manager.php
@@ -82,7 +82,7 @@ class backup_manager {
 
         // First check if the file was created.
         if (!file_exists($path . DIRECTORY_SEPARATOR . $archivefile)) {
-            return false;
+            throw new \moodle_exception(get_string('errornobackup', 'tool_lifecycle'));
         }
 
         $record->backupfile = $archivefile;
diff --git a/lang/de/tool_lifecycle.php b/lang/de/tool_lifecycle.php
index b3f2bca..e567135 100644
--- a/lang/de/tool_lifecycle.php
+++ b/lang/de/tool_lifecycle.php
@@ -186,3 +186,7 @@ $string['lifecycle_error_notify_task'] = 'Benachrichtigt die Administratoren bei
 $string['notifyerrorsemailsubject'] = '{$a->amount} neue fehlerhafte tool_lifecycle Prozesse warten darauf, behandelt zu werden!';
 $string['notifyerrorsemailcontent'] = '{$a->amount} neue fehlerhafte tool_lifecycle Prozesse warten darauf, behandelt zu werden!' . "\n" . 'Bitte besuchen Sie {$a->url}.';
 $string['notifyerrorsemailcontenthtml'] = '{$a->amount} neue fehlerhafte tool_lifecycle Prozesse warten darauf, behandelt zu werden!<br>Bitte besuchen Sie <a href="{$a->url}">die Übersichtsseite</a>.';
+$string['errorbackuppath'] = "Ein Fehler ist aufgetreten beim Versuchen das Backup Verzeichnis zu erstellen. 
+Ihnen fehlen wahrscheinlich die Berechtigung dazu. Bitte überprüfen Sie den Pfad unter 
+Seitenadministration/Plugins/Dienstprogramme/Kurs-Lebenszyklus/Allgemein & Subplugins.";
+$string['errornobackup'] = "Es wurde kein Backup in dem angegebenen Pfad erstellt.";
diff --git a/lang/en/tool_lifecycle.php b/lang/en/tool_lifecycle.php
index eca85b7..b4164d4 100644
--- a/lang/en/tool_lifecycle.php
+++ b/lang/en/tool_lifecycle.php
@@ -222,3 +222,6 @@ $string['lifecycle_error_notify_task'] = 'Notify the admin upon errors in tool_l
 $string['notifyerrorsemailsubject'] = 'There are {$a->amount} new tool_lifecycle process errors waiting to be fixed!';
 $string['notifyerrorsemailcontent'] = 'There are {$a->amount} new tool_lifecycle process errors waiting to be fixed!' . "\n" . 'Please review them at {$a->url}.';
 $string['notifyerrorsemailcontenthtml'] = 'There are {$a->amount} new tool_lifecycle process errors waiting to be fixed!<br>Please review them at the <a href="{$a->url}">error handling overview</a>.';
+$string['errorbackuppath'] = "Error while trying to create the backup directory. You might be missing the permission to do so. 
+Please check your path at Site administration/Plugins/Admin tools/Life Cycle/General & subplugins/backup_path.";
+$string['errornobackup'] = "No backup was created at the specified directory, reasons unknown.";
\ No newline at end of file
-- 
GitLab