diff --git a/routes/project.ts b/routes/project.ts index 7a4b437acbcff08fcade47980697e6e42d08d717..1138257b1567d70d6cf6f11e762ca9c3ec1d2853 100644 --- a/routes/project.ts +++ b/routes/project.ts @@ -1,5 +1,4 @@ //const SamlStrategy = require('passport-saml').Strategy -import async from 'async' import methods from '../functions/methods' import gitlab from '../functions/gitlab' import helpers from '../functions/helpers' @@ -12,81 +11,64 @@ module.exports = function (app:any, lang:string) { res.render(lang+'/project/project-simplified') }) - app.get('/mailinglists', function (req:any, res:any) { - async.waterfall([ - function(done:any) { - methods.getAllMailinglists(function(mailinglistOverview:any, err:any) { - if (!err) { - done(err, mailinglistOverview) - } - }) - }, - // create JSON object of mailinglists for front-end - function(mailinglistOverview:any) { - var allMailingLists = [] // JSON object - for (let i = 0; i < mailinglistOverview.length; i++) { - // add data to JSON object - allMailingLists.push({ - id: mailinglistOverview[i].id, - name: mailinglistOverview[i].name, - src: mailinglistOverview[i].src, - projectstatus: mailinglistOverview[i].projectstatus, - project_title: mailinglistOverview[i].project_title, - keywords: mailinglistOverview[i].keywords - }); - } - - res.render(lang+'/project/mailinglists', { - //isUserAuthenticated: req.isAuthenticated(), - //user: req.user, - mailinglists: allMailingLists + app.get('/mailinglists', async function (req:any, res:any) { + let mailList = await methods.getAllMailinglists() + if (mailList) { + let allMailingLists = [] // JSON object + for (let i = 0; i < mailList.length; i++) { + // add data to JSON object + allMailingLists.push({ + id: mailList[i].id, + name: mailList[i].name, + src: mailList[i].src, + projectstatus: mailList[i].projectstatus, + project_title: mailList[i].project_title, + keywords: mailList[i].keywords }); } - ]) + + res.render(lang+'/project/mailinglists', { + //isUserAuthenticated: req.isAuthenticated(), + //user: req.user, + mailinglists: allMailingLists + }); + } else { + res.render(lang+'/project/mailinglists', { + //isUserAuthenticated: req.isAuthenticated(), + //user: req.user, + mailinglists: null + }) + } }) - app.get('/projectoverview', function(req:any, res:any){ - async.waterfall([ - function(done:any) { - methods.getProjectOverviewById(req.query.projectID, function(projectOverview:any, err:any) { - if (!err) { - done(err, projectOverview) - } - }) - }, - function(projectOverview:any, done:any){ - methods.getProjectImagesById(req.query.projectID, function(projectImages:any, err:any) { - if (!err) { - done(err, projectImages, projectOverview) - } - }) - }, - // render projectOverview page - function(projectImages:any, projectOverview:any) { - //console.log(projectImages) - let partnerWebsites = helpers.stringToArray(projectOverview[0].partner_website) - let partnerNames = helpers.stringToArray(projectOverview[0].partner_name) - let awardSites = helpers.stringToArray(projectOverview[0].award_website) - let awardNames = helpers.stringToArray(projectOverview[0].award_name) - let sponsorWebsites = helpers.stringToArray(projectOverview[0].sponsor_website) - let sponsorImgs = helpers.stringToArray(projectOverview[0].sponsor_img) - let sponsorNames = helpers.stringToArray(projectOverview[0].sponsor_name) - - res.render(lang+'/project/projectOverview', { - //isUserAuthenticated: req.isAuthenticated(), - //user: req.user, - projectOV: projectOverview, - projectImgs: projectImages, - partnerWS: partnerWebsites, - partnerN: partnerNames, - awardWS: awardSites, - awardN: awardNames, - sponsorWS: sponsorWebsites, - sponsorIMG: sponsorImgs, - sponsorN: sponsorNames - }); - } - ]) + app.get('/projectoverview', async function(req:any, res:any){ + let projectOverview = await methods.getProjectOverviewById(req.query.projectID) + if (projectOverview.length > 0) { + let partnerWebsites = helpers.stringToArray(projectOverview[0].partner_website) + let partnerNames = helpers.stringToArray(projectOverview[0].partner_name) + let awardSites = helpers.stringToArray(projectOverview[0].award_website) + let awardNames = helpers.stringToArray(projectOverview[0].award_name) + let sponsorWebsites = helpers.stringToArray(projectOverview[0].sponsor_website) + let sponsorImgs = helpers.stringToArray(projectOverview[0].sponsor_img) + let sponsorNames = helpers.stringToArray(projectOverview[0].sponsor_name) + + let projectImages = await methods.getProjectImagesById(req.query.projectID) + res.render(lang+'/project/projectOverview', { + //isUserAuthenticated: req.isAuthenticated(), + //user: req.user, + projectOV: projectOverview, + projectImgs: projectImages, + partnerWS: partnerWebsites, + partnerN: partnerNames, + awardWS: awardSites, + awardN: awardNames, + sponsorWS: sponsorWebsites, + sponsorIMG: sponsorImgs, + sponsorN: sponsorNames + }); + } else { + res.redirect('/') + } }) // Projektdaten