added stuff

This commit is contained in:
David Baldwynn 2015-11-05 17:22:16 -08:00
parent 23828b0b25
commit 065f2a47f6
12 changed files with 55 additions and 40 deletions

View file

@ -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();
}; };
/** /**

View file

@ -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();
} }
}; };

View file

@ -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();
}; };

View file

@ -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);

View file

@ -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",

View file

@ -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;

View file

@ -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>

View file

@ -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>

View file

@ -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}}"

View file

@ -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;
} }
); );
} }

View file

@ -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> -->

View file

@ -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>