Merge pull request 'feat(oggui): ask to queue reboot/poweroff if client is busy' (#91) from encolar_poweroff_reboot into main
oggui-debian-package/pipeline/head This commit looks good Details
testing/ogGui-multibranch/pipeline/head There was a failure building this commit Details

Reviewed-on: #91
pull/92/head
Nicolas Arenas 2026-05-08 07:19:13 +02:00
commit 2568efbfa3
1 changed files with 27 additions and 20 deletions

View File

@ -10,6 +10,7 @@ import { MatDialog } from "@angular/material/dialog";
import { RemoveCacheImageComponent } from "./remove-cache-image/remove-cache-image.component";
import { AuthService } from '@services/auth.service';
import {SoftwareProfilePartitionComponent} from "./software-profile-partition/software-profile-partition.component";
import { QueueConfirmationModalComponent } from '../../../../shared/queue-confirmation-modal/queue-confirmation-modal.component';
@Component({
selector: 'app-execute-command',
@ -196,16 +197,19 @@ export class ExecuteCommandComponent implements OnInit {
}
rebootClient(): void {
this.http.post(`${this.baseUrl}/clients/server/reboot`, {
clients: this.clientData.map((client: any) => client['@id'])
}).subscribe(
response => {
this.toastService.success(this.translate.instant('clientUpdatedSuccessfully'));
},
error => {
this.toastService.error(error.error['hydra:description'] || 'Error de conexión con el cliente');
}
);
const dialogRef = this.dialog.open(QueueConfirmationModalComponent, { width: '400px' });
dialogRef.afterClosed().subscribe((queue: boolean | undefined) => {
if (queue === undefined) return;
this.http.post(`${this.baseUrl}/clients/server/reboot`, {
clients: this.clientData.map((client: any) => client['@id']),
queue
}).subscribe(
() => { this.toastService.success(this.translate.instant('clientUpdatedSuccessfully')); },
(error: any) => { this.toastService.error(error.error['hydra:description'] || 'Error de conexión con el cliente'); }
);
});
}
refreshClient(): void {
@ -332,16 +336,19 @@ export class ExecuteCommandComponent implements OnInit {
}
powerOffClient(): void {
this.http.post(`${this.baseUrl}/clients/server/power-off`, {
clients: this.clientData.map((client: any) => client['@id'])
}).subscribe(
response => {
this.toastService.success(this.translate.instant('shutdownRequestSentCorrectly'));
},
error => {
this.toastService.error(error.error['hydra:description'] || 'Error de conexión con el cliente');
}
);
const dialogRef = this.dialog.open(QueueConfirmationModalComponent, { width: '400px' });
dialogRef.afterClosed().subscribe((queue: boolean | undefined) => {
if (queue === undefined) return;
this.http.post(`${this.baseUrl}/clients/server/power-off`, {
clients: this.clientData.map((client: any) => client['@id']),
queue
}).subscribe(
() => { this.toastService.success(this.translate.instant('shutdownRequestSentCorrectly')); },
(error: any) => { this.toastService.error(error.error['hydra:description'] || 'Error de conexión con el cliente'); }
);
});
}
openPartitionAssistant(): void {