From 0d399c21bcc93dd7652638490af844b1d6664db3 Mon Sep 17 00:00:00 2001 From: Rosanny <rosanny.sihombing@hft-stuttgart.de> Date: Wed, 25 Mar 2020 18:10:26 +0100 Subject: [PATCH 01/19] small UI fix --- views/DE/project/addProjectOverview.pug | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/views/DE/project/addProjectOverview.pug b/views/DE/project/addProjectOverview.pug index 08a39171..9ed2c76e 100644 --- a/views/DE/project/addProjectOverview.pug +++ b/views/DE/project/addProjectOverview.pug @@ -43,12 +43,12 @@ html(lang="de") for error, i in errors div.alert.alert-danger.alert-dismissible.fade.show #{ error } a(class="close", href="#", data-dismiss="alert", aria-label="close") × - form(method="POST") + form(method="POST" encType="multipart/form-data") div(class='form-row') div(class='form-group col-md-12') - input#inputPname(name="pname" class="form-control" type="text" placeholder="Projekttitel*" required) + input#inputPname(name="title" class="form-control" type="text" placeholder="Projekttitel*" required) div(class="form-group col-md-12") - input#inputTitle(name="title" class="form-control" type="text" placeholder="Akronym*" required) + input#inputTitle(name="pname" class="form-control" type="text" placeholder="Akronym*" required) div(class="form-group col-md-12") input#inputSummary(name="summary" class="form-control" type="text" placeholder="Kurzbeschreibung") div(class='form-group col-md-12') @@ -59,7 +59,10 @@ html(lang="de") option(value="Lehr Projekt") Lehr Projekt option(value="Transfer-projekt") Transfer-projekt div(class="form-group col-md-12") - input#inputLogo(name="logo" class="form-control" type="text" placeholder="Projektlogo, to be implemented: upload picture") + div(class='form-group row') + label(for="projectLogo" class="col-sm-3 col-form-label") Projektlogo (max. 1 MB) + div(class="col-md-9") + input#inputLogo(name="logo" class="form-control" type="file") div(class="form-group col-md-12") div(class="input-group mb-3") input#inputGitlabURL(name="gitlabURL" type="text" class="form-control" placeholder="M4_LAB GitLab Project URL, z.B. https://transfer.hft-stuttgart.de/gitlab/username/projectname") @@ -85,12 +88,11 @@ html(lang="de") div(class='form-group col-md-12') input#inputAnnouncement(name="announcement" class="form-control" type="text" rows="5" placeholder="Ausschreibung") div(class="form-group col-md-12") - div(class='form-row') - div(class="form-group col-md-2") - <p class="font-weight-normal">Laufzeit</p> - div(class="form-group col-md-5") + div(class='form-group row') + label(for="projectLogo" class="col-sm-2 col-form-label") Laufzeit + div(class="col-md-5") input#inputTermFrom(name="termForm" class="form-control" type="text" placeholder="von (dd.mm.yyyy)") - div(class="form-group col-md-5") + div(class="col-md-5") input#inputTermTo(name="termTo" class="form-control" type="text" placeholder="bis (dd.mm.yyyy)") div(class='form-group col-md-12') textarea#inputFurtherDetails(name="furtherDetails" class="form-control" type="text" rows="5" placeholder="Weitere Informationen (bspw. Links zu Berichten)") @@ -99,7 +101,10 @@ html(lang="de") h5(class="mb-3 font-weight-bold") Bilder div(class='form-row') div(class="form-group col-md-12") - input#inputSrc(name="src" class="form-control" type="text" placeholder="To be implemented: upload picture") + div(class='form-group row') + label(for="projectPicture" class="col-sm-3 col-form-label") Projektbild (max. 1 MB) + div(class="col-md-9") + input#inputSrc(name="src" class="form-control" type="file") div(class="form-group col-md-12") input#inputCaption(name="caption" class="form-control" type="text" placeholder="Bildunterschrift/Bildquelle") h5(class="mb-3 font-weight-bold") Kontakt -- GitLab From bf400ba45950e85cc0703354a562238779e7c7e3 Mon Sep 17 00:00:00 2001 From: Rosanny <rosanny.sihombing@hft-stuttgart.de> Date: Wed, 25 Mar 2020 22:09:03 +0100 Subject: [PATCH 02/19] fix MLAB-147 (upload picture) --- app.js | 12 +++++++++++- package.json | 1 + routes/routes-project.js | 42 ++++++++++++++++++++++++++++++++++++---- 3 files changed, 50 insertions(+), 5 deletions(-) diff --git a/app.js b/app.js index f3ed756b..68d3e944 100644 --- a/app.js +++ b/app.js @@ -8,6 +8,8 @@ const bodyParser = require('body-parser'); const session = require('express-session'); const errorhandler = require('errorhandler'); const flash = require('express-flash'); +const fileUpload = require('express-fileupload'); + const i18n = require('i18n'); // internationalization i18n.configure({ locales:['de', 'en'], @@ -22,12 +24,20 @@ var app = express(); app.set('port', config.app.port); app.set('views', __dirname + '/views'); app.set('view engine', 'pug'); + +// enable files upload +app.use(fileUpload({ + createParentPath: true, + limits: { + fileSize: 1000000 // 1 MB max. file size + } +})); + app.use(morgan('combined')); app.use(cookieParser()); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({extended: false})); app.use(express.static(path.join(__dirname, 'public'))); - app.use(i18n.init); app.use((req, res, next) => { res.setLocale('de'); diff --git a/package.json b/package.json index 2c3a2562..2df85495 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "crypto": "^1.0.1", "errorhandler": "1.4.3", "express": "^4.17.1", + "express-fileupload": "^1.1.6", "express-flash": "0.0.2", "express-session": "^1.17.0", "fs": "0.0.1-security", diff --git a/routes/routes-project.js b/routes/routes-project.js index 95534ff5..e15525e1 100644 --- a/routes/routes-project.js +++ b/routes/routes-project.js @@ -1,5 +1,6 @@ const methods = require('./methods') const async = require('async') +const pictSizeLimit = 1000000 // 1 MB module.exports = function (app) { @@ -38,7 +39,7 @@ module.exports = function (app) { ]) }); - app.get('/project_', function (req, res) { + app.get('/project', function (req, res) { async.waterfall([ // get all projects from projectdb function(done) { @@ -91,7 +92,7 @@ module.exports = function (app) { ]) }) - app.get('/project', function (req, res) { + app.get('/project_', function (req, res) { res.render(lang+'/project/project-simplified'); }) @@ -156,13 +157,18 @@ module.exports = function (app) { if (req.body.wiki) wiki = 1 + var projectLogo = req.files.logo + var projectPicture = req.files.src + 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 var projectTerm = req.body.termForm + " - " + req.body.termTo + var projectOverviewData = { pname: req.body.pname, title: req.body.title, onelinesummary: req.body.summary, category: req.body.category, - logo: req.body.logo, + logo: projectLogoPath, gitlab: req.body.gitlabURL, wiki: wiki, overview: req.body.overview, @@ -174,7 +180,7 @@ module.exports = function (app) { term: projectTerm, further_details: req.body.furtherDetails, website: req.body.website, - src: req.body.src, + src: projectPicturePath, caption: req.body.caption, contact_lastname: req.body.contactName, contact_email: req.body.contactEmail, @@ -182,6 +188,34 @@ 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'); + } + if (projectPicture && projectPicture.size === pictSizeLimit) { + req.flash('error', 'Projektbild exceeds 1 MB'); + res.redirect('/addprojectoverview'); + } + + // 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 From 4c9eca6434f38dc2294c3cb27ba722473f5186f7 Mon Sep 17 00:00:00 2001 From: Rosanny <rosanny.sihombing@hft-stuttgart.de> Date: Thu, 26 Mar 2020 09:21:38 +0100 Subject: [PATCH 03/19] fix MLAB-147 (upload picture) --- routes/routes-project.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/routes/routes-project.js b/routes/routes-project.js index e15525e1..acf57fb1 100644 --- a/routes/routes-project.js +++ b/routes/routes-project.js @@ -159,10 +159,14 @@ 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 - var projectTerm = req.body.termForm + " - " + req.body.termTo + // PATH FOR TEST/LIVE SERVER + // var projectLogoPath = to-be-defined + // var projectPicturePath = to-be-defined + var projectTerm = req.body.termForm + " - " + req.body.termTo var projectOverviewData = { pname: req.body.pname, title: req.body.title, -- GitLab 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 04/19] 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 From 162336bc3e46d6d2cf0e6386d970d30697da9f8f Mon Sep 17 00:00:00 2001 From: Rosanny <rosanny.sihombing@hft-stuttgart.de> Date: Thu, 2 Apr 2020 15:12:58 +0200 Subject: [PATCH 05/19] UI minor update: Translation --- routes/routes-account.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/routes/routes-account.js b/routes/routes-account.js index e075f04d..39fb86eb 100644 --- a/routes/routes-account.js +++ b/routes/routes-account.js @@ -292,7 +292,8 @@ module.exports = function (app, config, passport, i18n) { } else { if ( newPwd != retypePwd ) { - req.flash('error', "Passwords do no match. Please make sure you re-type your new password correctly.") + //req.flash('error', "Passwords do no match. Please make sure you re-type your new password correctly.") + req.flash('error', 'Passwörter stimmen nicht überein. Bitte stellen Sie sicher, dass Sie das Passwort beide Male genau gleich eingeben.') res.redirect('/security') } else { -- GitLab From 7192c302fc8f662b97b1dbea1b904ce45e9bf92b Mon Sep 17 00:00:00 2001 From: Rosanny <rosanny.sihombing@hft-stuttgart.de> Date: Mon, 6 Apr 2020 14:49:03 +0200 Subject: [PATCH 06/19] localhost configuration --- config/config.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/config/config.js b/config/config.js index 5c0c2cfc..839d819b 100644 --- a/config/config.js +++ b/config/config.js @@ -9,19 +9,20 @@ module.exports = { saml: { path: process.env.SAML_PATH || '/saml/SSO', entryPoint: process.env.SAML_ENTRY_POINT || 'https://m4lab.hft-stuttgart.de/idp/saml2/idp/SSOService.php', - //issuer: 'sp-account.m4lab.hft-stuttgart.de', //local metadata - issuer: 'sp-account-testing.m4lab.hft-stuttgart.de', //testing metadata + issuer: 'sp-account.m4lab.hft-stuttgart.de', //local metadata + //issuer: 'sp-account-testing.m4lab.hft-stuttgart.de', //testing metadata //issuer: 'sp-account-prod.m4lab.hft-stuttgart.de', //production metadata logoutUrl: 'https://m4lab.hft-stuttgart.de/idp/saml2/idp/SingleLogoutService.php' } }, database: { - host: 'transfer.hft-stuttgart.de', // DB host + //host: 'transfer.hft-stuttgart.de', // DB host user: 'DBManager', // DB username password: 'Stuttgart2019', // DB password port: 3306, // MySQL port dbUser: 'userdb', // User DB - host_project: 'm4lab.hft-stuttgart.de', // DB host project db + //host_project: 'm4lab.hft-stuttgart.de', // DB host project db + host_project: 'localhost', // local dbProject: 'projectDB' // Project DB }, mailer: { -- GitLab From 327d3ec697a03c60cef432af2d75fd4ff01d198d Mon Sep 17 00:00:00 2001 From: Wolfgang Knopki <wolfgang.knopki@hft-stuttgart.de> Date: Mon, 6 Apr 2020 15:11:43 +0200 Subject: [PATCH 07/19] added contact page pug --- views/DE/account/contact.pug | 81 ++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 views/DE/account/contact.pug diff --git a/views/DE/account/contact.pug b/views/DE/account/contact.pug new file mode 100644 index 00000000..da6798fd --- /dev/null +++ b/views/DE/account/contact.pug @@ -0,0 +1,81 @@ +doctype html +html(lang="de") + head + title= "Kontakt" + meta(charset="UTF-8") + meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no") + link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css") + link(rel="stylesheet", type="text/css", href="/css/bootstrap.min.css") + link(rel="stylesheet", type="text/css", href="/fonts/ionicons.min.css") + link(rel="stylesheet", type="text/css", href="/css/Contact-Form-Clean.css") + link(rel="stylesheet", type="text/css", href="/css/Testimonials.css") + link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/custom/login.css") + link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous") + style. + .collapse { + display: none; + } + .collapse.in { + display: block; + } + .collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-timing-function: ease; + -o-transition-timing-function: ease; + transition-timing-function: ease; + -webkit-transition-duration: .35s; + -o-transition-duration: .35s; + transition-duration: .35s; + -webkit-transition-property: height,visibility; + -o-transition-property: height,visibility; + transition-property: height,visibility; + } + body + div(class="container") + div(class="row") + div(class="col-md-12" style="margin-bottom: 40px;") + img(class="mx-auto" src="/img/Kontakt.jpg" width="100%") + div(class="contact-clean" style="background-color: rgb(234,234,234);") + if successes + for success in successes + div.alert.alert-success.alert-dismissible #{ success } + a(class="close", href="#", data-dismiss="alert", aria-label="close") × + if errors + for error, i in errors + div.alert.alert-danger.alert-dismissible.fade.show #{ error } + a(class="close", href="#", data-dismiss="alert", aria-label="close") × + form(method="POST") + h2(class="text_center") Kontaktieren Sie uns + div(class="form-group") + input#name(class="form-control" type="text" name="name" placeholder="Name") + div(class="form-group") + input#inputEmail(name="inputEmail", type="email", class="form-control", placeholder="E-Mail-Adresse*", maxlength="45" required) + span#emailWarning(class='warning') + div(class="form-group") + textarea#message(class="form-control" name="message" placeholder="Nachricht" rows="14") + div(class="form-group") <button class="btn btn-primary" type="submit" style="background-color: #8a348b;">SENDEN</button> + div(class="contact-clean" style="background-color: rgb(234,234,234);padding: 80px;padding-top: 0px;") + form(method="POST") + p(style="margin-top: 25px;") <strong>Hochschule für Technik Stuttgart</strong><br/>Institut für Angewandte Forschung<br/>Innovative Hochschule - Projekt M4_LAB<br/>Schellingstr. 24<br/>70174 Stuttgart<br/>Deutschland<br/><br/><a href="mailto:support-transfer@hft-stuttgart.de">support-transfer@hft-stuttgart.de</a><br/><br/><a href="https://www.hft-stuttgart.de/">www.hft-stuttgart.de</a> / <a href="https://www.hft-stuttgart.de/M4LAB">www.hft-stuttgart.de/M4LAB</a><br/> + div(style="background-color: rgba(138,52,139,0.45);") + div(class="container") + div(class="row") + div(class="col-md-4 col-lg-2") + div(class="col-md-4 col-lg-8") + div(style="background-color: #feffff;margin: 0px;padding: 60px;padding-top: 20px;padding-bottom: 20px;") + img(class="d-flex d-lg-flex justify-content-center justify-content-lg-center align-items-lg-start mx-auto" src="/img/Logo_TV1.png" width="100px" style="padding-bottom: 35px;") + h2(class="text-center" style="color: #8a348b;") <strong>Transferportal</strong> + p(class="text-center") Das Transferportal entsteht in einem Teilprojekt der Innovativen <a href="https://www.hft-stuttgart.de">Hochschule für Technik Stuttgart</a>. Im <a href="https://www.hft-stuttgart.de/forschung/innovative-hochschule-m4-lab">Innovationslabor M4_LAB</a> wird das Transferportal als eine Webpräsenz entwickelt, welches Wissen, Lösungen und Dienste für HFT-Mitglieder, externe Partner und die allgemeine Öffentlichkeit bereitstellt.<br/><br/>Es ergänzt die Informationen der allgemeinen HFT-Webseite durch konkrete Ergebnisse aus Forschung und Entwicklung, verfügbar in verschiedenster Form wie beispielsweise Daten, Dokumentationen und Software-Code.<br/><br/>Zudem stellt es Kollaborationsmittel für Projektpartner und später auch Partizipationsmöglichkeiten für die breite Öffentlichkeit bereit. + div(class="col-md-4 col-lg-2") + + + // jQuery + script(src="https://code.jquery.com/jquery-3.3.1.min.js") + script(src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js", integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1", crossorigin="anonymous") + // Bootstrap + script(src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous") + // M4_LAB + script(src="/js/registration.js") + script(src="/js/headfoot.js") -- GitLab From 1f2f6503d6954449c86a53ab92307af57619c247 Mon Sep 17 00:00:00 2001 From: Wolfgang Knopki <wolfgang.knopki@hft-stuttgart.de> Date: Mon, 6 Apr 2020 15:34:52 +0200 Subject: [PATCH 08/19] removed registration.js from contacts --- views/DE/account/contact.pug | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/views/DE/account/contact.pug b/views/DE/account/contact.pug index da6798fd..25e4dc9c 100644 --- a/views/DE/account/contact.pug +++ b/views/DE/account/contact.pug @@ -52,10 +52,10 @@ html(lang="de") input#name(class="form-control" type="text" name="name" placeholder="Name") div(class="form-group") input#inputEmail(name="inputEmail", type="email", class="form-control", placeholder="E-Mail-Adresse*", maxlength="45" required) - span#emailWarning(class='warning') div(class="form-group") textarea#message(class="form-control" name="message" placeholder="Nachricht" rows="14") - div(class="form-group") <button class="btn btn-primary" type="submit" style="background-color: #8a348b;">SENDEN</button> + div(class="form-group") + input#submitBtn(class="btn btn-primary" type="submit" style="background-color: #8a348b;" value="SENDEN") div(class="contact-clean" style="background-color: rgb(234,234,234);padding: 80px;padding-top: 0px;") form(method="POST") p(style="margin-top: 25px;") <strong>Hochschule für Technik Stuttgart</strong><br/>Institut für Angewandte Forschung<br/>Innovative Hochschule - Projekt M4_LAB<br/>Schellingstr. 24<br/>70174 Stuttgart<br/>Deutschland<br/><br/><a href="mailto:support-transfer@hft-stuttgart.de">support-transfer@hft-stuttgart.de</a><br/><br/><a href="https://www.hft-stuttgart.de/">www.hft-stuttgart.de</a> / <a href="https://www.hft-stuttgart.de/M4LAB">www.hft-stuttgart.de/M4LAB</a><br/> @@ -77,5 +77,4 @@ html(lang="de") // Bootstrap script(src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous") // M4_LAB - script(src="/js/registration.js") script(src="/js/headfoot.js") -- GitLab From e4a4e39d8af13f7340b419534b9394f0ecb8c33d Mon Sep 17 00:00:00 2001 From: Rosanny <rosanny.sihombing@hft-stuttgart.de> Date: Mon, 6 Apr 2020 15:55:35 +0200 Subject: [PATCH 09/19] activate simplified project --- routes/routes-project.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/routes/routes-project.js b/routes/routes-project.js index 9cb49659..00b2e056 100644 --- a/routes/routes-project.js +++ b/routes/routes-project.js @@ -41,7 +41,7 @@ module.exports = function (app) { ]) }); - app.get('/project', function (req, res) { + app.get('/project_', function (req, res) { async.waterfall([ // get all projects from projectdb function(done) { @@ -94,7 +94,7 @@ module.exports = function (app) { ]) }) - app.get('/project_', function (req, res) { + app.get('/project', function (req, res) { res.render(lang+'/project/project-simplified', { isUserAuthenticated: req.isAuthenticated(), user: req.user -- GitLab From 42bfd86a38a9456516c1690e0fe6661acad48b0a Mon Sep 17 00:00:00 2001 From: Varun <92srva1mst@hft-stuttgart.de> Date: Wed, 8 Apr 2020 18:19:59 +0200 Subject: [PATCH 10/19] project screen collapse changes --- views/DE/project/project-simplified.pug | 56 ++++--- views/DE/project/project.html | 192 +++++++++++++++--------- 2 files changed, 156 insertions(+), 92 deletions(-) diff --git a/views/DE/project/project-simplified.pug b/views/DE/project/project-simplified.pug index 6dead87f..222e30ca 100644 --- a/views/DE/project/project-simplified.pug +++ b/views/DE/project/project-simplified.pug @@ -7,36 +7,41 @@ html(lang="de") link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css") link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous") style. - .collapse { - display: none; - } - .collapse.in { - display: block; - } - .collapsing { - position: relative; - height: 0; - overflow: hidden; - -webkit-transition-timing-function: ease; - -o-transition-timing-function: ease; - transition-timing-function: ease; - -webkit-transition-duration: .35s; - -o-transition-duration: .35s; - transition-duration: .35s; - -webkit-transition-property: height,visibility; - -o-transition-property: height,visibility; - transition-property: height,visibility; - } - .warning { - color: red; - font-size: 11px; - } + .help .card-title > a:before { + float: right !important; + content: "-"; + padding-right: 5px; + } + .help .card-title > a.collapsed:before { + float: right !important; + content: "+"; + } + .help h3 > a { + color: #8a348b; + text-decoration: none; + display: block; + } + .help a { + display: inline; + } + .help .card > .card-header { + color: #fff; + } + .card-title { + margin-bottom: 0.5rem; + margin-top: 0.5rem; + } + #infoicon { + color: #8a348b; + } body include project.html // jQuery + script(src="https://code.jquery.com/jquery-3.3.1.min.js") + script(src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js") script(src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js", integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1", crossorigin="anonymous") // Bootstrap script(src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous") @@ -44,4 +49,5 @@ html(lang="de") if isUserAuthenticated script(src="/js/headfootLogout.js") else - script(src="/js/headfoot.js") \ No newline at end of file + script(src="/js/headfoot.js") + \ No newline at end of file diff --git a/views/DE/project/project.html b/views/DE/project/project.html index df461962..ac3137df 100644 --- a/views/DE/project/project.html +++ b/views/DE/project/project.html @@ -1,70 +1,128 @@ - <div class="container"> - <hr /> - <!-- text: Zweck dieser Seite / purpose of this page --> - <i class="fas fa-info-circle"></i> Diese Seite bietet den Einstieg zu den unterschiedlichen Projekten, die in unserem Portal für die Öffentlichkeit bereitgestellt werden. - Für diesen Zweck steht zur Zeit ein Dienst bereit: eine von der HFT selbst verwaltete Gitlab-Instanz. - Alle der in diesem Gitlab erfassten Projektinhalte unterliegen einer Open Source bzw. Open Data Lizenz. - <p>Hinweis: Die Nutzeroberfläche von GitLab ist in Englisch.</p> +<div class="container"> + <hr /> + <!-- text: Zweck dieser Seite / purpose of this page --> + <div> + <i id="infoicon" class="fas fa-info-circle fa-lg"></i> + Diese Seite bietet den Einstieg zu den unterschiedlichen Projekten, die in + unserem Portal für die Öffentlichkeit bereitgestellt werden. + Für diesen Zweck steht zur Zeit ein Dienst bereit: eine von der HFT selbst verwaltete Gitlab-Instanz. + Alle der in diesem Gitlab erfassten Projektinhalte unterliegen einer Open Source bzw. Open Data Lizenz. + <p class="font-italic"><b>Hinweis: </b>Die Nutzeroberfläche von GitLab ist in Englisch.</p> + </div> - <!-- link: Gitlab Projekte / Gitlab project list --> - <h2> Direkteinstieg </h2> - <a href="https://transfer.hft-stuttgart.de/gitlab/explore/projects"> <i class="fas fa-chevron-right">Gitlab Projects</i></a> - - <!-- text: Hilfestellung zu Gitlab / short help about Gitlab --> - <hr /> - <h2> Hilfestellung zu GitLab </h2> - <h3> <i class="fas fa-question-circle"></i> Möchten Sie die Projektinhalte ansehen oder herunterladen? </h3> - <p> - Dann klicken Sie auf diesen <a href="https://transfer.hft-stuttgart.de/gitlab/explore/projects"> <i class="fas fa-chevron-right">Link zu den Gitlab-Projekten</i></a> um die Liste aller im Gitlab erfassten Projekte zu sehen. - Vor dort können Sie dann auf die einzelnen Projekte zugreifen. - Ein Anmelden am Portal ist dazu nicht nötig. - </p> - - <h3> <i class="fas fa-question-circle"></i> Möchten Sie zu einem Projekt beitragen? </h3> - <p> - Wenn Sie dem Projekteigentümer eine Rückmeldung bzw. einen Fehler melden wollen, navigieren Sie im Gitlab zunächst zum entsprechenden Projekt. - Anschließend können Sie dann dort die Möglichkeit nutzen, ein neues "Issues" einzureichen. - Ein Anmelden am Portal ist dazu nicht nötig. - </p> - <p> - Wenn Sie darüberhinaus beitragen wollen, befolgen Sie bitte folgende Schritte: - </p> - <ol> - <li> - Melden Sie sich bitte im Portal an. <br> - Sofern Sie noch nicht als Nutzer im Portal eingetragen sind, wird das System Sie durch die Registrierung leiten. <br> - Zur Anmeldung bzw. Registrierung gelangen Sie entweder über das Menü am oberen Seitenrand oder durch Klicken auf diesen <a href="https://m4lab.hft-stuttgart.de/account/"> <i class="fas fa-chevron-right">Link zum Benutzerkonto</i></a>. - </li> - <li> - Folgen Sie dem <a href="https://transfer.hft-stuttgart.de/gitlab/explore/projects"> <i class="fas fa-chevron-right">Link zu den Gitlab-Projekten</i></a>, um zum Gitlab zu gelangen. - </li> - <li> - Fragen Sie beim Projekteigentümer um Zugang, indem Sie im Gitlab bei der entsprechende Projektseite auf den Link <em>Request Access</em> klicken. Solbald dieser ihre Anfrage bestätigt hat, können Sie loslegen. - </li> - </ol> + <!-- link: Gitlab Projekte / Gitlab project list --> + <h2> Direkteinstieg </h2> + <a href="https://transfer.hft-stuttgart.de/gitlab/explore/projects"> <i class="fas fa-chevron-right">Gitlab + Projects</i></a> - <h3> <i class="fas fa-question-circle"></i> Möchten Sie selbst ein Projekt anlegen, um es der Öffentlichkeit bereitzustellen? </h3> - - </p> - Vorraussetzung dazu ist, dass Sie aktives oder ehemaliges Mitglied der Hochschule für Technik sind, d.h. eine (noch) gültige HFT-Emailadresse haben. - Dann befolgen Sie bitte folgende Schritte: - </p> - - <ol> - <li> - Melden Sie sich bitte im Portal an. <br> - Sofern Sie noch nicht als Nutzer im Portal eingetragen sind, wird das System Sie durch die Registrierung leiten. <br> - Zur Anmeldung bzw. Registrierung gelangen Sie entweder über das Menü am oberen Seitenrand oder durch Klicken auf diesen <a href="https://m4lab.hft-stuttgart.de/account/"> <i class="fas fa-chevron-right">Link zum Benutzerkonto</i></a>. - </li> - <li> - Folgen Sie dem <a href="https://transfer.hft-stuttgart.de/gitlab/explore/projects"> <i class="fas fa-chevron-right">Link zu den Gitlab-Projekten</i></a>, um zum Gitlab zu gelangen. - </li> - <li> - Erstellen Sie dann in Gitlab ein neues Projekt durch Klicken auf den grünen <em>New Project</em>-Knopf und anschließendem Befolgen der Eingabemaske von Gitlab. <br> - Weitere Hilfestellung zum Anlegen von Projekten in Gitlab finden Sie in der <a href="https://docs.gitlab.com/ee/gitlab-basics/create-project.html"> <i class="fas fa-chevron-right">Gitlab-Dokumentation</i></a>. - </li> - </ol> - - <!-- / content body --> - </div> \ No newline at end of file + <!-- text: Hilfestellung zu Gitlab / short help about Gitlab --> + <hr /> + + <h2>Hilfestellung zu GitLab</h2> + + <br /> + + <div class="help"> + <div class="card"> + <div class="card-header"> + <h3 class="card-title"> + <a class="collapsed" data-toggle="collapse" href="#collapse1" aria-expanded="false" aria-controls="collapse1"> + Möchten Sie die Projektinhalte ansehen oder herunterladen?</a> + </h3> + </div> + <div id="collapse1" class="card-body collapse"> + <p> + Dann klicken Sie auf diesen + <a href="https://transfer.hft-stuttgart.de/gitlab/explore/projects"><i class="fas fa-chevron-right">Link zu den Gitlab-Projekten</i></a> + die Liste aller im Gitlab erfassten Projekte zu sehen. Vor dort können Sie dann auf die einzelnen Projekte zugreifen. + Ein Anmelden am Portal ist dazu nicht nötig. + </p> + </div> + </div> + + <br /> + + <div class="card"> + <div class="card-header"> + <h3 class="card-title"> + <a class="collapsed" data-toggle="collapse" href="#collapse2" aria-expanded="false" aria-controls="collapse2"> + Möchten Sie zu einem Projekt beitragen?</a> + </h3> + </div> + <div id="collapse2" class="card-body collapse"> + <p> + Wenn Sie dem Projekteigentümer eine Rückmeldung bzw. einen Fehler melden wollen, navigieren Sie im Gitlab zunächst zum entsprechenden Projekt. + Anschließend können Sie dann dort die Möglichkeit nutzen, ein neues "Issues" einzureichen. + Ein Anmelden am Portal ist dazu nicht nötig. + </p> + <p> + Wenn Sie darüberhinaus beitragen wollen, befolgen Sie bitte folgende Schritte: + </p> + <ol> + <li> + Melden Sie sich bitte im Portal an. + <br /> + Sofern Sie noch nicht als Nutzer im Portal eingetragen sind, wird das System Sie durch die Registrierung leiten. + <br /> + Zur Anmeldung bzw. Registrierung gelangen Sie entweder über das Menü am oberen Seitenrand oder durch Klicken auf diesen + <a href="https://m4lab.hft-stuttgart.de/account/"> <i class="fas fa-chevron-right">Link zum Benutzerkonto</i></a>. + </li> + <li> + Folgen Sie dem <a href="https://transfer.hft-stuttgart.de/gitlab/explore/projects"> + <i class="fas fa-chevron-right">Link zu den Gitlab-Projekten</i></a>, um zum Gitlab zu gelangen. + </li> + <li> + Fragen Sie beim Projekteigentümer um Zugang, indem Sie im Gitlab bei der entsprechende + Projektseite auf den + Link <em>Request Access</em> klicken. Solbald dieser ihre Anfrage bestätigt hat, können + Sie loslegen. + </li> + </ol> + </div> + </div> + + <br /> + + <div class="card"> + <div class="card-header"> + <h3 class="card-title"> + <a class="collapsed" data-toggle="collapse" href="#collapse3" aria-expanded="false" aria-controls="collapse3"> + Möchten Sie selbst ein Projekt anlegen, um es der Öffentlichkeit bereitzustellen?</a> + </h3> + </div> + <div id="collapse3" class="card-body collapse"> + <p> + Vorraussetzung dazu ist, dass Sie aktives oder ehemaliges Mitglied der Hochschule für Technik sind, + d.h. eine (noch) gültige HFT-Emailadresse haben. Dann befolgen Sie bitte folgende Schritte: + </p> + <ol> + <li> + <p> + Melden Sie sich bitte im Portal an. + <br /> + Sofern Sie noch nicht als Nutzer im Portal eingetragen sind, wird das System Sie durch die Registrierung leiten. + <br /> + Zur Anmeldung bzw. Registrierung gelangen Sie entweder über das Menü am oberen Seitenrand oder durch Klicken auf diesen + <a href="https://m4lab.hft-stuttgart.de/account/"> <i class="fas fa-chevron-right">Link zum Benutzerkonto</i></a>. + </p> + </li> + <li> + Folgen Sie dem <a href="https://transfer.hft-stuttgart.de/gitlab/explore/projects"> + <i class="fas fa-chevron-right">Link zu den Gitlab-Projekten</i></a>, um zum Gitlab zu gelangen. + </li> + <li> + Erstellen Sie dann in Gitlab ein neues Projekt durch Klicken auf den grünen <em>New Project</em>-Knopf und + anschließendem Befolgen der Eingabemaske von Gitlab. + <br /> + Weitere Hilfestellung zum Anlegen von Projekten in Gitlab finden Sie in der + <a href="https://docs.gitlab.com/ee/gitlab-basics/create-project.html"> <i class="fas fa-chevron-right">Gitlab-Dokumentation</i></a>. + </li> + </ol> + </div> + </div> + </div> + + <hr /> + <!-- / content body --> +</div> \ No newline at end of file -- GitLab From d321d182719ce9ca22fddbeeddd61ce973883081 Mon Sep 17 00:00:00 2001 From: Wolfgang Knopki <wolfgang.knopki@hft-stuttgart.de> Date: Thu, 9 Apr 2020 10:16:05 +0200 Subject: [PATCH 11/19] removed double import of jquery js --- config/config.js | 6 +- package-lock.json | 253 +++++++++++++----------- views/DE/project/project-simplified.pug | 3 +- 3 files changed, 145 insertions(+), 117 deletions(-) diff --git a/config/config.js b/config/config.js index 839d819b..b1345231 100644 --- a/config/config.js +++ b/config/config.js @@ -16,13 +16,13 @@ module.exports = { } }, database: { - //host: 'transfer.hft-stuttgart.de', // DB host + host: 'transfer.hft-stuttgart.de', // DB host user: 'DBManager', // DB username password: 'Stuttgart2019', // DB password port: 3306, // MySQL port dbUser: 'userdb', // User DB - //host_project: 'm4lab.hft-stuttgart.de', // DB host project db - host_project: 'localhost', // local + host_project: 'm4lab.hft-stuttgart.de', // DB host project db + //host_project: 'localhost', // local dbProject: 'projectDB' // Project DB }, mailer: { diff --git a/package-lock.json b/package-lock.json index 1d68e8a5..8def6205 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,12 +7,12 @@ "@types/babel-types": { "version": "7.0.7", "resolved": "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.7.tgz", - "integrity": "sha512-dBtBbrc+qTHy1WdfHYjBwRln4+LWqASWakLHsWHR2NWHIFkv4W3O070IGoGLEBrJBvct3r0L1BUPuvURi7kYUQ==" + "integrity": "sha1-Zn6xZA6AOUNgKAVXN9K5mG7jNuM=" }, "@types/babylon": { "version": "6.16.5", "resolved": "https://registry.npmjs.org/@types/babylon/-/babylon-6.16.5.tgz", - "integrity": "sha512-xH2e58elpj1X4ynnKp9qSnWlsRTIs6n3tgLGNfwAGHwePw0mulHQllV34n0T25uYSu1k0hRKkWXF890B1yS47w==", + "integrity": "sha1-HFZB22nrjN83jt0ltL53VL7rSLQ=", "requires": { "@types/babel-types": "*" } @@ -20,12 +20,12 @@ "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=" }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=", "requires": { "mime-types": "~2.1.24", "negotiator": "0.6.2" @@ -57,7 +57,7 @@ "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", "requires": { "color-convert": "^1.9.0" } @@ -65,7 +65,7 @@ "anymatch": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "integrity": "sha1-xV7PAhheJGklk5kxDBc84xIzsUI=", "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -111,7 +111,7 @@ "babylon": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" + "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=" }, "balanced-match": { "version": "1.0.0", @@ -121,7 +121,7 @@ "basic-auth": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", - "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "integrity": "sha1-uZgnm/R844NEtPPPkW1Gebv1Hjo=", "requires": { "safe-buffer": "5.1.2" } @@ -139,12 +139,12 @@ "binary-extensions": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==" + "integrity": "sha1-I8DfFPaogHf1+YbA0WfsA8PVU3w=" }, "body-parser": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "integrity": "sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io=", "requires": { "bytes": "3.1.0", "content-type": "~1.0.4", @@ -161,7 +161,7 @@ "boxen": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", - "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "integrity": "sha1-VcbDmouljZxhrSLNh3Uy3rZlogs=", "requires": { "ansi-align": "^2.0.0", "camelcase": "^4.0.0", @@ -182,7 +182,7 @@ "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -191,15 +191,23 @@ "braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", "requires": { "fill-range": "^7.0.1" } }, + "busboy": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.3.1.tgz", + "integrity": "sha512-y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw==", + "requires": { + "dicer": "0.3.0" + } + }, "bytes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=" }, "camelcase": { "version": "1.2.1", @@ -209,7 +217,7 @@ "capture-stack-trace": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", - "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==" + "integrity": "sha1-psC74fOPOqC5Ijjstv9Cw0TUE10=" }, "center-align": { "version": "0.1.3", @@ -223,7 +231,7 @@ "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -248,7 +256,7 @@ "ci-info": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" + "integrity": "sha1-LKINu5zrMtRSSmgzAzE/AwSx5Jc=" }, "cli-boxes": { "version": "1.0.0", @@ -275,7 +283,7 @@ "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", "requires": { "color-name": "1.1.3" } @@ -293,7 +301,7 @@ "configstore": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", - "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", + "integrity": "sha1-xvJd767vJt8S3TNBSwAf6BpUP48=", "requires": { "dot-prop": "^4.1.0", "graceful-fs": "^4.1.2", @@ -311,7 +319,7 @@ "constantinople": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.1.2.tgz", - "integrity": "sha512-yePcBqEFhLOqSBtwYOGGS1exHo/s1xjekXiinh4itpNQGCu4KA1euPh1fg07N2wMITZXQkBz75Ntdt1ctGZouw==", + "integrity": "sha1-1F7XJPV9PRBQABen06iJwTga5kc=", "requires": { "@types/babel-types": "^7.0.0", "@types/babylon": "^6.16.2", @@ -322,7 +330,7 @@ "content-disposition": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "integrity": "sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70=", "requires": { "safe-buffer": "5.1.2" } @@ -330,7 +338,7 @@ "content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=" }, "cookie": { "version": "0.3.1", @@ -382,7 +390,7 @@ "crypto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/crypto/-/crypto-1.0.1.tgz", - "integrity": "sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig==" + "integrity": "sha1-KvG3ytgXXSTIobB3glV5SiGAMDc=" }, "crypto-random-string": { "version": "1.0.0", @@ -392,7 +400,7 @@ "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", "requires": { "ms": "2.0.0" }, @@ -412,7 +420,7 @@ "deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + "integrity": "sha1-xPp8lUBKF6nD6Mp+FTcxK3NjMKw=" }, "define-properties": { "version": "1.1.3", @@ -432,6 +440,14 @@ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, + "dicer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.3.0.tgz", + "integrity": "sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==", + "requires": { + "streamsearch": "0.1.2" + } + }, "doctypes": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", @@ -440,7 +456,7 @@ "dot-prop": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", - "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "integrity": "sha1-HxngwuGqDjJ5fEl5nyg3rGr2nFc=", "requires": { "is-obj": "^1.0.0" } @@ -514,7 +530,7 @@ "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=" }, "etag": { "version": "1.8.1", @@ -538,7 +554,7 @@ "express": { "version": "4.17.1", "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "integrity": "sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ=", "requires": { "accepts": "~1.3.7", "array-flatten": "1.1.1", @@ -575,10 +591,18 @@ "cookie": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + "integrity": "sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo=" } } }, + "express-fileupload": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/express-fileupload/-/express-fileupload-1.1.6.tgz", + "integrity": "sha512-w24zPWT8DkoIxSVkbxYPo9hkTiLpCQQzNsLRTCnecBhfbYv+IkIC5uLw2MIUAxBZ+7UMmXPjGxlhzUXo4RcbZw==", + "requires": { + "busboy": "^0.3.1" + } + }, "express-flash": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/express-flash/-/express-flash-0.0.2.tgz", @@ -590,7 +614,7 @@ "express-session": { "version": "1.17.0", "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.0.tgz", - "integrity": "sha512-t4oX2z7uoSqATbMfsxWMbNjAL0T5zpvcJCk3Z9wnPPN7ibddhnmDZXHfEcoBMG2ojKXZoCyPMc5FbtK+G7SoDg==", + "integrity": "sha1-m1DbteigPDU3NoE48HJzYVC3+bM=", "requires": { "cookie": "0.4.0", "cookie-signature": "1.0.6", @@ -605,24 +629,24 @@ "cookie": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + "integrity": "sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo=" }, "depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + "integrity": "sha1-tpYWPMdXVg0JzyLMj60Vcbeedt8=" }, "safe-buffer": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + "integrity": "sha1-t02uxJsRSPiMZLaNSbHoFcHy9Rk=" } } }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", "requires": { "to-regex-range": "^5.0.1" } @@ -630,7 +654,7 @@ "finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "integrity": "sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0=", "requires": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -665,7 +689,7 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=" }, "get-stream": { "version": "3.0.0", @@ -675,7 +699,7 @@ "glob-parent": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", - "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "integrity": "sha1-X0wdHnSNMM1zrSlEs1d6gbCB6MI=", "requires": { "is-glob": "^4.0.1" } @@ -709,12 +733,12 @@ "graceful-fs": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" + "integrity": "sha1-ShL/G2A3bvCYYsIJPt2Qgyi+hCM=" }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", "requires": { "function-bind": "^1.1.1" } @@ -732,7 +756,7 @@ "http-errors": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "integrity": "sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8=", "requires": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -764,7 +788,7 @@ "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", "requires": { "safer-buffer": ">= 2.1.2 < 3" } @@ -787,7 +811,7 @@ "ini": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=" }, "ipaddr.js": { "version": "1.9.0", @@ -797,7 +821,7 @@ "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", "requires": { "binary-extensions": "^2.0.0" } @@ -805,7 +829,7 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" }, "is-callable": { "version": "1.1.4", @@ -815,7 +839,7 @@ "is-ci": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "integrity": "sha1-43ecjuF/zPQoSI9uKBGH8uYyhBw=", "requires": { "ci-info": "^1.5.0" } @@ -854,7 +878,7 @@ "is-glob": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", "requires": { "is-extglob": "^2.1.1" } @@ -876,7 +900,7 @@ "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=" }, "is-obj": { "version": "1.0.1", @@ -912,7 +936,7 @@ "is-retry-allowed": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" + "integrity": "sha1-13hIi9CkZmo76KFIK58rqv7eqLQ=" }, "is-stream": { "version": "1.1.0", @@ -966,7 +990,7 @@ "lodash": { "version": "4.17.15", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg=" }, "longest": { "version": "1.0.1", @@ -976,12 +1000,12 @@ "lowercase-keys": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + "integrity": "sha1-b54wtHCE2XGnyCD/FabFFnt0wm8=" }, "lru-cache": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", "requires": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" @@ -990,7 +1014,7 @@ "make-dir": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=", "requires": { "pify": "^3.0.0" } @@ -1003,7 +1027,7 @@ "math-interval-parser": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/math-interval-parser/-/math-interval-parser-2.0.1.tgz", - "integrity": "sha512-VmlAmb0UJwlvMyx8iPhXUDnVW1F9IrGEd9CIOmv+XL8AErCUUuozoDMrgImvnYt2A+53qVX/tPW6YJurMKYsvA==" + "integrity": "sha1-4izW0VoKf0wDrsVg23ZRPaYVvtQ=" }, "media-typer": { "version": "0.3.0", @@ -1018,7 +1042,7 @@ "messageformat": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/messageformat/-/messageformat-2.3.0.tgz", - "integrity": "sha512-uTzvsv0lTeQxYI2y1NPa1lItL5VRI8Gb93Y2K2ue5gBPyrbJxfDi/EYWxh2PKv5yO42AJeeqblS9MJSh/IEk4w==", + "integrity": "sha1-3iY8SQKdXq5l1+4l4HVPV/QlrZE=", "requires": { "make-plural": "^4.3.0", "messageformat-formatters": "^2.0.1", @@ -1028,7 +1052,7 @@ "make-plural": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/make-plural/-/make-plural-4.3.0.tgz", - "integrity": "sha512-xTYd4JVHpSCW+aqDof6w/MebaMVNTVYBZhbB/vi513xXdiPT92JMVCo0Jq8W2UZnzYRFeVbQiQ+I25l13JuKvA==", + "integrity": "sha1-8j3gjv2wysLgybqfMVsN/2tMJzU=", "requires": { "minimist": "^1.2.0" } @@ -1038,12 +1062,12 @@ "messageformat-formatters": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/messageformat-formatters/-/messageformat-formatters-2.0.1.tgz", - "integrity": "sha512-E/lQRXhtHwGuiQjI7qxkLp8AHbMD5r2217XNe/SREbBlSawe0lOqsFb7rflZJmlQFSULNLIqlcjjsCPlB3m3Mg==" + "integrity": "sha1-BJLBQCpId191HJsXwDVOkr4BKwg=" }, "messageformat-parser": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/messageformat-parser/-/messageformat-parser-4.1.2.tgz", - "integrity": "sha512-7dWuifeyldz7vhEuL96Kwq1fhZXBW+TUfbnHN4UCrCxoXQTYjHnR78eI66Gk9LaLLsAvzPNVJBaa66DRfFNaiA==" + "integrity": "sha1-/TTsOZEqFIaKFZXq63QkhauKs3I=" }, "methods": { "version": "1.1.2", @@ -1053,7 +1077,7 @@ "mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=" }, "mime-db": { "version": "1.40.0", @@ -1071,7 +1095,7 @@ "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", "requires": { "brace-expansion": "^1.1.7" } @@ -1084,7 +1108,7 @@ "morgan": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", - "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", + "integrity": "sha1-Co0Wc0odmvvIJLmd+H5zjlji2lk=", "requires": { "basic-auth": "~2.0.0", "debug": "2.6.9", @@ -1117,12 +1141,12 @@ "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=" }, "node-forge": { "version": "0.7.6", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", - "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==" + "integrity": "sha1-/fO0GK7h+U8O9kLNY0hsd8qXJKw=" }, "nodemailer": { "version": "6.3.1", @@ -1149,7 +1173,7 @@ "debug": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", "requires": { "ms": "^2.1.1" } @@ -1167,7 +1191,7 @@ "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=" }, "npm-run-path": { "version": "2.0.2", @@ -1212,7 +1236,7 @@ "on-headers": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + "integrity": "sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8=" }, "p-finally": { "version": "1.0.0", @@ -1233,7 +1257,7 @@ "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=" }, "passport": { "version": "0.3.2", @@ -1262,7 +1286,7 @@ "debug": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", "requires": { "ms": "^2.1.1" } @@ -1287,7 +1311,7 @@ "path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=" }, "path-to-regexp": { "version": "0.1.7", @@ -1317,7 +1341,7 @@ "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=" }, "proxy-addr": { "version": "2.0.5", @@ -1336,12 +1360,12 @@ "pstree.remy": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.7.tgz", - "integrity": "sha512-xsMgrUwRpuGskEzBFkH8NmTimbZ5PcPup0LA8JJkHIm2IMUbQcpo3yeLNWVrufEYjh8YwtSVh0xz6UeWc5Oh5A==" + "integrity": "sha1-x2ljooBH7WFULcNhqibuVaf6FfM=" }, "pug": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pug/-/pug-2.0.4.tgz", - "integrity": "sha512-XhoaDlvi6NIzL49nu094R2NA6P37ijtgMDuWE+ofekDChvfKnzFal60bhSdiy8y2PBO6fmz3oMEIcfpBVRUdvw==", + "integrity": "sha1-7naC7ApgSUs41IqI8F87CskxN30=", "requires": { "pug-code-gen": "^2.0.2", "pug-filters": "^3.1.1", @@ -1356,7 +1380,7 @@ "pug-attrs": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.4.tgz", - "integrity": "sha512-TaZ4Z2TWUPDJcV3wjU3RtUXMrd3kM4Wzjbe3EWnSsZPsJ3LDI0F3yCnf2/W7PPFF+edUFQ0HgDL1IoxSz5K8EQ==", + "integrity": "sha1-svRMQ55OtK1dTvJcrCDRitKMwzY=", "requires": { "constantinople": "^3.0.1", "js-stringify": "^1.0.1", @@ -1366,7 +1390,7 @@ "pug-code-gen": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-2.0.2.tgz", - "integrity": "sha512-kROFWv/AHx/9CRgoGJeRSm+4mLWchbgpRzTEn8XCiwwOy6Vh0gAClS8Vh5TEJ9DBjaP8wCjS3J6HKsEsYdvaCw==", + "integrity": "sha1-rQlnFirqB33PeHg42U7RSssCF8I=", "requires": { "constantinople": "^3.1.2", "doctypes": "^1.1.0", @@ -1423,12 +1447,12 @@ "pug-error": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-1.3.3.tgz", - "integrity": "sha512-qE3YhESP2mRAWMFJgKdtT5D7ckThRScXRwkfo+Erqga7dyJdY3ZquspprMCj/9sJ2ijm5hXFWQE/A3l4poMWiQ==" + "integrity": "sha1-80L7AIdS1YA0wYXeA2At2f/hX6Y=" }, "pug-filters": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-3.1.1.tgz", - "integrity": "sha512-lFfjNyGEyVWC4BwX0WyvkoWLapI5xHSM3xZJFUhx4JM4XyyRdO8Aucc6pCygnqV2uSgJFaJWW3Ft1wCWSoQkQg==", + "integrity": "sha1-qyzILbnuzPV4vaiRMOJSoNsCaqc=", "requires": { "clean-css": "^4.1.11", "constantinople": "^3.0.1", @@ -1479,7 +1503,7 @@ "pug-lexer": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-4.1.0.tgz", - "integrity": "sha512-i55yzEBtjm0mlplW4LoANq7k3S8gDdfC6+LThGEvsK4FuobcKfDAwt6V4jKPH9RtiE3a2Akfg5UpafZ1OksaPA==", + "integrity": "sha1-UxzeSMfAsfy7wrhUhchmXjFInP0=", "requires": { "character-parser": "^2.1.1", "is-expression": "^3.0.0", @@ -1499,7 +1523,7 @@ "pug-linker": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-3.0.6.tgz", - "integrity": "sha512-bagfuHttfQOpANGy1Y6NJ+0mNb7dD2MswFG2ZKj22s8g0wVsojpRlqveEQHmgXXcfROB2RT6oqbPYr9EN2ZWzg==", + "integrity": "sha1-9b8hiw79Zc5mcPevxRZY0Pgpifs=", "requires": { "pug-error": "^1.3.3", "pug-walk": "^1.1.8" @@ -1508,7 +1532,7 @@ "pug-load": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-2.0.12.tgz", - "integrity": "sha512-UqpgGpyyXRYgJs/X60sE6SIf8UBsmcHYKNaOccyVLEuT6OPBIMo6xMPhoJnqtB3Q3BbO4Z3Bjz5qDsUWh4rXsg==", + "integrity": "sha1-04yF64X24vcE3qFNzKlBRNNdPns=", "requires": { "object-assign": "^4.1.0", "pug-walk": "^1.1.8" @@ -1517,7 +1541,7 @@ "pug-parser": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-5.0.1.tgz", - "integrity": "sha512-nGHqK+w07p5/PsPIyzkTQfzlYfuqoiGjaoqHv1LjOv2ZLXmGX1O+4Vcvps+P4LhxZ3drYSljjq4b+Naid126wA==", + "integrity": "sha1-A+etpItoQL04Ivhn19kPhC0P/ck=", "requires": { "pug-error": "^1.3.3", "token-stream": "0.0.1" @@ -1526,12 +1550,12 @@ "pug-runtime": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.5.tgz", - "integrity": "sha512-P+rXKn9un4fQY77wtpcuFyvFaBww7/91f3jHa154qU26qFAnOe6SW1CbIDcxiG5lLK9HazYrMCCuDvNgDQNptw==" + "integrity": "sha1-baeXbDa/IvaOczw1kkDYrnoylTo=" }, "pug-strip-comments": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-1.0.4.tgz", - "integrity": "sha512-i5j/9CS4yFhSxHp5iKPHwigaig/VV9g+FgReLJWWHEHbvKsbqL0oP/K5ubuLco6Wu3Kan5p7u7qk8A4oLLh6vw==", + "integrity": "sha1-zBtt4fbo9ZMc8C7GbN/9P1Dq+Kg=", "requires": { "pug-error": "^1.3.3" } @@ -1539,7 +1563,7 @@ "pug-walk": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.8.tgz", - "integrity": "sha512-GMu3M5nUL3fju4/egXwZO0XLi6fW/K3T3VTgFQ14GxNi8btlxgT5qZL//JwZFm/2Fa64J/PNS8AZeys3wiMkVA==" + "integrity": "sha1-tAj2fyeRL4wh2i9FtyMMS9Kl6no=" }, "q": { "version": "1.5.1", @@ -1549,7 +1573,7 @@ "qs": { "version": "6.7.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=" }, "random-bytes": { "version": "1.0.0", @@ -1559,12 +1583,12 @@ "range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + "integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=" }, "raw-body": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "integrity": "sha1-oc5vucm8NWylLoklarWQWeE9AzI=", "requires": { "bytes": "3.1.0", "http-errors": "1.7.2", @@ -1575,7 +1599,7 @@ "rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "integrity": "sha1-zZJL9SAKB1uDwYjNa54hG3/A0+0=", "requires": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -1615,12 +1639,12 @@ "regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=" }, "registry-auth-token": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", - "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", + "integrity": "sha1-10RoFUM/XV7WQxzV3KIQSPZrOX4=", "requires": { "rc": "^1.1.6", "safe-buffer": "^5.0.1" @@ -1658,22 +1682,22 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=" }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=" }, "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=" }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=" }, "semver-diff": { "version": "2.1.0", @@ -1686,7 +1710,7 @@ "send": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "integrity": "sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg=", "requires": { "debug": "2.6.9", "depd": "~1.1.2", @@ -1706,14 +1730,14 @@ "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=" } } }, "serve-static": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "integrity": "sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk=", "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", @@ -1724,7 +1748,7 @@ "setprototypeof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=" }, "shebang-command": { "version": "1.2.0", @@ -1747,7 +1771,7 @@ "sprintf-js": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" + "integrity": "sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM=" }, "sqlstring": { "version": "2.3.1", @@ -1759,10 +1783,15 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, + "streamsearch": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", + "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", "requires": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" @@ -1789,7 +1818,7 @@ "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", "requires": { "safe-buffer": "~5.1.0" } @@ -1815,7 +1844,7 @@ "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", "requires": { "has-flag": "^3.0.0" } @@ -1841,7 +1870,7 @@ "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", "requires": { "is-number": "^7.0.0" } @@ -1849,7 +1878,7 @@ "toidentifier": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=" }, "token-stream": { "version": "0.0.1", @@ -1859,7 +1888,7 @@ "touch": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", - "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "integrity": "sha1-/jZfX3XsntTlaCXgu3bSSrdK+Ds=", "requires": { "nopt": "~1.0.10" } @@ -1867,7 +1896,7 @@ "type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=", "requires": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -1899,7 +1928,7 @@ "uid-safe": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", - "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", + "integrity": "sha1-Kz1cckDo/C5Y+Komnl7knAhXvTo=", "requires": { "random-bytes": "~1.0.0" } @@ -1933,7 +1962,7 @@ "update-notifier": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", - "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "integrity": "sha1-0HRFk+E/Fh5AassdlAi3LK0Ir/Y=", "requires": { "boxen": "^1.2.1", "chalk": "^2.0.1", @@ -1987,7 +2016,7 @@ "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", "requires": { "isexe": "^2.0.0" } @@ -1995,7 +2024,7 @@ "widest-line": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", - "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "integrity": "sha1-dDh2RzDsfvQ4HOTfgvuYpTFCo/w=", "requires": { "string-width": "^2.1.1" } @@ -2008,7 +2037,7 @@ "write-file-atomic": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "integrity": "sha1-H9Lprh3z51uNjDZ0Q8aS1MqB9IE=", "requires": { "graceful-fs": "^4.1.11", "imurmurhash": "^0.1.4", @@ -2023,7 +2052,7 @@ "xml-crypto": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/xml-crypto/-/xml-crypto-1.4.0.tgz", - "integrity": "sha512-K8FRdRxICVulK4WhiTUcJrRyAIJFPVOqxfurA3x/JlmXBTxy+SkEENF6GeRt7p/rB6WSOUS9g0gXNQw5n+407g==", + "integrity": "sha1-3hzsjNMcvWic2Q09boon1K6Afec=", "requires": { "xmldom": "0.1.27", "xpath": "0.0.27" @@ -2064,7 +2093,7 @@ "xmlbuilder": { "version": "11.0.1", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" + "integrity": "sha1-vpuuHIoEbnazESdyY0fQrXACvrM=" }, "xmldom": { "version": "0.1.27", @@ -2074,7 +2103,7 @@ "xpath": { "version": "0.0.27", "resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.27.tgz", - "integrity": "sha512-fg03WRxtkCV6ohClePNAECYsmpKKTv5L8y/X3Dn1hQrec3POx2jHZ/0P2qQ6HvsrU1BmeqXcof3NGGueG6LxwQ==" + "integrity": "sha1-3TQh+9zFZGrDLEhTG01+nQws+pI=" }, "yallist": { "version": "2.1.2", diff --git a/views/DE/project/project-simplified.pug b/views/DE/project/project-simplified.pug index 222e30ca..b929c71b 100644 --- a/views/DE/project/project-simplified.pug +++ b/views/DE/project/project-simplified.pug @@ -41,7 +41,6 @@ html(lang="de") // jQuery script(src="https://code.jquery.com/jquery-3.3.1.min.js") - script(src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js") script(src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js", integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1", crossorigin="anonymous") // Bootstrap script(src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous") @@ -50,4 +49,4 @@ html(lang="de") script(src="/js/headfootLogout.js") else script(src="/js/headfoot.js") - \ No newline at end of file + -- GitLab From ecbd2d617ff333dad97fe14ac21fab04e7a7de3b Mon Sep 17 00:00:00 2001 From: Wolfgang Knopki <wolfgang.knopki@hft-stuttgart.de> Date: Thu, 9 Apr 2020 08:22:20 +0000 Subject: [PATCH 12/19] Update config.js: idp metadata issuer updated --- config/config.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/config.js b/config/config.js index b1345231..b4c47761 100644 --- a/config/config.js +++ b/config/config.js @@ -9,8 +9,8 @@ module.exports = { saml: { path: process.env.SAML_PATH || '/saml/SSO', entryPoint: process.env.SAML_ENTRY_POINT || 'https://m4lab.hft-stuttgart.de/idp/saml2/idp/SSOService.php', - issuer: 'sp-account.m4lab.hft-stuttgart.de', //local metadata - //issuer: 'sp-account-testing.m4lab.hft-stuttgart.de', //testing metadata + //issuer: 'sp-account.m4lab.hft-stuttgart.de', //local metadata + issuer: 'sp-account-testing.m4lab.hft-stuttgart.de', //testing metadata //issuer: 'sp-account-prod.m4lab.hft-stuttgart.de', //production metadata logoutUrl: 'https://m4lab.hft-stuttgart.de/idp/saml2/idp/SingleLogoutService.php' } -- GitLab From bf3d6b22f93d8b93530eb0753248eff64c17a728 Mon Sep 17 00:00:00 2001 From: Wolfgang Knopki <wolfgang.knopki@hft-stuttgart.de> Date: Thu, 9 Apr 2020 11:56:18 +0200 Subject: [PATCH 13/19] account home page text, links menu adapted --- views/DE/account/home.pug | 10 ++++++---- views/DE/account/profile.pug | 4 ++-- views/DE/account/security.pug | 4 ++-- views/DE/account/services.pug | 4 ++-- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/views/DE/account/home.pug b/views/DE/account/home.pug index 5a19d9bc..94083989 100644 --- a/views/DE/account/home.pug +++ b/views/DE/account/home.pug @@ -34,12 +34,14 @@ html(lang="de") h5 span #{user.firstname} #{user.lastname} div(class="nav flex-column nav-pills", id="v-pills-tab", role="tablist", aria-orientation="vertical") - a(class="nav-link" href="/profile" aria-selected="true") Benutzerprofil - a(class="nav-link" href="/security" aria-selected="false") Sicherheitseinstellungen - a(class="nav-link" href="/services" aria-selected="false") Projekte und Dienste + a(class="nav-link" href="/account/profile" aria-selected="true") Benutzerprofil + a(class="nav-link" href="/account/security" aria-selected="false") Sicherheitseinstellungen + a(class="nav-link" href="/account/services" aria-selected="false") Projekte und Dienste a(class="nav-link" href="/logout" aria-selected="false") Logout div(class="col-sm-9") - p content goes here + p Willkommen im Benutzerkonto-Bereich des HFT Transferportals + p In diesem Bereich können Sie Ihr Benutzerkonto pflegen.<br/> Dazu finden Sie auf der linken Seite verschiedene Menüs. + p Bei Rückfragen kontaktieren Sie uns bitte unter: <a href="mailto:support-transfer@hft-stuttgart.de">support-transfer@hft-stuttgart.de</a> // jQuery script(src="https://code.jquery.com/jquery-3.3.1.min.js") diff --git a/views/DE/account/profile.pug b/views/DE/account/profile.pug index 999fc3c7..6b95d531 100644 --- a/views/DE/account/profile.pug +++ b/views/DE/account/profile.pug @@ -35,8 +35,8 @@ html(lang="de") span #{user.firstname} #{user.lastname} div(class="nav flex-column nav-pills", id="v-pills-tab", role="tablist", aria-orientation="vertical") a(class="nav-link" href="#" aria-selected="true") Benutzerprofil - a(class="nav-link" href="/security" aria-selected="false") Sicherheitseinstellungen - a(class="nav-link" href="/services" aria-selected="false") Projekte und Dienste + a(class="nav-link" href="/account/security" aria-selected="false") Sicherheitseinstellungen + a(class="nav-link" href="/account/services" aria-selected="false") Projekte und Dienste a(class="nav-link" href="/logout" aria-selected="false") Logout div(class="col-sm-9") if successes diff --git a/views/DE/account/security.pug b/views/DE/account/security.pug index fde244aa..135d091f 100644 --- a/views/DE/account/security.pug +++ b/views/DE/account/security.pug @@ -37,9 +37,9 @@ html(lang="de") h5 span #{user.firstName} #{user.lastName} div(class="nav flex-column nav-pills", id="v-pills-tab", role="tablist", aria-orientation="vertical") - a(class="nav-link" href="/profile" aria-selected="true") Benutzerprofil + a(class="nav-link" href="/account/profile" aria-selected="true") Benutzerprofil a(class="nav-link" href="#" aria-selected="false") Sicherheitseinstellungen - a(class="nav-link" href="/services" aria-selected="false") Projekte und Dienste + a(class="nav-link" href="/account/services" aria-selected="false") Projekte und Dienste a(class="nav-link" href="/logout" aria-selected="false") Logout div(class="col-sm-9") if successes diff --git a/views/DE/account/services.pug b/views/DE/account/services.pug index 38d109d0..525041ef 100644 --- a/views/DE/account/services.pug +++ b/views/DE/account/services.pug @@ -34,8 +34,8 @@ html(lang="de") h5 span #{user.firstName} #{user.lastName} div(class="nav flex-column nav-pills", id="v-pills-tab", role="tablist", aria-orientation="vertical") - a(class="nav-link" href="/profile" aria-selected="true") Benutzerprofil - a(class="nav-link" href="/security" aria-selected="false") Sicherheitseinstellungen + a(class="nav-link" href="/account/profile" aria-selected="true") Benutzerprofil + a(class="nav-link" href="/account/security" aria-selected="false") Sicherheitseinstellungen a(class="nav-link" href="#" aria-selected="false") Projekte und Dienste a(class="nav-link" href="/logout" aria-selected="false") Logout div(class="col-sm-9") -- GitLab From b73327bcdaacd06c62aad0acbf41593d3503070c Mon Sep 17 00:00:00 2001 From: Wolfgang Knopki <wolfgang.knopki@hft-stuttgart.de> Date: Thu, 9 Apr 2020 15:32:21 +0200 Subject: [PATCH 14/19] added new mailinglists page --- routes/routes-project.js | 3 +- views/DE/project/mailinglists.pug | 89 +++++++++++++++++++++---------- 2 files changed, 64 insertions(+), 28 deletions(-) diff --git a/routes/routes-project.js b/routes/routes-project.js index 00b2e056..d34bab48 100644 --- a/routes/routes-project.js +++ b/routes/routes-project.js @@ -28,7 +28,8 @@ module.exports = function (app) { name: mailinglistOverview[i].name, src: mailinglistOverview[i].src, projectstatus: mailinglistOverview[i].projectstatus, - project_title: mailinglistOverview[i].project_title + project_title: mailinglistOverview[i].project_title, + keywords: mailinglistOverview[i].keywords }); } diff --git a/views/DE/project/mailinglists.pug b/views/DE/project/mailinglists.pug index 1bc8f5c2..58acfb24 100644 --- a/views/DE/project/mailinglists.pug +++ b/views/DE/project/mailinglists.pug @@ -2,9 +2,11 @@ html(lang="de") head title= "Mailinglisten" meta(charset="UTF-8") - meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no") + meta(name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no") link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css") link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous") + link(rel="stylesheet" href="/fonts/ionicons.min.css") + link(rel="stylesheet" href="assets/css/Testimonials.css") style. .collapse { display: none; @@ -27,35 +29,68 @@ html(lang="de") transition-property: height,visibility; } body - <hr /> - div() - h5(align="left") Aktive Mailinglisten - div(class="flex-container" style="align-items:flex-start") - div(class="table") - table(border="0" id="listtable" class="table table-striped") - thead - tr - th Name - th Link - th zugeh. Projekt - tbody - for item in mailinglists - if item.projectstatus == '1' - tr - td #{item.name} - td <a href="#{item.src}">#{item.src}</a> - td <a href='projectoverview?projectID=#{item.id}'>#{item.project_title}</a> - <hr /> - div() - h5(align="left") Eintragung in Mailingliste - p() Wenn Sie sich in eine Mailingliste eintragen wollen, folgen Sie folgender Anleitung: + div(class="container") + div(class="row") + div(class="col-md-12" style="margin-bottom: 40px;") + img(class="mx-auto" src="/img/Mailinglisten.jpg" width="100%") + div(class="container") + div(class="row") + div(class="col-md-12" style="margin-bottom: 30px;") + h4(class="text-center") Durch Mailinglisten können Sie interessierten Personen<br/> <strong>regelmäßig Informationen</strong> zu Ihrem Projekt oder Thema zukommen lassen.<br/> Ebenso können Sie über ein Abonnement in einer Mailingliste Mitglied des Verteilers<br/>werden und so <strong>im Austausch</strong> bleiben. <br/> + div(class="col-md-12" style="margin-bottom: 30px;") + h2(class="text-center" style="color: #8a348b;") <strong>Aktive Mailinglisten</strong> + div(class="table-responsive table-borderless") + table(class="table table-striped table-bordered table-hover") + thead() + tr() + th Name + th Link + th Projekte + th Keywords + tbody() + for item in mailinglists + if item.projectstatus == '1' + tr + td #{item.name} + td <a href="#{item.src}">#{item.src}</a> + td <a href='projectoverview?projectID=#{item.id}'>#{item.project_title}</a> + td #{item.keywords} + div(id="aboText" style="background-color: #dadada;margin-top: 40px;") + div(class="container") + div(class="row" style="margin-bottom: 0;padding-top: 20px;padding-bottom: 20px;") + div(class="col-lg-12" style="background-color: #ffffff;") + h2(class="text-center" style="color: #8a348b;margin-top: 15px;") <strong> Mailingliste abonnieren </strong> + div(class="col-md-4 col-lg-6" style="background-color: #ffffff;") + p() Das Deutsche Forschungsnetz (DFN) bietet Mailinglisten für Wissenschaft und Forschung an. Mailinglisten sind E-Mail-Verteilerlisten, d.h. Personen, die sich für Ihr Forschungsthema interessieren, können sich über das DFN registrieren und erhalten im Anschluss daran regelmäßig die über die Mailinglisten geteilten Informationen. + p() Sie als Verteiler senden die zu versendende Mail folglich nur noch an die festgelegte Mailinglistenadresse und das Programm leitet die Nachricht an alle registrierten Personen weiter. + div(class="col-md-4 col-lg-6 justify-content-between flex-wrap" style="background-color: #ffffff;") + div(class="justify-content-between order-2" style="background-color: rgba(255,255,255,0);") + p(class="text-left d-flex d-md-flex flex-row flex-grow-1 flex-shrink-1 flex-fill justify-content-between align-items-start align-content-start align-self-start flex-wrap order-1 justify-content-md-center align-items-md-start justify-content-lg-start") Oben finden Sie eine Ãœbersicht über die aktiven Mailinglisten. Wenn Sie sich in eine Mailingliste eintragen wollen, dann klicken Sie auf den entsprechend hinterlegten Link. + p() Es öffnet sich daraufhin die Hauptseite der Liste. Nach der Auswahl des Buttons „Abonnieren“, können Sie Ihre Mailadresse hinterlegen und sich in die Liste eintragen. + a(class="btn btn-primary text-center d-inline-flex d-lg-flex flex-column flex-grow-1 flex-shrink-1 flex-fill justify-content-between align-items-baseline align-content-center align-self-baseline flex-wrap order-3 mb-auto justify-content-md-center align-items-md-end align-items-lg-center justify-content-xl-center mx-auto" role="button" style="background-color: #8a348b;" href="https://www.listserv.dfn.de/sympa/help") <strong>Dokumentation bei DFN</strong> + a(class="btn btn-primary text-center d-inline-flex d-lg-flex flex-column flex-grow-1 flex-shrink-1 flex-fill justify-content-between align-items-baseline align-content-center align-self-baseline flex-wrap order-3 justify-content-md-center align-items-md-end align-items-lg-center justify-content-xl-center mx-auto" role="button" style="background-color: #8a348b; margin-top:10px; margin-bottom:10px;" href="/downloads/Handout_Mailinglisten_Abonnieren.pdf") <strong>Erste Schritte</strong> + div(id="newListText" style="background-color: #dadada;margin-top: 0px;") + div(class="container") + div(class="row" style="margin-bottom: 0;padding-top: 20px;padding-bottom: 20px;") + div(class="col-lg-12" style="background-color: #ffffff;") + h2(class="text-center" style="color: #8a348b;margin-top: 15px;") <strong>Neue Mailingliste erstellen</strong> + div(class="col-md-4 col-lg-6" style="background-color: #ffffff;") + p() Ãœber das Transferportal können Sie selbst eine Liste zu Ihrem Projekt anlegen, um mit Ihren Partnern in Verbindung zu bleiben. + p() Folgen Sie hierzu der Anleitung des DFN. + div(class="col-md-4 col-lg-6" style="background-color: #ffffff;") + a(class="btn btn-primary text-center d-lg-flex justify-content-center align-items-center align-content-center align-self-center align-items-lg-end mx-auto" role="button" style="background-color: #8a348b;" href="https://www.listserv.dfn.de/sympa/help/admin") <strong>Tutorial bei DFN</strong> + a(class="btn btn-primary text-center d-inline-flex d-lg-flex flex-column flex-grow-1 flex-shrink-1 flex-fill justify-content-between align-items-baseline align-content-center align-self-baseline flex-wrap order-3 justify-content-md-center align-items-md-end align-items-lg-center justify-content-xl-center mx-auto" role="button" style="background-color: #8a348b; margin-top:10px; margin-top:10px;" href="/downloads/Handout_Mailinglisten_Erstellen.pdf") <strong>Erste Schritte</strong> + div(id="addListText" style="background-color: #dadada;margin-top: 0px;") + div(class="container") + div(class="row" style="margin-bottom: 0;padding-top: 20px;padding-bottom: 20px;") + div(class="col-lg-12" style="background-color: #ffffff;") + h2(class="text-center" style="color: #8a348b;margin-top: 15px;") <strong>Neue Mailingliste eintragen</strong> + div(class="col-xl" style="background-color: #ffffff;") + p() Um Ihre beim DFN angelegte Mailingliste hier aufzunehmen, schicken Sie uns bitte eine Email an <a href="mailto:support-transfer@hft-stuttgart.de">support-transfer@hft-stuttgart.de</a> // jQuery script(src="https://code.jquery.com/jquery-3.3.1.min.js") script(src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js", integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1", crossorigin="anonymous") // Bootstrap script(src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous") // Header - if isUserAuthenticated - script(src="/js/headfootLogout.js") - else - script(src="/js/headfoot.js") \ No newline at end of file + script(src="/js/headfootLogout.js") -- GitLab From 3ce7cab487bfa00fd2879182eb295d7125d46be7 Mon Sep 17 00:00:00 2001 From: Wolfgang Knopki <wolfgang.knopki@hft-stuttgart.de> Date: Thu, 9 Apr 2020 15:36:01 +0200 Subject: [PATCH 15/19] adapted projectlist heading sizes --- views/DE/project/project.html | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/views/DE/project/project.html b/views/DE/project/project.html index ac3137df..797287b5 100644 --- a/views/DE/project/project.html +++ b/views/DE/project/project.html @@ -12,24 +12,24 @@ <!-- link: Gitlab Projekte / Gitlab project list --> - <h2> Direkteinstieg </h2> + <h4> Direkteinstieg </h4> <a href="https://transfer.hft-stuttgart.de/gitlab/explore/projects"> <i class="fas fa-chevron-right">Gitlab Projects</i></a> <!-- text: Hilfestellung zu Gitlab / short help about Gitlab --> <hr /> - <h2>Hilfestellung zu GitLab</h2> + <h4>Hilfestellung zu GitLab</h4> <br /> <div class="help"> <div class="card"> <div class="card-header"> - <h3 class="card-title"> + <h6 class="card-title"> <a class="collapsed" data-toggle="collapse" href="#collapse1" aria-expanded="false" aria-controls="collapse1"> Möchten Sie die Projektinhalte ansehen oder herunterladen?</a> - </h3> + </h6> </div> <div id="collapse1" class="card-body collapse"> <p> @@ -45,10 +45,10 @@ <div class="card"> <div class="card-header"> - <h3 class="card-title"> + <h6 class="card-title"> <a class="collapsed" data-toggle="collapse" href="#collapse2" aria-expanded="false" aria-controls="collapse2"> Möchten Sie zu einem Projekt beitragen?</a> - </h3> + </h6> </div> <div id="collapse2" class="card-body collapse"> <p> @@ -86,10 +86,10 @@ <div class="card"> <div class="card-header"> - <h3 class="card-title"> + <h6 class="card-title"> <a class="collapsed" data-toggle="collapse" href="#collapse3" aria-expanded="false" aria-controls="collapse3"> Möchten Sie selbst ein Projekt anlegen, um es der Öffentlichkeit bereitzustellen?</a> - </h3> + </h6> </div> <div id="collapse3" class="card-body collapse"> <p> -- GitLab From 1c85424af54baed68ecfbb2f06854ca08cd4c598 Mon Sep 17 00:00:00 2001 From: Wolfgang Knopki <wolfgang.knopki@hft-stuttgart.de> Date: Thu, 9 Apr 2020 14:20:21 +0000 Subject: [PATCH 16/19] removed all occurendes of headfootLogout.js --- views/DE/account/home.pug | 2 +- views/DE/account/profile.pug | 2 +- views/DE/account/security.pug | 2 +- views/DE/account/services.pug | 2 +- views/DE/project/addProjectOverview.pug | 2 +- views/DE/project/mailinglists.pug | 2 +- views/DE/project/project-simplified.pug | 5 +---- views/DE/project/projectOverview.pug | 5 +---- views/DE/project/projects.pug | 5 +---- views/DE/project/videoconferences.pug | 5 +---- 10 files changed, 10 insertions(+), 22 deletions(-) diff --git a/views/DE/account/home.pug b/views/DE/account/home.pug index 94083989..de3ed363 100644 --- a/views/DE/account/home.pug +++ b/views/DE/account/home.pug @@ -49,4 +49,4 @@ html(lang="de") // Bootstrap script(src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous") // M4_LAB - script(src="/js/headfootLogout.js") \ No newline at end of file + script(src="/js/headfoot.js") \ No newline at end of file diff --git a/views/DE/account/profile.pug b/views/DE/account/profile.pug index 6b95d531..2b55c8cf 100644 --- a/views/DE/account/profile.pug +++ b/views/DE/account/profile.pug @@ -105,4 +105,4 @@ html(lang="de") // Bootstrap script(src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous") // M4_LAB - script(src="/js/headfootLogout.js") \ No newline at end of file + script(src="/js/headfoot.js") \ No newline at end of file diff --git a/views/DE/account/security.pug b/views/DE/account/security.pug index 135d091f..29d0b43d 100644 --- a/views/DE/account/security.pug +++ b/views/DE/account/security.pug @@ -75,7 +75,7 @@ html(lang="de") // M4_LAB script(src="/js/security.js") script(src="/js/generalFunction.js") - script(src="/js/headfootLogout.js") + script(src="/js/headfoot.js") script. // check input fields 'use strict'; diff --git a/views/DE/account/services.pug b/views/DE/account/services.pug index 525041ef..d1b8344d 100644 --- a/views/DE/account/services.pug +++ b/views/DE/account/services.pug @@ -68,7 +68,7 @@ html(lang="de") // Bootstrap script(src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous") // M4_LAB - script(src="/js/headfootLogout.js") + script(src="/js/headfoot.js") script. function subscribe() { alert("To be implemented: Ihre Anfrage wird an den zuständigen Projektleiter gesendet.") diff --git a/views/DE/project/addProjectOverview.pug b/views/DE/project/addProjectOverview.pug index 9ed2c76e..f6517d29 100644 --- a/views/DE/project/addProjectOverview.pug +++ b/views/DE/project/addProjectOverview.pug @@ -134,7 +134,7 @@ html(lang="de") // Bootstrap script(src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous") // Header - script(src="/js/headfootLogout.js") + script(src="/js/headfoot.js") script. $( function() { $.datepicker.setDefaults( $.datepicker.regional["de"] ); diff --git a/views/DE/project/mailinglists.pug b/views/DE/project/mailinglists.pug index 58acfb24..1c2cf2e8 100644 --- a/views/DE/project/mailinglists.pug +++ b/views/DE/project/mailinglists.pug @@ -93,4 +93,4 @@ html(lang="de") // Bootstrap script(src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous") // Header - script(src="/js/headfootLogout.js") + script(src="/js/headfoot.js") \ No newline at end of file diff --git a/views/DE/project/project-simplified.pug b/views/DE/project/project-simplified.pug index b929c71b..206e5881 100644 --- a/views/DE/project/project-simplified.pug +++ b/views/DE/project/project-simplified.pug @@ -45,8 +45,5 @@ html(lang="de") // Bootstrap script(src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous") // Header - if isUserAuthenticated - script(src="/js/headfootLogout.js") - else - script(src="/js/headfoot.js") + script(src="/js/headfoot.js") diff --git a/views/DE/project/projectOverview.pug b/views/DE/project/projectOverview.pug index 7cf545fb..539a60e5 100644 --- a/views/DE/project/projectOverview.pug +++ b/views/DE/project/projectOverview.pug @@ -162,7 +162,4 @@ html(lang="de") // Bootstrap script(src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous") // Header - if isUserAuthenticated - script(src="/js/headfootLogout.js") - else - script(src="/js/headfoot.js") \ No newline at end of file + script(src="/js/headfoot.js") \ No newline at end of file diff --git a/views/DE/project/projects.pug b/views/DE/project/projects.pug index 78a12ecf..c2730b80 100644 --- a/views/DE/project/projects.pug +++ b/views/DE/project/projects.pug @@ -111,7 +111,4 @@ html(lang="de") // Bootstrap script(src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous") // Header - if isUserAuthenticated - script(src="/js/headfootLogout.js") - else - script(src="/js/headfoot.js") \ No newline at end of file + script(src="/js/headfoot.js") \ No newline at end of file diff --git a/views/DE/project/videoconferences.pug b/views/DE/project/videoconferences.pug index 12fc17a9..e6ee7b69 100644 --- a/views/DE/project/videoconferences.pug +++ b/views/DE/project/videoconferences.pug @@ -64,7 +64,4 @@ html(lang="de") // Bootstrap script(src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous") // Header - if isUserAuthenticated - script(src="/js/headfootLogout.js") - else - script(src="/js/headfoot.js") \ No newline at end of file + script(src="/js/headfoot.js") \ No newline at end of file -- GitLab From db07c1dcf07329a0c17451579c556aa632cc2025 Mon Sep 17 00:00:00 2001 From: Wolfgang Knopki <wolfgang.knopki@hft-stuttgart.de> Date: Fri, 17 Apr 2020 13:57:58 +0000 Subject: [PATCH 17/19] changed default SAML-redirect to account page --- routes/routes-account.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/routes/routes-account.js b/routes/routes-account.js index 8c0b3129..d43845fc 100644 --- a/routes/routes-account.js +++ b/routes/routes-account.js @@ -58,11 +58,11 @@ module.exports = function (app, config, passport, i18n) { app.post(config.passport.saml.path, passport.authenticate(config.passport.strategy, { - failureRedirect: '/', + failureRedirect: '/account/', failureFlash: true }), function (req, res) { - res.redirect('/'); + res.redirect('/account/'); } ); -- GitLab From 885546b6f69e3236e784ee25e3574e9767dbf7af Mon Sep 17 00:00:00 2001 From: Rosanny <rosanny.sihombing@hft-stuttgart.de> Date: Fri, 24 Apr 2020 17:07:07 +0200 Subject: [PATCH 18/19] MLAB-175 --- views/DE/account/profile.pug | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/views/DE/account/profile.pug b/views/DE/account/profile.pug index 2b55c8cf..e30882ef 100644 --- a/views/DE/account/profile.pug +++ b/views/DE/account/profile.pug @@ -77,26 +77,26 @@ html(lang="de") } div(class='form-group col-md-2') label(for="firstname") Vorname - input#inputFirstname(name="inputFirstname", type="text", class="form-control", placeholder="Vorname", value=user.firstname required) + input#inputFirstname(name="inputFirstname", type="text", class="form-control", placeholder="Vorname", value=user.firstname, maxlength="45" required) div(class='form-group col-md-2') label(for="lastname") Nachname - input#inputLastname(name="inputLastname", type="text", class="form-control", placeholder="Nachname", value=user.lastname required) + input#inputLastname(name="inputLastname", type="text", class="form-control", placeholder="Nachname", value=user.lastname, maxlength="45" required) div(class="form-row") div(class='form-group col-md-8') label(for="email") E-mail Adresse - input#inputEmail(name="inputEmail", type="email", class="form-control", placeholder="Email", value=email required) + input#inputEmail(name="inputEmail", type="email", class="form-control", placeholder="Email", value=email, maxlength="45" required) div(class="form-row") div(class='form-group col-md-8') label(for="organisation") Unternehmen - input#inputOrganisation(name="inputOrganisation", type="text", class="form-control", placeholder="Unternehmen", value=user.organisation) + input#inputOrganisation(name="inputOrganisation", type="text", class="form-control", placeholder="Unternehmen", value=user.organisation, maxlength="45") div(class="form-row") div(class='form-group col-md-8') label(for="industry") Branche - input#inputIndustry(name="inputIndustry", type="text", class="form-control", placeholder="Branche", value=user.industry) + input#inputIndustry(name="inputIndustry", type="text", class="form-control", placeholder="Branche", value=user.industry, maxlength="45") div(class="form-row") div(class='form-group col-md-8') label(for="speciality") Fachgebiete - input#inputSpeciality(name="inputSpeciality", type="text", class="form-control", placeholder="Fachgebiete", value=user.speciality) + input#inputSpeciality(name="inputSpeciality", type="text", class="form-control", placeholder="Fachgebiete", value=user.speciality, maxlength="100") input(type="submit", class="btn btn-primary", value="Speichern") // jQuery -- GitLab From 34e30b09a312beb0c4c128a3ff5c135285b94172 Mon Sep 17 00:00:00 2001 From: Rosanny <rosanny.sihombing@hft-stuttgart.de> Date: Fri, 24 Apr 2020 17:28:16 +0200 Subject: [PATCH 19/19] MLAB-170 --- public/js/registration.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/js/registration.js b/public/js/registration.js index 3e6184f9..8f2c1b54 100644 --- a/public/js/registration.js +++ b/public/js/registration.js @@ -8,7 +8,7 @@ $('#inputEmail').change(function(){ $('#emailWarning').empty() isEmailValid = data if(!isEmailValid) { - $('#emailWarning').html('M4_LAB account with this email address is already exist.') + $('#emailWarning').html('Mit dieser E-Mail-Adresse existiert bereits ein Benutzerkonto in unserem Transferportal.') } switchSubmitButton() }) -- GitLab