Skip to content
Snippets Groups Projects
Commit 4c69b472 authored by Robert Goldmann's avatar Robert Goldmann
Browse files

#455 - add select for auto backup time

parent 7a38e194
No related branches found
No related tags found
1 merge request!229Feature/index page
Pipeline #2953 passed
package de.deadlocker8.budgetmaster.settings; package de.deadlocker8.budgetmaster.settings;
import de.thecodelabs.utils.util.Localization;
public enum AutoBackupTime public enum AutoBackupTime
{ {
DEFAULT TIME_00("00:00"),
TIME_01("01:00"),
TIME_02("02:00"),
TIME_03("03:00"),
TIME_04("04:00"),
TIME_05("05:00"),
TIME_06("06:00"),
TIME_07("07:00"),
TIME_08("08:00"),
TIME_09("09:00"),
TIME_10("10:00"),
TIME_11("11:00"),
TIME_12("12:00"),
TIME_13("13:00"),
TIME_14("14:00"),
TIME_15("15:00"),
TIME_16("16:00"),
TIME_17("17:00"),
TIME_18("18:00"),
TIME_19("19:00"),
TIME_20("20:00"),
TIME_21("21:00"),
TIME_22("22:00"),
TIME_23("23:00"),
TIME_24("24:00");
private String time;
AutoBackupTime(String time)
{
this.time = time;
}
public String getTime()
{
return time;
}
public String getLocalized()
{
return Localization.getString("settings.backup.auto.time.short", getTime());
}
} }
...@@ -46,7 +46,7 @@ public class Settings ...@@ -46,7 +46,7 @@ public class Settings
defaultSettings.setSearchItemsPerPage(10); defaultSettings.setSearchItemsPerPage(10);
defaultSettings.setAutoBackupActivated(false); defaultSettings.setAutoBackupActivated(false);
defaultSettings.setAutoBackupDays(1); defaultSettings.setAutoBackupDays(1);
defaultSettings.setAutoBackupTime(AutoBackupTime.DEFAULT); defaultSettings.setAutoBackupTime(AutoBackupTime.TIME_00);
defaultSettings.setAutoBackupFilesToKeep(3); defaultSettings.setAutoBackupFilesToKeep(3);
return defaultSettings; return defaultSettings;
......
...@@ -76,6 +76,8 @@ public class SettingsController extends BaseController ...@@ -76,6 +76,8 @@ public class SettingsController extends BaseController
{ {
model.addAttribute("settings", settingsService.getSettings()); model.addAttribute("settings", settingsService.getSettings());
model.addAttribute("searchResultsPerPageOptions", SEARCH_RESULTS_PER_PAGE_OPTIONS); model.addAttribute("searchResultsPerPageOptions", SEARCH_RESULTS_PER_PAGE_OPTIONS);
model.addAttribute("autoBackupTimes", AutoBackupTime.values());
request.removeAttribute("database", WebRequest.SCOPE_SESSION); request.removeAttribute("database", WebRequest.SCOPE_SESSION);
return "settings/settings"; return "settings/settings";
} }
...@@ -126,6 +128,7 @@ public class SettingsController extends BaseController ...@@ -126,6 +128,7 @@ public class SettingsController extends BaseController
model.addAttribute("error", bindingResult); model.addAttribute("error", bindingResult);
model.addAttribute("settings", settings); model.addAttribute("settings", settings);
model.addAttribute("searchResultsPerPageOptions", SEARCH_RESULTS_PER_PAGE_OPTIONS); model.addAttribute("searchResultsPerPageOptions", SEARCH_RESULTS_PER_PAGE_OPTIONS);
model.addAttribute("autoBackupTimes", AutoBackupTime.values());
return "settings/settings"; return "settings/settings";
} }
...@@ -206,6 +209,7 @@ public class SettingsController extends BaseController ...@@ -206,6 +209,7 @@ public class SettingsController extends BaseController
model.addAttribute("verificationCode", verificationCode); model.addAttribute("verificationCode", verificationCode);
model.addAttribute("settings", settingsService.getSettings()); model.addAttribute("settings", settingsService.getSettings());
model.addAttribute("searchResultsPerPageOptions", SEARCH_RESULTS_PER_PAGE_OPTIONS); model.addAttribute("searchResultsPerPageOptions", SEARCH_RESULTS_PER_PAGE_OPTIONS);
model.addAttribute("autoBackupTimes", AutoBackupTime.values());
return "settings/settings"; return "settings/settings";
} }
...@@ -226,6 +230,7 @@ public class SettingsController extends BaseController ...@@ -226,6 +230,7 @@ public class SettingsController extends BaseController
model.addAttribute("settings", settingsService.getSettings()); model.addAttribute("settings", settingsService.getSettings());
model.addAttribute("searchResultsPerPageOptions", SEARCH_RESULTS_PER_PAGE_OPTIONS); model.addAttribute("searchResultsPerPageOptions", SEARCH_RESULTS_PER_PAGE_OPTIONS);
model.addAttribute("autoBackupTimes", AutoBackupTime.values());
return "settings/settings"; return "settings/settings";
} }
...@@ -235,6 +240,7 @@ public class SettingsController extends BaseController ...@@ -235,6 +240,7 @@ public class SettingsController extends BaseController
model.addAttribute("importDatabase", true); model.addAttribute("importDatabase", true);
model.addAttribute("settings", settingsService.getSettings()); model.addAttribute("settings", settingsService.getSettings());
model.addAttribute("searchResultsPerPageOptions", SEARCH_RESULTS_PER_PAGE_OPTIONS); model.addAttribute("searchResultsPerPageOptions", SEARCH_RESULTS_PER_PAGE_OPTIONS);
model.addAttribute("autoBackupTimes", AutoBackupTime.values());
return "settings/settings"; return "settings/settings";
} }
...@@ -262,6 +268,7 @@ public class SettingsController extends BaseController ...@@ -262,6 +268,7 @@ public class SettingsController extends BaseController
model.addAttribute("errorImportDatabase", e.getMessage()); model.addAttribute("errorImportDatabase", e.getMessage());
model.addAttribute("settings", settingsService.getSettings()); model.addAttribute("settings", settingsService.getSettings());
model.addAttribute("searchResultsPerPageOptions", SEARCH_RESULTS_PER_PAGE_OPTIONS); model.addAttribute("searchResultsPerPageOptions", SEARCH_RESULTS_PER_PAGE_OPTIONS);
model.addAttribute("autoBackupTimes", AutoBackupTime.values());
return "settings/settings"; return "settings/settings";
} }
} }
...@@ -282,6 +289,7 @@ public class SettingsController extends BaseController ...@@ -282,6 +289,7 @@ public class SettingsController extends BaseController
request.removeAttribute("database", RequestAttributes.SCOPE_SESSION); request.removeAttribute("database", RequestAttributes.SCOPE_SESSION);
model.addAttribute("settings", settingsService.getSettings()); model.addAttribute("settings", settingsService.getSettings());
model.addAttribute("searchResultsPerPageOptions", SEARCH_RESULTS_PER_PAGE_OPTIONS); model.addAttribute("searchResultsPerPageOptions", SEARCH_RESULTS_PER_PAGE_OPTIONS);
model.addAttribute("autoBackupTimes", AutoBackupTime.values());
return "settings/settings"; return "settings/settings";
} }
...@@ -299,6 +307,7 @@ public class SettingsController extends BaseController ...@@ -299,6 +307,7 @@ public class SettingsController extends BaseController
model.addAttribute("updateString", Localization.getString("info.text.update", Build.getInstance().getVersionName(), budgetMasterUpdateService.getAvailableVersionString())); model.addAttribute("updateString", Localization.getString("info.text.update", Build.getInstance().getVersionName(), budgetMasterUpdateService.getAvailableVersionString()));
model.addAttribute("settings", settingsService.getSettings()); model.addAttribute("settings", settingsService.getSettings());
model.addAttribute("searchResultsPerPageOptions", SEARCH_RESULTS_PER_PAGE_OPTIONS); model.addAttribute("searchResultsPerPageOptions", SEARCH_RESULTS_PER_PAGE_OPTIONS);
model.addAttribute("autoBackupTimes", AutoBackupTime.values());
return "settings/settings"; return "settings/settings";
} }
......
...@@ -179,6 +179,7 @@ settings.backup.auto.deactivated=Aus ...@@ -179,6 +179,7 @@ settings.backup.auto.deactivated=Aus
settings.backup.auto.activated=An settings.backup.auto.activated=An
settings.backup.auto.days=Intervall in Tagen settings.backup.auto.days=Intervall in Tagen
settings.backup.auto.time=Uhrzeit settings.backup.auto.time=Uhrzeit
settings.backup.auto.time.short={0} Uhr
settings.backup.auto.files.to.keep=Anzahl aufzubewahrender Backups (0 für unbegrenzt) settings.backup.auto.files.to.keep=Anzahl aufzubewahrender Backups (0 für unbegrenzt)
settings.database.import=Importieren settings.database.import=Importieren
......
...@@ -179,6 +179,7 @@ settings.backup.auto.deactivated=Off ...@@ -179,6 +179,7 @@ settings.backup.auto.deactivated=Off
settings.backup.auto.activated=On settings.backup.auto.activated=On
settings.backup.auto.days=Interval in days settings.backup.auto.days=Interval in days
settings.backup.auto.time=Time of day settings.backup.auto.time=Time of day
settings.backup.auto.time.short={0} o'clock
settings.backup.auto.files.to.keep=Number of backups to keep (0 for unlimited) settings.backup.auto.files.to.keep=Number of backups to keep (0 for unlimited)
settings.database.import=Import settings.database.import=Import
......
...@@ -120,7 +120,15 @@ ...@@ -120,7 +120,15 @@
</script> </script>
<div class="input-field col s12 m12 l8 offset-l2"> <div class="input-field col s12 m12 l8 offset-l2">
<input id="settings-backup-auto-time" type="text" name="autoBackupTime" <@validation.validation "autoBackupTime"/> value="<#if settings.getAutoBackupActivated()??>${settings.getAutoBackupTime().name()}</#if>"> <select id="settings-backup-auto-time" name="autoBackupTime" <@validation.validation "autoBackupTime"/>>
<#list autoBackupTimes as time>
<#if settings.getAutoBackupTime() == time>
<option selected value="${time}">${time.getLocalized()}</option>
<#else>
<option value="${time}">${time.getLocalized()}</option>
</#if>
</#list>
</select>
<label for="settings-backup-auto-time">${locale.getString("settings.backup.auto.time")}</label> <label for="settings-backup-auto-time">${locale.getString("settings.backup.auto.time")}</label>
</div> </div>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment