diff --git a/api/controllers/home.js b/api/controllers/home.js
index a3b7c70..2bd147f 100644
--- a/api/controllers/home.js
+++ b/api/controllers/home.js
@@ -20,6 +20,14 @@ module.exports = {
});
},
+ signup: function(req, res) {
+
+ response(res).view("home/signup", {
+ title: "node-web-cluster",
+ destination: req.param("destination") || "dashboard"
+ });
+ },
+
dashboard: function(req, res) {
policy(req, res).check(["logged_in"], function() {
diff --git a/api/controllers/user.js b/api/controllers/user.js
index 37f8996..1f59194 100644
--- a/api/controllers/user.js
+++ b/api/controllers/user.js
@@ -43,7 +43,7 @@ module.exports = {
}
},
- signin: function(req, res) {
+ signup: function(req, res) {
try {
@@ -63,7 +63,7 @@ module.exports = {
if(r.length != 0) {
- _res.json({
+ response(_res).json({
result: "error",
message: "email already in database"
})
@@ -75,7 +75,7 @@ module.exports = {
model.save(_user, function(r){
- _res.json({
+ response(_res).json({
result: "success",
message: "user created successfully"
});
diff --git a/client/modules.js b/client/modules.js
index c985d29..7456044 100644
--- a/client/modules.js
+++ b/client/modules.js
@@ -59,18 +59,18 @@
// prepare successful login callback
broadcast.once("user/logout/success", function(data) {
- alert(data.message || "User successfully logged out.");
+ alert("Result: " + data.message || "User successfully logged out.");
core.client.render("/");
});
// prepare error login callback
- broadcast.once("user/logout/error", function(data) {
+ broadcast.once("user/logout/error", function(data) {
alert("Error: "+ data.message || "unknown error.");
});
// call the api
- sandbox.api("user/logout", function(response) {
+ sandbox.api("user/logout", {}, function(response) {
broadcast.publish("user/logout/" + response.result, response || {});
@@ -82,12 +82,14 @@
// prepare successful login callback
broadcast.subscribe("user/signup/success", function(data) {
-
- var user_info = sandbox.client("#user-info");
- user_info.show();
+
+ alert("Result: " + data.message || "User created successfully");
+
+ if($("#destination").val())
+ core.client.render("login?destination=" + encodeURI($("#destination").val()));
- var user = sandbox.client("#user");
- user.html(data.name);
+ else
+ core.client.render("dashboard");
});
// prepare error login callback
@@ -96,7 +98,7 @@
});
// call the api
- sandbox.api("user/signin", {
+ sandbox.api("user/signup", {
name: $("#name").val(),
email: $("#email").val(),
@@ -104,8 +106,7 @@
}, function(response) {
- broadcast.publish("user/signin/" + response.result,
- response.data.user || {});
+ broadcast.publish("user/signup/" + response.result, response || {});
});
}; exports.signup = signup;
diff --git a/routes/api.js b/routes/api.js
index cfd5d1d..759b69e 100644
--- a/routes/api.js
+++ b/routes/api.js
@@ -10,11 +10,12 @@ module.exports = {
// views
"/": "home",
"/login": "home/login",
+ "/signup": "home/signup",
"/dashboard": "home/dashboard",
// api
"/api/user": "user",
- "/api/user/signin": "user/signin",
+ "/api/user/signup": "user/signup",
"/api/user/login": "user/login",
"/api/user/logout": "user/logout",
diff --git a/views/home/index.ejs b/views/home/index.ejs
index ef926bb..693b686 100644
--- a/views/home/index.ejs
+++ b/views/home/index.ejs
@@ -1,3 +1,6 @@
-Welcome! Do you want to login?
\ No newline at end of file
+Welcome!
+
+
+
Sign-up | Login
\ No newline at end of file
diff --git a/views/home/signup.ejs b/views/home/signup.ejs
new file mode 100644
index 0000000..505c435
--- /dev/null
+++ b/views/home/signup.ejs
@@ -0,0 +1,17 @@
+
+
+