diff --git a/CHANGELOG.md b/CHANGELOG.md index 394f881..7d4e7e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,23 @@ # Changelog +## [0.12.0] - 2025-5-13 +### Added +- Se ha añadido un nuevo modal del detalle de las acciones ejecutadas por cada cliente. +- Se ha añadido un modulo para la gestion de las tareas y acciones programadas. +- Se han añadido nuevos campos en el listado general de clientes. + +### Improved +- Se ha cambiado la pagina de detalles de un cliente, por un modal. +- Se han actualizado gran parte de las ayudas contextuales de las distintas parrillas de datos. +- Se ha mejorado y corregido los errores del particionador. +- Mejoras en la pantalla de trazas. +- Cambios en la estetica general de la aplicacion +- Añadida la primera version de la la integracion con ogGit +- Se ha mejorado la responsividad de la aplicacion, para pantallas pequeñas. + +### Fixed +- Se ha corregido un error que hacia que no apareciesen los calendarios en la pantalla de editar OU. +- En la pantalla de hacer deploy, al seleccionar imagen ahora deja desmarcarla. + ## [0.11.2] - 2025-4-16 ### Fixed - Se ha corregido un error en la actualizacion del estado de los pcs en la vista tarjetas. diff --git a/ogWebconsole/src/app/app-routing.module.ts b/ogWebconsole/src/app/app-routing.module.ts index cbd353a..f901d43 100644 --- a/ogWebconsole/src/app/app-routing.module.ts +++ b/ogWebconsole/src/app/app-routing.module.ts @@ -17,9 +17,7 @@ import { CalendarComponent } from "./components/calendar/calendar.component"; import { CommandsComponent } from './components/commands/main-commands/commands.component'; import { CommandsGroupsComponent } from './components/commands/commands-groups/commands-groups.component'; import { CommandsTaskComponent } from './components/commands/commands-task/commands-task.component'; -import { TaskLogsComponent } from './components/commands/commands-task/task-logs/task-logs.component'; -import { ClientMainViewComponent } from './components/groups/components/client-main-view/client-main-view.component'; -import { ImagesComponent } from './components/images/images.component'; +import { TaskLogsComponent } from './components/task-logs/task-logs.component'; import {SoftwareComponent} from "./components/software/software.component"; import {SoftwareProfileComponent} from "./components/software-profile/software-profile.component"; import {OperativeSystemComponent} from "./components/operative-system/operative-system.component"; @@ -67,7 +65,6 @@ const routes: Routes = [ { path: 'clients/deploy-image', component: DeployImageComponent }, { path: 'clients/partition-assistant', component: PartitionAssistantComponent }, { path: 'clients/run-script', component: RunScriptAssistantComponent }, - { path: 'clients/:id', component: ClientMainViewComponent }, { path: 'clients/:id/create-image', component: CreateClientImageComponent }, { path: 'repositories', component: RepositoriesComponent }, { path: 'repository/:id', component: MainRepositoryViewComponent }, diff --git a/ogWebconsole/src/app/app.module.ts b/ogWebconsole/src/app/app.module.ts index 2bd3f99..bd95fa4 100644 --- a/ogWebconsole/src/app/app.module.ts +++ b/ogWebconsole/src/app/app.module.ts @@ -67,7 +67,7 @@ import { PXEimagesComponent } from './components/ogboot/pxe-images/pxe-images.co import { CreatePXEImageComponent } from './components/ogboot/pxe-images/create-image/create-image/create-image.component'; import { InfoImageComponent } from './components/ogboot/pxe-images/info-image/info-image/info-image.component'; import { PxeComponent } from './components/ogboot/pxe/pxe.component'; -import { CreatePxeTemplateComponent } from './components/ogboot/pxe/create-pxeTemplate/create-pxe-template.component'; +import { CreatePxeTemplateComponent } from './components/ogboot/pxe/manage-pxeTemplate/create-pxe-template.component'; import { PxeBootFilesComponent } from './components/ogboot/pxe-boot-files/pxe-boot-files.component'; import { MatExpansionPanel, MatExpansionPanelDescription, MatExpansionPanelTitle } from "@angular/material/expansion"; import { OgbootStatusComponent } from './components/ogboot/ogboot-status/ogboot-status.component'; @@ -87,9 +87,8 @@ import { CreateCommandGroupComponent } from './components/commands/commands-grou import { DetailCommandGroupComponent } from './components/commands/commands-groups/detail-command-group/detail-command-group.component'; import { CreateTaskComponent } from './components/commands/commands-task/create-task/create-task.component'; import { DetailTaskComponent } from './components/commands/commands-task/detail-task/detail-task.component'; -import { TaskLogsComponent } from './components/commands/commands-task/task-logs/task-logs.component'; +import { TaskLogsComponent } from './components/task-logs/task-logs.component'; import { MatSliderModule } from '@angular/material/slider'; -import { ClientMainViewComponent } from './components/groups/components/client-main-view/client-main-view.component'; import { ImagesComponent } from './components/images/images.component'; import { CreateImageComponent } from './components/images/create-image/create-image.component'; import { CreateClientImageComponent } from './components/groups/components/client-main-view/create-image/create-image.component'; @@ -118,7 +117,7 @@ import { CreateMultipleClientComponent } from './components/groups/shared/client import { ExportImageComponent } from './components/images/export-image/export-image.component'; import { ImportImageComponent } from "./components/repositories/import-image/import-image.component"; import { LoadingComponent } from './shared/loading/loading.component'; -import { InputDialogComponent } from './components/commands/commands-task/task-logs/input-dialog/input-dialog.component'; +import { InputDialogComponent } from './components/task-logs/input-dialog/input-dialog.component'; import { ManageOrganizationalUnitComponent } from './components/groups/shared/organizational-units/manage-organizational-unit/manage-organizational-unit.component'; import { BackupImageComponent } from './components/repositories/backup-image/backup-image.component'; import { ServerInfoDialogComponent } from "./components/ogdhcp/server-info-dialog/server-info-dialog.component"; @@ -130,7 +129,7 @@ import { ShowClientsComponent } from './components/ogdhcp/show-clients/show-clie import { OperationResultDialogComponent } from './components/ogdhcp/operation-result-dialog/operation-result-dialog.component'; import { ManageClientComponent } from './components/groups/shared/clients/manage-client/manage-client.component'; import { ConvertImageComponent } from './components/repositories/convert-image/convert-image.component'; -import { registerLocaleData } from '@angular/common'; +import {NgOptimizedImage, registerLocaleData} from '@angular/common'; import localeEs from '@angular/common/locales/es'; import { GlobalStatusComponent } from './components/global-status/global-status.component'; import { ShowMonoliticImagesComponent } from './components/repositories/show-monolitic-images/show-monolitic-images.component'; @@ -143,6 +142,15 @@ import { import { EditImageComponent } from './components/repositories/edit-image/edit-image.component'; import { ShowGitImagesComponent } from './components/repositories/show-git-images/show-git-images.component'; import { RenameImageComponent } from './components/repositories/rename-image/rename-image.component'; +import { ClientDetailsComponent } from './components/groups/shared/client-details/client-details.component'; +import { PartitionTypeOrganizatorComponent } from './components/groups/shared/partition-type-organizator/partition-type-organizator.component'; +import { CreateTaskScheduleComponent } from './components/commands/commands-task/create-task-schedule/create-task-schedule.component'; +import { ShowTaskScheduleComponent } from './components/commands/commands-task/show-task-schedule/show-task-schedule.component'; +import { ShowTaskScriptComponent } from './components/commands/commands-task/show-task-script/show-task-script.component'; +import { CreateTaskScriptComponent } from './components/commands/commands-task/create-task-script/create-task-script.component'; +import { ViewParametersModalComponent } from './components/commands/commands-task/show-task-script/view-parameters-modal/view-parameters-modal.component'; +import { OutputDialogComponent } from './components/task-logs/output-dialog/output-dialog.component'; +import { ClientTaskLogsComponent } from './components/task-logs/client-task-logs/client-task-logs.component'; export function HttpLoaderFactory(http: HttpClient) { return new TranslateHttpLoader(http, './locale/', '.json'); @@ -204,7 +212,6 @@ registerLocaleData(localeEs, 'es-ES'); TaskLogsComponent, ServerInfoDialogComponent, StatusComponent, - ClientMainViewComponent, ImagesComponent, CreateImageComponent, PartitionAssistantComponent, @@ -243,7 +250,16 @@ registerLocaleData(localeEs, 'es-ES'); SaveScriptComponent, EditImageComponent, ShowGitImagesComponent, - RenameImageComponent + RenameImageComponent, + ClientDetailsComponent, + PartitionTypeOrganizatorComponent, + CreateTaskScheduleComponent, + ShowTaskScheduleComponent, + ShowTaskScriptComponent, + CreateTaskScriptComponent, + ViewParametersModalComponent, + OutputDialogComponent, + ClientTaskLogsComponent ], bootstrap: [AppComponent], imports: [BrowserModule, @@ -292,7 +308,7 @@ registerLocaleData(localeEs, 'es-ES'); progressAnimation: 'increasing', closeButton: true } - ), MatGridList, MatTree, MatTreeNode, MatNestedTreeNode, MatTreeNodeToggle, MatTreeNodeDef, MatTreeNodePadding, MatTreeNodeOutlet, MatPaginator, MatGridTile, MatExpansionPanel, MatExpansionPanelTitle, MatExpansionPanelDescription, MatRadioGroup, MatRadioButton, MatAutocompleteTrigger + ), MatGridList, MatTree, MatTreeNode, MatNestedTreeNode, MatTreeNodeToggle, MatTreeNodeDef, MatTreeNodePadding, MatTreeNodeOutlet, MatPaginator, MatGridTile, MatExpansionPanel, MatExpansionPanelTitle, MatExpansionPanelDescription, MatRadioGroup, MatRadioButton, MatAutocompleteTrigger, NgOptimizedImage ], schemas: [ CUSTOM_ELEMENTS_SCHEMA, diff --git a/ogWebconsole/src/app/components/calendar/create-calendar-rule/create-calendar-rule.component.css b/ogWebconsole/src/app/components/calendar/create-calendar-rule/create-calendar-rule.component.css index 2f3d78a..f0c9645 100644 --- a/ogWebconsole/src/app/components/calendar/create-calendar-rule/create-calendar-rule.component.css +++ b/ogWebconsole/src/app/components/calendar/create-calendar-rule/create-calendar-rule.component.css @@ -22,7 +22,12 @@ .time-fields { display: flex; - gap: 15px; /* Espacio entre los campos */ + gap: 15px; +} + +.hour-fields { + display: flex; + gap: 15px; } .time-field { @@ -34,4 +39,74 @@ justify-content: flex-end; gap: 1em; padding: 1.5em; -} \ No newline at end of file +} + +.custom-text { + font-style: italic; + font-size: 0.875rem; + color: #666; + margin: 4px 0 12px; +} + +.weekday-toggle-group { + display: flex; + flex-wrap: wrap; + gap: 10px; + margin: 40px 0 40px 0; + width: 100%; + justify-content: space-between; +} + +.weekday-toggle { + flex: 1 1 calc(14.28% - 10px); + padding: 10px 0; + border-radius: 999px; + border: 1px solid #ccc; + background-color: #f5f5f5; + cursor: pointer; + font-size: 14px; + text-align: center; + transition: all 0.2s ease; + min-width: 40px; +} + +.weekday-toggle.selected { + background-color: #1976d2; + color: white; + border-color: #1976d2; +} + + +.availability-summary { + background-color: #e3f2fd; + border-left: 4px solid #2196f3; + padding: 12px 16px; + margin-top: 16px; + border-radius: 6px; + display: flex; + align-items: center; + gap: 8px; + font-size: 14px; +} + +.summary-text { + color: #0d47a1; + line-height: 1.4; +} + +.unavailability-summary { + background-color: #ffebee; + border-left: 4px solid #d32f2f; + padding: 12px 16px; + margin-top: 16px; + border-radius: 6px; + display: flex; + align-items: center; + gap: 8px; + font-size: 14px; +} + +.summary-text { + color: #b71c1c; + line-height: 1.4; +} diff --git a/ogWebconsole/src/app/components/calendar/create-calendar-rule/create-calendar-rule.component.html b/ogWebconsole/src/app/components/calendar/create-calendar-rule/create-calendar-rule.component.html index b1de852..8e24c5c 100644 --- a/ogWebconsole/src/app/components/calendar/create-calendar-rule/create-calendar-rule.component.html +++ b/ogWebconsole/src/app/components/calendar/create-calendar-rule/create-calendar-rule.component.html @@ -1,24 +1,26 @@
(Los dias y horas seleccionados se marcarán como aula no disponible para remote pc.)
+