From 6b79e56af725b782ac7f58b4e293130ad1fa88fd Mon Sep 17 00:00:00 2001 From: apuente Date: Thu, 5 Sep 2024 12:54:14 +0200 Subject: [PATCH] Update Add Clients to Subnet component and dialog --- .../add-clients-to-subnet.component.html | 8 ++--- .../add-clients-to-subnet.component.ts | 35 ++++++++++++------- .../og-dhcp-subnets.component.html | 4 +-- .../og-dhcp-subnets.component.ts | 14 ++++---- 4 files changed, 36 insertions(+), 25 deletions(-) diff --git a/ogWebconsole/src/app/components/ogdhcp/og-dhcp-subnets/add-clients-to-subnet/add-clients-to-subnet.component.html b/ogWebconsole/src/app/components/ogdhcp/og-dhcp-subnets/add-clients-to-subnet/add-clients-to-subnet.component.html index 47ba9d5..8a49cfc 100644 --- a/ogWebconsole/src/app/components/ogdhcp/og-dhcp-subnets/add-clients-to-subnet/add-clients-to-subnet.component.html +++ b/ogWebconsole/src/app/components/ogdhcp/og-dhcp-subnets/add-clients-to-subnet/add-clients-to-subnet.component.html @@ -1,4 +1,4 @@ -

Select Clients

+

Añade clientes a a {{data.subnetName}}

@@ -6,7 +6,7 @@

Cargando clientes...

- Select Clients + Añadir clientes {{ client.name }} (IP: {{ client.ip }}, MAC: {{ client.mac }}) @@ -16,6 +16,6 @@
- - + + diff --git a/ogWebconsole/src/app/components/ogdhcp/og-dhcp-subnets/add-clients-to-subnet/add-clients-to-subnet.component.ts b/ogWebconsole/src/app/components/ogdhcp/og-dhcp-subnets/add-clients-to-subnet/add-clients-to-subnet.component.ts index 7cb5901..07b9dc7 100644 --- a/ogWebconsole/src/app/components/ogdhcp/og-dhcp-subnets/add-clients-to-subnet/add-clients-to-subnet.component.ts +++ b/ogWebconsole/src/app/components/ogdhcp/og-dhcp-subnets/add-clients-to-subnet/add-clients-to-subnet.component.ts @@ -1,6 +1,6 @@ -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, Inject } from '@angular/core'; import { HttpClient } from '@angular/common/http'; -import { MatDialogRef } from '@angular/material/dialog'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; @Component({ selector: 'app-add-clients-to-subnet', @@ -10,33 +10,44 @@ import { MatDialogRef } from '@angular/material/dialog'; export class AddClientsToSubnetComponent implements OnInit { clients: any[] = []; selectedClients: any[] = []; - loading: boolean = true; // Variable para controlar el estado de carga + loading: boolean = true; constructor( private http: HttpClient, - public dialogRef: MatDialogRef - ) {} + public dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) public data: { subnetUuid: string, subnetName: string } + ) {} ngOnInit(): void { - // Comienza la carga + console.log('Selected subnet UUID:', this.data); this.loading = true; - // Hacer la llamada HTTP directamente en el componente this.http.get('http://127.0.0.1:8080/clients?page=1&itemsPerPage=30').subscribe( response => { - this.clients = response['hydra:member']; // Asignamos los clientes obtenidos a la variable clients - this.loading = false; // Los datos se han cargado, desactivar el spinner + this.clients = response['hydra:member']; + this.loading = false; }, error => { console.error('Error fetching clients:', error); - this.loading = false; // También detener el spinner en caso de error + this.loading = false; } ); } save() { - console.log('Selected clients:', this.selectedClients); - this.dialogRef.close(this.selectedClients); // Cierra el modal y pasa los clientes seleccionados + const postData = { + clients: JSON.stringify(this.selectedClients.map(client => client.uuid)) + }; + + this.http.post(`http://127.0.0.1:8080/og-dhcp/server/${this.data.subnetUuid}/post-host`, postData).subscribe( + response => { + console.log('Clients assigned successfully:', response); + this.dialogRef.close(this.selectedClients); + }, + error => { + console.error('Error assigning clients:', error); + } + ); } close() { diff --git a/ogWebconsole/src/app/components/ogdhcp/og-dhcp-subnets/og-dhcp-subnets.component.html b/ogWebconsole/src/app/components/ogdhcp/og-dhcp-subnets/og-dhcp-subnets.component.html index 10a1408..f081224 100644 --- a/ogWebconsole/src/app/components/ogdhcp/og-dhcp-subnets/og-dhcp-subnets.component.html +++ b/ogWebconsole/src/app/components/ogdhcp/og-dhcp-subnets/og-dhcp-subnets.component.html @@ -27,7 +27,6 @@ {{ column.header }} - {{ subnet.name }} @@ -58,7 +57,6 @@ edit - @@ -71,7 +69,7 @@ edit Actualizar - diff --git a/ogWebconsole/src/app/components/ogdhcp/og-dhcp-subnets/og-dhcp-subnets.component.ts b/ogWebconsole/src/app/components/ogdhcp/og-dhcp-subnets/og-dhcp-subnets.component.ts index c9afb76..f60d09b 100644 --- a/ogWebconsole/src/app/components/ogdhcp/og-dhcp-subnets/og-dhcp-subnets.component.ts +++ b/ogWebconsole/src/app/components/ogdhcp/og-dhcp-subnets/og-dhcp-subnets.component.ts @@ -89,7 +89,7 @@ export class OgDhcpSubnetsComponent { console.log('Editando subnet:', subnet); const dialogRef = this.dialog.open(CreateSubnetComponent, { width: '400px', - data: { subnet } // Pasa los datos de la subred al modal + data: { subnet } }); dialogRef.afterClosed().subscribe(result => { @@ -130,14 +130,16 @@ export class OgDhcpSubnetsComponent { console.log('Update Subnet action selected'); } - addClientsToSubnet() { - const dialogRef = this.dialog.open (AddClientsToSubnetComponent, { - width: '600px' + addClientsToSubnet(subnet: Subnet) { + + const dialogRef = this.dialog.open(AddClientsToSubnetComponent, { + width: '600px', + data: { subnetUuid: subnet.uuid, subnetName: subnet.name } }); - + dialogRef.afterClosed().subscribe(result => { console.log('The dialog was closed'); - this.loadSubnets() + this.loadSubnets(); }); }