From 45928cbdbb3cad0ef9269274e3034661c58e94f4 Mon Sep 17 00:00:00 2001
From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com>
Date: Sat, 16 May 2026 16:11:36 -0500
Subject: [PATCH] Update notif_dispatch.go
---
pkg/services/notif_dispatch.go | 62 ++++++++++++++++++++++++++++++----
1 file changed, 56 insertions(+), 6 deletions(-)
diff --git a/pkg/services/notif_dispatch.go b/pkg/services/notif_dispatch.go
index 29c75b0..a5c897e 100644
--- a/pkg/services/notif_dispatch.go
+++ b/pkg/services/notif_dispatch.go
@@ -13,9 +13,34 @@ func DispatchTicketNuevo(ticket *models.ProyectoTicket, portalUser *models.Porta
if ticket == nil || portalUser == nil {
return
}
- msg := fmt.Sprintf("🎫 Nuevo ticket\nProyecto: %s\nCliente: %s\nTÃtulo: %s\n\n%s",
- proyectoNombre, ticket.AutorNombre, ticket.Titulo, ticket.Descripcion)
- sendTelegramAdmin(msg)
+ cfg := models.GetNotifConfig("ticket_nuevo", "admin")
+ if cfg == nil {
+ return
+ }
+ ticketURL := "/app/tickets"
+ titulo := fmt.Sprintf("Nuevo ticket: %s", ticket.Titulo)
+ cuerpo := fmt.Sprintf("Cliente: %s\nProyecto: %s\n%s", ticket.AutorNombre, proyectoNombre, ticket.Descripcion)
+
+ if cfg.CanalSistema {
+ _ = models.CreateSistemaNotif(&models.SistemaNotificacion{
+ TipoUsuario: "admin",
+ UsuarioID: 0,
+ Titulo: titulo,
+ Cuerpo: cuerpo,
+ Url: ticketURL,
+ Icono: "🎫",
+ })
+ }
+ if cfg.CanalEmail {
+ if adminEmail := getAdminEmail(); adminEmail != "" {
+ go SendTicketNuevoAdmin(adminEmail, proyectoNombre, ticket.AutorNombre, ticket.Titulo, ticket.Descripcion, ticketURL)
+ }
+ }
+ if cfg.CanalTelegram {
+ msg := fmt.Sprintf("🎫 Nuevo ticket\nProyecto: %s\nCliente: %s\nTÃtulo: %s\n\n%s",
+ proyectoNombre, ticket.AutorNombre, ticket.Titulo, ticket.Descripcion)
+ sendTelegramAdmin(msg)
+ }
}
// ─── DispatchTicketRespuestaCliente ──────────────────────────────────────────
@@ -24,9 +49,34 @@ func DispatchTicketRespuestaCliente(ticket *models.ProyectoTicket, contenido str
if ticket == nil {
return
}
- msg := fmt.Sprintf("💬 Respuesta de cliente\nProyecto: %s\nCliente: %s\n\n%s",
- proyectoNombre, ticket.AutorNombre, contenido)
- sendTelegramAdmin(msg)
+ cfg := models.GetNotifConfig("ticket_respuesta_cliente", "admin")
+ if cfg == nil {
+ return
+ }
+ ticketURL := "/app/tickets"
+ titulo := fmt.Sprintf("Respuesta de cliente en: %s", ticket.Titulo)
+ cuerpo := fmt.Sprintf("Cliente: %s\nProyecto: %s\n%s", ticket.AutorNombre, proyectoNombre, contenido)
+
+ if cfg.CanalSistema {
+ _ = models.CreateSistemaNotif(&models.SistemaNotificacion{
+ TipoUsuario: "admin",
+ UsuarioID: 0,
+ Titulo: titulo,
+ Cuerpo: cuerpo,
+ Url: ticketURL,
+ Icono: "💬",
+ })
+ }
+ if cfg.CanalEmail {
+ if adminEmail := getAdminEmail(); adminEmail != "" {
+ go SendTicketRespuestaAdmin(adminEmail, proyectoNombre, ticket.AutorNombre, ticket.Titulo, contenido, ticketURL)
+ }
+ }
+ if cfg.CanalTelegram {
+ msg := fmt.Sprintf("💬 Respuesta de cliente\nProyecto: %s\nCliente: %s\n\n%s",
+ proyectoNombre, ticket.AutorNombre, contenido)
+ sendTelegramAdmin(msg)
+ }
}
// ─── DispatchTicketRespuestaAdmin ─────────────────────────────────────────────