@@ -7,20 +7,12 @@ import { useRecategorizarTicket } from "../../../Funcionalidades/Recategorizar";
77import type { Ticket } from "../../../Models/Tickets" ;
88import { norm } from "../../../utils/Commons" ;
99import type { TreeOption } from "../../NuevoTicket/NuevoTicketForm" ;
10+ import { useAuth } from "../../../auth/authContext" ;
1011
1112export default function Recategorizar ( { ticket, onDone} : { ticket : Ticket , onDone : ( ) => void } ) {
12- const {
13- Categorias,
14- SubCategorias,
15- Articulos,
16- Tickets : TicketsSvc ,
17- } = useGraphServices ( ) as ReturnType < typeof useGraphServices > & {
18- Tickets : TicketsService ;
19- } ;
20-
21- const { state, errors, submitting, categorias, subcategoriasAll, articulosAll, loadingCatalogos, setField, handleRecategorizar,
22- } = useRecategorizarTicket ( { Categorias, SubCategorias, Articulos, Tickets : TicketsSvc } , ticket ) ;
23-
13+ const { Categorias, SubCategorias, Articulos, Tickets : TicketsSvc , Logs} = useGraphServices ( ) as ReturnType < typeof useGraphServices > & { Tickets : TicketsService ; } ;
14+ const { state, errors, submitting, categorias, subcategoriasAll, articulosAll, loadingCatalogos, setField, handleRecategorizar, } = useRecategorizarTicket ( { Categorias, SubCategorias, Articulos, Tickets : TicketsSvc } , ticket ) ;
15+ const { account} = useAuth ( )
2416 const treeOptions : TreeOption [ ] = React . useMemo ( ( ) => {
2517 if ( ! categorias . length || ! subcategoriasAll . length || ! articulosAll . length ) return [ ] ;
2618 const subById = new Map ( subcategoriasAll . map ( s => [ String ( s . ID ) , s ] ) ) ;
@@ -80,13 +72,31 @@ export default function Recategorizar({ ticket, onDone}: { ticket: Ticket, onDon
8072 setField ( "articulo" , artTitle ) ;
8173 } ;
8274
75+ const handleConfirm = async ( e : React . FormEvent ) => {
76+ const canContinue = await handleRecategorizar ( e ) ;
77+
78+ if ( ! canContinue ) return ;
79+
80+ const newCategoriaBuilt = [ state . categoria , state . subcategoria , state . articulo ]
81+ . filter ( Boolean )
82+ . join ( " > " ) ;
83+
84+ await Logs . create ( {
85+ Actor : account ?. name ?? "" ,
86+ CorreoActor : account ?. username ?? "" ,
87+ Descripcion : "El resolutor cambió la categoría del ticket a: " + newCategoriaBuilt ,
88+ Tipo_de_accion : "Recategorización" ,
89+ Title : String ( ticket . ID ?? "" ) ,
90+ } ) ;
91+ } ;
92+
8393 const disabledCats = submitting || loadingCatalogos ;
8494
8595 return (
8696 < div className = "dta-form" >
8797 < h2 className = "dta-title" > Recategorizar Ticket</ h2 >
8898
89- < form onSubmit = { ( e ) => { handleRecategorizar ( e ) ; onDone ( ) } } noValidate className = "dta-grid" >
99+ < form onSubmit = { ( e ) => { handleConfirm ( e ) ; onDone ( ) } } noValidate className = "dta-grid" >
90100
91101 { /* Categoría / Subcategoría / Artículo */ }
92102 < div className = "tf-row tf-row--cats tf-col-2" >
0 commit comments