From f2f60ce92adae3fae42ff475b930e344cb701aaf Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Fri, 14 Dec 2018 17:05:44 +0000
Subject: [PATCH] Configuration: show test data.

---
 borgbutler-server/src/main/java/de/micromata/borgbutler/server/ServerConfiguration.java        |    6 ++++++
 borgbutler-server/src/main/java/de/micromata/borgbutler/server/ServerConfigurationHandler.java |    5 +++++
 borgbutler-webapp/src/components/views/config/ConfigurationServerTab.jsx                       |    7 +++++++
 3 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/ServerConfiguration.java b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/ServerConfiguration.java
index 53c01d6..516db28 100644
--- a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/ServerConfiguration.java
+++ b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/ServerConfiguration.java
@@ -1,5 +1,7 @@
 package de.micromata.borgbutler.server;
 
+import lombok.Getter;
+import lombok.Setter;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -12,6 +14,9 @@
     private static String applicationHome;
 
     private int port;
+    @Getter
+    @Setter
+    private boolean showTestData = true;
     private boolean webDevelopmentMode = false;
     private boolean templatesDirModified = false;
 
@@ -64,6 +69,7 @@
 
     public void copyFrom(ServerConfiguration other) {
         this.port = other.port;
+        this.showTestData = other.showTestData;
         this.webDevelopmentMode = other.webDevelopmentMode;
     }
 }
diff --git a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/ServerConfigurationHandler.java b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/ServerConfigurationHandler.java
index ff58c65..b8570ce 100644
--- a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/ServerConfigurationHandler.java
+++ b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/ServerConfigurationHandler.java
@@ -16,6 +16,8 @@
     public static final int WEBSERVER_PORT_DEFAULT = 8042;
     private static final String LANGUAGE_PREF = "language";
     private static final String LANGUAGE_DEFAULT = null;
+    private static final String SHOW_TEST_DATA_PREF = "show-test-data";
+    private static final boolean SHOW_TEST_DATA_PREF_DEFAULT = true;
     private static final String WEB_DEVELOPMENT_MODE_PREF = "web-development-mode";
     private static final boolean WEB_DEVELOPMENT_MODE_PREF_DEFAULT = false;
 
@@ -51,6 +53,7 @@
 
     public void load() {
         configuration.setPort(preferences.getInt(WEBSERVER_PORT_PREF, WEBSERVER_PORT_DEFAULT));
+        configuration.setShowTestData(preferences.getBoolean(SHOW_TEST_DATA_PREF, SHOW_TEST_DATA_PREF_DEFAULT));
         configuration.setWebDevelopmentMode(preferences.getBoolean(WEB_DEVELOPMENT_MODE_PREF, WEB_DEVELOPMENT_MODE_PREF_DEFAULT));
         configuration.resetModifiedFlag();
     }
@@ -58,6 +61,7 @@
     public void save() {
         log.info("Saving configuration to user prefs.");
         preferences.putInt(WEBSERVER_PORT_PREF, configuration.getPort());
+        preferences.putBoolean(SHOW_TEST_DATA_PREF, configuration.isShowTestData());
         preferences.putBoolean(WEB_DEVELOPMENT_MODE_PREF, configuration.isWebDevelopmentMode());
         try {
             preferences.flush();
@@ -98,6 +102,7 @@
         log.warn("Removes all configuration settings from user prefs.");
         preferences.remove(WEBSERVER_PORT_PREF);
         preferences.remove(LANGUAGE_PREF);
+        preferences.remove(SHOW_TEST_DATA_PREF);
         preferences.remove(WEB_DEVELOPMENT_MODE_PREF);
         for(String extraKey : extraPreferences) {
             preferences.remove(extraKey);
diff --git a/borgbutler-webapp/src/components/views/config/ConfigurationServerTab.jsx b/borgbutler-webapp/src/components/views/config/ConfigurationServerTab.jsx
index 407ec24..e876ffa 100644
--- a/borgbutler-webapp/src/components/views/config/ConfigurationServerTab.jsx
+++ b/borgbutler-webapp/src/components/views/config/ConfigurationServerTab.jsx
@@ -66,6 +66,7 @@
             loading: true,
             failed: false,
             port: 8042,
+            showTestData: true,
             webDevelopmentMode: false,
             directoryItems: [],
             redirect: false,
@@ -115,6 +116,7 @@
     save() {
         var config = {
             port: this.state.port,
+            showTestData: this.state.showTestData,
             webDevelopmentMode: this.state.webDevelopmentMode,
             templatesDirs: []
         };
@@ -179,6 +181,11 @@
 
         return (
             <form>
+                <FormLabelField label={<I18n name={'configuration.showTestData'}/>} fieldLength={2}>
+                    <FormCheckbox checked={this.state.showTestData}
+                                  name="showTestData"
+                                  onChange={this.handleCheckboxChange}/>
+                </FormLabelField>
                 <FormLabelField>
                     <FormButton id={'clearAllCaches'} onClick={this.onClearAllCaches}> Clear all caches
                     </FormButton>

--
Gitblit v1.10.0