diff --git a/public/templates/register.tpl b/public/templates/register.tpl
index d4176eb6e5..f374c3ea27 100644
--- a/public/templates/register.tpl
+++ b/public/templates/register.tpl
@@ -45,7 +45,11 @@
};
username.onkeyup = function() {
- socket.emit('user.exists', {username: username.value});
+ if (username.value.length > 2) socket.emit('user.exists', {username: username.value});
+ else {
+ username_notify.innerHTML = 'Username too short';
+ username_notify.className = 'label label-important';
+ }
}
emailEl.addEventListener('change', function() {
console.log('checking email existance');
diff --git a/public/templates/reset.tpl b/public/templates/reset.tpl
index 2286997cbf..eb7ee02fcf 100644
--- a/public/templates/reset.tpl
+++ b/public/templates/reset.tpl
@@ -1,24 +1,35 @@
Reset Password
-
-
Password Reset Sent
-
An email has been dispatched to with instructions on setting a new password.
-
+
+
Password Reset Sent
+
+
+
+
+
Invalid Email!
+
The email you put in () is not registered with us. Please try again.
+
-
+
\ No newline at end of file
diff --git a/src/user.js b/src/user.js
index bb399ddff2..c1e2551606 100644
--- a/src/user.js
+++ b/src/user.js
@@ -95,12 +95,31 @@ var RDB = require('./redis.js');
RDB.get('username:' + username + ':uid', callback);
};
+ User.send_reset = function(email) {
+ User.email.exists(email, function(exists) {
+ if (exists) {
+ global.socket.emit('user.send_reset', {
+ status: "ok",
+ message: "code-sent",
+ email: email
+ });
+ } else {
+ global.socket.emit('user.send_reset', {
+ status: "error",
+ message: "invalid-email",
+ email: email
+ });
+ }
+ });
+ }
+
User.email = {
- exists: function(email) {
+ exists: function(email, callback) {
RDB.get('email:' + email, function(exists) {
console.log('email:' + email, exists);
exists = !!exists;
- global.socket.emit('user.email.exists', { exists: exists });
+ if (typeof callback !== 'function') global.socket.emit('user.email.exists', { exists: exists });
+ else callback(exists);
});
}
}
diff --git a/src/webserver.js b/src/webserver.js
index b131c19330..9e0361c677 100644
--- a/src/webserver.js
+++ b/src/webserver.js
@@ -29,10 +29,9 @@ var express = require('express'),
app.use(express.favicon());
app.use(express.bodyParser());
app.use(express.cookieParser());
- app.use(express.logger({ format: '\x1b[1m:method\x1b[0m \x1b[33m:url\x1b[0m :response-time ms' }));
- app.use(express.methodOverride());
+ // app.use(express.logger({ format: '\x1b[1m:method\x1b[0m \x1b[33m:url\x1b[0m :response-time ms' }));
+ // app.use(express.methodOverride());
app.use(express.static(global.configuration.ROOT_DIRECTORY + '/public'));
- app.set('mailOptions', config.mailer);
});
}
diff --git a/src/websockets.js b/src/websockets.js
index ea3486d18a..6769704f6c 100644
--- a/src/websockets.js
+++ b/src/websockets.js
@@ -22,6 +22,7 @@ var SocketIO = require('socket.io').listen(global.server);
socket.emit('event:connect', {status: 1});
// BEGIN: API calls (todo: organize)
+ // julian: :^)
socket.on('user.create', function(data) {
modules.user.create(data.username, data.password, data.email);
});
@@ -45,6 +46,10 @@ var SocketIO = require('socket.io').listen(global.server);
socket.on('user.email.exists', function(data) {
modules.user.email.exists(data.email);
});
+
+ socket.on('user.send_reset', function(data) {
+ modules.user.send_reset(data.email);
+ });
});
}(SocketIO));