From 4b5e373bf5baad3da7f805d16193285a0273cb4e Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Fri, 26 Mar 2021 20:35:22 +0100
Subject: [PATCH] fixed creation of new roadmap

---
 api/blueprints/RoadmapAPI.py  | 6 ++++--
 api/logic/Database.py         | 6 +++---
 client/blueprints/Roadmaps.py | 4 +++-
 3 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/api/blueprints/RoadmapAPI.py b/api/blueprints/RoadmapAPI.py
index b584697..aaeeafa 100644
--- a/api/blueprints/RoadmapAPI.py
+++ b/api/blueprints/RoadmapAPI.py
@@ -91,7 +91,8 @@ def construct_blueprint(database):
     def add_roadmap():
         try:
             parameters = RequestValidator.validate(request, [RoadmapParameters.PROJECT_NAME.value,
-                                                             RoadmapParameters.START_DATE.value])
+                                                             RoadmapParameters.START_DATE.value,
+                                                             RoadmapParameters.HIDDEN.value])
         except ValidationError as e:
             return e.response, 400
 
@@ -99,7 +100,8 @@ def construct_blueprint(database):
             return jsonify({'success': False, 'msg': 'A roadmap with this name already exists'}), 400
 
         database.add_roadmap(parameters[RoadmapParameters.PROJECT_NAME.value],
-                             parameters[RoadmapParameters.START_DATE.value])
+                             parameters[RoadmapParameters.START_DATE.value],
+                             parameters[RoadmapParameters.HIDDEN.value])
         return jsonify({'success': True})
 
     @roadmap_api.route('/roadmap/<int:roadmapID>', methods=['DELETE'])
diff --git a/api/logic/Database.py b/api/logic/Database.py
index c225d8b..3f41544 100644
--- a/api/logic/Database.py
+++ b/api/logic/Database.py
@@ -162,9 +162,9 @@ class Database:
         query = f'SELECT * FROM roadmaps WHERE "{RoadmapParameters.ID.value}"=%s;'
         return self._query(query, roadmapID, fetch_type=FetchType.ONE)
 
-    def add_roadmap(self, name, startDate):
-        query = f'INSERT INTO roadmaps ("{RoadmapParameters.PROJECT_NAME.value}", "{RoadmapParameters.START_DATE.value}") VALUES (%s, %s);'
-        self._query(query, name, startDate, fetch_type=FetchType.NONE)
+    def add_roadmap(self, name, startDate, hidden):
+        query = f'INSERT INTO roadmaps ("{RoadmapParameters.PROJECT_NAME.value}", "{RoadmapParameters.START_DATE.value}", "{RoadmapParameters.HIDDEN.value}") VALUES (%s, %s, %s);'
+        self._query(query, name, startDate, hidden, fetch_type=FetchType.NONE)
 
     def update_roadmap(self, roadmapID, name, hidden, startDate):
         query = f'UPDATE roadmaps SET "{RoadmapParameters.PROJECT_NAME.value}"=%s, "{RoadmapParameters.HIDDEN.value}"=%s,"{RoadmapParameters.START_DATE.value}"=%s WHERE "{RoadmapParameters.ID.value}"=%s;'
diff --git a/client/blueprints/Roadmaps.py b/client/blueprints/Roadmaps.py
index d4fd078..8c54c1f 100644
--- a/client/blueprints/Roadmaps.py
+++ b/client/blueprints/Roadmaps.py
@@ -27,7 +27,9 @@ def construct_blueprint(urlBuilder):
     def add_post():
         success, response = ApiRequest.send_api_request(urlBuilder.build_url('roadmap'),
                                                         requests.post, request.form,
-                                                        [('Projectname', str)])
+                                                        [('Projectname', str),
+                                                         ('StartDate', str),
+                                                         ('Hidden', bool)])
         if not success:
             return response
         return redirect(url_for('admin_roadmaps.overview'))
-- 
GitLab