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 @@ + + +
+
+
+
+ + <% if(destination){ %> + + <% } %> + + +
+ +
+ +Back \ No newline at end of file diff --git a/views/layout.ejs b/views/layout.ejs index cebb160..7ab5716 100644 --- a/views/layout.ejs +++ b/views/layout.ejs @@ -16,15 +16,17 @@ -
+
Title: <%- title %>

-
- <%- body %> -
+
+
+ <%- body %> +
+