From 6faf4f202ff78260569b5d8e756f654a0f11e77e Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 21:17:31 -0800 Subject: [PATCH 001/102] Added landing --- index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index feca22e..c9e0c57 100644 --- a/index.js +++ b/index.js @@ -19,11 +19,11 @@ app.use(stormpath.init(app, { app.get("/", function(req, res) { - res.render("index"); + res.render("landing"); }); app.get("/newCustomer", function(req, res) { - res.send() + res.send() }); app.listen(process.env.PORT || 3000, function() { From 7816b2429562ba0a23d247a3e82e9aec9de2c55a Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 21:22:05 -0800 Subject: [PATCH 002/102] Added landing --- views/landing.ejs | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/views/landing.ejs b/views/landing.ejs index 3f7c942..f08c86a 100644 --- a/views/landing.ejs +++ b/views/landing.ejs @@ -73,15 +73,12 @@
-
+
- + From 8cef0a25bb9c3ac225117f1c92e0da4b4f67d4a6 Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 21:49:35 -0800 Subject: [PATCH 003/102] Added oganization signup page --- public/styles/styles.css | 5 ++- views/newOrganization.ejs | 92 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+), 1 deletion(-) create mode 100644 views/newOrganization.ejs diff --git a/public/styles/styles.css b/public/styles/styles.css index 874517f..e2f8b85 100644 --- a/public/styles/styles.css +++ b/public/styles/styles.css @@ -1,4 +1,8 @@ + #orgNameForm { + width: 550px; + } + .hidden.menu { display: none; } @@ -77,4 +81,3 @@ font-size: 1.5em; } } - \ No newline at end of file diff --git a/views/newOrganization.ejs b/views/newOrganization.ejs new file mode 100644 index 0000000..87647d5 --- /dev/null +++ b/views/newOrganization.ejs @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + Homepage - Semantic + + + + + + + + + + + + + + +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +Login + Signup +
From f25888a7253cf8deaa20686f4b3e6b81edb8120d Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 21:52:15 -0800 Subject: [PATCH 004/102] Added oganization signup route --- index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index c9e0c57..886ede6 100644 --- a/index.js +++ b/index.js @@ -22,8 +22,8 @@ app.get("/", function(req, res) { res.render("landing"); }); -app.get("/newCustomer", function(req, res) { - res.send() +app.get("/newOrganization", function(req, res) { + res.render("newOrganization"); }); app.listen(process.env.PORT || 3000, function() { From 9874e80985d1dbe254fc7162db2e69611a1046de Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 21:55:17 -0800 Subject: [PATCH 005/102] Added oganization signup route --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 886ede6..688b0f8 100644 --- a/index.js +++ b/index.js @@ -22,7 +22,7 @@ app.get("/", function(req, res) { res.render("landing"); }); -app.get("/newOrganization", function(req, res) { +app.get("newOrganization", function(req, res) { res.render("newOrganization"); }); From 9c634ea55e7f8b03afd3cb0871c64b5a9b8d2be5 Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 21:57:05 -0800 Subject: [PATCH 006/102] Added oganization signup route --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 688b0f8..886ede6 100644 --- a/index.js +++ b/index.js @@ -22,7 +22,7 @@ app.get("/", function(req, res) { res.render("landing"); }); -app.get("newOrganization", function(req, res) { +app.get("/newOrganization", function(req, res) { res.render("newOrganization"); }); From 9c53058df08bb048df9ec46062d897f275c50f75 Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 22:01:29 -0800 Subject: [PATCH 007/102] Added login route to login button --- views/landing.ejs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/landing.ejs b/views/landing.ejs index f08c86a..bbf58c6 100644 --- a/views/landing.ejs +++ b/views/landing.ejs @@ -64,7 +64,7 @@ Work Company Careers - Login + Login Signup
From d7fc06e407b3d44a1a553411f1cc85142ff52ea3 Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 22:04:07 -0800 Subject: [PATCH 008/102] Added login route to login button --- views/landing.ejs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/landing.ejs b/views/landing.ejs index bbf58c6..6dbfb7e 100644 --- a/views/landing.ejs +++ b/views/landing.ejs @@ -80,7 +80,7 @@
From bdbbe84166b0f7d84fbef795f995f90e13c67fcf Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 22:05:49 -0800 Subject: [PATCH 009/102] Added login route to sign up page button --- views/landing.ejs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/landing.ejs b/views/landing.ejs index 6dbfb7e..d126003 100644 --- a/views/landing.ejs +++ b/views/landing.ejs @@ -81,7 +81,7 @@ From 551884b392623adbc648d2078cb6f2de2e437e1a Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 22:07:44 -0800 Subject: [PATCH 010/102] Added login route to sign up page button --- views/landing.ejs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/landing.ejs b/views/landing.ejs index d126003..3896581 100644 --- a/views/landing.ejs +++ b/views/landing.ejs @@ -81,7 +81,7 @@ From 3bf99d91450ce1db2b020a5edcccae708864e987 Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 22:13:13 -0800 Subject: [PATCH 011/102] Added login required to newOrganization --- index.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 886ede6..6acad55 100644 --- a/index.js +++ b/index.js @@ -22,10 +22,14 @@ app.get("/", function(req, res) { res.render("landing"); }); -app.get("/newOrganization", function(req, res) { +app.get("/newOrganization",stormpath.loginRequired, function(req, res) { res.render("newOrganization"); }); +// app.post("/newOrganiztation", function(req, res) { +// rep.send() +// }) + app.listen(process.env.PORT || 3000, function() { console.log("The CRM Server is running"); }) From eaca7f55bbc5f3c38e3bd4f271f18229431bdae2 Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 21:49:35 -0800 Subject: [PATCH 012/102] Added oganization signup page --- public/styles/styles.css | 5 ++- views/newOrganization.ejs | 92 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+), 1 deletion(-) create mode 100644 views/newOrganization.ejs diff --git a/public/styles/styles.css b/public/styles/styles.css index 874517f..e2f8b85 100644 --- a/public/styles/styles.css +++ b/public/styles/styles.css @@ -1,4 +1,8 @@ + #orgNameForm { + width: 550px; + } + .hidden.menu { display: none; } @@ -77,4 +81,3 @@ font-size: 1.5em; } } - \ No newline at end of file diff --git a/views/newOrganization.ejs b/views/newOrganization.ejs new file mode 100644 index 0000000..87647d5 --- /dev/null +++ b/views/newOrganization.ejs @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + Homepage - Semantic + + + + + + + + + + + + + + +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + + + +Login + Signup + From 081a2d8fd87bc97fce23a8a98a30044b366b6b89 Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 21:52:15 -0800 Subject: [PATCH 013/102] Added oganization signup route --- index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index c9e0c57..886ede6 100644 --- a/index.js +++ b/index.js @@ -22,8 +22,8 @@ app.get("/", function(req, res) { res.render("landing"); }); -app.get("/newCustomer", function(req, res) { - res.send() +app.get("/newOrganization", function(req, res) { + res.render("newOrganization"); }); app.listen(process.env.PORT || 3000, function() { From ac2ff17a0b54f6150d8536b2057b79c96c391517 Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 21:55:17 -0800 Subject: [PATCH 014/102] Added oganization signup route --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 886ede6..688b0f8 100644 --- a/index.js +++ b/index.js @@ -22,7 +22,7 @@ app.get("/", function(req, res) { res.render("landing"); }); -app.get("/newOrganization", function(req, res) { +app.get("newOrganization", function(req, res) { res.render("newOrganization"); }); From 81557a6bc3a49228e93cef71a31c07a66107d781 Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 21:57:05 -0800 Subject: [PATCH 015/102] Added oganization signup route --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 688b0f8..886ede6 100644 --- a/index.js +++ b/index.js @@ -22,7 +22,7 @@ app.get("/", function(req, res) { res.render("landing"); }); -app.get("newOrganization", function(req, res) { +app.get("/newOrganization", function(req, res) { res.render("newOrganization"); }); From 2ec9a410094ef4593c8f7317ec99d70f19734008 Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 22:01:29 -0800 Subject: [PATCH 016/102] Added login route to login button --- views/landing.ejs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/landing.ejs b/views/landing.ejs index f08c86a..bbf58c6 100644 --- a/views/landing.ejs +++ b/views/landing.ejs @@ -64,7 +64,7 @@ Work Company Careers - Login + Login Signup From 96f4242f8d1d5f8c8c54303a78d1254311f108bc Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 22:04:07 -0800 Subject: [PATCH 017/102] Added login route to login button --- views/landing.ejs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/landing.ejs b/views/landing.ejs index bbf58c6..6dbfb7e 100644 --- a/views/landing.ejs +++ b/views/landing.ejs @@ -80,7 +80,7 @@ From dcd2d7c2c5be944ea49d978438e435e82a35131e Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 22:05:49 -0800 Subject: [PATCH 018/102] Added login route to sign up page button --- views/landing.ejs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/landing.ejs b/views/landing.ejs index 6dbfb7e..d126003 100644 --- a/views/landing.ejs +++ b/views/landing.ejs @@ -81,7 +81,7 @@ From 7d07f431426a118ae8c1a807d9200241ec45a123 Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 22:07:44 -0800 Subject: [PATCH 019/102] Added login route to sign up page button --- views/landing.ejs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/landing.ejs b/views/landing.ejs index d126003..3896581 100644 --- a/views/landing.ejs +++ b/views/landing.ejs @@ -81,7 +81,7 @@ From d2fb28f78cba104d65f815b99c632e8d7042c0c1 Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 22:13:13 -0800 Subject: [PATCH 020/102] Added login required to newOrganization --- index.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 886ede6..6acad55 100644 --- a/index.js +++ b/index.js @@ -22,10 +22,14 @@ app.get("/", function(req, res) { res.render("landing"); }); -app.get("/newOrganization", function(req, res) { +app.get("/newOrganization",stormpath.loginRequired, function(req, res) { res.render("newOrganization"); }); +// app.post("/newOrganiztation", function(req, res) { +// rep.send() +// }) + app.listen(process.env.PORT || 3000, function() { console.log("The CRM Server is running"); }) From 3400636ab6b4207e0d7355b6ef0bdc8500fc79df Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 23:43:06 -0800 Subject: [PATCH 021/102] added post route to new org --- index.js | 46 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 3 deletions(-) diff --git a/index.js b/index.js index 6acad55..412843e 100644 --- a/index.js +++ b/index.js @@ -4,6 +4,19 @@ var express = require("express"), mongoose = require("mongoose"); app = express(); + let URL = "mongodb://heroku_j1647s3l:tkmie8pbencj50ljm1d688h87e@ds117919.mlab.com:17919/heroku_j1647s3l"; + + + MongoClient.connect(URL, function(err, db) { + if (err) { + URL = 'mongodb://localhost:27017/mydatabase'; + } else { + URL = process.env.URL; + } + db.close(); + }); + mongoose.connect(URL); + console.log("HERE I AM!!!",process.env.STORMPATH_API_KEY_ID) app.set("views", __dirname + "/views"); app.set("view engine", "ejs"); @@ -16,6 +29,22 @@ app.use(stormpath.init(app, { application: process.env.STORMPATH_URL || "url", })); +var organizationSchema = new mongoose.Schema({ + orgName : String, + givenName : String, + surname : String, +}); + +var Organization = mongoose.model("Organization", organizationSchema); + +var customerSchema = new mongoose.Schema({ + custFirstName : String, + custLastName : String, + custAddress : String, + cusEmail : String, +}); + +var customerSchema = mongoose.model("Customer", costomerSchema); app.get("/", function(req, res) { @@ -26,9 +55,20 @@ app.get("/newOrganization",stormpath.loginRequired, function(req, res) { res.render("newOrganization"); }); -// app.post("/newOrganiztation", function(req, res) { -// rep.send() -// }) +app.post("/newOrganization", stormpath.loginRequired, function(req, res) { + var orgName = req.body.orgName; + var givenName = req.body.givenName; + var surname = req.body.surname; + var newOrganization = {orgName: orgName, givenName: givenName, surname: surname}; + + Organization.create(newOrganization, function(err, newlyCreated) { + if (err) { + console.log(err); + } else { + res.redirect("/customer") + } + }); +}); app.listen(process.env.PORT || 3000, function() { console.log("The CRM Server is running"); From 300de4f0ae99e420e5585b3f3ea2a7b366131490 Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 23:50:24 -0800 Subject: [PATCH 022/102] added post route to new org --- index.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/index.js b/index.js index 412843e..45df7bc 100644 --- a/index.js +++ b/index.js @@ -1,9 +1,12 @@ var express = require("express"), stormpath = require("express-stormpath"), bodyParser = require("body-parser"), + MongoClient = require('mongodb').MongoClient, mongoose = require("mongoose"); app = express(); + mongoose.Promise = require('bluebird'); + let URL = "mongodb://heroku_j1647s3l:tkmie8pbencj50ljm1d688h87e@ds117919.mlab.com:17919/heroku_j1647s3l"; From 30a3590c631aaa40a63d5d0cd42aaac332185729 Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 23:51:31 -0800 Subject: [PATCH 023/102] typo --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 45df7bc..a1dba2e 100644 --- a/index.js +++ b/index.js @@ -47,7 +47,7 @@ var customerSchema = new mongoose.Schema({ cusEmail : String, }); -var customerSchema = mongoose.model("Customer", costomerSchema); +var customerSchema = mongoose.model("Customer", customerSchema); app.get("/", function(req, res) { From 9c49b86da401ec01bdf120d61bb2adff8b36c36a Mon Sep 17 00:00:00 2001 From: John Date: Fri, 20 Jan 2017 23:59:22 -0800 Subject: [PATCH 024/102] added action and method to new Org --- views/newOrganization.ejs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/views/newOrganization.ejs b/views/newOrganization.ejs index 87647d5..db9ac27 100644 --- a/views/newOrganization.ejs +++ b/views/newOrganization.ejs @@ -67,18 +67,18 @@
-
+
- +
- +
From 50f5da6ef4b359e2777eba182904e9032781b199 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 00:01:07 -0800 Subject: [PATCH 025/102] added action and method to new Org --- views/newOrganization.ejs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/newOrganization.ejs b/views/newOrganization.ejs index db9ac27..e3dfe2f 100644 --- a/views/newOrganization.ejs +++ b/views/newOrganization.ejs @@ -78,7 +78,7 @@
- +
From 72bf19bea822c0f538cb1d74766384341874bd4d Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 00:04:38 -0800 Subject: [PATCH 026/102] added action and method to new Org --- views/newOrganization.ejs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/newOrganization.ejs b/views/newOrganization.ejs index e3dfe2f..d1d5d52 100644 --- a/views/newOrganization.ejs +++ b/views/newOrganization.ejs @@ -78,7 +78,7 @@
- +
From b0f8ba7cf2988606a44347c18a4e6d64564131ca Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 00:08:04 -0800 Subject: [PATCH 027/102] added action and method to new Org --- index.js | 2 +- views/newOrganization.ejs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index a1dba2e..c78e4e0 100644 --- a/index.js +++ b/index.js @@ -67,7 +67,7 @@ app.post("/newOrganization", stormpath.loginRequired, function(req, res) { Organization.create(newOrganization, function(err, newlyCreated) { if (err) { console.log(err); - } else { + } else {d res.redirect("/customer") } }); diff --git a/views/newOrganization.ejs b/views/newOrganization.ejs index d1d5d52..02bd0c1 100644 --- a/views/newOrganization.ejs +++ b/views/newOrganization.ejs @@ -70,7 +70,7 @@
- +
From 8bd41a891d41757fdf5530b5917941dcca1c82fb Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 00:11:22 -0800 Subject: [PATCH 028/102] added log --- index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/index.js b/index.js index c78e4e0..3ba8a8b 100644 --- a/index.js +++ b/index.js @@ -59,6 +59,7 @@ app.get("/newOrganization",stormpath.loginRequired, function(req, res) { }); app.post("/newOrganization", stormpath.loginRequired, function(req, res) { + console.log("MY BODY!!!", req.body); var orgName = req.body.orgName; var givenName = req.body.givenName; var surname = req.body.surname; From 7b147d8565e031ec248ba2a6bf254133fbaadfe8 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 00:15:12 -0800 Subject: [PATCH 029/102] added log --- index.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/index.js b/index.js index 3ba8a8b..45884dc 100644 --- a/index.js +++ b/index.js @@ -23,6 +23,8 @@ var express = require("express"), console.log("HERE I AM!!!",process.env.STORMPATH_API_KEY_ID) app.set("views", __dirname + "/views"); app.set("view engine", "ejs"); +app.use(bodyParser.urlencoded()); +app.use(bodyParser.json()); app.use(express.static(__dirname + "/public")); app.use(stormpath.init(app, { apiKeyFile: '/.stormpath/apiKey.properties', From fdedb4d5035733cb77757aae1128be3112bef9aa Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 00:17:56 -0800 Subject: [PATCH 030/102] added log --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 45884dc..a089921 100644 --- a/index.js +++ b/index.js @@ -70,7 +70,7 @@ app.post("/newOrganization", stormpath.loginRequired, function(req, res) { Organization.create(newOrganization, function(err, newlyCreated) { if (err) { console.log(err); - } else {d + } else { res.redirect("/customer") } }); From d43f1a7f4b553be7830f9e343ce0808028e2efc5 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 00:20:36 -0800 Subject: [PATCH 031/102] added customer route --- index.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/index.js b/index.js index a089921..0d99316 100644 --- a/index.js +++ b/index.js @@ -56,6 +56,11 @@ app.get("/", function(req, res) { res.render("landing"); }); +app.get("/customer", stormpath.loginRequired, function(req, res) { + res.render("customer"); +}); + + app.get("/newOrganization",stormpath.loginRequired, function(req, res) { res.render("newOrganization"); }); From 7a91b399f0720ab02b1937fc800b42b07c87f7a0 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 00:29:49 -0800 Subject: [PATCH 032/102] added customer route --- index.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/index.js b/index.js index 0d99316..4e86fc2 100644 --- a/index.js +++ b/index.js @@ -56,8 +56,14 @@ app.get("/", function(req, res) { res.render("landing"); }); -app.get("/customer", stormpath.loginRequired, function(req, res) { - res.render("customer"); +app.get("/customer:id", stormpath.loginRequired, function(req, res) { + console.log('johnbullll',req.params.orgName ); + Organization.findById(req.params.orgName, function(err, foundOrganization) { + if(err) { + console.log(err); + } else { + res.render("customer", {organization: foundOrganization}); + } }); @@ -76,7 +82,7 @@ app.post("/newOrganization", stormpath.loginRequired, function(req, res) { if (err) { console.log(err); } else { - res.redirect("/customer") + res.redirect("/customer" + orgName) } }); }); From 39e39e391ca44dc72ec6b1fe4b524c1ca01c90c6 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 00:32:58 -0800 Subject: [PATCH 033/102] added customer route --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 4e86fc2..752dfb7 100644 --- a/index.js +++ b/index.js @@ -89,4 +89,4 @@ app.post("/newOrganization", stormpath.loginRequired, function(req, res) { app.listen(process.env.PORT || 3000, function() { console.log("The CRM Server is running"); -}) +}); From 1c270af3c5740f8fd5590f02ce074cbd1b5b569a Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 00:36:11 -0800 Subject: [PATCH 034/102] added customer route --- index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 752dfb7..3dd5197 100644 --- a/index.js +++ b/index.js @@ -65,7 +65,7 @@ app.get("/customer:id", stormpath.loginRequired, function(req, res) { res.render("customer", {organization: foundOrganization}); } }); - +}); app.get("/newOrganization",stormpath.loginRequired, function(req, res) { res.render("newOrganization"); @@ -82,7 +82,7 @@ app.post("/newOrganization", stormpath.loginRequired, function(req, res) { if (err) { console.log(err); } else { - res.redirect("/customer" + orgName) + res.redirect("/customer" + orgName); } }); }); From 9b6f243932fed8802cb2fba2f03e52d5f077acbc Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 00:38:29 -0800 Subject: [PATCH 035/102] added customer route --- index.js | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/index.js b/index.js index 3dd5197..19e8a5b 100644 --- a/index.js +++ b/index.js @@ -57,14 +57,7 @@ app.get("/", function(req, res) { }); app.get("/customer:id", stormpath.loginRequired, function(req, res) { - console.log('johnbullll',req.params.orgName ); - Organization.findById(req.params.orgName, function(err, foundOrganization) { - if(err) { - console.log(err); - } else { - res.render("customer", {organization: foundOrganization}); - } -}); + res.render("customer", {organization: req.params.orgName}); }); app.get("/newOrganization",stormpath.loginRequired, function(req, res) { From 83cf497baa69f8e3ce1d0cb9947056ac20fc1b94 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 00:47:49 -0800 Subject: [PATCH 036/102] added new customer post route --- index.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/index.js b/index.js index 19e8a5b..fa4d59b 100644 --- a/index.js +++ b/index.js @@ -80,6 +80,23 @@ app.post("/newOrganization", stormpath.loginRequired, function(req, res) { }); }); + +app.post("/customer", stormpath.loginRequired, function(req, res) { + var custFirstName = req.body.custFirstName; + var custLastName = req.body.custLastName; + var custAddress = req.body.custAddress; + var cusEmail = req.body.cusEmail; + var newOrganization = {custFirstName, custLastName, custAddress, cusEmail,}; + + Customer.create(newCustomer, function(err, newlyCreated) { + if (err) { + console.log(err); + } else { + res.redirect("/customer" + orgName); + } + }); +}) + app.listen(process.env.PORT || 3000, function() { console.log("The CRM Server is running"); }); From a4ac64aacb621716add54daf2b14dd98ed907bc7 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 00:50:08 -0800 Subject: [PATCH 037/102] added new customer post route --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index fa4d59b..787ee45 100644 --- a/index.js +++ b/index.js @@ -81,7 +81,7 @@ app.post("/newOrganization", stormpath.loginRequired, function(req, res) { }); -app.post("/customer", stormpath.loginRequired, function(req, res) { +app.post("/newCustomer", stormpath.loginRequired, function(req, res) { var custFirstName = req.body.custFirstName; var custLastName = req.body.custLastName; var custAddress = req.body.custAddress; From fd43ca95364704691f5a259b7821945521973c8c Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 00:59:26 -0800 Subject: [PATCH 038/102] N/A --- index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 787ee45..9ec5064 100644 --- a/index.js +++ b/index.js @@ -82,11 +82,12 @@ app.post("/newOrganization", stormpath.loginRequired, function(req, res) { app.post("/newCustomer", stormpath.loginRequired, function(req, res) { + console.log(' got to newCust'); var custFirstName = req.body.custFirstName; var custLastName = req.body.custLastName; var custAddress = req.body.custAddress; var cusEmail = req.body.cusEmail; - var newOrganization = {custFirstName, custLastName, custAddress, cusEmail,}; + var newCustomer = {custFirstName, custLastName, custAddress, cusEmail,}; Customer.create(newCustomer, function(err, newlyCreated) { if (err) { From 5ab4ee3fe4541de03fc76156069ce7b47b2d1890 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 01:02:31 -0800 Subject: [PATCH 039/102] N/A --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 9ec5064..026d7a8 100644 --- a/index.js +++ b/index.js @@ -49,7 +49,7 @@ var customerSchema = new mongoose.Schema({ cusEmail : String, }); -var customerSchema = mongoose.model("Customer", customerSchema); +var Customer = mongoose.model("Customer", customerSchema); app.get("/", function(req, res) { From 9a2abf0933988101d646c071c4d398512aca2b85 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 01:07:18 -0800 Subject: [PATCH 040/102] N/A --- index.js | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/index.js b/index.js index 026d7a8..c38fd88 100644 --- a/index.js +++ b/index.js @@ -82,20 +82,27 @@ app.post("/newOrganization", stormpath.loginRequired, function(req, res) { app.post("/newCustomer", stormpath.loginRequired, function(req, res) { - console.log(' got to newCust'); + console.log('JOHNBULLISWRONG!', req.body.orgName); var custFirstName = req.body.custFirstName; var custLastName = req.body.custLastName; var custAddress = req.body.custAddress; var cusEmail = req.body.cusEmail; - var newCustomer = {custFirstName, custLastName, custAddress, cusEmail,}; + Organization.(xxx, function(err, newlyCreated) { + var newCustomer = {custFirstName, custLastName, custAddress, cusEmail,}; - Customer.create(newCustomer, function(err, newlyCreated) { if (err) { console.log(err); } else { - res.redirect("/customer" + orgName); - } + Customer.create(newCustomer, function(err, newlyCreated) { + if (err) { + console.log(err); + } else { + res.redirect("/customer" + orgName); + } + }); + }); +} }) app.listen(process.env.PORT || 3000, function() { From 71ca404f65ef10b7f9551b8849a78f757f212bdd Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 01:09:05 -0800 Subject: [PATCH 041/102] N/A --- index.js | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/index.js b/index.js index c38fd88..ba42814 100644 --- a/index.js +++ b/index.js @@ -87,22 +87,22 @@ app.post("/newCustomer", stormpath.loginRequired, function(req, res) { var custLastName = req.body.custLastName; var custAddress = req.body.custAddress; var cusEmail = req.body.cusEmail; - Organization.(xxx, function(err, newlyCreated) { - var newCustomer = {custFirstName, custLastName, custAddress, cusEmail,}; - - if (err) { - console.log(err); - } else { - Customer.create(newCustomer, function(err, newlyCreated) { - if (err) { - console.log(err); - } else { - res.redirect("/customer" + orgName); - } - }); - - }); -} + // Organization.(xxx, function(err, newlyCreated) { + // var newCustomer = {custFirstName, custLastName, custAddress, cusEmail,}; + // + // if (err) { + // console.log(err); + // } else { + // Customer.create(newCustomer, function(err, newlyCreated) { + // if (err) { + // console.log(err); + // } else { + // res.redirect("/customer" + orgName); + // } + // }); + // + // }); +//} }) app.listen(process.env.PORT || 3000, function() { From 29d69c283cda110ba50ec7865a28f45d1bf7030c Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 01:15:46 -0800 Subject: [PATCH 042/102] N/A --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index ba42814..1b86618 100644 --- a/index.js +++ b/index.js @@ -82,7 +82,7 @@ app.post("/newOrganization", stormpath.loginRequired, function(req, res) { app.post("/newCustomer", stormpath.loginRequired, function(req, res) { - console.log('JOHNBULLISWRONG!', req.body.orgName); + console.log('JOHNBULLISWRONG!', req.user); var custFirstName = req.body.custFirstName; var custLastName = req.body.custLastName; var custAddress = req.body.custAddress; From 3f72b0a12e98f4a3063ed26ecbc868110e70511c Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 01:20:23 -0800 Subject: [PATCH 043/102] N/A --- index.js | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/index.js b/index.js index 1b86618..e1b8d86 100644 --- a/index.js +++ b/index.js @@ -87,22 +87,22 @@ app.post("/newCustomer", stormpath.loginRequired, function(req, res) { var custLastName = req.body.custLastName; var custAddress = req.body.custAddress; var cusEmail = req.body.cusEmail; - // Organization.(xxx, function(err, newlyCreated) { - // var newCustomer = {custFirstName, custLastName, custAddress, cusEmail,}; - // - // if (err) { - // console.log(err); - // } else { - // Customer.create(newCustomer, function(err, newlyCreated) { - // if (err) { - // console.log(err); - // } else { - // res.redirect("/customer" + orgName); - // } - // }); - // - // }); -//} + Organization.findOne({givenName:req.user.givenName,surname:req.user.surname} function(err, Organization) { + console.log("here is ORG!", Organization); + var newCustomer = {custFirstName, custLastName, custAddress, cusEmail,}; + if (err) { + console.log(err); + } else { + Customer.create(newCustomer, function(err, newlyCreated) { + if (err) { + console.log(err); + } else { + res.redirect("/customer" + orgName); + } + }); + + }); +} }) app.listen(process.env.PORT || 3000, function() { From 86f02cb22d03b98264ed898720105597e0ea41e9 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 01:21:59 -0800 Subject: [PATCH 044/102] N/A --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index e1b8d86..3ef9d70 100644 --- a/index.js +++ b/index.js @@ -87,7 +87,7 @@ app.post("/newCustomer", stormpath.loginRequired, function(req, res) { var custLastName = req.body.custLastName; var custAddress = req.body.custAddress; var cusEmail = req.body.cusEmail; - Organization.findOne({givenName:req.user.givenName,surname:req.user.surname} function(err, Organization) { + Organization.findOne({givenName:req.user.givenName,surname:req.user.surname}, function(err, Organization) { console.log("here is ORG!", Organization); var newCustomer = {custFirstName, custLastName, custAddress, cusEmail,}; if (err) { From 055fa566a7459581df8c5413d13d701ae28f0788 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 01:25:31 -0800 Subject: [PATCH 045/102] N/A --- index.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 3ef9d70..0800c8e 100644 --- a/index.js +++ b/index.js @@ -101,8 +101,9 @@ app.post("/newCustomer", stormpath.loginRequired, function(req, res) { } }); - }); -} + }; + +}) }) app.listen(process.env.PORT || 3000, function() { From eeeba2a25b4ce3dcd3b40977f352f7d39bdfee02 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 01:38:56 -0800 Subject: [PATCH 046/102] N/A --- index.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 0800c8e..99fa176 100644 --- a/index.js +++ b/index.js @@ -10,6 +10,7 @@ var express = require("express"), let URL = "mongodb://heroku_j1647s3l:tkmie8pbencj50ljm1d688h87e@ds117919.mlab.com:17919/heroku_j1647s3l"; + MongoClient.connect(URL, function(err, db) { if (err) { URL = 'mongodb://localhost:27017/mydatabase'; @@ -49,6 +50,19 @@ var customerSchema = new mongoose.Schema({ cusEmail : String, }); +const organizationalDataAlreadyGiven =(req,res,next)=>{ + + Organization.findOne({givenName:req.user.givenName,surname:req.user.surname}, function(err, Organization) { + + if (Organization) { + res.redirect('/customer'+Organization.orgName) + } else { + next(); + } +}; + + + var Customer = mongoose.model("Customer", customerSchema); @@ -64,7 +78,7 @@ app.get("/newOrganization",stormpath.loginRequired, function(req, res) { res.render("newOrganization"); }); -app.post("/newOrganization", stormpath.loginRequired, function(req, res) { +app.post("/newOrganization", stormpath.loginRequired, organizationalDataAlreadyGiven, function(req, res) { console.log("MY BODY!!!", req.body); var orgName = req.body.orgName; var givenName = req.body.givenName; From eca0698ae04e46107b7225a0105ae329af72929b Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 01:40:07 -0800 Subject: [PATCH 047/102] N/A --- index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/index.js b/index.js index 99fa176..c978e5b 100644 --- a/index.js +++ b/index.js @@ -59,6 +59,7 @@ const organizationalDataAlreadyGiven =(req,res,next)=>{ } else { next(); } +}) }; From 601023295370550edafa7fc6f5420c941c1cbad2 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 01:42:56 -0800 Subject: [PATCH 048/102] N/A --- index.js | 4 ++-- views/landing.ejs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/index.js b/index.js index c978e5b..1140038 100644 --- a/index.js +++ b/index.js @@ -50,10 +50,10 @@ var customerSchema = new mongoose.Schema({ cusEmail : String, }); -const organizationalDataAlreadyGiven =(req,res,next)=>{ +const organizationalDataAlreadyGiven =(req,res,next) =>{ Organization.findOne({givenName:req.user.givenName,surname:req.user.surname}, function(err, Organization) { - + console.log(Organization); if (Organization) { res.redirect('/customer'+Organization.orgName) } else { diff --git a/views/landing.ejs b/views/landing.ejs index 3896581..438be12 100644 --- a/views/landing.ejs +++ b/views/landing.ejs @@ -91,7 +91,7 @@ CRM

Customers come to you, we take care of the rest.

-
Get Started
+
Get Started
From 3d125cd67895952845f4f267f9f41dd00cbd903b Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 01:45:26 -0800 Subject: [PATCH 049/102] N/A --- views/landing.ejs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/landing.ejs b/views/landing.ejs index 438be12..ba7bebd 100644 --- a/views/landing.ejs +++ b/views/landing.ejs @@ -4,7 +4,7 @@ - + From 9628800d08ff73cde320b09fafe984f644138ee5 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 01:50:24 -0800 Subject: [PATCH 050/102] N/A --- views/landing.ejs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/views/landing.ejs b/views/landing.ejs index ba7bebd..d48eb9a 100644 --- a/views/landing.ejs +++ b/views/landing.ejs @@ -91,7 +91,9 @@ CRM

Customers come to you, we take care of the rest.

-
Get Started
+ +
Get Started
+ From 3d42a70bb9322d09ec6b89ab2586469f7c423ba7 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 01:52:19 -0800 Subject: [PATCH 051/102] N/A --- views/landing.ejs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/landing.ejs b/views/landing.ejs index d48eb9a..ef6102d 100644 --- a/views/landing.ejs +++ b/views/landing.ejs @@ -92,7 +92,7 @@

Customers come to you, we take care of the rest.

-
Get Started
+
Get Started
From 6ff579a856c2d474df9865dab8d8e911d7e2e1c9 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 01:55:40 -0800 Subject: [PATCH 052/102] N/A --- index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 1140038..5531178 100644 --- a/index.js +++ b/index.js @@ -112,13 +112,13 @@ app.post("/newCustomer", stormpath.loginRequired, function(req, res) { if (err) { console.log(err); } else { - res.redirect("/customer" + orgName); + //res.redirect("/customer" + orgName); } }); }; -}) + }) }) app.listen(process.env.PORT || 3000, function() { From 7ba50d39b156decb250497e63b7d7b884a64d4c9 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 02:04:51 -0800 Subject: [PATCH 053/102] N/A --- public/partials/footer.ejs | 2 + public/partials/header.ejs | 87 ++++++++++++++++++++++++++++++++++++ views/customer.ejs | 30 +++++++++++++ views/landing.ejs | 91 +------------------------------------- views/newOrganization.ejs | 69 +---------------------------- 5 files changed, 123 insertions(+), 156 deletions(-) create mode 100644 public/partials/footer.ejs create mode 100644 public/partials/header.ejs diff --git a/public/partials/footer.ejs b/public/partials/footer.ejs new file mode 100644 index 0000000..b605728 --- /dev/null +++ b/public/partials/footer.ejs @@ -0,0 +1,2 @@ + + diff --git a/public/partials/header.ejs b/public/partials/header.ejs new file mode 100644 index 0000000..7b6a709 --- /dev/null +++ b/public/partials/header.ejs @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + Homepage - Semantic + + + + + + + + + + + + + + + + +
+
+ +
+ +
diff --git a/views/customer.ejs b/views/customer.ejs index de01340..94bc361 100644 --- a/views/customer.ejs +++ b/views/customer.ejs @@ -1,3 +1,4 @@ +<% include partials/header %>
Create a New Customer
@@ -20,3 +21,32 @@
+ + + + + + + + + + + + +
NameEmailNotes
+ + + +<%include partials/footer %> diff --git a/views/landing.ejs b/views/landing.ejs index ef6102d..a235109 100644 --- a/views/landing.ejs +++ b/views/landing.ejs @@ -1,90 +1,4 @@ - - - - - - - - - - - - - - - Homepage - Semantic - - - - - - - - - - - - - - - - -
-
- -
- -
+<% include partials/header %>

@@ -182,6 +96,5 @@

--> - - +<%include partials/footer %> diff --git a/views/newOrganization.ejs b/views/newOrganization.ejs index 02bd0c1..a6043ff 100644 --- a/views/newOrganization.ejs +++ b/views/newOrganization.ejs @@ -1,70 +1,4 @@ - - - - - - - - - - - - - - - Homepage - Semantic - - - - - - - - - - - - - +<% include partials/header %>
@@ -90,3 +24,4 @@ Login Signup
+<%include partials/footer %> From a8b4b9d303393629404ab176b95c50b69f2d88a7 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 02:07:12 -0800 Subject: [PATCH 054/102] N/A --- {public => views}/partials/footer.ejs | 0 {public => views}/partials/header.ejs | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename {public => views}/partials/footer.ejs (100%) rename {public => views}/partials/header.ejs (100%) diff --git a/public/partials/footer.ejs b/views/partials/footer.ejs similarity index 100% rename from public/partials/footer.ejs rename to views/partials/footer.ejs diff --git a/public/partials/header.ejs b/views/partials/header.ejs similarity index 100% rename from public/partials/header.ejs rename to views/partials/header.ejs From ef03daf6254879f8ab9106371d73bc0f214ec29d Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 02:10:13 -0800 Subject: [PATCH 055/102] N/A --- views/landing.ejs | 68 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/views/landing.ejs b/views/landing.ejs index a235109..89f4073 100644 --- a/views/landing.ejs +++ b/views/landing.ejs @@ -1,5 +1,73 @@ <% include partials/header %> + + + + + + + + + + + + + +
+
+ +
+ +

CRM From b77496e052a486febec07a5b87585113826a629d Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 02:11:17 -0800 Subject: [PATCH 056/102] N/A --- views/partials/header.ejs | 70 +-------------------------------------- 1 file changed, 1 insertion(+), 69 deletions(-) diff --git a/views/partials/header.ejs b/views/partials/header.ejs index 7b6a709..46f4c58 100644 --- a/views/partials/header.ejs +++ b/views/partials/header.ejs @@ -16,72 +16,4 @@ - - - - - - - - - - - - - -
-
- -
- -
+ From 64d7cd4e20f179d12ff567e38f969d2645dc3e54 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 02:18:49 -0800 Subject: [PATCH 057/102] JOHNBULLL --- index.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 5531178..683e934 100644 --- a/index.js +++ b/index.js @@ -48,6 +48,7 @@ var customerSchema = new mongoose.Schema({ custLastName : String, custAddress : String, cusEmail : String, + organization: String, }); const organizationalDataAlreadyGiven =(req,res,next) =>{ @@ -70,6 +71,13 @@ var Customer = mongoose.model("Customer", customerSchema); app.get("/", function(req, res) { res.render("landing"); }); +app.post("/getCustomerInfo",function(req, res){ + Organization.findOne({givenName:req.user.givenName,surname:req.user.surname}, function(err, Organization) { + Customer.findAll({organization:Organization.orgName},function(err,people){ + console.log(err,people); + }) + }) +}); app.get("/customer:id", stormpath.loginRequired, function(req, res) { res.render("customer", {organization: req.params.orgName}); @@ -102,9 +110,9 @@ app.post("/newCustomer", stormpath.loginRequired, function(req, res) { var custLastName = req.body.custLastName; var custAddress = req.body.custAddress; var cusEmail = req.body.cusEmail; - Organization.findOne({givenName:req.user.givenName,surname:req.user.surname}, function(err, Organization) { + Organization.findOne({givenName:req.user.givenName,surname:req.user.surname}, function(err, organization) { console.log("here is ORG!", Organization); - var newCustomer = {custFirstName, custLastName, custAddress, cusEmail,}; + var newCustomer = {custFirstName, custLastName, custAddress, cusEmail, organization:organization.orgName}; if (err) { console.log(err); } else { From 96617ff40ee4e9cf33a836929b08e69df91b185e Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 02:21:29 -0800 Subject: [PATCH 058/102] JOHNBULLL --- index.js | 1 + views/customer.ejs | 3 +++ 2 files changed, 4 insertions(+) diff --git a/index.js b/index.js index 683e934..1c43e0b 100644 --- a/index.js +++ b/index.js @@ -71,6 +71,7 @@ var Customer = mongoose.model("Customer", customerSchema); app.get("/", function(req, res) { res.render("landing"); }); + app.post("/getCustomerInfo",function(req, res){ Organization.findOne({givenName:req.user.givenName,surname:req.user.surname}, function(err, Organization) { Customer.findAll({organization:Organization.orgName},function(err,people){ diff --git a/views/customer.ejs b/views/customer.ejs index 94bc361..fd638d3 100644 --- a/views/customer.ejs +++ b/views/customer.ejs @@ -37,6 +37,9 @@ +
Create a New Customer
@@ -38,16 +52,7 @@ From 5d536afab96918a239bba33a9ba39ba7bf84b439 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 03:15:42 -0800 Subject: [PATCH 070/102] N/A --- views/customer.ejs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/views/customer.ejs b/views/customer.ejs index 7c06aca..0072827 100644 --- a/views/customer.ejs +++ b/views/customer.ejs @@ -8,7 +8,7 @@ address = $("#cusAddress").val(); emails = $("#cusEmail").val(); - + $('tbody').prepend(`${name}${surname}${address}${emails}`); }; @@ -30,7 +30,7 @@
- +
@@ -54,10 +54,8 @@ <%include partials/footer %> From c409296f3ac06bd32e066330a2d3d5cce56e7285 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 03:27:35 -0800 Subject: [PATCH 074/102] N/A --- views/customer.ejs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/customer.ejs b/views/customer.ejs index 4acd196..f78c59a 100644 --- a/views/customer.ejs +++ b/views/customer.ejs @@ -59,7 +59,7 @@ if (!localStorage.getItem('customerInfo')){ $.post('/getCustomerInfo',{},function(res,err){ - console.log(res[0],err); + console.log(res,err); localStorage.setItem('customerInfo',JSON.stringify(res)); }); } From d1cf89fc6fa8f28332025e65c28603cf16e67648 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 03:28:48 -0800 Subject: [PATCH 075/102] N/A --- views/customer.ejs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/customer.ejs b/views/customer.ejs index f78c59a..17c2060 100644 --- a/views/customer.ejs +++ b/views/customer.ejs @@ -57,12 +57,12 @@ -if (!localStorage.getItem('customerInfo')){ +//if (!localStorage.getItem('customerInfo')){ $.post('/getCustomerInfo',{},function(res,err){ console.log(res,err); localStorage.setItem('customerInfo',JSON.stringify(res)); }); -} +//} info=JSON.parse(localStorage.getItem('customerInfo')); for (let i=0; i${info[i].name}${info[i].email}${"BLAH BLAH"}`); From 41f5ccf2644c6b6908399585b9a3291e9dcea140 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 03:32:48 -0800 Subject: [PATCH 076/102] N/A --- views/customer.ejs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/views/customer.ejs b/views/customer.ejs index 17c2060..804e433 100644 --- a/views/customer.ejs +++ b/views/customer.ejs @@ -61,11 +61,14 @@ $.post('/getCustomerInfo',{},function(res,err){ console.log(res,err); localStorage.setItem('customerInfo',JSON.stringify(res)); + + info=JSON.parse(localStorage.getItem('customerInfo')); + for (let i=0; i${info[i].custFirstName}${info[i].cusEmail}${"BLAH BLAH"}`); + } + }); //} -info=JSON.parse(localStorage.getItem('customerInfo')); -for (let i=0; i${info[i].name}${info[i].email}${"BLAH BLAH"}`); -} + <%include partials/footer %> From 77a138447f23f893bc6ef6c5f2c08afe67d30543 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 06:52:47 -0800 Subject: [PATCH 077/102] Add email --- .env | 6 +++ index.js | 51 +++++++++++++++++++++++++- package.json | 4 +- public/styles/styles.css | 4 ++ views/customer.ejs | 22 ++++++----- views/newEmail.ejs | 77 +++++++++++++++++++++++++++++++++++++++ views/newOrganization.ejs | 12 +++++- views/partials/header.ejs | 40 +++++++++++++++++--- 8 files changed, 197 insertions(+), 19 deletions(-) create mode 100644 .env create mode 100644 views/newEmail.ejs diff --git a/.env b/.env new file mode 100644 index 0000000..10d3d4a --- /dev/null +++ b/.env @@ -0,0 +1,6 @@ +STORMPATH_API_KEY_ID=5PC4RW41LP6BJN3WN2X6HN3SU +STORMPATH_API_KEY_SECRET=518jzRbEilz/v2wVyoUD8gmBSzVDusjNLXFh+UyNkFk +STORMPATH_SECRET_KEY=asefasd +STORMPATH_URL= https://api.stormpath.com/v1/applications/7jp6sl4JWZ6kSWzMpXkEFg +MAIL_PASS=krishanmarya1 +MAIL_ADDRESS=dummyacct101390 diff --git a/index.js b/index.js index e2b12a7..4d20373 100644 --- a/index.js +++ b/index.js @@ -4,6 +4,11 @@ var express = require("express"), MongoClient = require('mongodb').MongoClient, mongoose = require("mongoose"); app = express(); + require('dotenv').config(); + nodemailer = require('nodemailer'); + const transportString = `smtps://${process.env.MAIL_ADDRESS}%40gmail.com:${process.env.MAIL_PASS}@smtp.gmail.com`; + const transporter = nodemailer.createTransport(transportString); + console.log(transportString); mongoose.Promise = require('bluebird'); @@ -33,6 +38,8 @@ app.use(stormpath.init(app, { apiKeySecret: process.env.STORMPATH_API_KEY_SECRET || 'secret', secretKey: process.env.STORMPATH_SECRET_KEY || "key", application: process.env.STORMPATH_URL || "url", + postLogoutRedirectUrl: '/' + })); var organizationSchema = new mongoose.Schema({ @@ -99,11 +106,15 @@ app.post("/newOrganization", stormpath.loginRequired, organizationalDataAlreadyG if (err) { console.log(err); } else { - res.redirect("/customer/" + orgName); + res.redirect("/customer" + orgName); } }); }); +app.post('/logout', (req,res)=>{ + console.log('logigin out') + res.redirect('/'); +}) app.post("/newCustomer", stormpath.loginRequired, function(req, res) { console.log('JOHNBULLISWRONG!', req.body); @@ -130,6 +141,44 @@ app.post("/newCustomer", stormpath.loginRequired, function(req, res) { }) }) +app.get("/newEmail", stormpath.loginRequired, function(req, res) { + Organization.findOne({givenName:req.user.givenName,surname:req.user.surname}, function(err, organization) { + res.render(("newEmail"), {organization,}) + }) +}); + +app.post("/newEmail", stormpath.loginRequired, function(req, res) { + + const message = req.body.message; + const header = req.body.header; + const people= req.body.people; + console.log(message,header,people); + +for (let i =0; i', // sender address + to: people[i][3], // list of receivers + subject: header, // Subject line + text: `Dear ${people[i][0]}\n` + message, // plaintext body + html: `Dear ${people[i][0]}
,`+ message+'
Interested?', // html body +}; + +transporter.sendMail(mailOptions, function(error, info){ + if(error){ + return console.log(error); + } + console.log('Message sent: ' + info.response); +}); + +} + +}); + +app.get('*', (req,res)=>{ + res.redirect('/'); +}) app.listen(process.env.PORT || 3000, function() { console.log("The CRM Server is running"); }); diff --git a/package.json b/package.json index f6dd30b..c839b62 100644 --- a/package.json +++ b/package.json @@ -21,11 +21,13 @@ "bluebird": "^3.4.7", "body-parser": "^1.16.0", "client-sessions": "^0.7.0", + "dotenv": "^4.0.0", "ejs": "^2.5.5", "express": "^4.14.0", "express-stormpath": "^3.1.9", "mo": "^1.7.3", - "mongoose": "^4.7.7" + "mongoose": "^4.7.7", + "nodemailer": "^2.7.0" }, "devDependencies": { "grunt": "^1.0.1", diff --git a/public/styles/styles.css b/public/styles/styles.css index e2f8b85..21d9728 100644 --- a/public/styles/styles.css +++ b/public/styles/styles.css @@ -3,6 +3,10 @@ width: 550px; } + #emailForm { + margin-top: 50px; + } + .hidden.menu { display: none; } diff --git a/views/customer.ejs b/views/customer.ejs index 804e433..4329ca5 100644 --- a/views/customer.ejs +++ b/views/customer.ejs @@ -11,11 +11,19 @@ $('tbody').prepend(`${name}${surname}${address}${emails}`); }; +validateEmail= ()=>{ + function validate(email) { + var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; + return re.test(email); + } + return validate($("#cusEmail").val()); +} +
Create a New Customer
-
+
@@ -30,7 +38,7 @@
- +
@@ -52,23 +60,17 @@ <%include partials/footer %> diff --git a/views/newEmail.ejs b/views/newEmail.ejs new file mode 100644 index 0000000..d04b6d6 --- /dev/null +++ b/views/newEmail.ejs @@ -0,0 +1,77 @@ +<% include partials/header %> + + + +
+
+ + +
+
+ +
+ + +
+ +
+ + + + + + + + + + + + + +
NameLastAddressEmail + Email?? +
+ + + +<% include partials/footer %> diff --git a/views/newOrganization.ejs b/views/newOrganization.ejs index a6043ff..abc6f8a 100644 --- a/views/newOrganization.ejs +++ b/views/newOrganization.ejs @@ -1,10 +1,17 @@ <% include partials/header %> - +
- +
@@ -24,4 +31,5 @@ Login Signup
+ <%include partials/footer %> diff --git a/views/partials/header.ejs b/views/partials/header.ejs index 46f4c58..9555edd 100644 --- a/views/partials/header.ejs +++ b/views/partials/header.ejs @@ -5,15 +5,45 @@ - - - + Homepage - Semantic - + + From 29ef172328afc74f97bdab222a4adccfe12d59bd Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 07:08:51 -0800 Subject: [PATCH 078/102] Add email --- index.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 4d20373..05938f8 100644 --- a/index.js +++ b/index.js @@ -162,7 +162,15 @@ for (let i =0; i,`+ message+'
Interested?', // html body + html: `Dear ${people[i][0]}
,`+ message+`
+ Interested +
+`, // html body }; transporter.sendMail(mailOptions, function(error, info){ From c5e7d0209f99b5715fec9ced0846a4b187ecc43f Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 07:24:38 -0800 Subject: [PATCH 079/102] Add email --- index.js | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/index.js b/index.js index 05938f8..e36a13d 100644 --- a/index.js +++ b/index.js @@ -162,15 +162,8 @@ for (let i =0; i,`+ message+`
- Interested -
-`, // html body + html: `Dear ${people[i][0]}
,`+ message+`Interested` +, // html body }; transporter.sendMail(mailOptions, function(error, info){ @@ -183,6 +176,15 @@ transporter.sendMail(mailOptions, function(error, info){ } }); +app.get('/redirect',function(req,res){ + console.log("visited") + +}) + +app.get('/redirect/*',function(req,res){ + console.log("visited2") + +}) app.get('*', (req,res)=>{ res.redirect('/'); From d2e8f1194821de3427973316620503f1b653f816 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 07:28:20 -0800 Subject: [PATCH 080/102] Add email --- index.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/index.js b/index.js index e36a13d..dc54121 100644 --- a/index.js +++ b/index.js @@ -176,14 +176,11 @@ transporter.sendMail(mailOptions, function(error, info){ } }); -app.get('/redirect',function(req,res){ - console.log("visited") -}) app.get('/redirect/*',function(req,res){ - console.log("visited2") - + console.log("visited2"); +res.redirect('https://www.google.com/') }) app.get('*', (req,res)=>{ From a63d0e888409fa13a38f7d02f65f3eba26735c06 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 07:31:11 -0800 Subject: [PATCH 081/102] Add email --- index.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/index.js b/index.js index dc54121..c7d3d4d 100644 --- a/index.js +++ b/index.js @@ -180,6 +180,8 @@ transporter.sendMail(mailOptions, function(error, info){ app.get('/redirect/*',function(req,res){ console.log("visited2"); + var fullUrl = req.protocol + '://' + req.get('host') + req.originalUrl; + console.log(fullUrl); res.redirect('https://www.google.com/') }) From 0d09368549460a2b9e5b7f41d59d7500a2c08ba7 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 07:33:12 -0800 Subject: [PATCH 082/102] Add email --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index c7d3d4d..8b06b23 100644 --- a/index.js +++ b/index.js @@ -162,7 +162,7 @@ for (let i =0; i,`+ message+`Interested` + html: `Dear ${people[i][0]}
,`+ message+`Interested` , // html body }; From fbf0b4b988094f1b54f38cdc08ee2035422ae0c4 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 07:42:25 -0800 Subject: [PATCH 083/102] Add email --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 8b06b23..d7a4851 100644 --- a/index.js +++ b/index.js @@ -162,7 +162,7 @@ for (let i =0; i,`+ message+`Interested` + html: `Dear ${people[i][0]}
,`+ message+"Interested" , // html body }; From 164b5afde45da087f798c749a869a19764e517c6 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 07:48:21 -0800 Subject: [PATCH 084/102] Add email --- index.js | 189 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 107 insertions(+), 82 deletions(-) diff --git a/index.js b/index.js index d7a4851..ee50dfb 100644 --- a/index.js +++ b/index.js @@ -1,32 +1,32 @@ var express = require("express"), - stormpath = require("express-stormpath"), - bodyParser = require("body-parser"), - MongoClient = require('mongodb').MongoClient, - mongoose = require("mongoose"); - app = express(); - require('dotenv').config(); - nodemailer = require('nodemailer'); - const transportString = `smtps://${process.env.MAIL_ADDRESS}%40gmail.com:${process.env.MAIL_PASS}@smtp.gmail.com`; - const transporter = nodemailer.createTransport(transportString); - console.log(transportString); - - mongoose.Promise = require('bluebird'); - - let URL = "mongodb://heroku_j1647s3l:tkmie8pbencj50ljm1d688h87e@ds117919.mlab.com:17919/heroku_j1647s3l"; - - - - MongoClient.connect(URL, function(err, db) { - if (err) { - URL = 'mongodb://localhost:27017/mydatabase'; - } else { - URL = process.env.URL; - } - db.close(); - }); - mongoose.connect(URL); + stormpath = require("express-stormpath"), + bodyParser = require("body-parser"), + MongoClient = require('mongodb').MongoClient, + mongoose = require("mongoose"); +app = express(); +require('dotenv').config(); +nodemailer = require('nodemailer'); +const transportString = `smtps://${process.env.MAIL_ADDRESS}%40gmail.com:${process.env.MAIL_PASS}@smtp.gmail.com`; +const transporter = nodemailer.createTransport(transportString); +console.log(transportString); + +mongoose.Promise = require('bluebird'); + +let URL = "mongodb://heroku_j1647s3l:tkmie8pbencj50ljm1d688h87e@ds117919.mlab.com:17919/heroku_j1647s3l"; + + + +MongoClient.connect(URL, function(err, db) { + if (err) { + URL = 'mongodb://localhost:27017/mydatabase'; + } else { + URL = process.env.URL; + } + db.close(); +}); +mongoose.connect(URL); -console.log("HERE I AM!!!",process.env.STORMPATH_API_KEY_ID) +console.log("HERE I AM!!!", process.env.STORMPATH_API_KEY_ID) app.set("views", __dirname + "/views"); app.set("view engine", "ejs"); app.use(bodyParser.urlencoded()); @@ -43,31 +43,34 @@ app.use(stormpath.init(app, { })); var organizationSchema = new mongoose.Schema({ - orgName : String, - givenName : String, - surname : String, + orgName: String, + givenName: String, + surname: String, }); var Organization = mongoose.model("Organization", organizationSchema); var customerSchema = new mongoose.Schema({ - custFirstName : String, - custLastName : String, - custAddress : String, - cusEmail : String, + custFirstName: String, + custLastName: String, + custAddress: String, + cusEmail: String, organization: String, }); -const organizationalDataAlreadyGiven =(req,res,next) =>{ +const organizationalDataAlreadyGiven = (req, res, next) => { - Organization.findOne({givenName:req.user.givenName,surname:req.user.surname}, function(err, Organization) { + Organization.findOne({ + givenName: req.user.givenName, + surname: req.user.surname + }, function(err, Organization) { console.log(Organization); if (Organization) { - res.redirect('/customer'+Organization.orgName) + res.redirect('/customer' + Organization.orgName) } else { next(); } -}) + }) }; @@ -79,19 +82,26 @@ app.get("/", function(req, res) { res.render("landing"); }); -app.post("/getCustomerInfo", stormpath.loginRequired, function(req, res){ - Organization.findOne({givenName:req.user.givenName,surname:req.user.surname}, function(err, Organization) { - Customer.find({organization:Organization.orgName},function(err,people){ - res.send(people); +app.post("/getCustomerInfo", stormpath.loginRequired, function(req, res) { + Organization.findOne({ + givenName: req.user.givenName, + surname: req.user.surname + }, function(err, Organization) { + Customer.find({ + organization: Organization.orgName + }, function(err, people) { + res.send(people); }) }) }); app.get("/customer:id", stormpath.loginRequired, function(req, res) { - res.render("customer", {organization: req.params.orgName}); + res.render("customer", { + organization: req.params.orgName + }); }); -app.get("/newOrganization",stormpath.loginRequired, function(req, res) { +app.get("/newOrganization", stormpath.loginRequired, function(req, res) { res.render("newOrganization"); }); @@ -100,7 +110,11 @@ app.post("/newOrganization", stormpath.loginRequired, organizationalDataAlreadyG var orgName = req.body.orgName; var givenName = req.body.givenName; var surname = req.body.surname; - var newOrganization = {orgName: orgName, givenName: givenName, surname: surname}; + var newOrganization = { + orgName: orgName, + givenName: givenName, + surname: surname + }; Organization.create(newOrganization, function(err, newlyCreated) { if (err) { @@ -111,9 +125,9 @@ app.post("/newOrganization", stormpath.loginRequired, organizationalDataAlreadyG }); }); -app.post('/logout', (req,res)=>{ +app.post('/logout', (req, res) => { console.log('logigin out') - res.redirect('/'); + res.redirect('/'); }) app.post("/newCustomer", stormpath.loginRequired, function(req, res) { @@ -122,9 +136,18 @@ app.post("/newCustomer", stormpath.loginRequired, function(req, res) { var custLastName = req.body.cusLastName; var custAddress = req.body.cusAddress; var cusEmail = req.body.cusEmail; - Organization.findOne({givenName:req.user.givenName,surname:req.user.surname}, function(err, organization) { + Organization.findOne({ + givenName: req.user.givenName, + surname: req.user.surname + }, function(err, organization) { console.log("here is ORG!", organization); - var newCustomer = {custFirstName, custLastName, custAddress, cusEmail, organization:organization.orgName}; + var newCustomer = { + custFirstName, + custLastName, + custAddress, + cusEmail, + organization: organization.orgName + }; if (err) { console.log(err); } else { @@ -136,14 +159,19 @@ app.post("/newCustomer", stormpath.loginRequired, function(req, res) { } }); - }; + }; }) }) app.get("/newEmail", stormpath.loginRequired, function(req, res) { - Organization.findOne({givenName:req.user.givenName,surname:req.user.surname}, function(err, organization) { - res.render(("newEmail"), {organization,}) + Organization.findOne({ + givenName: req.user.givenName, + surname: req.user.surname + }, function(err, organization) { + res.render(("newEmail"), { + organization, + }) }) }); @@ -151,43 +179,40 @@ app.post("/newEmail", stormpath.loginRequired, function(req, res) { const message = req.body.message; const header = req.body.header; - const people= req.body.people; - console.log(message,header,people); + const people = req.body.people; + console.log(message, header, people); -for (let i =0; i', // sender address - to: people[i][3], // list of receivers - subject: header, // Subject line - text: `Dear ${people[i][0]}\n` + message, // plaintext body - html: `Dear ${people[i][0]}
,`+ message+"Interested" -, // html body -}; + var mailOptions = { + from: '"Krishan Arya :busts_in_silhouette:" ', // sender address + to: people[i][3], // list of receivers + subject: header, // Subject line + text: `Dear ${people[i][0]}\n` + message, // plaintext body + html: `Dear ${people[i][0]},
` + message + "
Interested", // html body + }; -transporter.sendMail(mailOptions, function(error, info){ - if(error){ - return console.log(error); - } - console.log('Message sent: ' + info.response); -}); + transporter.sendMail(mailOptions, function(error, info) { + if (error) { + return console.log(error); + } + console.log('Message sent: ' + info.response); + }); -} + } }); -app.get('/redirect/*',function(req,res){ - console.log("visited2"); - var fullUrl = req.protocol + '://' + req.get('host') + req.originalUrl; - console.log(fullUrl); -res.redirect('https://www.google.com/') -}) +app.get('/redirect/*', function(req, res) { + console.log("visited2"); + var fullUrl = req.protocol + '://' + req.get('host') + req.originalUrl; + console.log("this should be email", fullUrl.slice(fullUrl.lastIndexOf('/')); res.redirect('https://www.google.com/') + }); -app.get('*', (req,res)=>{ - res.redirect('/'); -}) -app.listen(process.env.PORT || 3000, function() { - console.log("The CRM Server is running"); -}); + app.get('*', (req, res) => { + res.redirect('/'); + }) app.listen(process.env.PORT || 3000, function() { + console.log("The CRM Server is running"); + }); From 0bc97a09a5a5f0de5256642e9fde72b372524aa6 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 07:49:58 -0800 Subject: [PATCH 085/102] Add email --- index.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index ee50dfb..40c10d6 100644 --- a/index.js +++ b/index.js @@ -56,6 +56,7 @@ var customerSchema = new mongoose.Schema({ custAddress: String, cusEmail: String, organization: String, + clicks: Array, }); const organizationalDataAlreadyGiven = (req, res, next) => { @@ -208,7 +209,8 @@ app.post("/newEmail", stormpath.loginRequired, function(req, res) { app.get('/redirect/*', function(req, res) { console.log("visited2"); var fullUrl = req.protocol + '://' + req.get('host') + req.originalUrl; - console.log("this should be email", fullUrl.slice(fullUrl.lastIndexOf('/')); res.redirect('https://www.google.com/') + console.log("this should be email", fullUrl.slice(fullUrl.lastIndexOf('/'))); + res.redirect('https://www.google.com/') }); app.get('*', (req, res) => { From 011fabadbe28851c3849be11703addd16f15f771 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 07:51:47 -0800 Subject: [PATCH 086/102] Add email --- index.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 40c10d6..801e33b 100644 --- a/index.js +++ b/index.js @@ -215,6 +215,8 @@ app.get('/redirect/*', function(req, res) { app.get('*', (req, res) => { res.redirect('/'); - }) app.listen(process.env.PORT || 3000, function() { + }); + + app.listen(process.env.PORT || 3000, function() { console.log("The CRM Server is running"); }); From 7df5ef898bf9a08a003015022bc4e4e042755b28 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 08:01:59 -0800 Subject: [PATCH 087/102] Add email todb --- index.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 801e33b..1e908a2 100644 --- a/index.js +++ b/index.js @@ -209,8 +209,11 @@ app.post("/newEmail", stormpath.loginRequired, function(req, res) { app.get('/redirect/*', function(req, res) { console.log("visited2"); var fullUrl = req.protocol + '://' + req.get('host') + req.originalUrl; - console.log("this should be email", fullUrl.slice(fullUrl.lastIndexOf('/'))); - res.redirect('https://www.google.com/') + var email = fullUrl.slice(fullUrl.lastIndexOf('/')+1); + console.log(email); + time = new Date(); + Customer.update({cusEmail: email}, {$push: {clicks: time}}, done ); + res.redirect('https://www.google.com/') }); app.get('*', (req, res) => { From 26ad9e7e475bbeaf1b62d6ab59a8ca2c0d0c7ee6 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 08:07:33 -0800 Subject: [PATCH 088/102] Add email todb --- index.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 1e908a2..9d63bee 100644 --- a/index.js +++ b/index.js @@ -212,7 +212,9 @@ app.get('/redirect/*', function(req, res) { var email = fullUrl.slice(fullUrl.lastIndexOf('/')+1); console.log(email); time = new Date(); - Customer.update({cusEmail: email}, {$push: {clicks: time}}, done ); + Customer.update({cusEmail: email}, {$push: {clicks: time}}, function(err, model) { + console.log(err); + }); res.redirect('https://www.google.com/') }); From ac7a914df93e198558fc6e6a2b708523d9418179 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 09:19:50 -0800 Subject: [PATCH 089/102] added email weekly cron job --- index.js | 70 +++++++++++++++++++++++++++++++-------- package.json | 2 ++ views/partials/header.ejs | 33 ------------------ 3 files changed, 59 insertions(+), 46 deletions(-) diff --git a/index.js b/index.js index 9d63bee..edd068b 100644 --- a/index.js +++ b/index.js @@ -185,20 +185,63 @@ app.post("/newEmail", stormpath.loginRequired, function(req, res) { for (let i = 0; i < people.length; i++) { - - var mailOptions = { - from: '"Krishan Arya :busts_in_silhouette:" ', // sender address - to: people[i][3], // list of receivers - subject: header, // Subject line - text: `Dear ${people[i][0]}\n` + message, // plaintext body - html: `Dear ${people[i][0]},
` + message + "
Interested", // html body - }; - - transporter.sendMail(mailOptions, function(error, info) { - if (error) { - return console.log(error); + //check if click are preasent in customer DB + Customer.find({ + cusEmail: people[i][3] + }, function(err, person) { + var clickArray = person[0].clicks; + if (!!clickArray.length) { + + var latestTime = clickArray[clickArray.length - 1]; + var milliseconds = latestTime.getTime(); + var currentMill = (new Date()).getTime(); + while (milliseconds < currentMill) { + milliseconds += 604800000; + }; + var nextEmail = (new Date(milliseconds)); + + + console.log(latestTime, "', // sender address + to: people[i][3], // list of receivers + subject: header, // Subject line + text: `Dear ${people[i][0]}\n` + message, // plaintext body + html: `Dear ${people[i][0]},
` + message + "
Interested", // html body + }; + + transporter.sendMail(mailOptions, function(error, info) { + if (error) { + return console.log(error); + } + console.log('Message sent: ' + info.response); + }); + }, function() { + console.log("Done"); + }, true) + } else { + + var mailOptions = { + from: '"Krishan Arya :busts_in_silhouette:" ', // sender address + to: people[i][3], // list of receivers + subject: header, // Subject line + text: `Dear ${people[i][0]}\n` + message, // plaintext body + html: `Dear ${people[i][0]},
` + message + "
Interested", // html body + }; + + transporter.sendMail(mailOptions, function(error, info) { + if (error) { + return console.log(error); + } + console.log('Message sent: ' + info.response); + }); } - console.log('Message sent: ' + info.response); }); } @@ -206,6 +249,7 @@ app.post("/newEmail", stormpath.loginRequired, function(req, res) { }); + app.get('/redirect/*', function(req, res) { console.log("visited2"); var fullUrl = req.protocol + '://' + req.get('host') + req.originalUrl; diff --git a/package.json b/package.json index c839b62..c3446f0 100644 --- a/package.json +++ b/package.json @@ -21,12 +21,14 @@ "bluebird": "^3.4.7", "body-parser": "^1.16.0", "client-sessions": "^0.7.0", + "cron": "^1.2.1", "dotenv": "^4.0.0", "ejs": "^2.5.5", "express": "^4.14.0", "express-stormpath": "^3.1.9", "mo": "^1.7.3", "mongoose": "^4.7.7", + "node-cron": "^1.1.2", "nodemailer": "^2.7.0" }, "devDependencies": { diff --git a/views/partials/header.ejs b/views/partials/header.ejs index 9555edd..82aa749 100644 --- a/views/partials/header.ejs +++ b/views/partials/header.ejs @@ -8,42 +8,9 @@ - Homepage - Semantic - From ffad3836af7bf09a1126598c3848d4ef74293530 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 10:09:25 -0800 Subject: [PATCH 090/102] ui tweeks --- index.js | 15 ++++++++------- public/styles/styles.css | 19 +++++++++++++++++++ views/customer.ejs | 29 +++++++++++++++-------------- views/newEmail.ejs | 10 ++++------ views/newOrganization.ejs | 5 ++--- 5 files changed, 48 insertions(+), 30 deletions(-) diff --git a/index.js b/index.js index edd068b..752c762 100644 --- a/index.js +++ b/index.js @@ -60,12 +60,12 @@ var customerSchema = new mongoose.Schema({ }); const organizationalDataAlreadyGiven = (req, res, next) => { - + console.log('running middleware!'); Organization.findOne({ givenName: req.user.givenName, surname: req.user.surname }, function(err, Organization) { - console.log(Organization); + console.log("Organization", Organization); if (Organization) { res.redirect('/customer' + Organization.orgName) } else { @@ -102,11 +102,11 @@ app.get("/customer:id", stormpath.loginRequired, function(req, res) { }); }); -app.get("/newOrganization", stormpath.loginRequired, function(req, res) { +app.get("/newOrganization", stormpath.loginRequired, organizationalDataAlreadyGiven, function(req, res) { res.render("newOrganization"); }); -app.post("/newOrganization", stormpath.loginRequired, organizationalDataAlreadyGiven, function(req, res) { +app.post("/newOrganization", stormpath.loginRequired, function(req, res) { console.log("MY BODY!!!", req.body); var orgName = req.body.orgName; var givenName = req.body.givenName; @@ -206,8 +206,6 @@ app.post("/newEmail", stormpath.loginRequired, function(req, res) { var job = new CronJob(nextEmail, function() { - - var mailOptions = { from: '"Krishan Arya :busts_in_silhouette:" ', // sender address to: people[i][3], // list of receivers @@ -226,7 +224,7 @@ app.post("/newEmail", stormpath.loginRequired, function(req, res) { console.log("Done"); }, true) } else { - + var mailOptions = { from: '"Krishan Arya :busts_in_silhouette:" ', // sender address to: people[i][3], // list of receivers @@ -263,6 +261,9 @@ app.get('/redirect/*', function(req, res) { }); app.get('*', (req, res) => { + console.log('caught a case!') + var fullUrl = req.protocol + '://' + req.get('host') + req.originalUrl; +console.log(fullUrl); res.redirect('/'); }); diff --git a/public/styles/styles.css b/public/styles/styles.css index 21d9728..2429655 100644 --- a/public/styles/styles.css +++ b/public/styles/styles.css @@ -7,6 +7,25 @@ margin-top: 50px; } + div#emailForm { + text-align: center; + } + + div#orgNameForm { + top: 30%; + position: relative; + } + div#customerEntry { + top: 20%; + position: relative; +} + + div#newCusFormMain { + text-align: center; +} + form.ui.form { + text-align: center; + } .hidden.menu { display: none; } diff --git a/views/customer.ejs b/views/customer.ejs index 4329ca5..6fcd3f2 100644 --- a/views/customer.ejs +++ b/views/customer.ejs @@ -1,6 +1,18 @@ <% include partials/header %> +
Create a New Customer
@@ -41,6 +54,7 @@ validateEmail= ()=>{
+
@@ -58,19 +72,6 @@ validateEmail= ()=>{ +
- <%include partials/footer %> diff --git a/views/newEmail.ejs b/views/newEmail.ejs index d04b6d6..967858c 100644 --- a/views/newEmail.ejs +++ b/views/newEmail.ejs @@ -26,17 +26,15 @@ const blast = () => { }; - -
+
- +

Email Header

- +

Email Body

- - +
diff --git a/views/newOrganization.ejs b/views/newOrganization.ejs index abc6f8a..0128cc0 100644 --- a/views/newOrganization.ejs +++ b/views/newOrganization.ejs @@ -21,15 +21,14 @@ const logout=()=>{
+
-
Login - Signup +
<%include partials/footer %> From f45c6daab43ffcf248cf0e4cbba88e1e65c91da8 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 12:47:07 -0800 Subject: [PATCH 091/102] Push it --- index.js | 47 ++++++++++++++++++++++++++++++-------- public/johnbull.png | Bin 0 -> 163399 bytes public/styles/styles.css | 19 +++++++++++---- views/customer.ejs | 13 +++++++++-- views/newEmail.ejs | 11 ++++++--- views/newOrganization.ejs | 14 ++++++++++-- 6 files changed, 83 insertions(+), 21 deletions(-) create mode 100644 public/johnbull.png diff --git a/index.js b/index.js index 752c762..2923761 100644 --- a/index.js +++ b/index.js @@ -46,6 +46,7 @@ var organizationSchema = new mongoose.Schema({ orgName: String, givenName: String, surname: String, + website: String, }); var Organization = mongoose.model("Organization", organizationSchema); @@ -57,6 +58,8 @@ var customerSchema = new mongoose.Schema({ cusEmail: String, organization: String, clicks: Array, + lastEmailed: Number, + nextScheduled:Number, }); const organizationalDataAlreadyGiven = (req, res, next) => { @@ -102,7 +105,7 @@ app.get("/customer:id", stormpath.loginRequired, function(req, res) { }); }); -app.get("/newOrganization", stormpath.loginRequired, organizationalDataAlreadyGiven, function(req, res) { +app.get("/newOrganization", stormpath.loginRequired, organizationalDataAlreadyGiven,function(req, res) { res.render("newOrganization"); }); @@ -111,10 +114,13 @@ app.post("/newOrganization", stormpath.loginRequired, function(req, res) { var orgName = req.body.orgName; var givenName = req.body.givenName; var surname = req.body.surname; + var website = req.body.website; + var newOrganization = { - orgName: orgName, - givenName: givenName, - surname: surname + orgName, + givenName, + surname, + website, }; Organization.create(newOrganization, function(err, newlyCreated) { @@ -181,6 +187,7 @@ app.post("/newEmail", stormpath.loginRequired, function(req, res) { const message = req.body.message; const header = req.body.header; const people = req.body.people; + const website = req.body.website; console.log(message, header, people); for (let i = 0; i < people.length; i++) { @@ -190,22 +197,33 @@ app.post("/newEmail", stormpath.loginRequired, function(req, res) { cusEmail: people[i][3] }, function(err, person) { var clickArray = person[0].clicks; - if (!!clickArray.length) { + var lastEmailed = person[0].lastEmailed; + var nextScheduled = person[0].nextScheduled; + var currentMill = (new Date()).getTime(); + var dontEmail = (currentMill - lastEmailed) < 604800000; + if (!!clickArray.length && !dontEmail) { var latestTime = clickArray[clickArray.length - 1]; var milliseconds = latestTime.getTime(); - var currentMill = (new Date()).getTime(); + while (milliseconds < currentMill) { milliseconds += 604800000; }; var nextEmail = (new Date(milliseconds)); - + if (nextScheduled-currentMill<604800000){ + return; + } + Customer.update({cusEmail: people[i][3]}, {nextScheduled:nextEmail},function(err, response){ + console.log(err,response); + }); console.log(latestTime, "', // sender address to: people[i][3], // list of receivers @@ -219,18 +237,22 @@ app.post("/newEmail", stormpath.loginRequired, function(req, res) { return console.log(error); } console.log('Message sent: ' + info.response); + Customer.update({cusEmail: people[i][3]}, {lastEmailed:nextEmail}, function(err,affected) { + console.log('affected rows %d', affected); + }) }); }, function() { + console.log("Done"); }, true) - } else { + } else if(!dontEmail) { var mailOptions = { from: '"Krishan Arya :busts_in_silhouette:" ', // sender address to: people[i][3], // list of receivers subject: header, // Subject line text: `Dear ${people[i][0]}\n` + message, // plaintext body - html: `Dear ${people[i][0]},
` + message + "
Interested", // html body + html: `Dear ${people[i][0]},
` + message + "
Interested", // html body }; transporter.sendMail(mailOptions, function(error, info) { @@ -238,6 +260,9 @@ app.post("/newEmail", stormpath.loginRequired, function(req, res) { return console.log(error); } console.log('Message sent: ' + info.response); + Customer.update({cusEmail: people[i][3]}, {lastEmailed:currentMill}, function(err,affected) { + console.log('affected rows %d', affected); + }) }); } }); @@ -252,12 +277,14 @@ app.get('/redirect/*', function(req, res) { console.log("visited2"); var fullUrl = req.protocol + '://' + req.get('host') + req.originalUrl; var email = fullUrl.slice(fullUrl.lastIndexOf('/')+1); + var website= fullUrl.slice(53).slice(0,fullUrl.slice(53).indexOf('/')); + console.log(email); time = new Date(); Customer.update({cusEmail: email}, {$push: {clicks: time}}, function(err, model) { console.log(err); }); - res.redirect('https://www.google.com/') + res.redirect(website); }); app.get('*', (req, res) => { diff --git a/public/johnbull.png b/public/johnbull.png new file mode 100644 index 0000000000000000000000000000000000000000..16b1d40da914bfdcbf4eeb8593c8b4a0b1606749 GIT binary patch literal 163399 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 S`lhr10000 - +

Create a New Customer
@@ -54,7 +61,8 @@ validateEmail= ()=>{
- +
Blast
+
logout
@@ -74,4 +82,5 @@ validateEmail= ()=>{
+ <%include partials/footer %> diff --git a/views/newEmail.ejs b/views/newEmail.ejs index 967858c..eab5c7a 100644 --- a/views/newEmail.ejs +++ b/views/newEmail.ejs @@ -4,7 +4,8 @@ const blast = () => { toBlast = { message: $("#message").val(), header: $("#header").val(), - people: {} + people: {}, + website: $("#website").val(), } $.each($('input[type="checkbox"]'), function(i) { @@ -28,11 +29,15 @@ const blast = () => {
-

Email Header

+ Email Header

-

Email Body

+

Redirect To

+ +
+
+

Email Body

diff --git a/views/newOrganization.ejs b/views/newOrganization.ejs index 0128cc0..70d258c 100644 --- a/views/newOrganization.ejs +++ b/views/newOrganization.ejs @@ -6,6 +6,10 @@ const logout=()=>{ form.action = "/logout"; form.submit(); }; + +$('.ui.dropdown') +.dropdown() +;
@@ -21,14 +25,20 @@ const logout=()=>{
+
+ + +
+
+
-
- + <%include partials/footer %> From e3752794c89b826a15b25cef638dc98654b79c8f Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 12:57:17 -0800 Subject: [PATCH 092/102] Push it --- index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 2923761..89138da 100644 --- a/index.js +++ b/index.js @@ -201,7 +201,7 @@ app.post("/newEmail", stormpath.loginRequired, function(req, res) { var nextScheduled = person[0].nextScheduled; var currentMill = (new Date()).getTime(); var dontEmail = (currentMill - lastEmailed) < 604800000; - if (!!clickArray.length && !dontEmail) { + if (1/*!!clickArray.length /*&& !dontEmail*/) { var latestTime = clickArray[clickArray.length - 1]; var milliseconds = latestTime.getTime(); @@ -279,7 +279,7 @@ app.get('/redirect/*', function(req, res) { var email = fullUrl.slice(fullUrl.lastIndexOf('/')+1); var website= fullUrl.slice(53).slice(0,fullUrl.slice(53).indexOf('/')); - console.log(email); + console.log("EMAIL", email,"fu",fullUrl); time = new Date(); Customer.update({cusEmail: email}, {$push: {clicks: time}}, function(err, model) { console.log(err); From d73315a2195d5170db2248b43adc423bca1afb38 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 12:59:38 -0800 Subject: [PATCH 093/102] Push it --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 89138da..00d1dc1 100644 --- a/index.js +++ b/index.js @@ -201,7 +201,7 @@ app.post("/newEmail", stormpath.loginRequired, function(req, res) { var nextScheduled = person[0].nextScheduled; var currentMill = (new Date()).getTime(); var dontEmail = (currentMill - lastEmailed) < 604800000; - if (1/*!!clickArray.length /*&& !dontEmail*/) { + if (1==1/*!!clickArray.length /*&& !dontEmail*/) { var latestTime = clickArray[clickArray.length - 1]; var milliseconds = latestTime.getTime(); From 0f8002a84ea4c36147c3be906d02eecf23dabb12 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 13:03:21 -0800 Subject: [PATCH 094/102] Push it --- index.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/index.js b/index.js index 00d1dc1..763e70b 100644 --- a/index.js +++ b/index.js @@ -210,10 +210,10 @@ app.post("/newEmail", stormpath.loginRequired, function(req, res) { milliseconds += 604800000; }; var nextEmail = (new Date(milliseconds)); - if (nextScheduled-currentMill<604800000){ - return; - } - Customer.update({cusEmail: people[i][3]}, {nextScheduled:nextEmail},function(err, response){ + // if (nextScheduled-currentMill<604800000){ + // return; + // } + Customer.update({cusEmail: people[i][3]}, {nextScheduled:milliseconds},function(err, response){ console.log(err,response); }); From dbf39761546a01a4ee6e309e4e99ba61b75c4e4e Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 13:06:52 -0800 Subject: [PATCH 095/102] Push it --- index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 763e70b..894947e 100644 --- a/index.js +++ b/index.js @@ -201,7 +201,7 @@ app.post("/newEmail", stormpath.loginRequired, function(req, res) { var nextScheduled = person[0].nextScheduled; var currentMill = (new Date()).getTime(); var dontEmail = (currentMill - lastEmailed) < 604800000; - if (1==1/*!!clickArray.length /*&& !dontEmail*/) { + if (1==2/*!!clickArray.length /*&& !dontEmail*/) { var latestTime = clickArray[clickArray.length - 1]; var milliseconds = latestTime.getTime(); @@ -245,7 +245,7 @@ app.post("/newEmail", stormpath.loginRequired, function(req, res) { console.log("Done"); }, true) - } else if(!dontEmail) { + } else if(1==1/*!dontEmail*/) { var mailOptions = { from: '"Krishan Arya :busts_in_silhouette:" ', // sender address From 7cd4584e7921672c1e379e1346f88381cae927ba Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 13:17:55 -0800 Subject: [PATCH 096/102] Push it --- index.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 894947e..c41496f 100644 --- a/index.js +++ b/index.js @@ -277,9 +277,14 @@ app.get('/redirect/*', function(req, res) { console.log("visited2"); var fullUrl = req.protocol + '://' + req.get('host') + req.originalUrl; var email = fullUrl.slice(fullUrl.lastIndexOf('/')+1); - var website= fullUrl.slice(53).slice(0,fullUrl.slice(53).indexOf('/')); + website1 = fullUrl.slice(54); + website = website1.slice(0,website1.indexOf("/")) - console.log("EMAIL", email,"fu",fullUrl); + + + + + console.log("EMAIL", email,"fu",fullUrl,"website", website); time = new Date(); Customer.update({cusEmail: email}, {$push: {clicks: time}}, function(err, model) { console.log(err); From 2f2ba394b791bb69781a6a91ad5878259a4499f7 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 13:24:24 -0800 Subject: [PATCH 097/102] Push it --- index.js | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/index.js b/index.js index c41496f..ac6fd63 100644 --- a/index.js +++ b/index.js @@ -201,7 +201,7 @@ app.post("/newEmail", stormpath.loginRequired, function(req, res) { var nextScheduled = person[0].nextScheduled; var currentMill = (new Date()).getTime(); var dontEmail = (currentMill - lastEmailed) < 604800000; - if (1==2/*!!clickArray.length /*&& !dontEmail*/) { + if (!!clickArray.length) { var latestTime = clickArray[clickArray.length - 1]; var milliseconds = latestTime.getTime(); @@ -245,7 +245,7 @@ app.post("/newEmail", stormpath.loginRequired, function(req, res) { console.log("Done"); }, true) - } else if(1==1/*!dontEmail*/) { + } else if(!dontEmail) { var mailOptions = { from: '"Krishan Arya :busts_in_silhouette:" ', // sender address @@ -277,19 +277,13 @@ app.get('/redirect/*', function(req, res) { console.log("visited2"); var fullUrl = req.protocol + '://' + req.get('host') + req.originalUrl; var email = fullUrl.slice(fullUrl.lastIndexOf('/')+1); - website1 = fullUrl.slice(54); - website = website1.slice(0,website1.indexOf("/")) - - - - - console.log("EMAIL", email,"fu",fullUrl,"website", website); + // console.log("EMAIL", email,"fu",fullUrl,"website", website); time = new Date(); Customer.update({cusEmail: email}, {$push: {clicks: time}}, function(err, model) { console.log(err); }); - res.redirect(website); + res.redirect("google.com"); }); app.get('*', (req, res) => { From 440c983391608b2437535bca5eec748832bc7af5 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 13:41:49 -0800 Subject: [PATCH 098/102] Pushed all the things --- views/newEmail.ejs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/newEmail.ejs b/views/newEmail.ejs index eab5c7a..65bd930 100644 --- a/views/newEmail.ejs +++ b/views/newEmail.ejs @@ -29,7 +29,7 @@ const blast = () => {
- Email Header +

Email Header

From bff47dcef1eb43890465eb24166c0361018fc3d1 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 13:43:22 -0800 Subject: [PATCH 099/102] Pushed all the things --- public/styles/styles.css | 1 + 1 file changed, 1 insertion(+) diff --git a/public/styles/styles.css b/public/styles/styles.css index 15a92f6..7ca53dc 100644 --- a/public/styles/styles.css +++ b/public/styles/styles.css @@ -5,6 +5,7 @@ #emailForm { margin-top: 50px; + width: 80%; } body { background-image: url('../johnbull.png'); From 5a07d66c0a49c0f2ec37a90baaf4c39cdf65e26e Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 13:56:05 -0800 Subject: [PATCH 100/102] Pushed all the things --- public/styles/styles.css | 1 + 1 file changed, 1 insertion(+) diff --git a/public/styles/styles.css b/public/styles/styles.css index 7ca53dc..70d57cd 100644 --- a/public/styles/styles.css +++ b/public/styles/styles.css @@ -6,6 +6,7 @@ #emailForm { margin-top: 50px; width: 80%; + margin: 0 auto; } body { background-image: url('../johnbull.png'); From c8a32c4c3f3745a484cc45975a72ff219b7a3b7a Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 14:46:27 -0800 Subject: [PATCH 101/102] Pushed all the things --- index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index ac6fd63..1c43fd9 100644 --- a/index.js +++ b/index.js @@ -252,7 +252,7 @@ app.post("/newEmail", stormpath.loginRequired, function(req, res) { to: people[i][3], // list of receivers subject: header, // Subject line text: `Dear ${people[i][0]}\n` + message, // plaintext body - html: `Dear ${people[i][0]},
` + message + "
Interested", // html body + html: `Dear ${people[i][0]},
` + message + "
Interested", // html body }; transporter.sendMail(mailOptions, function(error, info) { @@ -287,6 +287,7 @@ app.get('/redirect/*', function(req, res) { }); app.get('*', (req, res) => { + res.redirect("http://google.com"); console.log('caught a case!') var fullUrl = req.protocol + '://' + req.get('host') + req.originalUrl; console.log(fullUrl); From 4ceb0c5546bc1c20be17ff113ecad80fb3af8b21 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 21 Jan 2017 15:07:50 -0800 Subject: [PATCH 102/102] Pushed all the things --- index.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/index.js b/index.js index 1c43fd9..0a03694 100644 --- a/index.js +++ b/index.js @@ -277,8 +277,7 @@ app.get('/redirect/*', function(req, res) { console.log("visited2"); var fullUrl = req.protocol + '://' + req.get('host') + req.originalUrl; var email = fullUrl.slice(fullUrl.lastIndexOf('/')+1); - - // console.log("EMAIL", email,"fu",fullUrl,"website", website); + console.log("EMAIL", email,"fu",fullUrl,"website", website); time = new Date(); Customer.update({cusEmail: email}, {$push: {clicks: time}}, function(err, model) { console.log(err);