Added saved filters
parent
4016f00f78
commit
18ff06afb2
|
@ -139,4 +139,21 @@ export class DataService {
|
|||
})
|
||||
);
|
||||
}
|
||||
|
||||
getFilters(): Observable<any> {
|
||||
return this.http.get<any>('http://127.0.0.1:8080/views?page=1&itemsPerPage=30').pipe(
|
||||
map(response => {
|
||||
if (response['hydra:member'] && Array.isArray(response['hydra:member'])) {
|
||||
return response['hydra:member'];
|
||||
} else {
|
||||
throw new Error('Unexpected response format');
|
||||
}
|
||||
}),
|
||||
catchError(error => {
|
||||
console.error('Error fetching filters', error);
|
||||
return throwError(error);
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -122,17 +122,15 @@ mat-spinner {
|
|||
align-self: center;
|
||||
}
|
||||
|
||||
|
||||
.container { /* Asegúrate de que esta clase sea la del contenedor del botón */
|
||||
.container {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
width: 200px;
|
||||
}
|
||||
.classroomBtn-container {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
width: 100%; /* Asegura que el contenedor ocupe todo el ancho disponible */
|
||||
padding-right: 20px; /* Opcional: ajusta el espacio a la derecha */
|
||||
width: 100%;
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
.classroomBtn {
|
||||
|
|
|
@ -1,27 +1,27 @@
|
|||
<mat-tab-group>
|
||||
<mat-tab label="General" i18n-label="@@tabGeneralLabel">
|
||||
<mat-tab label="General">
|
||||
<div class="header-container">
|
||||
<h2 class="title" i18n="@@headerAdminGroups">Administrar grupos</h2>
|
||||
<h2 class="title" i18n="@@adminGroupsTitle">Administrar grupos</h2>
|
||||
<div class="groups-button-row">
|
||||
<button mat-flat-button color="primary" (click)="addOU($event)" i18n="@@buttonNewOU">Nueva Unidad Organizativa</button>
|
||||
<button mat-flat-button color="primary" (click)="addClient($event)" i18n="@@buttonNewClient">Nuevo Cliente</button>
|
||||
<button mat-raised-button (click)="openBottomSheet()" i18n="@@buttonLegend">Leyenda</button>
|
||||
<button mat-flat-button color="primary" (click)="addOU($event)" i18n="@@newOrganizationalUnitButton">Nueva Unidad Organizativa</button>
|
||||
<button mat-flat-button color="primary" (click)="addClient($event)" i18n="@@newClientButton">Nuevo Cliente</button>
|
||||
<button mat-raised-button (click)="openBottomSheet()" i18n="@@legendButton">Leyenda</button>
|
||||
</div>
|
||||
<div class="classroomBtn-container">
|
||||
<button mat-flat-button class="classroomBtn" color="accent" (click)="roomMap()" *ngIf="selectedDetail && selectedDetail.type === 'classroom'" i18n="@@buttonRoomMap">Plano de aula</button>
|
||||
<div class="container">
|
||||
<button mat-flat-button class="roomMap-btn" color="accent" (click)="roomMap()" *ngIf="selectedDetail && selectedDetail.type === 'classroom'" i18n="@@classroomMapButton">Plano de aula</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-container">
|
||||
<mat-form-field appearance="fill">
|
||||
<mat-label i18n="@@labelSearch">Búsqueda</mat-label>
|
||||
<input matInput placeholder="Búsqueda" [(ngModel)]="searchTerm" (keyup.enter)="search()" i18n-placeholder="@@placeholderSearch">
|
||||
<mat-label i18n="@@searchLabel">Búsqueda</mat-label>
|
||||
<input matInput placeholder="Búsqueda" [(ngModel)]="searchTerm" (keyup.enter)="search()" i18n-placeholder="@@searchPlaceholder">
|
||||
<mat-icon matSuffix>search</mat-icon>
|
||||
<mat-hint i18n="@@hintSearch">Pulsar 'enter' para buscar entre las unidades organizativas</mat-hint>
|
||||
<mat-hint i18n="@@searchHint">Pulsar 'enter' para buscar entre las unidades organizativas</mat-hint>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div class="groupLists-container">
|
||||
<mat-card class="card unidad-card">
|
||||
<mat-card-title i18n="@@cardTitleOU">Unidad organizativa</mat-card-title>
|
||||
<mat-card-title i18n="@@organizationalUnitTitle">Unidad organizativa</mat-card-title>
|
||||
<mat-card-content>
|
||||
<mat-spinner *ngIf="loading"></mat-spinner>
|
||||
<mat-list *ngIf="!loading">
|
||||
|
@ -31,55 +31,60 @@
|
|||
<mat-icon>apartment</mat-icon>
|
||||
{{ unidad.name }}
|
||||
<span class="actions">
|
||||
<mat-icon mat-button [matMenuTriggerFor]="menu" (click)="$event.stopPropagation()">menu</mat-icon>
|
||||
<mat-menu #menu="matMenu">
|
||||
<button mat-menu-item (click)="onTreeClick($event, unidad)">
|
||||
<mat-icon
|
||||
class="edit-icon"
|
||||
#tooltip="matTooltip"
|
||||
matTooltip="Visualizar en forma de arbol"
|
||||
matTooltipHideDelay="0" i18n-matTooltip="@@tooltipViewTree">account_tree
|
||||
</mat-icon>
|
||||
<span i18n="@@menuItemViewTree">Ver organigrama</span>
|
||||
</button>
|
||||
<button mat-menu-item (click)="onEditClick($event, unidad.type, unidad.uuid)">
|
||||
<mat-icon
|
||||
class="edit-icon"
|
||||
#tooltip="matTooltip"
|
||||
matTooltip="Editar unidad organizativa"
|
||||
matTooltipHideDelay="0" i18n-matTooltip="@@tooltipEditOU">edit
|
||||
</mat-icon>
|
||||
<span i18n="@@menuItemEditOU">Editar</span>
|
||||
</button>
|
||||
<button mat-menu-item (click)="onShowClick($event, unidad)">
|
||||
<mat-icon
|
||||
class="edit-icon"
|
||||
#tooltip="matTooltip"
|
||||
matTooltip="Visualizar unidad organizativa"
|
||||
matTooltipHideDelay="0" i18n-matTooltip="@@tooltipViewOU">visibility
|
||||
</mat-icon>
|
||||
<span i18n="@@menuItemViewOU">Visualizar datos</span>
|
||||
</button>
|
||||
<button mat-menu-item (click)="addOU($event, unidad)">
|
||||
<mat-icon
|
||||
class="edit-icon"
|
||||
#tooltip="matTooltip"
|
||||
matTooltip="Crear unidad organizativa interna"
|
||||
matTooltipHideDelay="0" i18n-matTooltip="@@tooltipAddOU">add_home_work
|
||||
</mat-icon>
|
||||
<span i18n="@@menuItemAddOU">Añadir unidad organizativa</span>
|
||||
</button>
|
||||
<button mat-menu-item (click)="addClient($event, unidad)">
|
||||
<mat-icon
|
||||
class="edit-icon"
|
||||
#tooltip="matTooltip"
|
||||
matTooltip="Crear cliente en esta unidad organizativa"
|
||||
matTooltipHideDelay="0" i18n-matTooltip="@@tooltipAddClient">devices
|
||||
</mat-icon>
|
||||
<span i18n="@@menuItemAddClient">Crear cliente</span>
|
||||
</button>
|
||||
</mat-menu>
|
||||
</span>
|
||||
<mat-icon mat-button [matMenuTriggerFor]="menu" (click)="$event.stopPropagation()">menu</mat-icon>
|
||||
<mat-menu #menu="matMenu">
|
||||
<button mat-menu-item (click)="onTreeClick($event, unidad)">
|
||||
<mat-icon
|
||||
class="edit-icon"
|
||||
#tooltip="matTooltip"
|
||||
matTooltip="Visualizar en forma de arbol"
|
||||
matTooltipHideDelay="0"
|
||||
i18n="@@viewTreeTooltip">account_tree
|
||||
</mat-icon>
|
||||
<span i18n="@@viewTreeMenu">Ver organigrama</span>
|
||||
</button>
|
||||
<button mat-menu-item (click)="onEditClick($event, unidad.type, unidad.uuid)">
|
||||
<mat-icon
|
||||
class="edit-icon"
|
||||
#tooltip="matTooltip"
|
||||
matTooltip="Editar unidad organizativa"
|
||||
matTooltipHideDelay="0"
|
||||
i18n="@@editUnitTooltip">edit
|
||||
</mat-icon>
|
||||
<span i18n="@@editUnitMenu">Editar</span>
|
||||
</button>
|
||||
<button mat-menu-item (click)="onShowClick($event, unidad)">
|
||||
<mat-icon
|
||||
class="edit-icon"
|
||||
#tooltip="matTooltip"
|
||||
matTooltip="Visualizar unidad organizativa"
|
||||
matTooltipHideDelay="0"
|
||||
i18n="@@viewUnitTool">visibility
|
||||
</mat-icon>
|
||||
<span i18n="@@viewUnitMenu">Visualizar datos</span>
|
||||
</button>
|
||||
<button mat-menu-item (click)="addOU($event, unidad)">
|
||||
<mat-icon
|
||||
class="edit-icon"
|
||||
#tooltip="matTooltip"
|
||||
matTooltip="Crear unidad organizativa interna"
|
||||
matTooltipHideDelay="0"
|
||||
i18n="@@addInternalUnitTool">add_home_work
|
||||
</mat-icon>
|
||||
<span i18n="@@addInternalUnitMenu">Añadir unidad organizativa</span>
|
||||
</button>
|
||||
<button mat-menu-item (click)="addClient($event, unidad)">
|
||||
<mat-icon
|
||||
class="edit-icon"
|
||||
#tooltip="matTooltip"
|
||||
matTooltip="Crear cliente en esta unidad organizativa"
|
||||
matTooltipHideDelay="0"
|
||||
i18n="@@addClientDevice">devices
|
||||
</mat-icon>
|
||||
<span i18n="@@addClientMenu">Crear cliente</span>
|
||||
</button>
|
||||
</mat-menu>
|
||||
</span>
|
||||
</div>
|
||||
</mat-list-item>
|
||||
</mat-list>
|
||||
|
@ -88,7 +93,7 @@
|
|||
<mat-card class="card elements-card">
|
||||
<mat-card-title>
|
||||
<div class="title-with-breadcrumb">
|
||||
<span i18n="@@cardTitleInternalElements">Elementos internos</span>
|
||||
<span i18n="@@internalElementsTitle">Elementos internos</span>
|
||||
<mat-card-subtitle>
|
||||
<ng-container *ngFor="let crumb of breadcrumb; let i = index">
|
||||
<a (click)="navigateToBreadcrumb(i)">{{ crumb }}</a>
|
||||
|
@ -102,7 +107,7 @@
|
|||
<mat-list *ngIf="!loadingChildren">
|
||||
<div *ngIf="children.length === 0" class="empty-list">
|
||||
<mat-icon>info</mat-icon>
|
||||
<span i18n="@@emptyListNoInternalElements">No hay elementos internos</span>
|
||||
<span i18n="@@noInternalElementsMessage">No hay elementos internos</span>
|
||||
</div>
|
||||
<mat-list-item *ngFor="let child of children" [ngClass]="{'selected-item': child === selectedUnidad, 'clickable-item': true}" (click)="onSelectChild(child)">
|
||||
<div class="item-content">
|
||||
|
@ -116,48 +121,112 @@
|
|||
</mat-icon>
|
||||
{{child.name}}
|
||||
<span class="actions">
|
||||
<mat-icon mat-button [matMenuTriggerFor]="menu" (click)="$event.stopPropagation()">menu</mat-icon>
|
||||
<mat-menu #menu="matMenu">
|
||||
<button mat-menu-item (click)="onEditClick($event, child.type, child.uuid)">
|
||||
<mat-icon class="edit-icon" #tooltip="matTooltip" matTooltip="Editar elemento" matTooltipHideDelay="0" i18n-matTooltip="@@tooltipEditElement">edit</mat-icon>
|
||||
<span i18n="@@menuItemEditElement">Editar</span>
|
||||
</button>
|
||||
<button *ngIf="child.type !== 'client'" mat-menu-item (click)="onShowClick($event, child)">
|
||||
<mat-icon class="edit-icon" #tooltip="matTooltip" matTooltip="Visualizar unidad organizativa" matTooltipHideDelay="0" i18n-matTooltip="@@tooltipViewOUElement">visibility</mat-icon>
|
||||
<span i18n="@@menuItemViewOUElement">Visualizar datos</span>
|
||||
</button>
|
||||
<button *ngIf="child.type !== 'client'" mat-menu-item (click)="addOU($event, child)">
|
||||
<mat-icon class="edit-icon" #tooltip="matTooltip" matTooltip="Crear unidad organizativa interna" matTooltipHideDelay="0" i18n-matTooltip="@@tooltipAddOUElement">add_home_work</mat-icon>
|
||||
<span i18n="@@menuItemAddOUElement">Añadir unidad organizativa</span>
|
||||
</button>
|
||||
<button *ngIf="child.type !== 'client'" mat-menu-item (click)="addClient($event, child)">
|
||||
<mat-icon class="edit-icon" #tooltip="matTooltip" matTooltip="Crear cliente en esta unidad organizativa" matTooltipHideDelay="0" i18n-matTooltip="@@tooltipAddClientElement">devices</mat-icon>
|
||||
<span i18n="@@menuItemAddClientElement">Crear cliente</span>
|
||||
</button>
|
||||
<button mat-menu-item (click)="onDeleteClick($event, child.uuid, child.name, child.type)">
|
||||
<mat-icon class="delete-icon" #tooltip="matTooltip" matTooltip="Borrar elemento" matTooltipHideDelay="0" i18n-matTooltip="@@tooltipDeleteElement">delete</mat-icon>
|
||||
<span i18n="@@menuItemDeleteElement">Borrar elemento</span>
|
||||
</button>
|
||||
</mat-menu>
|
||||
</span>
|
||||
<mat-icon mat-button [matMenuTriggerFor]="menu" (click)="$event.stopPropagation()">menu</mat-icon>
|
||||
<mat-menu #menu="matMenu">
|
||||
<button mat-menu-item (click)="onEditClick($event, child.type, child.uuid)">
|
||||
<mat-icon class="edit-icon" #tooltip="matTooltip" matTooltip="Editar elemento" matTooltipHideDelay="0" i18n="@@editElementTooltip">edit</mat-icon>
|
||||
<span i18n="@@editElementMenu">Editar</span>
|
||||
</button>
|
||||
<button *ngIf="child.type !== 'client'" mat-menu-item (click)="onShowClick($event, child)">
|
||||
<mat-icon class="edit-icon" #tooltip="matTooltip" matTooltip="Visualizar unidad organizativa" matTooltipHideDelay="0" i18n="@@viewUnitTooltip">visibility</mat-icon>
|
||||
<span i18n="@@viewUnitMenu">Visualizar datos</span>
|
||||
</button>
|
||||
<button *ngIf="child.type !== 'client'" mat-menu-item (click)="addOU($event, child)">
|
||||
<mat-icon class="edit-icon" #tooltip="matTooltip" matTooltip="Crear unidad organizativa interna" matTooltipHideDelay="0" i18n="@@addInternalUnitTooltip">add_home_work</mat-icon>
|
||||
<span i18n="@@addInternalUnitMenu">Añadir unidad organizativa</span>
|
||||
</button>
|
||||
<button *ngIf="child.type !== 'client'" mat-menu-item (click)="addClient($event, child)">
|
||||
<mat-icon class="edit-icon" #tooltip="matTooltip" matTooltip="Crear cliente en esta unidad organizativa" matTooltipHideDelay="0" i18n="@@addClientTooltip">devices</mat-icon>
|
||||
<span i18n="@@addClientMenu">Crear cliente</span>
|
||||
</button>
|
||||
<button mat-menu-item (click)="onDeleteClick($event, child.uuid, child.name, child.type)">
|
||||
<mat-icon class="delete-icon" #tooltip="matTooltip" matTooltip="Borrar elemento" matTooltipHideDelay="0" i18n="@@deleteElementTooltip">delete</mat-icon>
|
||||
<span i18n="@@deleteElementMenu">Borrar elemento</span>
|
||||
</button>
|
||||
</mat-menu>
|
||||
</span>
|
||||
</div>
|
||||
</mat-list-item>
|
||||
</mat-list>
|
||||
</mat-card-content>
|
||||
</mat-card>
|
||||
<!-- <app-classroom-view class="card classroom-view" [clients]="clientsData" [pcInTable]="5"></app-classroom-view> -->
|
||||
</div>
|
||||
</mat-tab>
|
||||
<mat-tab label="Búsqueda avanzada" i18n-label="@@tabAdvancedSearchLabel">
|
||||
<h2 class="title" i18n="@@headerSearch">Búsqueda</h2>
|
||||
<mat-tab label="Búsqueda avanzada">
|
||||
<h2 class="title" i18n="@@searchTitle">Búsqueda</h2>
|
||||
<div class="container">
|
||||
<div class="header">
|
||||
<mat-form-field>
|
||||
<mat-label i18n="@@labelSelectFilter">Seleccione filtro</mat-label>
|
||||
<mat-label i18n="@@selectFilterLabel">Seleccione filtro</mat-label>
|
||||
<mat-select (selectionChange)="loadSelectedFilter($event.value)">
|
||||
<mat-option *ngFor="let savedFilter of savedFilters" [value]="savedFilter">
|
||||
{{ savedFilter.name }}
|
||||
<mat-option *ngFor="let savedFilter of savedFilterNames" [value]="savedFilter">
|
||||
{{ savedFilter }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<mat-divider class="divider"></mat-divider>
|
||||
<div class="main-content">
|
||||
<div class="filters">
|
||||
<mat-form-field>
|
||||
<mat-label i18n="@@selectOptionLabel">Selecciona una opción</mat-label>
|
||||
<mat-select [(value)]="selectedFilter1" (selectionChange)="applyFilter()">
|
||||
<mat-option value="ou" i18n="@@organizationalUnitsOption">Unidades organizativas</mat-option>
|
||||
<mat-option value="client" i18n="@@clientsOption">Clientes</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<mat-form-field class="example-full-width">
|
||||
<mat-label i18n="@@nameLabel">Nombre</mat-label>
|
||||
<input matInput placeholder="Unidad organizativa" (input)="applyFilter()" [(ngModel)]="filterName" i18n-placeholder="@@namePlaceholder">
|
||||
</mat-form-field>
|
||||
<mat-form-field [disabled]="selectedFilter1 === 'ou'">
|
||||
<mat-label i18n="@@unitTypeLabel">Tipo de unidad</mat-label>
|
||||
<mat-select [(value)]="selectedFilter2" (selectionChange)="applyFilter()">
|
||||
<mat-option value="organizational-unit" i18n="@@organizationalUnitOption">Unidad organizativa</mat-option>
|
||||
<mat-option value="classroom-group" i18n="@@classroomsGroupOption">Grupos de aulas</mat-option>
|
||||
<mat-option value="classroom" i18n="@@classroomOption">Aulas</mat-option>
|
||||
<mat-option value="client-group" i18n="@@clientGroupOption">Grupos de clientes</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<mat-form-field>
|
||||
<mat-label i18n="@@selectAnotherOptionLabel">Selecciona otra opción</mat-label>
|
||||
<mat-select [(value)]="selectedFilter1" (selectionChange)="applyFilter()">
|
||||
<mat-option value="none" i18n="@@noneOption">Ninguno</mat-option>
|
||||
<mat-option value="option1" i18n="@@option1">Opción 1</mat-option>
|
||||
<mat-option value="option2" i18n="@@option2">Opción 2</mat-option>
|
||||
<mat-option value="option3" i18n="@@option3">Opción 3</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<button mat-raised-button color="primary" (click)="saveFilters()" i18n="@@saveFiltersButton">Guardar Filtros</button>
|
||||
</div>
|
||||
<div class="results">
|
||||
<ng-container *ngIf="filteredResults && filteredResults.length > 0; else noResults">
|
||||
<mat-grid-list cols="4" rowHeight="1:1">
|
||||
<mat-grid-tile *ngFor="let result of filteredResults">
|
||||
<mat-card class="result-card">
|
||||
<mat-card-title>{{ result.name }}</mat-card-title>
|
||||
<mat-card-content>
|
||||
<p>{{ result.type }}</p>
|
||||
<p *ngIf="result.type !== 'client'" i18n="@@internalUnits">Unidades internas: {{ result.type !== 'client' ? result.children.length : 0}}</p>
|
||||
<p *ngIf="result.type !== 'client'" i18n="@@clients">Clientes: {{ result.type !== 'client' ? result.clients.length : 0}}</p>
|
||||
</mat-card-content>
|
||||
</mat-card>
|
||||
</mat-grid-tile>
|
||||
</mat-grid-list>
|
||||
<div class="paginator-container">
|
||||
<mat-paginator [length]="length"
|
||||
[pageSize]="itemsPerPage"
|
||||
[pageIndex]="page"
|
||||
[pageSizeOptions]="pageSizeOptions"
|
||||
(page)="onPageChange($event)">
|
||||
</mat-paginator>
|
||||
</div>
|
||||
</ng-container>
|
||||
<ng-template #noResults>
|
||||
<p i18n="@@noResultsMessage">No hay resultados para mostrar.</p>
|
||||
</ng-template>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</mat-tab>
|
||||
</mat-tab-group>
|
||||
|
|
|
@ -39,7 +39,7 @@ export class GroupsComponent implements OnInit {
|
|||
selectedFilter2: string = 'none';
|
||||
filterName: string = '';
|
||||
filteredResults: any[] = [];
|
||||
savedFilters: any[] = [];
|
||||
savedFilterNames: any[] = [];
|
||||
length: number = 0;
|
||||
itemsPerPage: number = 10;
|
||||
page: number = 1;
|
||||
|
@ -55,6 +55,20 @@ export class GroupsComponent implements OnInit {
|
|||
|
||||
ngOnInit(): void {
|
||||
this.search();
|
||||
this.getFilters();
|
||||
}
|
||||
|
||||
getFilters(): void {
|
||||
this.dataService.getFilters().subscribe(
|
||||
data => {
|
||||
this.savedFilterNames = data.map((filter: any) => filter.name);
|
||||
console.log('data:', data);
|
||||
console.log('Saved filters:', this.savedFilterNames);
|
||||
},
|
||||
error => {
|
||||
console.error('Error fetching filters:', error);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
search(): void {
|
||||
|
@ -303,10 +317,21 @@ export class GroupsComponent implements OnInit {
|
|||
}
|
||||
saveFilters() {
|
||||
const filters = {
|
||||
name: `Filter ${new Date().toISOString()}`,
|
||||
filter1: this.selectedFilter1,
|
||||
filter2: this.selectedFilter2
|
||||
name: this.filterName || `Filter ${new Date().toISOString()}`,
|
||||
favourite: true,
|
||||
filters: {
|
||||
filter1: this.selectedFilter1,
|
||||
filter2: this.selectedFilter2
|
||||
}
|
||||
};
|
||||
|
||||
console.log('Filters:', filters);
|
||||
|
||||
this.http.post('http://127.0.0.1:8080/views', filters).subscribe(response => {
|
||||
console.log('Response from server:', response);
|
||||
}, error => {
|
||||
console.error('Error:', error);
|
||||
});
|
||||
}
|
||||
|
||||
loadSelectedFilter(savedFilter: any) {
|
||||
|
|
|
@ -30,7 +30,6 @@ export class HeaderComponent implements OnInit {
|
|||
this.decodedToken = jwtDecode(token);
|
||||
this.isSuperAdmin = this.decodedToken.roles.includes('ROLE_SUPER_ADMIN');
|
||||
localStorage.setItem('isSuperAdmin', String(this.isSuperAdmin));
|
||||
console.log('isSuperAdmin:', this.isSuperAdmin);
|
||||
this.username = this.decodedToken.username;
|
||||
} catch (error) {
|
||||
console.error('Error decoding JWT:', error);
|
||||
|
|
|
@ -37,3 +37,8 @@ mat-icon {
|
|||
margin-top: auto;
|
||||
}
|
||||
|
||||
@media (max-width: 680px) {
|
||||
mat-nav-list {
|
||||
width: 0px;
|
||||
}
|
||||
}
|
|
@ -23,7 +23,6 @@ export class SidebarComponent {
|
|||
this.decodedToken = jwtDecode(token);
|
||||
this.isSuperAdmin = this.decodedToken.roles.includes('ROLE_SUPER_ADMIN');
|
||||
localStorage.setItem('isSuperAdmin', String(this.isSuperAdmin));
|
||||
console.log('isSuperAdmin:', this.isSuperAdmin);
|
||||
this.username = this.decodedToken.username;
|
||||
} catch (error) {
|
||||
console.error('Error decoding JWT:', error);
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
{
|
||||
"locale": "en",
|
||||
"translations": {
|
||||
"digital-board": "Digital Board",
|
||||
"digital-board": "Digital board",
|
||||
"projector-alt": "Projector",
|
||||
"client-image-alt": "Client",
|
||||
"save-disposition-button": "Save Layout",
|
||||
"save-disposition-button": "Save layout",
|
||||
"client-properties-title": "Client Properties",
|
||||
"property-header": "Property",
|
||||
"value-header": "Value",
|
||||
"power-on-button": "Power On",
|
||||
"power-off-button": "Power Off",
|
||||
"reset-button": "Reset",
|
||||
"other-actions-1": "Other Actions 1",
|
||||
"other-actions-2": "Other Actions 2",
|
||||
"other-actions-3": "Other Actions 3",
|
||||
"other-actions-1": "Other actions 1",
|
||||
"other-actions-2": "Other actions 2",
|
||||
"other-actions-3": "Other actions 3",
|
||||
"close-button": "Close",
|
||||
"add-client-dialog-title": "Add Client",
|
||||
"organizational-unit-label": "Parent",
|
||||
|
@ -35,34 +35,62 @@
|
|||
"add-button": "Add",
|
||||
"edit-client-dialog-title": "Edit Client",
|
||||
"delete-dialog-title": "Delete",
|
||||
"delete-dialog-content": "Do you want to delete the clients located at {$INTERPOLATION} or relocate them to the top level?",
|
||||
"delete-all-clients-button": "Delete All Clients",
|
||||
"delete-dialog-content": "Do you want to delete the clients located in {$INTERPOLATION} or move them to the top level?",
|
||||
"delete-all-clients-button": "Delete all clients",
|
||||
"reposition-clients-button": "Reposition",
|
||||
"deleteDialogTitle": "Delete",
|
||||
"deleteConfirmationMessage": "Are you sure you want to delete {$INTERPOLATION}?",
|
||||
"cancelButton": "Cancel",
|
||||
"confirmButton": "Delete",
|
||||
"titleAdminGroups": "Manage Groups",
|
||||
"btnNewOrgUnit": "New Organizational Unit",
|
||||
"btnNewClient": "New Client",
|
||||
"btnLegend": "Legend",
|
||||
"btnClassroomMap": "Classroom Layout",
|
||||
"lblSearch": "Search",
|
||||
"phSearch": "Search",
|
||||
"hintSearch": "Press 'enter' to search among organizational units",
|
||||
"cardTitleOrgUnit": "Organizational Unit",
|
||||
"menuItemTreeView": "View Org Chart",
|
||||
"menuItemEdit": "Edit",
|
||||
"menuItemViewData": "View Data",
|
||||
"menuItemAddOrgUnit": "Add Organizational Unit",
|
||||
"menuItemAddClient": "Create Client",
|
||||
"cardTitleElements": "Internal Elements",
|
||||
"noElements": "No internal elements",
|
||||
"menuItemEditElement": "Edit",
|
||||
"menuItemViewOrgUnit": "View Data",
|
||||
"menuItemAddInternalOrgUnit": "Add Organizational Unit",
|
||||
"menuItemAddClientToOrgUnit": "Create Client",
|
||||
"menuItemDeleteElement": "Delete Element",
|
||||
"adminGroupsTitle": "Manage Groups",
|
||||
"newOrganizationalUnitButton": "New Organizational Unit",
|
||||
"newClientButton": "New Client",
|
||||
"legendButton": "Legend",
|
||||
"classroomMapButton": "Classroom Layout",
|
||||
"searchLabel": "Search",
|
||||
"searchPlaceholder": "Search",
|
||||
"searchHint": "Press 'enter' to search among organizational units",
|
||||
"organizationalUnitTitle": "Organizational Unit",
|
||||
"viewTreeTooltip": "account_tree",
|
||||
"viewTreeMenu": "View Organization Chart",
|
||||
"editUnitTooltip": "edit",
|
||||
"editUnitMenu": "Edit",
|
||||
"viewUnitTool": "visibility",
|
||||
"viewUnitMenu": "View Details",
|
||||
"addInternalUnitTool": "add_home_work",
|
||||
"addInternalUnitMenu": "Add Organizational Unit",
|
||||
"addClientDevice": "devices",
|
||||
"addClientMenu": "Create Client",
|
||||
"internalElementsTitle": "Internal Elements",
|
||||
"noInternalElementsMessage": "No internal elements",
|
||||
"editElementTooltip": "edit",
|
||||
"editElementMenu": "Edit",
|
||||
"viewUnitTooltip": "visibility",
|
||||
"addInternalUnitTooltip": "add_home_work",
|
||||
"addClientTooltip": "devices",
|
||||
"deleteElementTooltip": "delete",
|
||||
"deleteElementMenu": "Delete Element",
|
||||
"searchTitle": "Search",
|
||||
"selectFilterLabel": "Select filter",
|
||||
"selectOptionLabel": "Select an option",
|
||||
"organizationalUnitsOption": "Organizational Units",
|
||||
"clientsOption": "Clients",
|
||||
"nameLabel": "Name",
|
||||
"namePlaceholder": "Organizational Unit",
|
||||
"unitTypeLabel": "Unit Type",
|
||||
"organizationalUnitOption": "Organizational Unit",
|
||||
"classroomsGroupOption": "Classroom Groups",
|
||||
"classroomOption": "Classrooms",
|
||||
"clientGroupOption": "Client Groups",
|
||||
"selectAnotherOptionLabel": "Select another option",
|
||||
"noneOption": "None",
|
||||
"option1": "Option 1",
|
||||
"option2": "Option 2",
|
||||
"option3": "Option 3",
|
||||
"saveFiltersButton": "Save Filters",
|
||||
"internalUnits": "Internal Units: {$INTERPOLATION}",
|
||||
"clients": "Clients: {$INTERPOLATION}",
|
||||
"noResultsMessage": "No results to display.",
|
||||
"orgUnitTitle": "Organizational Unit",
|
||||
"classroomGroupsTitle": "Classroom Groups",
|
||||
"classroomTitle": "Classroom",
|
||||
|
@ -71,7 +99,6 @@
|
|||
"addOrgUnitTitle": "Add Organizational Unit",
|
||||
"generalStepLabel": "General",
|
||||
"typeLabel": "Type",
|
||||
"nameLabel": "Name",
|
||||
"createOrgUnitparentLabel": "Parent Organizational Unit",
|
||||
"noParentOption": "--",
|
||||
"descriptionLabel": "Description",
|
||||
|
@ -110,9 +137,9 @@
|
|||
"2366056895545879062": "Power On",
|
||||
"7368908909686115507": "Power Off",
|
||||
"7760171369336053154": "Reset",
|
||||
"6799187990933478083": "Other Actions 1",
|
||||
"8971534271481971645": "Other Actions 2",
|
||||
"3300614831699539964": "Other Actions 3",
|
||||
"6799187990933478083": "Other actions 1",
|
||||
"8971534271481971645": "Other actions 2",
|
||||
"3300614831699539964": "Other actions 3",
|
||||
"viewTreeTitle": "View Organizational Unit Tree",
|
||||
"closeButton": "Close",
|
||||
"webConsoleTitle": "Opengnsys Web Console",
|
||||
|
@ -139,12 +166,12 @@
|
|||
"dialogTitleAddRole": "Add Role (TBD)",
|
||||
"labelRoleName": "Name",
|
||||
"sectionTitlePermissions": "Permissions:",
|
||||
"checkboxManageUsers": "Manage Users",
|
||||
"checkboxManageUsers": "Manage users",
|
||||
"checkboxPXEConfig": "PXE Configuration",
|
||||
"checkboxConsoleImages": "Web Console Images",
|
||||
"checkboxManageComponents": "Manage Components",
|
||||
"checkboxCreateImages": "Create Images",
|
||||
"checkboxServerConfigScript": "Server Configuration Script",
|
||||
"checkboxManageComponents": "Manage various components",
|
||||
"checkboxCreateImages": "Create images",
|
||||
"checkboxServerConfigScript": "Server configuration script",
|
||||
"checkboxOther": "...",
|
||||
"buttonCancel": "Cancel",
|
||||
"buttonAdd": "Add",
|
||||
|
@ -177,4 +204,4 @@
|
|||
"buttonEditUser": "Edit",
|
||||
"buttonDeleteUser": "Delete"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,194 +1,207 @@
|
|||
{
|
||||
"locale": "en",
|
||||
"locale": "es",
|
||||
"translations": {
|
||||
"digital-board": "Digital board",
|
||||
"projector-alt": "Projector",
|
||||
"digital-board": "Pizarra digital",
|
||||
"projector-alt": "Proyector",
|
||||
"client-image-alt": "Client",
|
||||
"save-disposition-button": "Save disposition",
|
||||
"client-properties-title": "Client properties",
|
||||
"property-header": "Property",
|
||||
"value-header": "Value",
|
||||
"power-on-button": "Power on",
|
||||
"power-off-button": "Power off",
|
||||
"reset-button": "Reset",
|
||||
"other-actions-1": "Other actions 1",
|
||||
"other-actions-2": "Other actions 2",
|
||||
"other-actions-3": "Other actions 3",
|
||||
"close-button": "Close",
|
||||
"add-client-dialog-title": "Add Client",
|
||||
"organizational-unit-label": "Parent",
|
||||
"name-label": "Name",
|
||||
"serial-number-label": "Serial Number",
|
||||
"netiface-label": "Network Interface",
|
||||
"net-driver-label": "Network Driver",
|
||||
"save-disposition-button": "Guardar disposición",
|
||||
"client-properties-title": "Propiedades cliente",
|
||||
"property-header": "Propiedad",
|
||||
"value-header": "Valor",
|
||||
"power-on-button": "Encender",
|
||||
"power-off-button": "Apagar",
|
||||
"reset-button": "Resetear",
|
||||
"other-actions-1": "Otras acciones 1",
|
||||
"other-actions-2": "Otras acciones 2",
|
||||
"other-actions-3": "Otras acciones 3",
|
||||
"close-button": "Cerrar",
|
||||
"add-client-dialog-title": "Añadir Cliente",
|
||||
"organizational-unit-label": "Padre",
|
||||
"name-label": "Nombre",
|
||||
"serial-number-label": "Número de Serie",
|
||||
"netiface-label": "Interfaz de red",
|
||||
"net-driver-label": "Controlador de red",
|
||||
"mac-label": "MAC",
|
||||
"mac-hint": "Example: 00:11:22:33:44:55",
|
||||
"mac-error": "Invalid MAC format. Valid example: 00:11:22:33:44:55",
|
||||
"ip-label": "IP Address",
|
||||
"ip-hint": "Example: 127.0.0.1",
|
||||
"ip-error": "Invalid IP address format. Valid example: 127.0.0.1",
|
||||
"menu-url-label": "Menu URL",
|
||||
"menu-url-error": "Invalid URL format.",
|
||||
"hardware-profile-label": "Hardware Profile",
|
||||
"hardware-profile-error": "Invalid URL format.",
|
||||
"cancel-button": "Cancel",
|
||||
"add-button": "Add",
|
||||
"edit-client-dialog-title": "Edit Client",
|
||||
"delete-dialog-title": "Delete",
|
||||
"delete-dialog-content": "Do you want to delete the clients located at {$INTERPOLATION} or reposition them at the upper level?",
|
||||
"delete-all-clients-button": "Delete all clients",
|
||||
"reposition-clients-button": "Reposition",
|
||||
"deleteDialogTitle": "Delete",
|
||||
"deleteConfirmationMessage": "Are you sure you want to delete {$INTERPOLATION}?",
|
||||
"cancelButton": "Cancel",
|
||||
"confirmButton": "Delete",
|
||||
"tabGeneralLabel": "General",
|
||||
"headerAdminGroups": "Manage groups",
|
||||
"buttonNewOU": "New Organizational Unit",
|
||||
"buttonNewClient": "New Client",
|
||||
"buttonLegend": "Legend",
|
||||
"buttonRoomMap": "Classroom layout",
|
||||
"labelSearch": "Search",
|
||||
"placeholderSearch": "Search",
|
||||
"hintSearch": "Press 'enter' to search among organizational units",
|
||||
"cardTitleOU": "Organizational Unit",
|
||||
"tooltipViewTree": "View as tree",
|
||||
"menuItemViewTree": "View organizational chart",
|
||||
"tooltipEditOU": "Edit organizational unit",
|
||||
"menuItemEditOU": "Edit",
|
||||
"tooltipViewOU": "View organizational unit",
|
||||
"menuItemViewOU": "View data",
|
||||
"tooltipAddOU": "Create internal organizational unit",
|
||||
"menuItemAddOU": "Add organizational unit",
|
||||
"tooltipAddClient": "Create client in this organizational unit",
|
||||
"menuItemAddClient": "Create client",
|
||||
"cardTitleInternalElements": "Internal Elements",
|
||||
"emptyListNoInternalElements": "No internal elements",
|
||||
"tooltipEditElement": "Edit element",
|
||||
"menuItemEditElement": "Edit",
|
||||
"tooltipViewOUElement": "View organizational unit",
|
||||
"menuItemViewOUElement": "View data",
|
||||
"tooltipAddOUElement": "Create internal organizational unit",
|
||||
"menuItemAddOUElement": "Add organizational unit",
|
||||
"tooltipAddClientElement": "Create client in this organizational unit",
|
||||
"menuItemAddClientElement": "Create client",
|
||||
"tooltipDeleteElement": "Delete element",
|
||||
"menuItemDeleteElement": "Delete element",
|
||||
"tabAdvancedSearchLabel": "Advanced Search",
|
||||
"headerSearch": "Search",
|
||||
"labelSelectFilter": "Select filter",
|
||||
"orgUnitTitle": "Organizational Unit",
|
||||
"classroomGroupsTitle": "Classroom Groups",
|
||||
"classroomTitle": "Classroom",
|
||||
"clientGroupsTitle": "Client Groups",
|
||||
"clientTitle": "Client",
|
||||
"addOrgUnitTitle": "Add Organizational Unit",
|
||||
"mac-hint": "Ejemplo: 00:11:22:33:44:55",
|
||||
"mac-error": "Formato de MAC inválido. Ejemplo válido: 00:11:22:33:44:55",
|
||||
"ip-label": "Dirección IP",
|
||||
"ip-hint": "Ejemplo: 127.0.0.1",
|
||||
"ip-error": "Formato de dirección IP inválido. Ejemplo válido: 127.0.0.1",
|
||||
"menu-url-label": "Menú URL",
|
||||
"menu-url-error": "Formato de URL inválido.",
|
||||
"hardware-profile-label": "Perfil de Hardware",
|
||||
"hardware-profile-error": "Formato de URL inválido.",
|
||||
"cancel-button": "Cancelar",
|
||||
"add-button": "Añadir",
|
||||
"edit-client-dialog-title": "Editar Cliente",
|
||||
"delete-dialog-title": "Eliminar",
|
||||
"delete-dialog-content": "¿Quiere borrar los clientes situados en {$INTERPOLATION} o quiere resituarlos en el nivel superior?",
|
||||
"delete-all-clients-button": "Borrar todos los clientes",
|
||||
"reposition-clients-button": "Resituar",
|
||||
"deleteDialogTitle": "Eliminar",
|
||||
"deleteConfirmationMessage": "¿Estás seguro que deseas eliminar {$INTERPOLATION}?",
|
||||
"cancelButton": "Cancelar",
|
||||
"confirmButton": "Eliminar",
|
||||
"adminGroupsTitle": "Administrar grupos",
|
||||
"newOrganizationalUnitButton": "Nueva Unidad Organizativa",
|
||||
"newClientButton": "Nuevo Cliente",
|
||||
"legendButton": "Leyenda",
|
||||
"classroomMapButton": "Plano de aula",
|
||||
"searchLabel": "Búsqueda",
|
||||
"searchPlaceholder": "Búsqueda",
|
||||
"searchHint": "Pulsar 'enter' para buscar entre las unidades organizativas",
|
||||
"organizationalUnitTitle": "Unidad organizativa",
|
||||
"viewTreeTooltip": "account_tree ",
|
||||
"viewTreeMenu": "Ver organigrama",
|
||||
"editUnitTooltip": "edit ",
|
||||
"editUnitMenu": "Editar",
|
||||
"viewUnitTool": "visibility ",
|
||||
"viewUnitMenu": "Visualizar datos",
|
||||
"addInternalUnitTool": "add_home_work ",
|
||||
"addInternalUnitMenu": "Añadir unidad organizativa",
|
||||
"addClientDevice": "devices ",
|
||||
"addClientMenu": "Crear cliente",
|
||||
"internalElementsTitle": "Elementos internos",
|
||||
"noInternalElementsMessage": "No hay elementos internos",
|
||||
"editElementTooltip": "edit",
|
||||
"editElementMenu": "Editar",
|
||||
"viewUnitTooltip": "visibility",
|
||||
"addInternalUnitTooltip": "add_home_work",
|
||||
"addClientTooltip": "devices",
|
||||
"deleteElementTooltip": "delete",
|
||||
"deleteElementMenu": "Borrar elemento",
|
||||
"searchTitle": "Búsqueda",
|
||||
"selectFilterLabel": "Seleccione filtro",
|
||||
"selectOptionLabel": "Selecciona una opción",
|
||||
"organizationalUnitsOption": "Unidades organizativas",
|
||||
"clientsOption": "Clientes",
|
||||
"nameLabel": "Nombre",
|
||||
"namePlaceholder": "Unidad organizativa",
|
||||
"unitTypeLabel": "Tipo de unidad",
|
||||
"organizationalUnitOption": "Unidad organizativa",
|
||||
"classroomsGroupOption": "Grupos de aulas",
|
||||
"classroomOption": "Aulas",
|
||||
"clientGroupOption": "Grupos de clientes",
|
||||
"selectAnotherOptionLabel": "Selecciona otra opción",
|
||||
"noneOption": "Ninguno",
|
||||
"option1": "Opción 1",
|
||||
"option2": "Opción 2",
|
||||
"option3": "Opción 3",
|
||||
"saveFiltersButton": "Guardar Filtros",
|
||||
"internalUnits": "Unidades internas: {$INTERPOLATION}",
|
||||
"clients": "Clientes: {$INTERPOLATION}",
|
||||
"noResultsMessage": "No hay resultados para mostrar.",
|
||||
"orgUnitTitle": "Unidad organizativa",
|
||||
"classroomGroupsTitle": "Grupos de aula",
|
||||
"classroomTitle": "Aula",
|
||||
"clientGroupsTitle": "Grupos de clientes",
|
||||
"clientTitle": "Cliente",
|
||||
"addOrgUnitTitle": "Añadir Unidad Organizativa",
|
||||
"generalStepLabel": "General",
|
||||
"typeLabel": "Type",
|
||||
"nameLabel": "Name",
|
||||
"createOrgUnitparentLabel": "Parent Organizational Unit",
|
||||
"typeLabel": "Tipo",
|
||||
"createOrgUnitparentLabel": "Unidad organizativa padre",
|
||||
"noParentOption": "--",
|
||||
"descriptionLabel": "Description",
|
||||
"nextButton": "Next",
|
||||
"classroomInfoStepLabel": "Classroom Information",
|
||||
"locationLabel": "Location",
|
||||
"projectorToggle": "Projector",
|
||||
"boardToggle": "Board",
|
||||
"capacityLabel": "Capacity",
|
||||
"backButton": "Back",
|
||||
"additionalInfoStepLabel": "Additional Information",
|
||||
"commentsLabel": "Comments",
|
||||
"networkSettingsStepLabel": "Network Settings",
|
||||
"proxyUrlLabel": "Proxy Server URL",
|
||||
"dnsIpLabel": "DNS Server IP",
|
||||
"netmaskLabel": "Netmask",
|
||||
"descriptionLabel": "Descripción",
|
||||
"nextButton": "Siguiente",
|
||||
"classroomInfoStepLabel": "Información del Aula",
|
||||
"locationLabel": "Ubicación",
|
||||
"projectorToggle": "Proyector",
|
||||
"boardToggle": "Pizarra",
|
||||
"capacityLabel": "Aforo",
|
||||
"backButton": "Atrás",
|
||||
"additionalInfoStepLabel": "Información Adicional",
|
||||
"commentsLabel": "Comentarios",
|
||||
"networkSettingsStepLabel": "Configuración de Red",
|
||||
"proxyUrlLabel": "Url servidor Proxy",
|
||||
"dnsIpLabel": "IP servidor DNS",
|
||||
"netmaskLabel": "Máscara de Red",
|
||||
"routerLabel": "Router",
|
||||
"ntpIpLabel": "NTP Server IP",
|
||||
"p2pModeLabel": "P2P Mode",
|
||||
"p2pTimeLabel": "P2P Time",
|
||||
"mcastIpLabel": "Multicast IP",
|
||||
"mcastSpeedLabel": "Multicast Speed",
|
||||
"mcastPortLabel": "Multicast Port",
|
||||
"mcastModeLabel": "Multicast Mode",
|
||||
"menuUrlLabel": "Menu URL",
|
||||
"hardwareProfileLabel": "Hardware Profile",
|
||||
"urlFormatError": "Invalid URL format.",
|
||||
"submitButton": "Add",
|
||||
"editOrgUnitTitle": "Edit Organizational Unit",
|
||||
"editOrgUnitParentLabel": "Parent",
|
||||
"validationToggle": "Validation",
|
||||
"orgUnitPropertiesTitle": "Organizational Unit Properties",
|
||||
"generalDataTab": "General Data",
|
||||
"classroomNetworkPropertiesTab": "Classroom and Network Properties",
|
||||
"actionsTab": "Actions",
|
||||
"2366056895545879062": "Power on",
|
||||
"7368908909686115507": "Power off",
|
||||
"7760171369336053154": "Reset",
|
||||
"6799187990933478083": "Other actions 1",
|
||||
"8971534271481971645": "Other actions 2",
|
||||
"3300614831699539964": "Other actions 3",
|
||||
"viewTreeTitle": "View Organizational Unit Tree",
|
||||
"closeButton": "Close",
|
||||
"ntpIpLabel": "IP servidor NTP",
|
||||
"p2pModeLabel": "Modo P2P",
|
||||
"p2pTimeLabel": "Tiempo P2P",
|
||||
"mcastIpLabel": "IP Multicast",
|
||||
"mcastSpeedLabel": "Velocidad Multicast",
|
||||
"mcastPortLabel": "Puerto Multicast",
|
||||
"mcastModeLabel": "Modo Multicast",
|
||||
"menuUrlLabel": "Menú URL",
|
||||
"hardwareProfileLabel": "Perfil de Hardware",
|
||||
"urlFormatError": "Formato de URL inválido.",
|
||||
"submitButton": "Añadir",
|
||||
"editOrgUnitTitle": "Editar Unidad Organizativa",
|
||||
"editOrgUnitParentLabel": "Padre",
|
||||
"validationToggle": "Validación",
|
||||
"orgUnitPropertiesTitle": "Propiedades unidad organizativa",
|
||||
"generalDataTab": "Datos generales",
|
||||
"classroomNetworkPropertiesTab": "Propiedades aula y de red",
|
||||
"actionsTab": "Acciones",
|
||||
"2366056895545879062": "Encender",
|
||||
"7368908909686115507": "Apagar",
|
||||
"7760171369336053154": "Resetear",
|
||||
"6799187990933478083": "Otras acciones 1",
|
||||
"8971534271481971645": "Otras acciones 2",
|
||||
"3300614831699539964": "Otras acciones 3",
|
||||
"viewTreeTitle": "Visualizar árbol unidad Organizativa",
|
||||
"closeButton": "Cerrar",
|
||||
"webConsoleTitle": "Opengnsys webconsole",
|
||||
"admin": "Administration",
|
||||
"editUser": "Edit user",
|
||||
"usersMenuItem": "Users",
|
||||
"admin": "Administración",
|
||||
"editUser": "Editar usuario",
|
||||
"usersMenuItem": "Usuarios",
|
||||
"rolesMenuItem": "Roles",
|
||||
"logout": "Logout",
|
||||
"welcomeUser": "Welcome {$INTERPOLATION}",
|
||||
"groups": "Groups",
|
||||
"actions": "Actions",
|
||||
"images": "Images",
|
||||
"components": "Components",
|
||||
"repositories": "Repositories",
|
||||
"menus": "Menus",
|
||||
"search": "Search",
|
||||
"calendars": "Calendars",
|
||||
"logout": "Salir",
|
||||
"welcomeUser": "Bienvenido {$INTERPOLATION}",
|
||||
"groups": "Grupos",
|
||||
"actions": "Acciones",
|
||||
"images": "Imágenes",
|
||||
"components": "Componentes",
|
||||
"repositories": "Repositorios",
|
||||
"menus": "Menús",
|
||||
"search": "Buscar",
|
||||
"calendars": "Calendarios",
|
||||
"headerOpengnsys": "Opengnsys",
|
||||
"loginlabelUsername": "Enter your username",
|
||||
"loginlabelPassword": "Enter your password",
|
||||
"buttonLogin": "Log in",
|
||||
"labelUsers": "Users",
|
||||
"loginlabelUsername": "Introduce tu usuario",
|
||||
"loginlabelPassword": "Introduce tu contraseña",
|
||||
"buttonLogin": "Iniciar sesión",
|
||||
"labelUsers": "Usuarios",
|
||||
"labelRoles": "Roles",
|
||||
"dialogTitleAddRole": "Add Role (TBD)",
|
||||
"labelRoleName": "Name",
|
||||
"sectionTitlePermissions": "Permissions:",
|
||||
"checkboxManageUsers": "Manage users",
|
||||
"checkboxPXEConfig": "PXE Configuration",
|
||||
"checkboxConsoleImages": "Web console images",
|
||||
"checkboxManageComponents": "Manage components",
|
||||
"checkboxCreateImages": "Create images",
|
||||
"checkboxServerConfigScript": "Server configuration script",
|
||||
"dialogTitleAddRole": "Añadir Rol (TBD)",
|
||||
"labelRoleName": "Nombre",
|
||||
"sectionTitlePermissions": "Permisos:",
|
||||
"checkboxManageUsers": "Gestionar los usuarios",
|
||||
"checkboxPXEConfig": "Configuración PXE",
|
||||
"checkboxConsoleImages": "Imágenes de la consola web",
|
||||
"checkboxManageComponents": "Gestionar los distintos componentes",
|
||||
"checkboxCreateImages": "Crear imágenes",
|
||||
"checkboxServerConfigScript": "script de configuración del servidor",
|
||||
"checkboxOther": "...",
|
||||
"buttonCancel": "Cancel",
|
||||
"buttonAdd": "Add",
|
||||
"dialogTitleDeleteRole": "Delete Role",
|
||||
"dialogContentDeleteRole": "Are you sure you want to delete the role {$INTERPOLATION}?",
|
||||
"buttonDelete": "Delete",
|
||||
"headerRoleManagement": "Role management",
|
||||
"buttonAddRole": "+ Add",
|
||||
"headerActions": "Actions",
|
||||
"dialogTitleAddUser": "Add User",
|
||||
"addUserlabelUsername": "Username",
|
||||
"addUserlabelPassword": "Password",
|
||||
"labelRole": "Role",
|
||||
"labelOrganizationalUnit": "Organizational Unit",
|
||||
"dialogTitleEditUser": "Edit User",
|
||||
"labelCurrentPassword": "Current password",
|
||||
"labelNewPassword": "New password",
|
||||
"labelRepeatPassword": "Repeat password",
|
||||
"errorPasswordMismatch": " Passwords do not match ",
|
||||
"buttonCancel": "Cancelar",
|
||||
"buttonAdd": "Añadir",
|
||||
"dialogTitleDeleteRole": "Eliminar Rol",
|
||||
"dialogContentDeleteRole": "¿Estás seguro que deseas eliminar el rol {$INTERPOLATION}?",
|
||||
"buttonDelete": "Eliminar",
|
||||
"headerRoleManagement": "Gestión de roles",
|
||||
"buttonAddRole": "+ Añadir",
|
||||
"headerActions": "Acciones",
|
||||
"dialogTitleAddUser": "Añadir Usuario",
|
||||
"addUserlabelUsername": "Nombre de usuario",
|
||||
"addUserlabelPassword": "Contraseña",
|
||||
"labelRole": "Rol",
|
||||
"labelOrganizationalUnit": "Unidad organiativa",
|
||||
"dialogTitleEditUser": "Editar Usuario",
|
||||
"labelCurrentPassword": "Contraseña actual",
|
||||
"labelNewPassword": "Nueva contraseña",
|
||||
"labelRepeatPassword": "Repite la contraseña",
|
||||
"errorPasswordMismatch": " Las contraseñas no coinciden ",
|
||||
"errorUpdate": " {$INTERPOLATION} ",
|
||||
"buttonEdit": "Edit",
|
||||
"dialogTitleDeleteUser": "Delete User",
|
||||
"dialogContentDeleteUser": "Are you sure you want to delete {$INTERPOLATION}?",
|
||||
"editUserlabelUsername": "Username",
|
||||
"editUserlabelPassword": "Password",
|
||||
"labelOrgUnit": "Organizational Unit",
|
||||
"headerUserManagement": "User management",
|
||||
"buttonAddUser": "+ Add",
|
||||
"columnActions": "Actions",
|
||||
"buttonEditUser": "Edit",
|
||||
"buttonDeleteUser": "Delete"
|
||||
"buttonEdit": "Editar",
|
||||
"dialogTitleDeleteUser": "Eliminar Usuario",
|
||||
"dialogContentDeleteUser": "¿Estás seguro que deseas eliminar a {$INTERPOLATION}?",
|
||||
"editUserlabelUsername": "Nombre de usuario",
|
||||
"editUserlabelPassword": "Contraseña",
|
||||
"labelOrgUnit": "Unidad organizativa",
|
||||
"headerUserManagement": "Gestión de usuarios",
|
||||
"buttonAddUser": "+ Añadir",
|
||||
"columnActions": "Acciones",
|
||||
"buttonEditUser": "Editar",
|
||||
"buttonDeleteUser": "Eliminar"
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue