From 92201a4a302f6380b7a8a4220235d419f9509c26 Mon Sep 17 00:00:00 2001 From: Dobie Wollert Date: Sun, 26 Oct 2014 02:29:04 -0700 Subject: [PATCH] made email from work --- biomed-frontend/bower.json | 3 +- biomed-frontend/gulpfile.js | 4 +- biomed-frontend/src/app/controllers.js | 32 +++++++++++++++ biomed-frontend/src/app/email.html | 32 +++++++++++++++ biomed-frontend/src/app/index.js | 6 +-- biomed-frontend/src/app/layout.html | 37 +---------------- biomed-webserver/package.json | 3 +- biomed-webserver/server.js | 55 ++++++++++++++++++++------ 8 files changed, 118 insertions(+), 54 deletions(-) create mode 100644 biomed-frontend/src/app/controllers.js create mode 100644 biomed-frontend/src/app/email.html diff --git a/biomed-frontend/bower.json b/biomed-frontend/bower.json index 2ea137b..d44897f 100644 --- a/biomed-frontend/bower.json +++ b/biomed-frontend/bower.json @@ -12,6 +12,7 @@ "masonry": "~3.1.5", "angular-masonry": "~0.9.1", "imagesloaded": "~3.1.8", - "jquery-colorbox": "~1.5.14" + "jquery-colorbox": "~1.5.14", + "angular-foundation": "~0.4.0" } } diff --git a/biomed-frontend/gulpfile.js b/biomed-frontend/gulpfile.js index f6925d6..b4824ad 100644 --- a/biomed-frontend/gulpfile.js +++ b/biomed-frontend/gulpfile.js @@ -30,6 +30,8 @@ gulp.task('vendor', function() { 'vendor/angular-resource/angular-resource.js', 'vendor/angular-sanitize/angular-sanitize.js', 'vendor/angular-ui-router/release/angular-ui-router.js', + 'vendor/angular-foundation/mm-foundation.min.js', + 'vendor/angular-foundation/mm-foundation-tpls.min.js', 'vendor/lodash/dist/lodash.js', 'vendor/masonry/dist/masonry.pkgd.js', 'vendor/angular-masonry/angular-masonry.js', @@ -47,7 +49,7 @@ gulp.task('js', function() { .pipe(sourcemaps.init()) .pipe(templates({ standalone: true })); - var js = gulp.src(['src/**/imdex.js', 'src/**/*.js']) + var js = gulp.src(['src/**/index.js', 'src/**/*.js']) .pipe(plumber()) .pipe(sourcemaps.init()) .pipe(concat('src.js')) diff --git a/biomed-frontend/src/app/controllers.js b/biomed-frontend/src/app/controllers.js new file mode 100644 index 0000000..7670096 --- /dev/null +++ b/biomed-frontend/src/app/controllers.js @@ -0,0 +1,32 @@ +angular.module('biomed-frontend') +.controller('NavCtrl', function($scope, $modal) { + + $scope.showEmail = function() { + var modalInstance = $modal.open({ + templateUrl: 'app/email.html', + controller: 'EmailCtrl' + }); + } + +}) +.controller('EmailCtrl', function($scope, $http, $modalInstance) { + + $scope.model = {}; + + $scope.send = function() { + console.log($scope.model); + + $http.post('/api/email', $scope.model) + .success(function() { + $modalInstance.close(); + }) + .error(function() { + $modalInstance.close(); + }); + }; + + $scope.close = function() { + $modalInstance.close(); + } + +}); diff --git a/biomed-frontend/src/app/email.html b/biomed-frontend/src/app/email.html new file mode 100644 index 0000000..3887540 --- /dev/null +++ b/biomed-frontend/src/app/email.html @@ -0,0 +1,32 @@ +
+
+
+
+

Email us:

+
+
+
+ +
+
+ + Name is required and must be a string. +
+ +
+ +
+ +
+ + × +
\ No newline at end of file diff --git a/biomed-frontend/src/app/index.js b/biomed-frontend/src/app/index.js index 91aa4cc..3e04862 100644 --- a/biomed-frontend/src/app/index.js +++ b/biomed-frontend/src/app/index.js @@ -3,8 +3,8 @@ angular.module('biomed-frontend', [ 'ui.router', 'ngResource', 'angular-loading-bar', - 'wu.masonry' - + 'wu.masonry', + 'mm.foundation' ]) .factory('Posts', function($resource) { return $resource('/api/v1/posts/:_id', @@ -56,4 +56,4 @@ angular.module('biomed-frontend', [ }); } }); -}); +}) diff --git a/biomed-frontend/src/app/layout.html b/biomed-frontend/src/app/layout.html index f3b39a4..ff7f4ca 100644 --- a/biomed-frontend/src/app/layout.html +++ b/biomed-frontend/src/app/layout.html @@ -1,6 +1,6 @@
-
-
-
-
-
-

Email us:

-
-
-
- -
-
- - Name is required and must be a string. -
- -
- -
- -
- - - × -
diff --git a/biomed-webserver/package.json b/biomed-webserver/package.json index 4884a4c..90ad55c 100644 --- a/biomed-webserver/package.json +++ b/biomed-webserver/package.json @@ -7,6 +7,7 @@ "body-parser": "~1.9.0", "method-override": "~2.2.0", "mongoose": "~3.8.17", - "express-restify-mongoose": "~0.6.10" + "express-restify-mongoose": "~0.6.10", + "emailjs": "~0.3.12" } } diff --git a/biomed-webserver/server.js b/biomed-webserver/server.js index ea76c37..d8e552b 100644 --- a/biomed-webserver/server.js +++ b/biomed-webserver/server.js @@ -3,20 +3,28 @@ var express = require('express'); var bodyParser = require('body-parser'); var methodOverride = require('method-override'); var mongoose = require('mongoose'); +var email = require('emailjs'); var Schema = mongoose.Schema; var restify = require('express-restify-mongoose'); -mongoose.connect('mongodb://localhost/biomed'); +mongoose.connect('mongodb://localhost/biomed_prod'); + +var emailServer = email.server.connect({ + user: 'api@atlanticbiomedical.com', + password: 'success4', + host: 'smtp.gmail.com', + ssl: true +}); var Post = new Schema({ - title: { type: String }, - preview: { type: String }, - details: { type: String }, - image: { type: String }, - gallery: [ - { type: String } - ], - status: { type: String } + title: { type: String }, + preview: { type: String }, + details: { type: String }, + image: { type: String }, + gallery: [ + { type: String } + ], + status: { type: String } }); var PostModel = mongoose.model('Post', Post); @@ -24,12 +32,33 @@ var app = express(); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.use(methodOverride()); + +app.post('/api/email', function(req, res) { + + if (req.body.name && req.body.email && req.body.message) { + + emailServer.send({ + from: 'Website ', + to: 'akirayasha@gmail.com', + "reply-to": req.body.email, + subject: 'Message from website', + text: 'Name: ' + req.body.name + "\n" + "E-Mail: " + req.body.email + "\n\n" + req.body.message + }, function(err, message) { + if (err) { + console.log("Failed to send message from website.", err); + } + }); + + res.json(null); + } +}); + restify.serve(app, PostModel, { - prereq: function(req) { - return req.method === 'GET'; - } + prereq: function(req) { + return req.method === 'GET'; + } }); http.createServer(app).listen(3000, function() { - console.log('Express server listening on port 3000'); + console.log('Express server listening on port 3000'); });