Skip to content

Commit

Permalink
feat: Se agrega el boton de acciones, se integra la metadata en la co…
Browse files Browse the repository at this point in the history
…nsulta, se reemplaza el componente que maneja el modal por un servicio udistrital/sisifo_documentacion#163
  • Loading branch information
alexhrr committed Sep 11, 2024
1 parent dc8e1f0 commit 9e3555b
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 9e3555b

Please sign in to comment.