Skip to content

Commit

Permalink
Merge pull request #15 from udistrital/feature/Ajustes_estilos_metadata
Browse files Browse the repository at this point in the history
feat: Se agrega el boton de acciones, se integra la metadata en la consulta y se reemplaza el componente que maneja el modal por un servicio.
  • Loading branch information
edwargl7 authored Sep 16, 2024
2 parents 320f2eb + 9e3555b commit 687a72d
Show file tree
Hide file tree
Showing 12 changed files with 105 additions and 166 deletions.
Original file line number Diff line number Diff line change
@@ -1,16 +1,9 @@
import { Usuario } from './../../gestion-roles/utils/gestion-usuarios.models';
import { AutenticacionService } from './../../../services/autenticacion.service';
import {
Component,
ElementRef,
ViewChild,
ChangeDetectorRef,
} from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import {Component,ElementRef,ViewChild,ChangeDetectorRef,} from '@angular/core';

import { HistoricoUsuariosMidService } from 'src/app/services/historico-usuarios-mid.service';
import { TercerosService } from 'src/app/services/terceros.service';
import { UsuarioNoEncontradoComponent } from '../usuario-no-encontrado/usuario-no-encontrado.component';
import { ModalService } from 'src/app/services/modal.service';
import { ActivatedRoute } from '@angular/router';
import { ImplicitAutenticationService } from 'src/app/services/implicit-autentication.service';

Expand Down Expand Up @@ -48,10 +41,10 @@ export class ActualizarUsuarioComponent {
private historico_service: HistoricoUsuariosMidService,
private terceros_service: TercerosService,
private autenticacionService: AutenticacionService,
private dialog: MatDialog,
private route: ActivatedRoute,
private cdr: ChangeDetectorRef,
private authService: ImplicitAutenticationService
private changeDetector: ChangeDetectorRef,
private authService: ImplicitAutenticationService,
private modalService: ModalService
) {}

ngAfterViewInit(): void {
Expand All @@ -61,18 +54,21 @@ export class ActualizarUsuarioComponent {
if (documento && id_periodo) {
this.documentoInput.nativeElement.value = documento;
this.BuscarDocumento(documento, id_periodo);
this.cdr.detectChanges();
this.changeDetector.detectChanges();
}
});

this.authService.getRole().then(roles => {
this.permisoEdicion = this.authService.PermisoEdicion(roles);
console.log('Permiso de edición:', this.permisoEdicion);
this.permisoConsulta = this.authService.PermisoConsulta(roles);
console.log('Permiso de consulta:', this.permisoConsulta);
}).catch(error => {
console.error('Error al obtener los roles del usuario:', error);
});
this.authService
.getRole()
.then((roles) => {
this.permisoEdicion = this.authService.PermisoEdicion(roles);
console.log('Permiso de edición:', this.permisoEdicion);
this.permisoConsulta = this.authService.PermisoConsulta(roles);
console.log('Permiso de consulta:', this.permisoConsulta);
})
.catch((error) => {
console.error('Error al obtener los roles del usuario:', error);
});
}

BuscarTercero(documento: string) {
Expand All @@ -88,22 +84,22 @@ export class ActualizarUsuarioComponent {
data[0].Tercero.NombreCompleto
) {
this.nombreCompleto = data[0].Tercero.NombreCompleto;
this.cdr.detectChanges();
this.changeDetector.detectChanges();
} else {
this.usuarioNoExisteModal('Usuario no encontrado.');
this.modalService.mostrarModal('Usuario no encontrado.','warning','error');
}
this.loading = false;
},
error: (err: any) => {
this.usuarioNoExisteModal('Error al buscar usuario.');
this.modalService.mostrarModal('Error al buscar usuario.','warning','error');
this.loading = false;
},
});
}

BuscarDocumento(documento: string, idPeriodo: number) {
if (!documento) {
this.usuarioNoExisteModal('Por favor, ingresa un documento válido.');
this.modalService.mostrarModal('Por favor, ingresa un documento válido.', 'warning','error' );
return;
}
this.loading = true;
Expand All @@ -117,17 +113,16 @@ export class ActualizarUsuarioComponent {
this.identificacion = data.documento;
this.emailInput.nativeElement.value = data.email;
this.BuscarTercero(this.identificacion);

this.cdr.detectChanges();
this.changeDetector.detectChanges();
this.InfoPeriodo(idPeriodo);
} else {
this.usuarioNoExisteModal('Usuario no encontrado.');
this.modalService.mostrarModal('Usuario no encontrado.','warning','error');
}
this.loading = false
this.loading = false;
},
error: (err: any) => {
this.usuarioNoExisteModal('Error al buscar el documento.');
this.loading = false
this.modalService.mostrarModal('Error al buscar el documento.','warning','error');
this.loading = false;
},
});
}
Expand All @@ -148,9 +143,9 @@ export class ActualizarUsuarioComponent {
},
error: (err: any) => {
console.error('Error al cargar el periodo:', err);
this.usuarioNoExisteModal('Error al cargar el periodo.')
this.modalService.mostrarModal('Error al cargar el periodo.','warning','error');
this.loading = false;
}
},
});
}

Expand Down Expand Up @@ -179,17 +174,18 @@ export class ActualizarUsuarioComponent {
next: (response: any) => {
console.log('Periodo actualizado:', response);
this.loading = false;
this.modalService.mostrarModal('Periodo actualizado exitosamente.','success','Actualizado');
},
error: (err: any) => {
console.error('Error al actualizar periodo:', err);
this.usuarioNoExisteModal('Error al actualizar el periodo.');
this.modalService.mostrarModal('Error al actualizar el periodo.','warning','error');
this.loading = false;
},
});
},
error: (err: any) => {
console.error('Error al eliminar rol:', err);
this.usuarioNoExisteModal('Error al eliminar el rol.');
this.modalService.mostrarModal('Error al eliminar el rol.','warning','error');
this.loading = false;
},
});
Expand All @@ -198,12 +194,5 @@ export class ActualizarUsuarioComponent {
}
}

usuarioNoExisteModal(mensaje:string): void {
this.dialog.open(UsuarioNoEncontradoComponent, {
width: '400px',
data: { mensaje: mensaje }
});
}

estados = ['Finalizado'];
}
Original file line number Diff line number Diff line change
Expand Up @@ -131,12 +131,17 @@
<ng-container matColumnDef="acciones">
<mat-header-cell *matHeaderCellDef>Acciones</mat-header-cell>
<mat-cell *matCellDef="let element">
<button mat-icon-button color="primary" *ngIf="permisoEdicion" (click)="edit(element.documento, element.id_periodo)">
<mat-icon>edit</mat-icon>
</button>
<button mat-icon-button color="warn" *ngIf="permisoEdicion" (click)="delete(element)">
<mat-icon>delete</mat-icon>
</button>
<button mat-icon-button [matMenuTriggerFor]= "menu">
<mat-icon>more_vert</mat-icon>
</button>
<mat-menu #menu="matMenu">
<button mat-menu-item *ngIf="permisoEdicion" (click)="edit(element.documento, element.id_periodo)">
<mat-icon color="primary" >edit</mat-icon>Editar</button>
<button mat-menu-item *ngIf="permisoEdicion" (click)="delete(element)">
<mat-icon color="warn">delete</mat-icon>
<span>Eliminar</span>
</button>
</mat-menu>
</mat-cell>
<mat-footer-cell *matFooterCellDef> </mat-footer-cell>
</ng-container>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,8 @@ import { AutenticacionService } from 'src/app/services/autenticacion.service';
import { TercerosService } from 'src/app/services/terceros.service';
import { HistoricoUsuariosMidService } from 'src/app/services/historico-usuarios-mid.service';
import { environment } from 'src/environments/environment';
import { ModalService } from 'src/app/services/modal.service';

import { UsuarioNoEncontradoComponent } from '../usuario-no-encontrado/usuario-no-encontrado.component';
import { MatDialog } from '@angular/material/dialog';
import { Router } from '@angular/router';
import { ImplicitAutenticationService } from 'src/app/services/implicit-autentication.service';

Expand All @@ -28,6 +27,7 @@ interface ApiResponse {
Success: boolean;
Status: number;
Message: string;
Metadata: any;
Data: UserData[];
}

Expand Down Expand Up @@ -68,10 +68,10 @@ export class UsuariosComponent implements OnInit {
private terceros_service: TercerosService,
private autenticacionService: AutenticacionService,
private historico_service: HistoricoUsuariosMidService,
private dialog: MatDialog,
private router: Router,
private cdr: ChangeDetectorRef,
private authService: ImplicitAutenticationService
private changeDetector: ChangeDetectorRef,
private authService: ImplicitAutenticationService,
private modalService: ModalService
) {}

ngOnInit() {
Expand Down Expand Up @@ -140,26 +140,24 @@ export class UsuariosComponent implements OnInit {
this.loading = false;
if (response.Success && response.Data && response.Data.length > 0) {
this.dataSource.data = response.Data;
this.total = 7;
this.cdr.detectChanges();
console.log('data:', response.Data);
this.total = response.Metadata.Count;
this.changeDetector.detectChanges();
} else {
this.loading = false;
this.usuarioNoExisteModal('No se encontraron periodos.');
this.modalService.mostrarModal('No se encontraron periodos.', 'warning','error');
}
},
error: (err: any) => {
this.usuarioNoExisteModal(
'Ocurrió un error al intentar obtener los periodos. Inténtalo nuevamente.'
this.modalService.mostrarModal(
'Ocurrió un error al intentar obtener los periodos. Inténtalo nuevamente.', 'warning','error'
);
},
});
}

BuscarDocumento(documento: string, limit: number, offset: number) {
if (!documento) {
this.usuarioNoExisteModal('Por favor, ingresa un documento válido.');
console.log('no hay documento:');
this.modalService.mostrarModal('Por favor, ingresa un documento válido.', 'warning', 'error');
return;
}
this.loading = true;
Expand All @@ -173,26 +171,25 @@ export class UsuariosComponent implements OnInit {
this.loading = false;
if (response.Success && response.Data && response.Data.length > 0) {
this.dataSource.data = response.Data;
this.total = 3;
this.cdr.detectChanges();
console.log('data:', response.Data);
this.total = response.Metadata.Count;
this.changeDetector.detectChanges();
} else {
this.usuarioNoExisteModal(
`No se encontraron periodos para el documento ingresado.`
this.modalService.mostrarModal(
`No se encontraron periodos para el documento ingresado.`, 'warning','error'
);
}
},
error: (err: any) => {
this.loading = false;
this.usuarioNoExisteModal(
`Ocurrió un error al buscar el documento ingresado. Inténtalo nuevamente.`
this.modalService.mostrarModal(
`Ocurrió un error al buscar el documento ingresado. Inténtalo nuevamente.`, 'warning','error'
);
},
});
}
// BuscarCorreo(correo: string) {
// if (!correo) {
// this.usuarioNoExisteModal();
// this.modalService.mostrarModal('Por favor, ingresa un documento válido.', 'warning', 'error');
// return;
// }

Expand All @@ -204,11 +201,11 @@ export class UsuariosComponent implements OnInit {
// this.BuscarTercero(this.identificacion);
// this.documentoInput.nativeElement.value = this.identificacion;
// } else {
// this.usuarioNoExisteModal();
// this.modalService.mostrarModal();
// }
// },
// error: (err: any) => {
// this.usuarioNoExisteModal();
// this.modalService.mostrarModal();
// },
// });
// }
Expand Down Expand Up @@ -258,14 +255,6 @@ export class UsuariosComponent implements OnInit {
return currentFilter.state || '';
}

usuarioNoExisteModal(mensaje: string): void {
console.log('Mostrando modal con mensaje:', mensaje);
this.dialog.open(UsuarioNoEncontradoComponent, {
width: '400px',
data: { mensaje: mensaje },
});
}

// customFilterPredicate() {
// return (data: UserData, filter: string): boolean => {
// const filterObj = JSON.parse(filter);
Expand Down
4 changes: 2 additions & 2 deletions src/app/modules/gestion-usuarios/gestion-usuarios.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import { MatInputModule } from '@angular/material/input';
import { MatSelectModule } from '@angular/material/select';
import { MatButtonModule } from '@angular/material/button';
import { MatIconModule } from '@angular/material/icon';
import { MatMenuModule } from '@angular/material/menu';
import { MatDatepickerModule} from '@angular/material/datepicker';
import { MatNativeDateModule } from '@angular/material/core';
import { NgFor } from '@angular/common';
Expand All @@ -22,7 +23,6 @@ import { ActualizarUsuarioComponent } from './actualizar-usuario/actualizar-usua
import { UsuariosComponent } from './consulta-usuarios/consulta-usuarios.component';
import { HistoricoUsuariosMidService } from 'src/app/services/historico-usuarios-mid.service';
import { TercerosService } from 'src/app/services/terceros.service';
import { UsuarioNoEncontradoComponent } from './usuario-no-encontrado/usuario-no-encontrado.component';
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
import { MatPaginatorModule } from '@angular/material/paginator';

Expand All @@ -31,7 +31,6 @@ import { MatPaginatorModule } from '@angular/material/paginator';
declarations: [
RegistrarUsuarioComponent,
ActualizarUsuarioComponent,
UsuarioNoEncontradoComponent,
UsuariosComponent,
],
imports: [
Expand All @@ -45,6 +44,7 @@ import { MatPaginatorModule } from '@angular/material/paginator';
MatSelectModule,
MatButtonModule,
MatIconModule,
MatMenuModule,
MatDatepickerModule,
MatNativeDateModule,
NgFor,
Expand Down
Loading

0 comments on commit 687a72d

Please sign in to comment.