From 5c517cb4ec700eb29b9c0052252f7f8b2b2689f6 Mon Sep 17 00:00:00 2001
From: Rosanny <rosanny.sihombing@hft-stuttgart.de>
Date: Thu, 26 Mar 2020 16:29:39 +0100
Subject: [PATCH] fixing upload pictures

---
 routes/routes-project.js | 79 ++++++++++++++++++++++++----------------
 1 file changed, 48 insertions(+), 31 deletions(-)

diff --git a/routes/routes-project.js b/routes/routes-project.js
index 5cc700e0..9cb49659 100644
--- a/routes/routes-project.js
+++ b/routes/routes-project.js
@@ -164,12 +164,35 @@ module.exports = function (app) {
 
       var projectLogo = req.files.logo
       var projectPicture = req.files.src
-      // TEST PATH FOR DEVELOPMENT (LOCALHOST)
-      var projectLogoPath = './folder-in-server-to-save-projektlogo/'+req.body.pname+'/'+projectLogo.name
-      var projectPicturePath = './folder-in-server-to-save-projektbild/'+req.body.pname+'/'+projectPicture.name
-      // PATH FOR TEST/LIVE SERVER
-      // var projectLogoPath = to-be-defined
-      // var projectPicturePath = to-be-defined
+      var projectLogoPath, projectPicturePath
+      
+      if (projectLogo) {
+        // raise error if size limit is exceeded
+        if (projectLogo.size === pictSizeLimit) {
+          req.flash('error', 'Projektlogo exceeds 1 MB');
+          res.redirect('/addprojectoverview');
+        }
+        else {
+          // TEST PATH FOR DEVELOPMENT (LOCALHOST)
+          projectLogoPath = './folder-in-server-to-save-projektlogo/'+req.body.pname+'/'+projectLogo.name
+          // PATH FOR TEST/LIVE SERVER
+          // var projectLogoPath = to-be-defined
+        }
+      }
+      if (projectPicture) {
+        // raise error if size limit is exceeded
+        if (projectPicture.size === pictSizeLimit) {
+          req.flash('error', 'Projektbild exceeds 1 MB');
+          res.redirect('/addprojectoverview');
+        }
+        else {
+          // TEST PATH FOR DEVELOPMENT (LOCALHOST)
+          projectPicturePath = './folder-in-server-to-save-projektbild/'+req.body.pname+'/'+projectPicture.name
+          // PATH FOR TEST/LIVE SERVER
+          // var projectPicturePath = to-be-defined
+        }
+        
+      }
       
       var projectTerm = req.body.termForm + " - " + req.body.termTo
       var projectOverviewData = {
@@ -197,34 +220,28 @@ module.exports = function (app) {
         leader_email: req.body.leaderEmail
       }
       
-      // raise error if limit is exceeded
-      if (projectLogo && projectLogo.size === pictSizeLimit) {
-        req.flash('error', 'Projektlogo exceeds 1 MB');
-        res.redirect('/addprojectoverview');
+      // save pictures
+      if (projectLogo) {
+        projectLogo.mv(projectLogoPath, function(err) {
+          if (err) {
+            console.error(err)
+            res.status(500).render(lang+'/500', {
+              error: err
+            })
+          }
+        });
       }
-      if (projectPicture && projectPicture.size === pictSizeLimit) {
-        req.flash('error', 'Projektbild exceeds 1 MB');
-        res.redirect('/addprojectoverview');
+      if (projectPicture) {
+        projectPicture.mv(projectPicturePath, function(err) {
+          if (err) {
+            console.error(err)
+            res.status(500).render(lang+'/500', {
+              error: err
+            })
+          }
+        });
       }
 
-      // save pictures
-      projectLogo.mv('./folder-in-server-to-save-projektlogo/'+req.body.pname+'/'+projectLogo.name, function(err) {
-        if (err) {
-          console.error(err)
-          res.status(500).render(lang+'/500', {
-            error: err
-          })
-        }
-      });
-      projectPicture.mv('./folder-in-server-to-save-projektbild/'+req.body.pname+'/'+projectPicture.name, function(err) {
-        if (err) {
-          console.error(err)
-          res.status(500).render(lang+'/500', {
-            error: err
-          })
-        }
-      });
-
       /* RS: Temporary solution while Project DB is still in early phase.
               When User DB and Project DB are integrated and quite stabil, this operation should be done in 1 transaction.
       */
-- 
GitLab