From 81fd6ea6c012f188beafd17fe263a10dd007cba3 Mon Sep 17 00:00:00 2001 From: Chris Brame Date: Mon, 31 May 2021 21:46:31 -0400 Subject: [PATCH] fix(accounts): check if agent is assignee before deleting agent. #408 --- src/controllers/api/v1/users.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/controllers/api/v1/users.js b/src/controllers/api/v1/users.js index b3c3e993b..4d48b643e 100644 --- a/src/controllers/api/v1/users.js +++ b/src/controllers/api/v1/users.js @@ -620,7 +620,16 @@ apiUsers.deleteUser = function (req, res) { }) }, function (hasTickets, hasConversations, user, cb) { - if (hasTickets || hasConversations) { + var ticketSchema = require('../../../models/ticket') + ticketSchema.find({ assignee: user._id }, function (err, tickets) { + if (err) return cb(err) + + var isAssignee = _.size(tickets) > 0 + return cb(null, hasTickets, hasConversations, isAssignee, user) + }) + }, + function (hasTickets, hasConversations, isAssignee, user, cb) { + if (hasTickets || hasConversations || isAssignee) { // Disable if the user has tickets or conversations user.softDelete(function (err) { if (err) return cb(err)