feat: área de soporte con webhook de correo y asignación de tickets
This commit is contained in:
@@ -95,9 +95,25 @@ func DispatchTicketRespuestaAdmin(ticket *models.ProyectoTicket, contenido strin
|
||||
if ticket == nil {
|
||||
return
|
||||
}
|
||||
portalUser, err := models.GetPortalUserByID(ticket.PortalUserID)
|
||||
proyectoSlug := ""
|
||||
if ticket.ProyectoID != nil {
|
||||
if proy, err := models.GetProyectoByID(*ticket.ProyectoID); err == nil {
|
||||
proyectoSlug = proy.Slug
|
||||
proyectoNombre = proy.Nombre
|
||||
}
|
||||
}
|
||||
|
||||
// Si no está asociado a un portal user (ej: ticket por email), responder por email directo
|
||||
if ticket.PortalUserID == nil {
|
||||
if ticket.EmailFrom != "" {
|
||||
go SendTicketRespuestaPortalUser(ticket.EmailFrom, ticket.AutorNombre, proyectoNombre, ticket.Titulo, contenido, "")
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
portalUser, err := models.GetPortalUserByID(*ticket.PortalUserID)
|
||||
if err != nil || portalUser == nil {
|
||||
log.Printf("[Notif] PortalUser %d no encontrado: %v", ticket.PortalUserID, err)
|
||||
log.Printf("[Notif] PortalUser %d no encontrado: %v", *ticket.PortalUserID, err)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -106,10 +122,6 @@ func DispatchTicketRespuestaAdmin(ticket *models.ProyectoTicket, contenido strin
|
||||
return
|
||||
}
|
||||
|
||||
proyectoSlug := ""
|
||||
if proy, err := models.GetProyectoByID(ticket.ProyectoID); err == nil {
|
||||
proyectoSlug = proy.Slug
|
||||
}
|
||||
portalPath := portalTicketPath(proyectoSlug, ticket.ID)
|
||||
portalURL := absAppURL(portalPath)
|
||||
titulo := fmt.Sprintf("Respuesta en tu ticket: %s", ticket.Titulo)
|
||||
|
||||
Reference in New Issue
Block a user