diff --git a/src/controllers/api/v1/tickets.js b/src/controllers/api/v1/tickets.js index 390e4cd99..6228bab75 100644 --- a/src/controllers/api/v1/tickets.js +++ b/src/controllers/api/v1/tickets.js @@ -677,7 +677,7 @@ api_tickets.postComment = function(req, res) { marked.setOptions({ breaks: true }); - // comment = comment.replace(/(\r\n|\n\r|\r|\n)/g, "
"); + var Comment = { owner: owner, date: new Date(), @@ -705,7 +705,7 @@ api_tickets.postComment = function(req, res) { emitter.emit('ticket:comment:added', tt, Comment, req.headers.host); return res.json({success: true, error: null, ticket: tt}); - }); + }) }); }); }; diff --git a/src/controllers/tickets.js b/src/controllers/tickets.js index 3667d958f..b57babd6e 100644 --- a/src/controllers/tickets.js +++ b/src/controllers/tickets.js @@ -510,56 +510,56 @@ function getPriorityName(val) { } //Move to API -ticketsController.postcomment = function(req, res, next) { - var Ticket = ticketSchema; - var id = req.body.ticketId; - var comment = req.body.commentReply; - var User = req.user; - - //TODO: Error check fields - - Ticket.getTicketById(id, function(err, t) { - if (err) return handleError(res, err); - var marked = require('marked'); - comment = comment.replace(/(\r\n|\n\r|\r|\n)/g, "
"); - var Comment = { - owner: User._id, - date: new Date(), - comment: marked(comment) - }; - t.updated = Date.now(); - t.comments.push(Comment); - var HistoryItem = { - action: 'ticket:comment:added', - description: 'Comment was added', - owner: User._id - }; - t.history.push(HistoryItem); - - async.series({ - subscribers: function(callback) { - t.addSubscriber(User._id, function (err, _t) { - if (err) return callback(err); - emitter.emit('ticket:subscriber:update', {user: User._id, subscribe: true}); - callback(); - }); - }, - save: function (callback) { - t.save(function (err, tt) { - callback(err, tt); - }); - } - }, function(err, T) { - if (err) return handleError(res, err); - - ticketSchema.populate(T.save, 'subscribers comments.owner', function() { - emitter.emit('ticket:comment:added', T.save, Comment, req.headers.host); - - return res.send(T); - }); - }); - }); -}; +// ticketsController.postcomment = function(req, res, next) { +// var Ticket = ticketSchema; +// var id = req.body.ticketId; +// var comment = req.body.commentReply; +// var User = req.user; +// +// //TODO: Error check fields +// +// Ticket.getTicketById(id, function(err, t) { +// if (err) return handleError(res, err); +// var marked = require('marked'); +// comment = comment.replace(/(\r\n|\n\r|\r|\n)/g, "
"); +// var Comment = { +// owner: User._id, +// date: new Date(), +// comment: marked(comment) +// }; +// t.updated = Date.now(); +// t.comments.push(Comment); +// var HistoryItem = { +// action: 'ticket:comment:added', +// description: 'Comment was added123', +// owner: User._id +// }; +// t.history.push(HistoryItem); +// +// async.series({ +// subscribers: function(callback) { +// t.addSubscriber(User._id, function (err, _t) { +// if (err) return callback(err); +// emitter.emit('ticket:subscriber:update', {user: User._id, subscribe: true}); +// callback(); +// }); +// }, +// save: function (callback) { +// t.save(function (err, tt) { +// callback(err, tt); +// }); +// } +// }, function(err, T) { +// if (err) return handleError(res, err); +// +// ticketSchema.populate(T.save, 'subscribers comments.owner', function() { +// emitter.emit('ticket:comment:added', T.save, Comment, req.headers.host); +// +// return res.send(T); +// }); +// }); +// }); +// }; ticketsController.uploadAttachment = function(req, res) { var fs = require('fs'); diff --git a/src/public/js/angularjs/controllers/tickets.js b/src/public/js/angularjs/controllers/tickets.js index df8ffe48c..51220bd0c 100644 --- a/src/public/js/angularjs/controllers/tickets.js +++ b/src/public/js/angularjs/controllers/tickets.js @@ -54,8 +54,8 @@ define(['angular', 'underscore', 'jquery', 'modules/helpers', 'modules/socket', //History.pushState(null, null, '/tickets/'); }).error(function(err) { - $log.error('[trudesk:tickets:submitTicketForm] - ' + err.error.message); - helpers.UI.showSnackbar({text: 'Error: ' + err.error.message, actionTextColor: '#B92929'}); + $log.error('[trudesk:tickets:submitTicketForm] - ' + err.error.message); + helpers.UI.showSnackbar({text: 'Error: ' + err.error.message, actionTextColor: '#B92929'}); }); } }; diff --git a/src/routes/index.js b/src/routes/index.js index 8a6ea1112..0f057f8c4 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -67,7 +67,7 @@ function mainRoutes(router, middleware, controllers) { router.get('/tickets/unassigned/page/:page', middleware.redirectToLogin, middleware.loadCommonData, controllers.tickets.getUnassigned, controllers.tickets.processor); router.get('/tickets/print/:id', middleware.redirectToLogin, middleware.loadCommonData, controllers.tickets.print); router.get('/tickets/:id', middleware.redirectToLogin, middleware.loadCommonData, controllers.tickets.single); - router.post('/tickets/postcomment', middleware.redirectToLogin, controllers.tickets.postcomment); + // router.post('/tickets/postcomment', middleware.redirectToLogin, controllers.tickets.postcomment); router.post('/tickets/uploadattachment', middleware.redirectToLogin, controllers.tickets.uploadAttachment); //Messages @@ -75,12 +75,6 @@ function mainRoutes(router, middleware, controllers) { router.get('/messages/startconversation', middleware.redirectToLogin, middleware.loadCommonData, function(req, res, next){ req.showNewConvo = true; next();}, controllers.messages.get); router.get('/messages/:convoid', middleware.redirectToLogin, middleware.loadCommonData, controllers.messages.getConversation); - //Calendar - // router.get('/calendar', middleware.redirectToLogin, middleware.loadCommonData, function(req, res){ res.redirect('/dashboard');}); - - //Servers - // router.get('/servers', middleware.redirectToLogin, middleware.loadCommonData, controllers.servers.get); - //Accounts router.get('/profile', middleware.redirectToLogin, middleware.loadCommonData, controllers.accounts.profile); router.get('/accounts', middleware.redirectToLogin, middleware.loadCommonData, controllers.accounts.get); @@ -266,7 +260,6 @@ function mainRoutes(router, middleware, controllers) { res.send('OK'); }); - router.get('/debug/devices/testiOS', middleware.api, controllers.api.devices.testApn); router.get('/debug/restart', function (req, res) { var pm2 = require('pm2'); pm2.connect(function(err) { @@ -290,10 +283,6 @@ function mainRoutes(router, middleware, controllers) { } module.exports = function(app, middleware) { - //Docs - app.use('/docs', express.static(path.join(__dirname, '../../', 'docs'))); - app.use('/apidocs', express.static(path.join(__dirname, '../../', 'apidocs'))); - mainRoutes(router, middleware, controllers); app.use('/', router); diff --git a/src/socketserver.js b/src/socketserver.js index 2cf8a7e3c..0fb9cac4a 100644 --- a/src/socketserver.js +++ b/src/socketserver.js @@ -450,10 +450,7 @@ var socketServer = function(ws) { ticket.save(function(err, tt) { if (err) return winston.error(err); - ticketSchema.populate(tt, 'comments.owner', function(err) { - if (err) return winston.error(err); - utils.sendToAllConnectedClients(io, 'updateComments', tt); - }); + utils.sendToAllConnectedClients(io, 'updateComments', tt); }); }); }); @@ -476,10 +473,7 @@ var socketServer = function(ws) { t.save(function(err, tt) { if (err) return true; - ticketSchema.populate(tt, 'comments.owner', function(err) { - if (err) return true; - utils.sendToAllConnectedClients(io, 'updateComments', tt); - }); + utils.sendToAllConnectedClients(io, 'updateComments', tt); }); }); }); @@ -503,10 +497,7 @@ var socketServer = function(ws) { ticket.save(function(err, tt) { if (err) return winston.error(err); - ticketSchema.populate(tt, 'notes.owner', function(err) { - if (err) return winston.error(err); - utils.sendToAllConnectedClients(io, 'updateComments', tt); - }); + utils.sendToAllConnectedClients(io, 'updateComments', tt); }); }); }); @@ -528,11 +519,7 @@ var socketServer = function(ws) { t.save(function(err, tt) { if (err) return true; - ticketSchema.populate(tt, 'notes.owner', function(err) { - if (err) return true; - - utils.sendToAllConnectedClients(io, 'updateComments', tt); - }); + utils.sendToAllConnectedClients(io, 'updateComments', tt); }); }); }); @@ -1248,8 +1235,8 @@ var socketServer = function(ws) { }; function sortByKeys(obj) { - const keys = Object.keys(obj); - const sortedKeys = _.sortBy(keys); + var keys = Object.keys(obj); + var sortedKeys = _.sortBy(keys); return _.fromPairs( _.map(sortedKeys, function(key) { return [key, obj[key]]}) ); diff --git a/yarn.lock b/yarn.lock index 9c5274252..eb96fec9f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -91,13 +91,19 @@ acorn-globals@^3.0.0: dependencies: acorn "^4.0.4" +acorn-jsx@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" + dependencies: + acorn "^3.0.4" + acorn-jsx@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-4.1.1.tgz#e8e41e48ea2fe0c896740610ab6a4ffd8add225e" dependencies: acorn "^5.0.3" -acorn@^3.1.0, acorn@~3.3.0: +acorn@^3.0.4, acorn@^3.1.0, acorn@~3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" @@ -113,6 +119,10 @@ acorn@^5.0.3, acorn@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.1.tgz#f095829297706a7c9776958c0afc8930a9b9d9d8" +acorn@^5.5.0: + version "5.7.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.2.tgz#91fa871883485d06708800318404e72bfb26dcc5" + after@0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f" @@ -446,7 +456,7 @@ axios@^0.16.2: follow-redirects "^1.2.3" is-buffer "^1.1.5" -babel-code-frame@^6.26.0: +babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" dependencies: @@ -1224,6 +1234,15 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" +concat-stream@^1.6.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + config-chain@~1.1.5: version "1.1.11" resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2" @@ -1768,7 +1787,7 @@ dive@0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/dive/-/dive-0.5.0.tgz#06d0e07edd25da849598bacab44d51f2809bec47" -doctrine@^2.1.0: +doctrine@^2.0.2, doctrine@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" dependencies: @@ -2141,6 +2160,13 @@ eslint-plugin-node@7.0.1: resolve "^1.8.1" semver "^5.5.0" +eslint-scope@^3.7.1: + version "3.7.3" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.3.tgz#bb507200d3d17f60247636160b4826284b108535" + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + eslint-scope@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172" @@ -2156,6 +2182,48 @@ eslint-visitor-keys@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" +eslint@4.14.0: + version "4.14.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.14.0.tgz#96609768d1dd23304faba2d94b7fefe5a5447a82" + dependencies: + ajv "^5.3.0" + babel-code-frame "^6.22.0" + chalk "^2.1.0" + concat-stream "^1.6.0" + cross-spawn "^5.1.0" + debug "^3.1.0" + doctrine "^2.0.2" + eslint-scope "^3.7.1" + eslint-visitor-keys "^1.0.0" + espree "^3.5.2" + esquery "^1.0.0" + esutils "^2.0.2" + file-entry-cache "^2.0.0" + functional-red-black-tree "^1.0.1" + glob "^7.1.2" + globals "^11.0.1" + ignore "^3.3.3" + imurmurhash "^0.1.4" + inquirer "^3.0.6" + is-resolvable "^1.0.0" + js-yaml "^3.9.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.3.0" + lodash "^4.17.4" + minimatch "^3.0.2" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + optionator "^0.8.2" + path-is-inside "^1.0.2" + pluralize "^7.0.0" + progress "^2.0.0" + require-uncached "^1.0.3" + semver "^5.3.0" + strip-ansi "^4.0.0" + strip-json-comments "~2.0.1" + table "^4.0.1" + text-table "~0.2.0" + eslint@5.4.0: version "5.4.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.4.0.tgz#d068ec03006bb9e06b429dc85f7e46c1b69fac62" @@ -2199,6 +2267,13 @@ eslint@5.4.0: table "^4.0.3" text-table "^0.2.0" +espree@^3.5.2: + version "3.5.4" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7" + dependencies: + acorn "^5.5.0" + acorn-jsx "^3.0.0" + espree@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/espree/-/espree-4.0.0.tgz#253998f20a0f82db5d866385799d912a83a36634" @@ -2218,7 +2293,7 @@ esprima@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" -esquery@^1.0.1: +esquery@^1.0.0, esquery@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" dependencies: @@ -2909,7 +2984,7 @@ global-prefix@^1.0.1: is-windows "^1.0.1" which "^1.2.14" -globals@^11.7.0: +globals@^11.0.1, globals@^11.7.0: version "11.7.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.7.0.tgz#a583faa43055b1aca771914bf68258e2fc125673" @@ -3400,6 +3475,10 @@ ignore-walk@^3.0.1: dependencies: minimatch "^3.0.4" +ignore@^3.3.3: + version "3.3.10" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + ignore@^4.0.2: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" @@ -3478,7 +3557,7 @@ ini@^1.3.0, ini@^1.3.4, ini@~1.3.0: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" -inquirer@^3.0.0: +inquirer@^3.0.0, inquirer@^3.0.6: version "3.3.0" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" dependencies: @@ -3745,7 +3824,7 @@ is-regex@^1.0.3: dependencies: has "^1.0.1" -is-resolvable@^1.1.0: +is-resolvable@^1.0.0, is-resolvable@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" @@ -3882,7 +3961,7 @@ js-yaml@3.x, js-yaml@^3.5.3: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^3.11.0: +js-yaml@^3.11.0, js-yaml@^3.9.1: version "3.12.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" dependencies: @@ -4734,9 +4813,9 @@ mongoose-legacy-pluralize@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz#3ba9f91fa507b5186d399fb40854bff18fb563e4" -mongoose@5.2.8: - version "5.2.8" - resolved "https://registry.yarnpkg.com/mongoose/-/mongoose-5.2.8.tgz#dd74ce0c4df803cb816c37ee1228d6663e2c2254" +mongoose@5.2.6: + version "5.2.6" + resolved "https://registry.yarnpkg.com/mongoose/-/mongoose-5.2.6.tgz#de75870b97330aeca9b6f2e3b67a7a6b13973b0f" dependencies: async "2.6.1" bson "~1.0.5" @@ -4746,22 +4825,22 @@ mongoose@5.2.8: mongodb-core "3.1.0" mongoose-legacy-pluralize "1.0.2" mpath "0.4.1" - mquery "3.1.2" + mquery "3.1.1" ms "2.0.0" regexp-clone "0.0.1" - safe-buffer "5.1.2" sliced "1.0.1" mpath@0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/mpath/-/mpath-0.4.1.tgz#ed10388430380bf7bbb5be1391e5d6969cb08e89" + resolved "http://registry.npmjs.org/mpath/-/mpath-0.4.1.tgz#ed10388430380bf7bbb5be1391e5d6969cb08e89" -mquery@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/mquery/-/mquery-3.1.2.tgz#46c2ea6d7a08c9b9e0716022fb2990708ddba9ff" +mquery@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/mquery/-/mquery-3.1.1.tgz#1c00eb206f2cabc6649789257eae08128e8dc3c3" dependencies: bluebird "3.5.1" debug "3.1.0" + eslint "4.14.0" regexp-clone "0.0.1" sliced "1.0.1" @@ -6196,7 +6275,7 @@ readable-stream@1.1.x: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@2, readable-stream@^2.3.5: +readable-stream@2, readable-stream@^2.2.2, readable-stream@^2.3.5: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" dependencies: @@ -6575,7 +6654,7 @@ safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, s version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" -safe-buffer@5.1.2, safe-buffer@^5.1.2: +safe-buffer@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -7494,7 +7573,7 @@ symbol-observable@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" -table@^4.0.3: +table@^4.0.1, table@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/table/-/table-4.0.3.tgz#00b5e2b602f1794b9acaf9ca908a76386a7813bc" dependencies: @@ -7559,7 +7638,7 @@ tempfile@^2.0.0: temp-dir "^1.0.0" uuid "^3.0.1" -text-table@^0.2.0: +text-table@^0.2.0, text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -7742,6 +7821,10 @@ typechecker@~2.0.1: version "2.0.8" resolved "https://registry.yarnpkg.com/typechecker/-/typechecker-2.0.8.tgz#e83da84bb64c584ccb345838576c40b0337db82e" +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + uc.micro@^1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.5.tgz#0c65f15f815aa08b560a61ce8b4db7ffc3f45376"