From e14fc48053e6268c534a78ea400ab884157fabb5 Mon Sep 17 00:00:00 2001
From: Chris Brame
Date: Tue, 5 Jul 2016 00:38:02 -0400
Subject: [PATCH 05/37] App API Fixes Mailer fixes for new settings [Child
Process cannot pull DB settings - Checker Docker Fix]
---
src/controllers/api.js | 3 +-
src/controllers/api/v1/tickets.js | 72 ++++++++++++++-----
src/controllers/api/v1/users.js | 11 ++-
src/controllers/debug.js | 1 -
src/emitter/events.js | 1 +
src/mailer/index.js | 2 +-
.../js/angularjs/controllers/settings.js | 5 +-
src/routes/index.js | 2 +-
8 files changed, 71 insertions(+), 26 deletions(-)
diff --git a/src/controllers/api.js b/src/controllers/api.js
index 3c37a41ba..e5c4cfd9b 100644
--- a/src/controllers/api.js
+++ b/src/controllers/api.js
@@ -231,8 +231,6 @@ apiController.login = function(req, res) {
* Preforms logout
* {@link User} object.
*
- * @todo Fix so it doesn't error out of the user doesn't have a device token stored.
- *
* @param {object} req Express Request
* @param {object} res Express Response
* @return {JSON} Success/Error object
@@ -248,6 +246,7 @@ apiController.logout = function(req, res) {
async.series([
function(callback) {
+ if (!deviceToken) return callback();
user.removeDeviceToken(deviceToken, 1, function(err) {
if (err) return callback(err);
diff --git a/src/controllers/api/v1/tickets.js b/src/controllers/api/v1/tickets.js
index 6be0a313e..645c594fb 100644
--- a/src/controllers/api/v1/tickets.js
+++ b/src/controllers/api/v1/tickets.js
@@ -326,30 +326,66 @@ api_tickets.update = function(req, res) {
if (err) return res.status(400).json({success: false, error: "Invalid Post Data"});
//Check the user has permission to update ticket.
- if (!_.isUndefined(reqTicket.status))
- ticket.status = reqTicket.status;
- if (!_.isUndefined(reqTicket.group))
- ticket.group = reqTicket.group;
+ async.parallel([
+ function(cb) {
+ if (!_.isUndefined(reqTicket.status)) {
+ ticket.setStatus(req.user, reqTicket.status, function (e, t) {
+ ticket = t;
+
+ cb();
+ });
+ } else {
+ cb();
+ }
+ },
+ function(cb) {
+ if (!_.isUndefined(reqTicket.group))
+ ticket.group = reqTicket.group;
- if (!_.isUndefined(reqTicket.closedDate))
- ticket.closedDate = reqTicket.closedDate;
-
- if (!_.isUndefined(reqTicket.tags) && !_.isNull(reqTicket.tags))
- ticket.tags = reqTicket.tags;
+ cb();
+ },
+ function(cb) {
+ if (!_.isUndefined(reqTicket.closedDate))
+ ticket.closedDate = reqTicket.closedDate;
- if (!_.isUndefined(reqTicket.assignee) && !_.isNull(reqTicket.assignee))
- ticket.assignee = reqTicket.assignee;
+ cb();
+ },
+ function(cb) {
+ if (!_.isUndefined(reqTicket.tags) && !_.isNull(reqTicket.tags))
+ ticket.tags = reqTicket.tags;
- ticket.save(function(err, t) {
- if (err) return res.send(err.message);
+ cb();
+ },
+ function(cb) {
+ if (!_.isUndefined(reqTicket.assignee) && !_.isNull(reqTicket.assignee)) {
+ ticket.assignee = reqTicket.assignee;
+ ticket.populate('assignee', function(err, t) {
+ var HistoryItem = {
+ action: 'ticket:set:assignee',
+ description: t.assignee.fullname + ' was set as assignee',
+ owner: req.user._id
+ };
+
+ ticket.history.push(HistoryItem);
+
+ cb();
+ });
+ } else {
+ cb();
+ }
+ }
+ ], function(err) {
+ ticket.save(function(err, t) {
+ if (err) return res.send(err.message);
- emitter.emit('ticket:updated', t);
+ emitter.emit('ticket:updated', t);
- return res.json({
- success: true,
- error: null,
- ticket: t
+ return res.json({
+ success: true,
+ error: null,
+ ticket: t
+ });
});
});
});
diff --git a/src/controllers/api/v1/users.js b/src/controllers/api/v1/users.js
index da0a6f809..c8a12acba 100644
--- a/src/controllers/api/v1/users.js
+++ b/src/controllers/api/v1/users.js
@@ -649,7 +649,16 @@ api_users.getAssingees = function(req, res) {
userSchema.getAssigneeUsers(function(err, users) {
if (err) return res.status(400).json({error: 'Invalid Request'});
- return res.json({success: true, users: users});
+ var strippedUsers = [];
+
+ async.each(users, function(user, cb) {
+ user = StripUserFields(user);
+ strippedUsers.push(user);
+
+ cb();
+ }, function() {
+ return res.json({success: true, users: strippedUsers});
+ });
});
};
diff --git a/src/controllers/debug.js b/src/controllers/debug.js
index 91f45aa5e..5c14f3798 100644
--- a/src/controllers/debug.js
+++ b/src/controllers/debug.js
@@ -42,7 +42,6 @@ debugController.sendmail = function(req, res, next) {
winston.error(err);
} else {
var mailOptions = {
- from: 'no-reply@trudesk.io',
to: 'chris.brame@granvillecounty.org',
subject: 'Trudesk Launch',
html: html,
diff --git a/src/emitter/events.js b/src/emitter/events.js
index e995dad74..66744f594 100644
--- a/src/emitter/events.js
+++ b/src/emitter/events.js
@@ -130,6 +130,7 @@ var notifications = require('../notifications'); // Load Push Events
emitter.on('ticket:updated', function(ticket) {
io.sockets.emit('updateTicketStatus', {tid: ticket._id, status: ticket.status});
+ io.sockets.emit('updateAssignee', ticket);
io.sockets.emit('ticket:updategrid');
});
diff --git a/src/mailer/index.js b/src/mailer/index.js
index 2576a7c69..c5b7da43a 100644
--- a/src/mailer/index.js
+++ b/src/mailer/index.js
@@ -48,7 +48,7 @@ mailer.sendMail = function(data, callback) {
if (!mailSettings.enabled) // Mail Disabled
return callback(null, 'Mail Disabled');
- data.from = mailSettings.from;
+ data.from = mailSettings.from.value;
if (!data.from) return callback('No From Address Set.');
mailSettings.transporter.sendMail(data, callback);
diff --git a/src/public/js/angularjs/controllers/settings.js b/src/public/js/angularjs/controllers/settings.js
index 97ba7e727..add8fb8cc 100644
--- a/src/public/js/angularjs/controllers/settings.js
+++ b/src/public/js/angularjs/controllers/settings.js
@@ -75,6 +75,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'his
$scope.submitTestMailer = function($event) {
$event.preventDefault();
+ helpers.UI.showSnackbar('Testing...', false);
$http.post('/api/v1/settings/testmailer', {
//Empty
}, {
@@ -82,7 +83,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'his
'Content-Type': 'application/json'
}
}).then(function successCallback() {
- helpers.UI.showSnackbar('Successfully Sent Mail', false);
+ helpers.UI.showSnackbar('Successfully Connected', false);
}, function errorCallback(response) {
console.log(response);
helpers.UI.showSnackbar('Error: ' + response.data.error, true);
@@ -141,7 +142,7 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/ui', 'his
{name: 'mailer:check:host', value: $scope.mailerCheckHost},
{name: 'mailer:check:port', value: $scope.mailerCheckPort},
{name: 'mailer:check:username', value: $scope.mailerCheckUsername},
- {name: 'mailer:check:password', value: $scope.mailerCheckPassword},
+ {name: 'mailer:check:password', value: $scope.mailerCheckPassword}
], {
headers: {
diff --git a/src/routes/index.js b/src/routes/index.js
index f7ecbff4c..7be6ea142 100644
--- a/src/routes/index.js
+++ b/src/routes/index.js
@@ -162,7 +162,7 @@ function mainRoutes(router, middleware, controllers) {
router.post('/api/v1/settings/testmailer', middleware.api, controllers.api.settings.testMailer);
if (global.env === 'development') {
- //router.get('/debug/sendmail', controllers.debug.sendmail);
+ router.get('/debug/sendmail', controllers.debug.sendmail);
//router.get('/api/v1/import', middleware.api, controllers.api.import);
router.get('/debug/cache/refresh', function (req, res) {
var _ = require('underscore');
From f929e6b8156dcfb91f003324e73462c7aba51aa6 Mon Sep 17 00:00:00 2001
From: Chris Brame
Date: Tue, 5 Jul 2016 00:52:00 -0400
Subject: [PATCH 06/37] Fixes Heroku child process failure
---
app.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app.js b/app.js
index 16104d2a8..8c6f62467 100644
--- a/app.js
+++ b/app.js
@@ -217,7 +217,7 @@ function dbCallback(err, db) {
},
function(next) {
var fork = require('child_process').fork;
- var n = fork(path.join(__dirname, '/src/cache/index.js'), { env: { FORK: 1, NODE_ENV: global.env } } );
+ var n = fork(path.join(__dirname, '/src/cache/index.js'), { env: { FORK: 1, NODE_ENV: global.env, MONGOHQ_URL: process.env.MONGOHQ_URL } } );
global.forks.push({name: 'cache', fork: n});
From 8f964a9af179a5827864f08ea9f1e803e941fe8d Mon Sep 17 00:00:00 2001
From: Chris Brame
Date: Tue, 5 Jul 2016 01:12:16 -0400
Subject: [PATCH 07/37] Updated NConf
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 472fcb882..767f876c0 100644
--- a/package.json
+++ b/package.json
@@ -49,7 +49,7 @@
"mongoose": "4.2.7",
"mongoose-deep-populate": "2.0.3",
"morgan": "^1.5.2",
- "nconf": "^0.8.2",
+ "nconf": "^0.8.4",
"node-cache": "^3.1.0",
"nodemailer": "^2.4.2",
"passport": "^0.3.0",
From a3e19bf3d876784326a79197049a4d5e0fd1d799 Mon Sep 17 00:00:00 2001
From: Chris Brame
Date: Fri, 8 Jul 2016 13:55:50 -0400
Subject: [PATCH 08/37] Fixed issue with CORS loading Added upload API for
mobile app
---
app.js | 2 +-
src/controllers/accounts.js | 2 +-
src/controllers/api/v1/users.js | 75 +++++++++++++++++++++++++++++++++
src/middleware/index.js | 16 ++++++-
src/routes/index.js | 16 +------
5 files changed, 93 insertions(+), 18 deletions(-)
diff --git a/app.js b/app.js
index 8c6f62467..16104d2a8 100644
--- a/app.js
+++ b/app.js
@@ -217,7 +217,7 @@ function dbCallback(err, db) {
},
function(next) {
var fork = require('child_process').fork;
- var n = fork(path.join(__dirname, '/src/cache/index.js'), { env: { FORK: 1, NODE_ENV: global.env, MONGOHQ_URL: process.env.MONGOHQ_URL } } );
+ var n = fork(path.join(__dirname, '/src/cache/index.js'), { env: { FORK: 1, NODE_ENV: global.env } } );
global.forks.push({name: 'cache', fork: n});
diff --git a/src/controllers/accounts.js b/src/controllers/accounts.js
index 7d339a278..55d6e155c 100644
--- a/src/controllers/accounts.js
+++ b/src/controllers/accounts.js
@@ -395,7 +395,7 @@ accountsController.uploadImage = function(req, res, next) {
headers: req.headers,
limits: {
files: 1,
- fileSize: 1024*1024 // 1mb limit
+ fileSize: (1024*1024) * 3 // 1mb limit
}
});
diff --git a/src/controllers/api/v1/users.js b/src/controllers/api/v1/users.js
index c8a12acba..778c44383 100644
--- a/src/controllers/api/v1/users.js
+++ b/src/controllers/api/v1/users.js
@@ -662,6 +662,81 @@ api_users.getAssingees = function(req, res) {
});
};
+api_users.uploadProfilePic = function(req, res) {
+ var fs = require('fs');
+ var path = require('path');
+ var Busboy = require('busboy');
+ var busboy = new Busboy({
+ headers: req.headers,
+ limits: {
+ files: 1,
+ fileSize: (1024*1024)*3
+ }
+ });
+
+ var object = {}, error;
+
+ if (_.isUndefined(req.params.username)) return res.status(400).json({error: 'Invalid Username'});
+ object.username = req.params.username;
+
+ busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
+ if (mimetype.indexOf('image/') == -1) {
+ error = {
+ status: 400,
+ message: 'Invalid file type'
+ };
+
+ return file.resume();
+ }
+
+ var savePath = path.join(__dirname, '../../../../public/uploads/users');
+ if (!fs.existsSync(savePath)) fs.mkdirSync(savePath);
+
+ console.log(filename);
+ object.filePath = path.join(savePath, 'aProfile_' + object.username + '.jpg');
+ object.filename = 'aProfile_' + object.username + '.jpg';
+ object.mimetype = mimetype;
+
+ file.on('limit', function() {
+ error = {
+ status: 400,
+ message: 'File too large'
+ };
+
+ return file.resume();
+ });
+
+ file.pipe(fs.createWriteStream(object.filePath));
+ });
+
+ busboy.on('finish', function() {
+ if (error) return res.status(error.status).send(error.message);
+
+ if (_.isUndefined(object.username) ||
+ _.isUndefined(object.filePath) ||
+ _.isUndefined(object.filename)) {
+
+ return res.status(400).send('Invalid Form Data');
+ }
+
+ if (!fs.existsSync(object.filePath)) return res.status(400).send('File failed to save to disk');
+
+ userSchema.getUserByUsername(object.username, function(err, user) {
+ if (err) return res.status(400).send(err.message);
+
+ user.image = object.filename;
+
+ user.save(function(err) {
+ if (err) return res.status(500).send(err.message);
+
+ return res.json({success: true, user: StripUserFields(user)});
+ });
+ });
+ });
+
+ req.pipe(busboy);
+};
+
function StripUserFields(user) {
user.password = undefined;
user.accessToken = undefined;
diff --git a/src/middleware/index.js b/src/middleware/index.js
index f2fd4ea00..e08880a5d 100644
--- a/src/middleware/index.js
+++ b/src/middleware/index.js
@@ -91,6 +91,8 @@ module.exports = function(app, db, callback) {
next();
});
+ //CORS
+ app.use(allowCrossDomain);
app.use('/uploads/tickets', express.static(path.join(__dirname, '../../', 'public', 'uploads', 'tickets')));
app.use(express.static(path.join(__dirname, '../../', 'public')));
@@ -105,4 +107,16 @@ module.exports = function(app, db, callback) {
callback(middleware, s);
});
-};
\ No newline at end of file
+};
+
+function allowCrossDomain(req, res, next) {
+ res.setHeader('Access-Control-Allow-Origin', '*');
+ res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, PATCH, OPTIONS');
+ res.setHeader('Access-Control-Allow-Headers', 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,accesstoken');
+
+ if (req.method === 'OPTIONS') {
+ res.sendStatus(200);
+ } else {
+ next();
+ }
+}
\ No newline at end of file
diff --git a/src/routes/index.js b/src/routes/index.js
index 7be6ea142..a42c8e298 100644
--- a/src/routes/index.js
+++ b/src/routes/index.js
@@ -142,6 +142,7 @@ function mainRoutes(router, middleware, controllers) {
router.get('/api/v1/users/getassignees', middleware.api, controllers.api.users.getAssingees);
router.get('/api/v1/users/:username', middleware.api, controllers.api.users.single);
router.put('/api/v1/users/:username', middleware.api, controllers.api.users.update);
+ router.post('/api/v1/users/:username/uploadprofilepic', controllers.api.users.uploadProfilePic);
router.put('/api/v1/users/:username/updatepreferences', middleware.api, controllers.api.users.updatePreferences);
router.get('/api/v1/users/:username/enable', middleware.api, controllers.api.users.enableUser);
router.delete('/api/v1/users/:username', middleware.api, controllers.api.users.deleteUser);
@@ -196,8 +197,6 @@ function mainRoutes(router, middleware, controllers) {
}
module.exports = function(app, middleware) {
- //CORS
- app.use(allowCrossDomain);
//Docs
app.use('/docs', express.static(path.join(__dirname, '../../', 'docs')));
app.use('/apidocs', express.static(path.join(__dirname, '../../', 'apidocs')));
@@ -252,16 +251,3 @@ function handle404(req, res, next) {
next(err);
}
-
-function allowCrossDomain(req, res, next) {
- res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, PATCH, OPTIONS');
- res.setHeader('Access-Control-Allow-Headers', 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,accesstoken');
-
- res.setHeader('Access-Control-Allow-Origin', '*');
-
- if (req.method === 'OPTIONS') {
- res.sendStatus(200);
- } else {
- next();
- }
-}
From d75298b11a0fef8d0e15771b15368d8baa70b0d9 Mon Sep 17 00:00:00 2001
From: Chris Brame
Date: Sat, 9 Jul 2016 08:35:06 -0400
Subject: [PATCH 09/37] Fixed issue where mailer would still send mail even if
mail was disabled
---
src/mailer/index.js | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/mailer/index.js b/src/mailer/index.js
index c5b7da43a..5477d06aa 100644
--- a/src/mailer/index.js
+++ b/src/mailer/index.js
@@ -82,6 +82,8 @@ function createTransporter(callback) {
mailSettings.password = _.find(s, function(x) { return x.name === 'mailer:password'; });
mailSettings.from = _.find(s, function(x) { return x.name === 'mailer:from'; });
+ mailSettings.enabled = mailSettings.enabled.value ? mailSettings.enabled.value : false;
+
mailSettings.transporter = nodeMailer.createTransport({
host: mailSettings.host.value ? mailSettings.host.value : '127.0.0.1',
port: mailSettings.port.value ? mailSettings.port.value : 25,
From ae318c88c89a41243352d53486bdf1dca343f253 Mon Sep 17 00:00:00 2001
From: Chris Brame
Date: Tue, 12 Jul 2016 12:43:24 -0400
Subject: [PATCH 10/37] Start of Installer
---
public/uploads/users/aProfile_chris.brame.jpg | Bin 47321 -> 0 bytes
src/cache/index.js | 1 -
src/controllers/index.js | 1 +
src/controllers/install.js | 53 ++
src/database/index.js | 5 +-
src/install/mongotest.js | 30 ++
src/middleware/middleware.js | 20 +
src/public/js/plugins/snackbar.js | 35 +-
src/routes/index.js | 4 +-
src/views/install.hbs | 452 ++++++++++++++++++
10 files changed, 581 insertions(+), 20 deletions(-)
delete mode 100644 public/uploads/users/aProfile_chris.brame.jpg
create mode 100644 src/controllers/install.js
create mode 100644 src/install/mongotest.js
create mode 100644 src/views/install.hbs
diff --git a/public/uploads/users/aProfile_chris.brame.jpg b/public/uploads/users/aProfile_chris.brame.jpg
deleted file mode 100644
index 78de6dd61bee602acc86727cadbd826e4cfe60da..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 47321
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 `$%=3TQ$gLsU%
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