From 8d6e4615c77678f6b6d0dcb65f03ca5ca750bb28 Mon Sep 17 00:00:00 2001 From: Manuel Aranda Date: Thu, 13 Feb 2025 15:43:47 +0100 Subject: [PATCH] refs #1516. Changed form and global import --- .../create-image/create-image.component.ts | 2 +- .../create-image/create-image.component.css | 16 ++++++++++++++++ .../create-image/create-image.component.html | 9 +++++++-- .../create-image/create-image.component.ts | 11 +++++++++-- .../repository-images.component.ts | 2 +- 5 files changed, 34 insertions(+), 6 deletions(-) diff --git a/ogWebconsole/src/app/components/groups/components/client-main-view/create-image/create-image.component.ts b/ogWebconsole/src/app/components/groups/components/client-main-view/create-image/create-image.component.ts index a5d1706..05564e6 100644 --- a/ogWebconsole/src/app/components/groups/components/client-main-view/create-image/create-image.component.ts +++ b/ogWebconsole/src/app/components/groups/components/client-main-view/create-image/create-image.component.ts @@ -115,7 +115,7 @@ export class CreateClientImageComponent { next: (response) => { this.toastService.success('Petición de creación de imagen enviada'); this.loading = false; - this.router.navigate(['/images']); + this.router.navigate(['/commands-logs']); }, error: (error) => { this.toastService.error(error.error['hydra:description']); diff --git a/ogWebconsole/src/app/components/images/create-image/create-image.component.css b/ogWebconsole/src/app/components/images/create-image/create-image.component.css index fac8662..ffb19eb 100644 --- a/ogWebconsole/src/app/components/images/create-image/create-image.component.css +++ b/ogWebconsole/src/app/components/images/create-image/create-image.component.css @@ -34,6 +34,22 @@ button { margin-left: 8px; /* Espacio entre los botones */ } +.warning-card { + background-color: #ffebee; /* Rojo claro */ + color: #d32f2f; /* Rojo oscuro */ + padding: 16px; + border-left: 5px solid #d32f2f; + display: flex; + align-items: center; + gap: 10px; + margin-bottom: 15px; +} + +.warning-card mat-icon { + font-size: 24px; +} + + /* Responsividad para pantallas pequeñas */ @media (max-width: 600px) { .form-field { diff --git a/ogWebconsole/src/app/components/images/create-image/create-image.component.html b/ogWebconsole/src/app/components/images/create-image/create-image.component.html index 2f3a3a2..fc5e87d 100644 --- a/ogWebconsole/src/app/components/images/create-image/create-image.component.html +++ b/ogWebconsole/src/app/components/images/create-image/create-image.component.html @@ -2,6 +2,12 @@
+ + + warning + Ha marcado la casilla "Imagen Global". Se transferirá la imagen al resto de repositorios en el caso de que no exista previamente. + + {{ 'imageNameLabel' | translate }} @@ -37,14 +43,13 @@ {{ 'remotePcLabel' | translate }} {{ 'globalImageLabel' | translate }} diff --git a/ogWebconsole/src/app/components/images/create-image/create-image.component.ts b/ogWebconsole/src/app/components/images/create-image/create-image.component.ts index 793ec40..262ae1f 100644 --- a/ogWebconsole/src/app/components/images/create-image/create-image.component.ts +++ b/ogWebconsole/src/app/components/images/create-image/create-image.component.ts @@ -1,9 +1,10 @@ import {Component, Inject, OnInit} from '@angular/core'; import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; -import { HttpClient } from '@angular/common/http'; -import { ToastrService } from 'ngx-toastr'; +import {HttpClient} from '@angular/common/http'; +import {ToastrService} from 'ngx-toastr'; import {FormBuilder, FormGroup, Validators} from "@angular/forms"; import {DataService} from "../data.service"; + @Component({ selector: 'app-create-image', templateUrl: './create-image.component.html', @@ -16,6 +17,7 @@ export class CreateImageComponent implements OnInit { softwareProfiles: any[] = []; repositories: any[] = []; partitionInfo: { [key: string]: string } = {}; + showWarning: boolean = false; // Nueva variable para mostrar la advertencia constructor( private fb: FormBuilder, @@ -42,6 +44,7 @@ export class CreateImageComponent implements OnInit { } this.fetchSoftwareProfiles(); this.fetchRepositories(); + } load(): void { @@ -65,6 +68,10 @@ export class CreateImageComponent implements OnInit { }); } + changeIsGlobal() { + this.showWarning = this.imageForm.get('isGlobal')?.value; + } + fetchSoftwareProfiles() { const url = `${this.baseUrl}/software-profiles`; this.http.get(url).subscribe({ diff --git a/ogWebconsole/src/app/components/repositories/repository-images/repository-images.component.ts b/ogWebconsole/src/app/components/repositories/repository-images/repository-images.component.ts index d928b8c..69fd13f 100644 --- a/ogWebconsole/src/app/components/repositories/repository-images/repository-images.component.ts +++ b/ogWebconsole/src/app/components/repositories/repository-images/repository-images.component.ts @@ -116,7 +116,7 @@ export class RepositoryImagesComponent implements OnInit { search(): void { this.loading = true; - this.http.get(`${this.apiUrl}?page=${this.page +1 }&itemsPerPage=${this.itemsPerPage}&repositoryId=${this.repositoryId}`, { params: this.filters }).subscribe( + this.http.get(`${this.apiUrl}?page=${this.page +1 }&itemsPerPage=${this.itemsPerPage}&repository.id=${this.repositoryId}`, { params: this.filters }).subscribe( data => { this.dataSource.data = data['hydra:member']; this.length = data['hydra:totalItems'];