From 905fb7f5389b972a15c20dfebc4a0fd11016b479 Mon Sep 17 00:00:00 2001
From: Audrey Hamelers <hamelers@ebi.ac.uk>
Date: Mon, 21 Jun 2021 16:37:43 +0100
Subject: [PATCH] #1188

---
 app/components/manage-site/ConfigurationForm.jsx | 9 +++------
 server/xpub-model/seeds/config_seed.js           | 6 ++++++
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/app/components/manage-site/ConfigurationForm.jsx b/app/components/manage-site/ConfigurationForm.jsx
index 52a135b9a..5a8f3b93e 100644
--- a/app/components/manage-site/ConfigurationForm.jsx
+++ b/app/components/manage-site/ConfigurationForm.jsx
@@ -231,12 +231,9 @@ const SchemaSorter = ({
                 updateVal={val => {
                   const { name: n, value: v } = val
                   value[n] = v
-                  if (
-                    v === '' &&
-                    (!schema.required || !schema.required.includes(n))
-                  ) {
-                    delete value[n]
-                  }
+                  const empty = ['""', '{}', '[]']
+                  const str = JSON.stringify(v)
+                  if (empty.includes(str)) delete value[n]
                   updateVal({ name, value })
                 }}
                 value={value[k]}
diff --git a/server/xpub-model/seeds/config_seed.js b/server/xpub-model/seeds/config_seed.js
index 21cf7b6a8..dc94f2ead 100644
--- a/server/xpub-model/seeds/config_seed.js
+++ b/server/xpub-model/seeds/config_seed.js
@@ -37,6 +37,7 @@ exports.seed = async (knex, Promise) => {
                 description: 'Time (00:00:00)',
               },
             },
+            required: ['date', 'time'],
             description: 'Start date for notification (optional)',
           },
           stopDate: {
@@ -59,9 +60,11 @@ exports.seed = async (knex, Promise) => {
                 description: 'Time (00:00:00)',
               },
             },
+            required: ['date', 'time'],
             description: 'End date for notification (optional)',
           },
         },
+        dependencies: { stopDate: ['startDate'] },
         required: ['display', 'kind', 'message'],
       }),
       value: JSON.stringify({
@@ -92,6 +95,7 @@ exports.seed = async (knex, Promise) => {
                 description: 'Time (00:00:00)',
               },
             },
+            required: ['date', 'time'],
             description: 'Start date for holiday message',
           },
           stopDate: {
@@ -114,9 +118,11 @@ exports.seed = async (knex, Promise) => {
                 },
               },
             },
+            required: ['date', 'time'],
             description: 'End date for holiday message',
           },
         },
+        dependencies: { stopDate: ['startDate'] },
         required: ['display', 'startDate', 'stopDate'],
       }),
       value: JSON.stringify({
-- 
GitLab