diff --git a/public/default/logo.png b/public/default/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..49d1a2c4816f76a799d3063b4c3f8fb37962f709 Binary files /dev/null and b/public/default/logo.png differ diff --git a/routes/routes-account.js b/routes/routes-account.js index 007e195d5cf6229c3f949caaf48b96a41926af82..24502b7ad61612d3424429ceeb305f66778da7ae 100644 --- a/routes/routes-account.js +++ b/routes/routes-account.js @@ -12,6 +12,7 @@ const async = require('async') const crypto = require('crypto') const mailer = require('./mailer') const logoDir = 'public/upload/' +const defaultLogo = 'public/default/logo.png' const tpGitlabURL = 'https://transfer.hft-stuttgart.de/gitlab/' const tpGitlabPagesURL = 'https://transfer.hft-stuttgart.de/pages/' @@ -493,46 +494,49 @@ module.exports = function (app, config, passport, i18n) { let projectDesc = req.body.description let projectTemplate = req.body.template let newInformation = new projectInformation(loggedInUser.getGitlabUserId(), null, projectName, projectDesc, null, null) - - if (!req.files) { - res.flash('error', 'Bitte geben Sie ein Projektlogo an.') - res.redirect('/account/newInformation') - } else { - let newLogoFile = req.files.logo - async.waterfall([ - function(callback){ // upload logo + let newLogoFile = defaultLogo + + if (req.files) { newLogoFile = req.files.logo } + + async.waterfall([ + function(callback){ // upload logo + if (!req.files) { + callback(null, newLogoFile) + } else { newLogoFile.mv(logoDir + newLogoFile.name, function(err) { newLogoFile = logoDir+newLogoFile.name callback(err, newLogoFile) }) - }, - async function(newLogoFile){ // create a new GitLab Page - let newPages = await gitlab.createNewPages(newInformation, newLogoFile, projectTemplate) - if (newPages.error) { - if(newPages.data.message.name == "has already been taken") { - res.flash("error", "Der Projektname '"+newInformation.getName()+"' ist bereits vergeben, bitte wählen Sie einen anderen Namen.") - } else { - res.flash("error", "Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut. ") - } - res.redirect('/account/newInformation') + } + }, + async function(newLogoFile){ // create a new GitLab Page + let newPages = await gitlab.createNewPages(newInformation, newLogoFile, projectTemplate) + if (newPages.error) { + if(newPages.data.message.name == "has already been taken") { + res.flash("error", "Der Projektname '"+newInformation.getName()+"' ist bereits vergeben, bitte wählen Sie einen anderen Namen.") } else { - let newPagesData = newPages.data - - res.flash("success", "Ihre Webseite wurde erstellt, aber noch nicht veröffentlicht. Um Ihre Webseite endgültig zu veröffentlichen, "+ - "schließen Sie die Einrichtung gemäß unten stehender Anleitung ab.") - /* res.flash("success", "Your website will be published AFTER you complete your website by following the provided guideline below."+ - "\r\n Your website URL: "+tpGitlabPagesURL+newPagesData.path_with_namespace+"/home/") */ - res.redirect('/account/updateInformation?id='+newPagesData.id) + res.flash("error", "Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut. ") } + res.redirect('/account/newInformation') + } else { + let newPagesData = newPages.data + + res.flash("success", "Ihre Webseite wurde erstellt, aber noch nicht veröffentlicht. Um Ihre Webseite endgültig zu veröffentlichen, "+ + "schließen Sie die Einrichtung gemäß unten stehender Anleitung ab.") + /* res.flash("success", "Your website will be published AFTER you complete your website by following the provided guideline below."+ + "\r\n Your website URL: "+tpGitlabPagesURL+newPagesData.path_with_namespace+"/home/") */ + res.redirect('/account/updateInformation?id='+newPagesData.id) } - ], function (err) { - if(err) console.log(err) - // remove logo + } + ], function (err) { + if(err) console.log(err) + // remove logo + if (req.files) { fs.unlink(newLogoFile, (err) => { if(err) console.log(err) }) - }) - } + } + }) } } }) diff --git a/views/DE/account/newInformation.pug b/views/DE/account/newInformation.pug index 3f14905f3ef99ef2c8961fac99e708477adee8b6..14fead832e85203b5cde6cf1e30a5a77e26c8bde 100644 --- a/views/DE/account/newInformation.pug +++ b/views/DE/account/newInformation.pug @@ -80,6 +80,7 @@ html(lang="de") img(src=defaultLogo, width="100" height="100") div(class="form-group row px-3") input#logo(name="logo", class="form-control-file", type="file") + p <small>(Max file size is 80 KB.)</small> input(type="submit", class="btn btn-primary", value="Senden") hr div(class="mx-4", style="color: gray;") diff --git a/views/DE/account/updateInformation.pug b/views/DE/account/updateInformation.pug index d2a4fd152b4ce07d531453c54d907661ba40100e..acd0a143ac6807f3058dc20e7ef90343e3a0d368 100644 --- a/views/DE/account/updateInformation.pug +++ b/views/DE/account/updateInformation.pug @@ -67,6 +67,7 @@ html(lang="de") img(src=information.logo, width="100" height="100") div(class="form-group row") input#logo(name="logo", class="form-control-file", type="file") + p <small>(Max file size is 80 KB.)</small> input(type="submit", class="btn btn-primary", value="Speichern") hr div(class="mx-4")