added stuff
This commit is contained in:
parent
23828b0b25
commit
065f2a47f6
|
@ -58,13 +58,19 @@ config_nev();
|
||||||
var smtpTransport = nodemailer.createTransport(config.mailer.options);
|
var smtpTransport = nodemailer.createTransport(config.mailer.options);
|
||||||
|
|
||||||
exports.validateVerificationToken = function(req, res){
|
exports.validateVerificationToken = function(req, res){
|
||||||
console.log('validateVerificationToken');
|
// console.log('validateVerificationToken');
|
||||||
console.log('token: '+req.params.token+'\n\n');
|
// console.log('token: '+req.params.token+'\n\n');
|
||||||
nev.confirmTempUser(req.params.token, function(user, err) {
|
|
||||||
|
console.log('res.headerSent: '+res.headersSent);
|
||||||
|
nev.confirmTempUser(req.params.token, function(err, user) {
|
||||||
if(err) {
|
if(err) {
|
||||||
res.status(500).send( {message: errorHandler.getErrorMessage(err) } );
|
console.log(errorHandler.getErrorMessage(err));
|
||||||
}else if (user){
|
console.log(err)
|
||||||
res.status(200).send('User successfully verified');
|
return res.status(500).send( {message: errorHandler.getErrorMessage(err) } );
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (user){
|
||||||
|
return res.status(200).send('User successfully verified');
|
||||||
}else {
|
}else {
|
||||||
// redirect to resend verification email
|
// redirect to resend verification email
|
||||||
return res.status(400).send( {message: 'Verification token is invalid or has expired'} );
|
return res.status(400).send( {message: 'Verification token is invalid or has expired'} );
|
||||||
|
@ -76,12 +82,15 @@ exports.resendVerificationEmail = function(req, res, next){
|
||||||
nev.resendVerificationEmail(req.body.email, function(err, userFound) {
|
nev.resendVerificationEmail(req.body.email, function(err, userFound) {
|
||||||
if(err) {
|
if(err) {
|
||||||
console.log(errorHandler.getErrorMessage(err));
|
console.log(errorHandler.getErrorMessage(err));
|
||||||
res.status(500).send( {message: errorHandler.getErrorMessage(err) } );
|
return res.status(500).send( {message: errorHandler.getErrorMessage(err) } );
|
||||||
}else if (userFound){
|
}
|
||||||
|
|
||||||
|
if (userFound){
|
||||||
|
console.log('hello');
|
||||||
res.status(200).send('Verification email successfully Re-Sent');
|
res.status(200).send('Verification email successfully Re-Sent');
|
||||||
}else {
|
}else {
|
||||||
// user hasn't been found yet
|
// user hasn't been found yet
|
||||||
res.status(400).send( {message: 'Error: Verification Email could NOT be sent'} );
|
res.status(400).send( {message: 'Error: User has not been registered yet'} );
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -107,7 +116,7 @@ exports.signup = function(req, res) {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.log('Error: ');
|
console.log('Error: ');
|
||||||
console.log(err);
|
console.log(err);
|
||||||
res.status(400).send({
|
return res.status(400).send({
|
||||||
message: errorHandler.getErrorMessage(err)
|
message: errorHandler.getErrorMessage(err)
|
||||||
});
|
});
|
||||||
}else {
|
}else {
|
||||||
|
@ -118,17 +127,17 @@ exports.signup = function(req, res) {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.log('Error: ');
|
console.log('Error: ');
|
||||||
console.log(err);
|
console.log(err);
|
||||||
res.status(400).send({
|
return res.status(400).send({
|
||||||
message: errorHandler.getErrorMessage(err)
|
message: errorHandler.getErrorMessage(err)
|
||||||
});
|
});
|
||||||
}else {
|
}else {
|
||||||
console.log('new tmpuser registered');
|
console.log('new tmpuser registered');
|
||||||
res.status(200).send('An email has been sent to you. Please check it to verify your account.');
|
return res.status(200).send('An email has been sent to you. Please check it to verify your account.');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
console.log('Error: Temp user already exists!');
|
console.log('Error: User already exists!');
|
||||||
res.status(400).send({ message: 'Error: Temp user already exists!' });
|
return res.status(400).send({ message: 'Error: User already exists!' });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -153,7 +162,7 @@ exports.signin = function(req, res, next) {
|
||||||
message: errorHandler.getErrorMessage(err)
|
message: errorHandler.getErrorMessage(err)
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
res.json(user);
|
return res.json(user);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -166,6 +175,7 @@ exports.signin = function(req, res, next) {
|
||||||
exports.signout = function(req, res) {
|
exports.signout = function(req, res) {
|
||||||
req.logout();
|
req.logout();
|
||||||
res.redirect('/');
|
res.redirect('/');
|
||||||
|
return res.end();
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -40,7 +40,7 @@ exports.requiresLogin = function(req, res, next) {
|
||||||
message: 'User is not logged in'
|
message: 'User is not logged in'
|
||||||
});
|
});
|
||||||
}else {
|
}else {
|
||||||
next();
|
return next();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ exports.update = function(req, res) {
|
||||||
/**
|
/**
|
||||||
* Send User
|
* Send User
|
||||||
*/
|
*/
|
||||||
exports.me = function(req, res) {
|
exports.getUser = function(req, res) {
|
||||||
var _user = req.user;
|
var _user = req.user;
|
||||||
delete _user.password;
|
delete _user.password;
|
||||||
delete _user.salt;
|
delete _user.salt;
|
||||||
|
@ -59,4 +59,6 @@ exports.me = function(req, res) {
|
||||||
delete _user.__v;
|
delete _user.__v;
|
||||||
|
|
||||||
res.json(req.user || null);
|
res.json(req.user || null);
|
||||||
|
|
||||||
|
res.end();
|
||||||
};
|
};
|
||||||
|
|
|
@ -10,7 +10,7 @@ module.exports = function(app) {
|
||||||
var users = require('../../app/controllers/users.server.controller');
|
var users = require('../../app/controllers/users.server.controller');
|
||||||
|
|
||||||
// Setting up the users profile api
|
// Setting up the users profile api
|
||||||
app.route('/users/me').get(users.requiresLogin, users.me);
|
app.route('/users/me').get(users.requiresLogin, users.getUser);
|
||||||
app.route('/users').put(users.requiresLogin, users.update);
|
app.route('/users').put(users.requiresLogin, users.update);
|
||||||
app.route('/users/accounts').delete(users.requiresLogin, users.removeOAuthProvider);
|
app.route('/users/accounts').delete(users.requiresLogin, users.removeOAuthProvider);
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
"connect-mongo": "~0.8.1",
|
"connect-mongo": "~0.8.1",
|
||||||
"consolidate": "~0.10.0",
|
"consolidate": "~0.10.0",
|
||||||
"cookie-parser": "~1.3.2",
|
"cookie-parser": "~1.3.2",
|
||||||
"email-verification": "~0.3.1",
|
"email-verification": "github.com/whitef0x0/node-email-verification",
|
||||||
"express": "~4.10.1",
|
"express": "~4.10.1",
|
||||||
"express-session": "~1.9.1",
|
"express-session": "~1.9.1",
|
||||||
"forever": "~0.11.0",
|
"forever": "~0.11.0",
|
||||||
|
|
|
@ -89,7 +89,7 @@ form .row.field {
|
||||||
form .row.field > .field-input {
|
form .row.field > .field-input {
|
||||||
font-size: 1.4em;
|
font-size: 1.4em;
|
||||||
color: #777;
|
color: #777;
|
||||||
width: inherit;
|
/*width: inherit;*/
|
||||||
}
|
}
|
||||||
form.submission-form .row.field.statement > .field-title {
|
form.submission-form .row.field.statement > .field-title {
|
||||||
font-size:1.7em;
|
font-size:1.7em;
|
||||||
|
@ -140,7 +140,7 @@ form .row.field {
|
||||||
padding: 0.45em 0.9em;
|
padding: 0.45em 0.9em;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
line-height: 160%;
|
line-height: 160%;
|
||||||
border: 3px dashed #ddd;
|
border: 2px dashed #ddd!important;
|
||||||
}
|
}
|
||||||
form .field-input > input.text-field-input:focus{
|
form .field-input > input.text-field-input:focus{
|
||||||
border: 0;
|
border: 0;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<div class="field row" ng-click="setActiveField(field._id)" ng-if="field.fieldOptions.length > 0">
|
<div class="field row" ng-click="setActiveField(field._id)" ng-if="field.fieldOptions.length > 0">
|
||||||
<div class="col-xs-12 field-title field-title">{{field.title}} <span class="required-error" ng-show="field.required && field.fieldValue == 0">(* required)</span> </div>
|
<div class="col-xs-12 field-title field-title">{{field.title}} <span class="required-error" ng-show="field.required && !field.fieldValue">(* required)</span> </div>
|
||||||
|
|
||||||
<div class="col-xs-12 field-input">
|
<div class="col-xs-12 field-input">
|
||||||
<div ng-repeat="option in field.fieldOptions" class="row-fluid">
|
<div ng-repeat="option in field.fieldOptions" class="row-fluid">
|
||||||
|
@ -12,7 +12,7 @@
|
||||||
ng-required="field.required"
|
ng-required="field.required"
|
||||||
ng-disabled="field.disabled"
|
ng-disabled="field.disabled"
|
||||||
ng-init="field.fieldValue = field.fieldOptions[0].option_id"/>
|
ng-init="field.fieldValue = field.fieldOptions[0].option_id"/>
|
||||||
<span ng-bind="option.option_title"></span>
|
<span ng-bind="option.option_value"></span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -4,13 +4,13 @@
|
||||||
<br>
|
<br>
|
||||||
<p style="color:#ddd;">{{field.description}}</p>
|
<p style="color:#ddd;">{{field.description}}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-6 field-input container">
|
<div class="col-xs-12 field-input container">
|
||||||
<div class="row-fluid">
|
<div class="row-fluid">
|
||||||
<label class="btn col-xs-6">
|
<label class="btn col-xs-5">
|
||||||
<input ng-focus="setActiveField(field._id)" ng-style="{'color': design.colors.answerColor, 'border-color': design.colors.answerColor}" type="radio" value="true" ng-model="field.fieldValue" ng-model-options="{ debounce: 250 }" ng-required="field.required" ng-disabled="field.disabled"/>
|
<input ng-focus="setActiveField(field._id)" ng-style="{'color': design.colors.answerColor, 'border-color': design.colors.answerColor}" type="radio" value="true" ng-model="field.fieldValue" ng-model-options="{ debounce: 250 }" ng-required="field.required" ng-disabled="field.disabled"/>
|
||||||
<span> I accept </span>
|
<span> I accept </span>
|
||||||
</label>
|
</label>
|
||||||
<label class="btn col-xs-6 col-xs-offset-1">
|
<label class="btn col-xs-5 col-xs-offset-1">
|
||||||
<input ng-focus="setActiveField(field._id)" ng-style="{'color': design.colors.answerColor, 'border-color': design.colors.answerColor}" type="radio" value="false" ng-model="field.fieldValue" ng-model-options="{ debounce: 250 }" ng-required="field.required" ng-disabled="field.disabled"/>
|
<input ng-focus="setActiveField(field._id)" ng-style="{'color': design.colors.answerColor, 'border-color': design.colors.answerColor}" type="radio" value="false" ng-model="field.fieldValue" ng-model-options="{ debounce: 250 }" ng-required="field.required" ng-disabled="field.disabled"/>
|
||||||
<span>I don't accept </span>
|
<span>I don't accept </span>
|
||||||
</label>
|
</label>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<div class="col-xs-12 field-title" ng-style="{'color': design.colors.questionColor}"><h3><span class="fa fa-angle-double-right"></span> {{field.title}} <span class="required-error" ng-show="field.required && !field.fieldValue">*(required)</span></h3></div>
|
<div class="col-xs-12 field-title" ng-style="{'color': design.colors.questionColor}"><h3><span class="fa fa-angle-double-right"></span> {{field.title}} <span class="required-error" ng-show="field.required && !field.fieldValue">*(required)</span></h3></div>
|
||||||
<div class="col-xs-12 field-input">
|
<div class="col-xs-12 field-input">
|
||||||
<div ng-repeat="option in field.fieldOptions" class="row-fluid">
|
<div ng-repeat="option in field.fieldOptions" class="row-fluid">
|
||||||
<label class="btn col-xs-3" ng-class="{activeBtn: field.fieldValue == field.fieldOptions[$index].option_id}">
|
<label class="btn" style="margin: 0.5em; padding-left:30px" ng-class="{activeBtn: field.fieldValue == field.fieldOptions[$index].option_id}">
|
||||||
<input ng-focus="setActiveField(field._id)" ng-style="{'color': design.colors.answerColor, 'border-color': design.colors.answerColor}"
|
<input ng-focus="setActiveField(field._id)" ng-style="{'color': design.colors.answerColor, 'border-color': design.colors.answerColor}"
|
||||||
type="radio"
|
type="radio"
|
||||||
value="{{option.option_value}}"
|
value="{{option.option_value}}"
|
||||||
|
|
|
@ -3,23 +3,25 @@
|
||||||
angular.module('users').controller('VerifyController', ['$scope', '$state', '$rootScope', 'User', 'Auth', '$stateParams',
|
angular.module('users').controller('VerifyController', ['$scope', '$state', '$rootScope', 'User', 'Auth', '$stateParams',
|
||||||
function($scope, $state, $rootScope, User, Auth, $stateParams) {
|
function($scope, $state, $rootScope, User, Auth, $stateParams) {
|
||||||
|
|
||||||
$scope.isReset = false;
|
$scope.isResetSent = false;
|
||||||
$scope.credentials = {};
|
$scope.credentials = {};
|
||||||
$scope.error = '';
|
$scope.error = '';
|
||||||
|
|
||||||
// Submit forgotten password account id
|
// Submit forgotten password account id
|
||||||
$scope.resendVerifyEmail = function() {
|
$scope.resendVerifyEmail = function() {
|
||||||
console.log($scope.credentials.email);
|
// console.log($scope.credentials);
|
||||||
|
// console.log($scope.credentials.email);
|
||||||
User.resendVerifyEmail($scope.credentials.email).then(
|
User.resendVerifyEmail($scope.credentials.email).then(
|
||||||
function(response){
|
function(response){
|
||||||
|
console.log(response);
|
||||||
$scope.success = response.message;
|
$scope.success = response.message;
|
||||||
$scope.credentials = null;
|
$scope.credentials = null;
|
||||||
$scope.isResetSent = true;
|
$scope.isResetSent = true;
|
||||||
},
|
},
|
||||||
function(error){
|
function(error){
|
||||||
$scope.error = error;
|
$scope.error = error;
|
||||||
$scope.credentials = null;
|
$scope.credentials.email = null;
|
||||||
$scope.isReset = false;
|
$scope.isResetSent = false;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -32,14 +34,14 @@ angular.module('users').controller('VerifyController', ['$scope', '$state', '$ro
|
||||||
function(response){
|
function(response){
|
||||||
console.log('Success: '+response.message);
|
console.log('Success: '+response.message);
|
||||||
$scope.success = response.message;
|
$scope.success = response.message;
|
||||||
$scope.isReset = true;
|
$scope.isResetSent = true;
|
||||||
$scope.credentials = null;
|
$scope.credentials.email = null;
|
||||||
},
|
},
|
||||||
function(error){
|
function(error){
|
||||||
console.log('Error: '+error.message);
|
console.log('Error: '+error.message);
|
||||||
$scope.isReset = false;
|
$scope.isResetSent = false;
|
||||||
$scope.error = error;
|
$scope.error = error;
|
||||||
$scope.credentials = null;
|
$scope.credentials.email = null;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,9 @@
|
||||||
<section ng-if="!isResetSent">
|
<section ng-if="!isResetSent">
|
||||||
<h3 class="col-md-12 text-center">Resend your account verification email</h3>
|
<h3 class="col-md-12 text-center">Resend your account verification email</h3>
|
||||||
<p class="small text-center">Enter your account email.</p>
|
<p class="small text-center">Enter your account email.</p>
|
||||||
|
<div data-ng-show="error" class="text-center text-danger">
|
||||||
|
<strong>{{error}}</strong>
|
||||||
|
</div>
|
||||||
<div class="col-xs-offset-2 col-xs-8 col-md-offset-3 col-md-6">
|
<div class="col-xs-offset-2 col-xs-8 col-md-offset-3 col-md-6">
|
||||||
<form data-ng-submit="resendVerifyEmail()" class="signin form-horizontal" autocomplete="off">
|
<form data-ng-submit="resendVerifyEmail()" class="signin form-horizontal" autocomplete="off">
|
||||||
<fieldset>
|
<fieldset>
|
||||||
|
@ -12,9 +15,7 @@
|
||||||
<button type="submit" class="btn btn-primary" ng-click="resendVerifyEmail()">Submit</button>
|
<button type="submit" class="btn btn-primary" ng-click="resendVerifyEmail()">Submit</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div data-ng-show="error" class="text-center text-danger">
|
|
||||||
<strong>{{error}}</strong>
|
|
||||||
</div>
|
|
||||||
<!-- <div data-ng-show="success" class="text-center text-success">
|
<!-- <div data-ng-show="success" class="text-center text-success">
|
||||||
<strong>{{success}}</strong>
|
<strong>{{success}}</strong>
|
||||||
</div> -->
|
</div> -->
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
<section class="row text-center" data-ng-controller="VerifyController" ng-init="validateVerifyToken()">
|
<section class="row text-center" data-ng-controller="VerifyController" ng-init="validateVerifyToken()">
|
||||||
|
|
||||||
<section class="row text-center" ng-if="isReset">
|
<section class="row text-center" ng-if="isResetSent">
|
||||||
<h3 class="col-md-12">Account successfuly activated</h3>
|
<h3 class="col-md-12">Account successfuly activated</h3>
|
||||||
<a href="/#!/signin" class="col-md-12">Continue to login page</a>
|
<a href="/#!/signin" class="col-md-12">Continue to login page</a>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="row text-center" ng-if="!isReset">
|
<section class="row text-center" ng-if="!isResetSent">
|
||||||
<h3 class="col-md-12">Verification link is invalid or has expired</h3>
|
<h3 class="col-md-12">Verification link is invalid or has expired</h3>
|
||||||
<a href="/#!/verify" class="col-md-6">Resend your verification email</a>
|
<a href="/#!/verify" class="col-md-6">Resend your verification email</a>
|
||||||
<a href="/#!/signin" class="col-md-6">Signin to your account</a>
|
<a href="/#!/signin" class="col-md-6">Signin to your account</a>
|
||||||
|
|
Loading…
Reference in a new issue