(`${this.baseUrl}/image-repositories/${this.data?.repositoryUuid}/import-image`, {
+ name: this.imageName
}).subscribe({
next: (response) => {
this.toastService.success('Peticion de importacion de imagen enviada correctamente');
@@ -59,7 +39,7 @@ export class ImportImageComponent implements OnInit{
this.router.navigate(['/commands-logs']);
},
error: error => {
- this.toastService.error('Error al importar imagenes');
+ this.toastService.error(error.error['hydra:description']);
}
});
}
diff --git a/ogWebconsole/src/app/components/repositories/repository-images/repository-images.component.css b/ogWebconsole/src/app/components/repositories/repository-images/repository-images.component.css
index 5dd3535..ecb91dd 100644
--- a/ogWebconsole/src/app/components/repositories/repository-images/repository-images.component.css
+++ b/ogWebconsole/src/app/components/repositories/repository-images/repository-images.component.css
@@ -1,8 +1,3 @@
-.images-button-row {
- display: flex;
- justify-content: flex-start;
- margin-top: 16px;
-}
table {
width: 100%;
@@ -94,3 +89,9 @@ table {
margin-left: 1em;
}
+.images-button-row {
+ display: flex;
+ gap: 15px;
+ padding: 5px;
+}
+
diff --git a/ogWebconsole/src/app/components/repositories/repository-images/repository-images.component.html b/ogWebconsole/src/app/components/repositories/repository-images/repository-images.component.html
index 5bec694..308009b 100644
--- a/ogWebconsole/src/app/components/repositories/repository-images/repository-images.component.html
+++ b/ogWebconsole/src/app/components/repositories/repository-images/repository-images.component.html
@@ -9,6 +9,16 @@
{{ 'imagesTitle' | translate }} en {{ repository?.name }}
+
+
+
+
+
+
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 85e7ee6..31ee10b 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
@@ -1,4 +1,4 @@
-import {Component, Input, OnInit} from '@angular/core';
+import {Component, Input, isDevMode, OnInit} from '@angular/core';
import {MatTableDataSource} from "@angular/material/table";
import {DatePipe} from "@angular/common";
import {MatDialog} from "@angular/material/dialog";
@@ -10,6 +10,8 @@ import {DeleteModalComponent} from "../../../shared/delete_modal/delete-modal/de
import {ExportImageComponent} from "../../images/export-image/export-image.component";
import {BackupImageComponent} from "../backup-image/backup-image.component";
import {ServerInfoDialogComponent} from "../../ogdhcp/server-info-dialog/server-info-dialog.component";
+import {ImportImageComponent} from "../import-image/import-image.component";
+import {ConvertImageComponent} from "../convert-image/convert-image.component";
@Component({
selector: 'app-repository-images',
@@ -162,6 +164,34 @@ export class RepositoryImagesComponent implements OnInit {
);
}
+ importImage(): void {
+ this.dialog.open(ImportImageComponent, {
+ width: '600px',
+ data: {
+ repositoryUuid: this.repositoryUuid,
+ name: this.repository.name
+ }
+ }).afterClosed().subscribe((result) => {
+ if (result) {
+ this.search();
+ }
+ });
+ }
+
+ convertImage(): void {
+ this.dialog.open(ConvertImageComponent, {
+ width: '600px',
+ data: {
+ repositoryUuid: this.repositoryUuid,
+ name: this.repository.name
+ }
+ }).afterClosed().subscribe((result) => {
+ if (result) {
+ this.search();
+ }
+ });
+ }
+
toggleAction(image: any, action:string): void {
switch (action) {
case 'get-aux':
@@ -301,4 +331,6 @@ export class RepositoryImagesComponent implements OnInit {
themeColor: '#3f51b5'
});
}
+
+ protected readonly isDevMode = isDevMode;
}
diff --git a/ogWebconsole/src/locale/en.json b/ogWebconsole/src/locale/en.json
index 5cff44c..424a881 100644
--- a/ogWebconsole/src/locale/en.json
+++ b/ogWebconsole/src/locale/en.json
@@ -308,6 +308,8 @@
"noResultsMessage": "No results to display.",
"imagesTitle": "Manage images",
"addImageButton": "Add image",
+ "importImageButton": "Import image",
+ "convertImageButton": "Convert virtual image",
"searchNameDescription": "Search images by name to quickly find a specific image.",
"searchDefaultDescription": "Filter images to show only default or non-default images.",
"searchDefaultLabel": "Default image",
@@ -460,4 +462,4 @@
"organizationalUnitsStepText": "List of Organizational Units. Click on one to view details.",
"defaultMenuLabel": "Main menu",
"noClients": "No clients"
-}
\ No newline at end of file
+}
diff --git a/ogWebconsole/src/locale/es.json b/ogWebconsole/src/locale/es.json
index 950ed2b..e9f04b6 100644
--- a/ogWebconsole/src/locale/es.json
+++ b/ogWebconsole/src/locale/es.json
@@ -239,6 +239,8 @@
"organizationalUnitLabel": "Padre",
"ogLiveLabel": "OgLive",
"imageNameLabel": "Nombre de la imagen",
+ "importImageButton": "Importar imagen",
+ "convertImageButton": "Convertir imagen virtual",
"repositoryLabel": "Repositorios",
"serialNumberLabel": "Número de Serie",
"netifaceLabel": "Interfaz de red",