From cb185de61329d5db4d128839d7537f6ab0ffb2f9 Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Sun, 9 May 2021 11:40:13 +0200
Subject: [PATCH] Fixed #604 - auto backup could not be disabled

---
 .../budgetmaster/settings/SettingsController.java     | 11 +++++++++--
 src/main/resources/static/js/settings.js              |  4 ++++
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java b/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java
index d68bf5af0..4d19aff8b 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java
@@ -93,10 +93,17 @@ public class SettingsController extends BaseController
 					   @RequestParam(value = "password") String password,
 					   @RequestParam(value = "passwordConfirmation") String passwordConfirmation,
 					   @RequestParam(value = "languageType") String languageType,
-					   @RequestParam(value = "autoBackupStrategyType") String autoBackupStrategyType)
+					   @RequestParam(value = "autoBackupStrategyType", required = false) String autoBackupStrategyType)
 	{
 		settings.setLanguage(LanguageType.fromName(languageType));
-		settings.setAutoBackupStrategy(AutoBackupStrategy.fromName(autoBackupStrategyType));
+		if(autoBackupStrategyType == null)
+		{
+			settings.setAutoBackupStrategy(AutoBackupStrategy.NONE);
+		}
+		else
+		{
+			settings.setAutoBackupStrategy(AutoBackupStrategy.fromName(autoBackupStrategyType));
+		}
 
 		Optional<FieldError> passwordErrorOptional = settingsService.validatePassword(password, passwordConfirmation);
 		if(passwordErrorOptional.isPresent())
diff --git a/src/main/resources/static/js/settings.js b/src/main/resources/static/js/settings.js
index 43b38df0a..31b8e205a 100644
--- a/src/main/resources/static/js/settings.js
+++ b/src/main/resources/static/js/settings.js
@@ -86,6 +86,10 @@ function validateForm()
         let autoBackupFilesToKeepValid = validateNumber($('#settings-backup-auto-files-to-keep').val(), "settings-backup-auto-files-to-keep", "hidden-settings-backup-auto-files-to-keep", numberValidationMessageZeroAllowed, REGEX_NUMBER);
         return autoBackupDaysValid && autoBackupFilesToKeepValid;
     }
+    else
+    {
+        document.getElementById('settings-backup-auto-strategy').name = '';
+    }
 
     return true;
 }
-- 
GitLab