From ce155e817dce7dd8e216c30f9c93f143cb6c2bc7 Mon Sep 17 00:00:00 2001 From: canove Date: Sat, 17 Oct 2020 11:58:54 -0300 Subject: [PATCH] improvement: blocking reopen a ticket when already a ticket open for that contact --- backend/src/services/TicketServices/UpdateTicketService.ts | 5 +++++ frontend/src/components/TicketActionButtons/index.js | 1 + frontend/src/translate/languages/en.js | 2 +- frontend/src/translate/languages/es.js | 3 +-- frontend/src/translate/languages/pt.js | 3 +-- 5 files changed, 9 insertions(+), 5 deletions(-) diff --git a/backend/src/services/TicketServices/UpdateTicketService.ts b/backend/src/services/TicketServices/UpdateTicketService.ts index 90b4744..df42ac5 100644 --- a/backend/src/services/TicketServices/UpdateTicketService.ts +++ b/backend/src/services/TicketServices/UpdateTicketService.ts @@ -1,4 +1,5 @@ import AppError from "../../errors/AppError"; +import CheckContactOpenTickets from "../../helpers/CheckContactOpenTickets"; import SetTicketMessagesAsRead from "../../helpers/SetTicketMessagesAsRead"; import Contact from "../../models/Contact"; import Ticket from "../../models/Ticket"; @@ -45,6 +46,10 @@ const UpdateTicketService = async ({ const oldStatus = ticket.status; + if (oldStatus === "closed") { + await CheckContactOpenTickets(ticket.contact.id); + } + await ticket.update({ status, userId diff --git a/frontend/src/components/TicketActionButtons/index.js b/frontend/src/components/TicketActionButtons/index.js index 4323c44..1b05765 100644 --- a/frontend/src/components/TicketActionButtons/index.js +++ b/frontend/src/components/TicketActionButtons/index.js @@ -54,6 +54,7 @@ const TicketActionButtons = ({ ticket }) => { history.push("/tickets"); } } catch (err) { + setLoading(false); const errorMsg = err.response?.data?.error; if (errorMsg) { if (i18n.exists(`backendErrors.${errorMsg}`)) { diff --git a/frontend/src/translate/languages/en.js b/frontend/src/translate/languages/en.js index 9c2dad1..f0172dd 100644 --- a/frontend/src/translate/languages/en.js +++ b/frontend/src/translate/languages/en.js @@ -301,7 +301,7 @@ const messages = { ERR_DELETE_WAPP_MSG: "Couldn't delete message from WhatsApp. Check connections page.", ERR_OTHER_OPEN_TICKET: - "There's already an open or pending ticket for this contact.", + "There's already an open ticket for this contact.", ERR_SESSION_EXPIRED: "Session expired. Please login.", ERR_USER_CREATION_DISABLED: "User creation was disabled by administrator.", diff --git a/frontend/src/translate/languages/es.js b/frontend/src/translate/languages/es.js index 0ad9583..887bb82 100644 --- a/frontend/src/translate/languages/es.js +++ b/frontend/src/translate/languages/es.js @@ -306,8 +306,7 @@ const messages = { "Error al enviar el mensaje de WhatsApp. Verifique la página de conexiones.", ERR_DELETE_WAPP_MSG: "No se pudo borrar el mensaje de WhatsApp. Verifique la página de conexiones.", - ERR_OTHER_OPEN_TICKET: - "Ya hay un ticket abierto o pendiente para este contacto.", + ERR_OTHER_OPEN_TICKET: "Ya hay un ticket abierto para este contacto.", ERR_SESSION_EXPIRED: "Sesión caducada. Inicie sesión.", ERR_USER_CREATION_DISABLED: "La creación de usuarios fue deshabilitada por el administrador.", diff --git a/frontend/src/translate/languages/pt.js b/frontend/src/translate/languages/pt.js index cf16e42..bd1eac8 100644 --- a/frontend/src/translate/languages/pt.js +++ b/frontend/src/translate/languages/pt.js @@ -304,8 +304,7 @@ const messages = { "Erro ao enviar mensagem do WhatsApp. Verifique a página de conexões.", ERR_DELETE_WAPP_MSG: "Não foi possível excluir a mensagem do WhatsApp. Verifique a página de conexões.", - ERR_OTHER_OPEN_TICKET: - "Já existe um tíquete aberto ou pendente para este contato.", + ERR_OTHER_OPEN_TICKET: "Já existe um tíquete aberto para este contato.", ERR_SESSION_EXPIRED: "Sessão expirada. Por favor entre.", ERR_USER_CREATION_DISABLED: "A criação do usuário foi desabilitada pelo administrador.",