Commit cad730bf authored by Rosanny Sihombing's avatar Rosanny Sihombing
Browse files

Merge branch 'MLAB-670' into 'testing'

MLAB-670: add a link to Forgot Password email

See merge request !161
parents 8206c405 30330616
Pipeline #6649 passed with stage
in 7 seconds
......@@ -5,5 +5,5 @@ for(var c="",d="abcdefghijklmnopqrstuvwxyz0123456789",f=0;40>f;f++)c+=d.charAt(M
_bcryptjs["default"].genSalt(saltRounds,function(d,f){_bcryptjs["default"].hash(a.body.inputPassword,f,function(a,d){var f={profile:e,password:d,verificationToken:c};b(a,f)})})},// save data
function(d,e){_dbController.dbController.registerNewUser(d,function(e){if(e)b.flash("error","Fehlgeschlagen");else{// send email
var f="Bitte best\xE4tigen Sie Ihr M4_LAB Benutzerkonto",g="<div>Lieber Nutzer,<br/><br/><p>vielen Dank f\xFCr Ihre Anmeldung am Transferportal der HFT Stuttgart. <br/>Um Ihre Anmeldung zu best\xE4tigen, klicken Sie bitte <a href="+(c.app.host+"")+"/verifyAccount?token="+(d.verificationToken+"")+">diesen Link</a> <br/><br/>Ohne Best\xE4tigung Ihres Kontos m\xFCssen wir Ihr Konto leider nach 7 Tagen l\xF6schen.</p><br/>"+(_const.miscConst.mailSignature+"")+"</div>";// user feedback
_mailer.mailer.options.to=a.body.inputEmail,_mailer.mailer.options.subject="Bitte best\xE4tigen Sie Ihr M4_LAB Benutzerkonto",_mailer.mailer.options.html=g,_mailer.mailer.transporter.sendMail(_mailer.mailer.options,function(a){if(a)throw console.error("Cannot send email. [Error] "+(a+"")),a}),b.flash("success","Vielen Dank f\xFCr Ihre Registrierung!\r\n\r\nWir haben Ihnen eine E-Mail an Ihre verwendete Adresse gesendet. Diese enth\xE4lt einen Link zur Best\xE4tigung Ihres Accounts.\r\nWenn Sie die Mail nicht in ihrem Postfach vorfinden, pr\xFCfen Sie bitte auch Ihren Spam-Ordner.")}b.redirect("/account/registration")})}])},verifyAccount:function(){function a(a,c,d){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function d(a,b,c){var e,f;return _regeneratorRuntime().wrap(function g(d){for(;1;)switch(d.prev=d.next){case 0:return d.next=2,_dbController.dbController.getUserIdByVerificationToken(a.query.token);case 2:e=d.sent,e?(f={id:e,verificationStatus:1},_dbController.dbController.verifyUserAccount(f,/*#__PURE__*/function(){var a=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function d(a){var f,g,h;return _regeneratorRuntime().wrap(function i(d){for(;1;)switch(d.prev=d.next){case 0:if(!a){d.next=5;break}console.error(a),b.render(c+"/account/verification",{status:!1}),d.next=9;break;case 5:return d.next=7,_dbController.dbController.getUserEmailById(e);case 7:f=d.sent,f?(g="Herzlich willkommen",h="<div>Lieber Nutzer,<br/><br/><p>herzlich willkommen beim Transferportal der HFT Stuttgart!<br/>Sie k\xF6nnen nun alle Dienste des Portals nutzen.<p/><br/>"+_const.miscConst.mailSignature,_mailer.mailer.options.to=f,_mailer.mailer.options.subject=g,_mailer.mailer.options.html=h,_mailer.mailer.transporter.sendMail(_mailer.mailer.options,function(a){if(a)throw console.log("cannot send email"),a}),b.render(c+"/account/verification",{status:!0})):b.render(c+"/account/verification",{status:!1});case 9:case"end":return d.stop();}},d)}));return function(b){return a.apply(this,arguments)}}())):b.render(c+"/account/verification",{status:null});case 4:case"end":return d.stop();}},d)}));return a}(),resetPassword:function(){function a(a,c){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function c(a,b){var d,e;return _regeneratorRuntime().wrap(function f(c){for(;1;)switch(c.prev=c.next){case 0:return d=a.body.inputNewPwd,c.next=3,_dbController.dbController.getUserByToken(a.params.token);case 3:e=c.sent,e?_bcryptjs["default"].genSalt(saltRounds,function(a,c){_bcryptjs["default"].hash(d,c,/*#__PURE__*/function(){var a=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function d(a,c){var f,g;return _regeneratorRuntime().wrap(function d(a){for(;1;)switch(a.prev=a.next){case 0:return f={password:c,user_id:e.user_id,resetPasswordToken:null,resetPasswordExpires:null},a.next=3,_dbController.dbController.updateCredential(f);case 3:g=a.sent,g?(b.flash("success","Passwort aktualisiert!"),_mailer.mailer.options.to=e.email,_mailer.mailer.options.subject=_const.miscConst.updatePasswordMailSubject,_mailer.mailer.options.html=_const.miscConst.updatePasswordMailContent+"<div>"+_const.miscConst.mailSignature+"</div>",_mailer.mailer.transporter.sendMail(_mailer.mailer.options,function(a){a&&console.log(a)})):(console.log("Failed to reset password"),b.flash("error","Datenbankfehler: Passwort kann nicht ge\xE4ndert werden.")),b.redirect("/login");case 6:case"end":return a.stop();}},d)}));return function(b,c){return a.apply(this,arguments)}}())}):(b.flash("error","User not found."),b.redirect("/login"));case 5:case"end":return c.stop();}},c)}));return a}(),generateNewToken:function generateNewToken(a,b,c){var d=Math.floor,e=a.body.inputEmail;_async["default"].waterfall([/*#__PURE__*/function(){var a=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function b(a){var f,g,h,j,k,l,m,n;return _regeneratorRuntime().wrap(function i(b){for(;1;)switch(b.prev=b.next){case 0:return b.next=2,_dbController.dbController.checkUserEmail(e);case 2:if(f=b.sent,f){b.next=7;break}console.log("No user found: "+(e+"")),b.next=17;break;case 7:for(g="",h="abcdefghijklmnopqrstuvwxyz0123456789",j=0;40>j;j++)g+=h.charAt(d(Math.random()*h.length));return k="Ihre Passwort-Anfrage an das Transferportal der HFT Stuttgart",l="<div>Lieber Nutzer,<br/><br/><p>wir haben Ihre Anfrage zur Erneuerung Ihres Passwortes erhalten. Falls Sie diese Anfrage nicht gesendet haben, ignorieren Sie bitte diese E-Mail.<br/><br/>Sie k\xF6nnen Ihr Passwort mit dem Klick auf diesen Link \xE4ndern: "+(c.app.host+"/reset/")+(g+"<br/>Dieser Link ist aus Sicherheitsgr\xFCnden nur f\xFCr 1 Stunde g\xFCltig.<br/></p>")+(_const.miscConst.mailSignature+"</div>"),m={user_id:f.id,resetPasswordToken:g,resetPasswordExpires:Date.now()+36e5// 1 hour
},b.next=15,_dbController.dbController.updateCredential(m);case 15:n=b.sent,n?(_mailer.mailer.options.to=e,_mailer.mailer.options.subject=k,_mailer.mailer.options.html=l,_mailer.mailer.transporter.sendMail(_mailer.mailer.options,function(a){a&&console.error(a)})):console.log("failed to update credential");case 17:a(null);case 18:case"end":return b.stop();}},b)}));return function(b){return a.apply(this,arguments)}}()],function(a){a?b.flash("error","Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut."):b.flash("success","Wenn Ihre E-Mail-Adresse registriert ist, wurde eine E-Mail mit dem weiteren Vorgehen an "+(e+"")+" versendet."),b.redirect("/account/forgotPwd")})},checkUserEmail:function(){function a(a,c){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function c(a,b){var d;return _regeneratorRuntime().wrap(function e(c){for(;1;)switch(c.prev=c.next){case 0:return c.next=2,_dbController.dbController.checkUserEmail(a.params.email);case 2:d=c.sent,d?b.send(!1):b.send(!0);case 4:case"end":return c.stop();}},c)}));return a}()};exports.publicController=publicController;
\ No newline at end of file
_mailer.mailer.options.to=a.body.inputEmail,_mailer.mailer.options.subject="Bitte best\xE4tigen Sie Ihr M4_LAB Benutzerkonto",_mailer.mailer.options.html=g,_mailer.mailer.transporter.sendMail(_mailer.mailer.options,function(a){if(a)throw console.error("Cannot send email. [Error] "+(a+"")),a}),b.flash("success","Vielen Dank f\xFCr Ihre Registrierung!\r\n\r\nWir haben Ihnen eine E-Mail an Ihre verwendete Adresse gesendet. Diese enth\xE4lt einen Link zur Best\xE4tigung Ihres Accounts.\r\nWenn Sie die Mail nicht in ihrem Postfach vorfinden, pr\xFCfen Sie bitte auch Ihren Spam-Ordner.")}b.redirect("/account/registration")})}])},verifyAccount:function(){function a(a,c,d){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function d(a,b,c){var e,f;return _regeneratorRuntime().wrap(function g(d){for(;1;)switch(d.prev=d.next){case 0:return d.next=2,_dbController.dbController.getUserIdByVerificationToken(a.query.token);case 2:e=d.sent,e?(f={id:e,verificationStatus:1},_dbController.dbController.verifyUserAccount(f,/*#__PURE__*/function(){var a=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function d(a){var f,g,h;return _regeneratorRuntime().wrap(function i(d){for(;1;)switch(d.prev=d.next){case 0:if(!a){d.next=5;break}console.error(a),b.render(c+"/account/verification",{status:!1}),d.next=9;break;case 5:return d.next=7,_dbController.dbController.getUserEmailById(e);case 7:f=d.sent,f?(g="Herzlich willkommen",h="<div>Lieber Nutzer,<br/><br/><p>herzlich willkommen beim Transferportal der HFT Stuttgart!<br/>Sie k\xF6nnen nun alle Dienste des Portals nutzen.<p/><br/>"+_const.miscConst.mailSignature,_mailer.mailer.options.to=f,_mailer.mailer.options.subject=g,_mailer.mailer.options.html=h,_mailer.mailer.transporter.sendMail(_mailer.mailer.options,function(a){if(a)throw console.log("cannot send email"),a}),b.render(c+"/account/verification",{status:!0})):b.render(c+"/account/verification",{status:!1});case 9:case"end":return d.stop();}},d)}));return function(b){return a.apply(this,arguments)}}())):b.render(c+"/account/verification",{status:null});case 4:case"end":return d.stop();}},d)}));return a}(),resetPassword:function(){function a(a,c){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function c(a,b){var d,e;return _regeneratorRuntime().wrap(function f(c){for(;1;)switch(c.prev=c.next){case 0:return d=a.body.inputNewPwd,c.next=3,_dbController.dbController.getUserByToken(a.params.token);case 3:e=c.sent,e?_bcryptjs["default"].genSalt(saltRounds,function(a,c){_bcryptjs["default"].hash(d,c,/*#__PURE__*/function(){var a=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function d(a,c){var f,g;return _regeneratorRuntime().wrap(function d(a){for(;1;)switch(a.prev=a.next){case 0:return f={password:c,user_id:e.user_id,resetPasswordToken:null,resetPasswordExpires:null},a.next=3,_dbController.dbController.updateCredential(f);case 3:g=a.sent,g?(b.flash("success","Passwort aktualisiert!"),_mailer.mailer.options.to=e.email,_mailer.mailer.options.subject=_const.miscConst.updatePasswordMailSubject,_mailer.mailer.options.html=_const.miscConst.updatePasswordMailContent+"<div>"+_const.miscConst.mailSignature+"</div>",_mailer.mailer.transporter.sendMail(_mailer.mailer.options,function(a){a&&console.log(a)})):(console.log("Failed to reset password"),b.flash("error","Datenbankfehler: Passwort kann nicht ge\xE4ndert werden.")),b.redirect("/login");case 6:case"end":return a.stop();}},d)}));return function(b,c){return a.apply(this,arguments)}}())}):(b.flash("error","User not found."),b.redirect("/login"));case 5:case"end":return c.stop();}},c)}));return a}(),generateNewToken:function generateNewToken(a,b,c){var d=Math.floor,e=a.body.inputEmail;_async["default"].waterfall([/*#__PURE__*/function(){var a=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function b(a){var f,g,h,j,k,l,m,n,o;return _regeneratorRuntime().wrap(function i(b){for(;1;)switch(b.prev=b.next){case 0:return b.next=2,_dbController.dbController.checkUserEmail(e);case 2:if(f=b.sent,f){b.next=7;break}console.log("No user found: "+(e+"")),b.next=18;break;case 7:for(g="",h="abcdefghijklmnopqrstuvwxyz0123456789",j=0;40>j;j++)g+=h.charAt(d(Math.random()*h.length));return k=c.app.host+"/reset/"+(g+""),l="Ihre Passwort-Anfrage an das Transferportal der HFT Stuttgart",m="<div>Lieber Nutzer,<br/><br/><p>wir haben Ihre Anfrage zur Erneuerung Ihres Passwortes erhalten. Falls Sie diese Anfrage nicht gesendet haben, ignorieren Sie bitte diese E-Mail.<br/><br/>Sie k\xF6nnen Ihr Passwort mit dem Klick auf diesen Link \xE4ndern: <a href=\""+k+"\">"+k+"</a><br/>Dieser Link ist aus Sicherheitsgr\xFCnden nur f\xFCr 1 Stunde g\xFCltig.<br/></p>"+(_const.miscConst.mailSignature+"</div>"),n={user_id:f.id,resetPasswordToken:g,resetPasswordExpires:Date.now()+36e5// 1 hour
},b.next=16,_dbController.dbController.updateCredential(n);case 16:o=b.sent,o?(_mailer.mailer.options.to=e,_mailer.mailer.options.subject=l,_mailer.mailer.options.html=m,_mailer.mailer.transporter.sendMail(_mailer.mailer.options,function(a){a&&console.error(a)})):console.log("failed to update credential");case 18:a(null);case 19:case"end":return b.stop();}},b)}));return function(b){return a.apply(this,arguments)}}()],function(a){a?b.flash("error","Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut."):b.flash("success","Wenn Ihre E-Mail-Adresse registriert ist, wurde eine E-Mail mit dem weiteren Vorgehen an "+(e+"")+" versendet."),b.redirect("/account/forgotPwd")})},checkUserEmail:function(){function a(a,c){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function c(a,b){var d;return _regeneratorRuntime().wrap(function e(c){for(;1;)switch(c.prev=c.next){case 0:return c.next=2,_dbController.dbController.checkUserEmail(a.params.email);case 2:d=c.sent,d?b.send(!1):b.send(!0);case 4:case"end":return c.stop();}},c)}));return a}()};exports.publicController=publicController;
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment