validaciones y controles con tester

parent 834e060e
......@@ -273,7 +273,7 @@ const routes: Routes = [
{ path: 'Programas', component: ListarProgramaComponent , canActivate:[AuthGuard], data: { requiredEmails: ['jacaceres1@espe.edu.ec', 'jamolina13@espe.edu.ec', 'aczambrano3@espe.edu.ec'] } },
{ path: 'editar-programa/:id', component: EditProgramaComponent, canActivate:[AuthGuard], data: { requiredEmails: ['jacaceres1@espe.edu.ec', 'jamolina13@espe.edu.ec', 'aczambrano3@espe.edu.ec'] } },
{ path: 'agregar-pograma', component: AgregarProgramaComponent , canActivate:[AuthGuard], data: { requiredEmails: ['jacaceres1@espe.edu.ec', 'jamolina13@espe.edu.ec', 'aczambrano3@espe.edu.ec'] } },
{ path: 'editar-programa', component: EditProgramaComponent, canActivate:[AuthGuard], data: { requiredEmails: ['jacaceres1@espe.edu.ec', 'jamolina13@espe.edu.ec', 'aczambrano3@espe.edu.ec'] } },
//Objetivos
{ path: 'ObjetivosPLNBV', component: OjetivosBnComponent , canActivate:[AuthGuard], data: { requiredEmails: ['jacaceres1@espe.edu.ec', 'jamolina13@espe.edu.ec', 'aczambrano3@espe.edu.ec'] } },
......
......@@ -61,7 +61,7 @@ export class AddLineaComponent implements OnInit {
this.proyectoLineasInvService.guardarParametros(this.proyectoLineas).subscribe(() => {
console.log('Datos enviados', this.proyectoLineas);
this.proyectoLineasInvService.parametrosActualizados.next();
this.openModal();
this.openModal('La línea de Investigación ha sido agregada');
this.formularioGuardado.emit();
this.datosCompartidos.actualizarDatos(this.proyectoLineas);
this.myForm.reset();
......@@ -88,9 +88,10 @@ export class AddLineaComponent implements OnInit {
});
}
openModal() {
openModal(mensaje: string) {
const dialogRef = this.dialog.open(EnvioFormularioComponent, {
disableClose: true
disableClose: true,
data: {mensaje: mensaje}
});
dialogRef.afterClosed().subscribe(result => {
......@@ -98,4 +99,6 @@ export class AddLineaComponent implements OnInit {
this.formularioEnviado = true;
});
}
}
......@@ -7,6 +7,8 @@ import { Actualiza_datosService } from 'src/app/modules/main/services/actualiza_
import { Compartir_idService } from 'src/app/modules/main/services/compartir_id/compartir_id.service';
import { ObjetivosPLNBVService } from 'src/app/modules/main/services/objetivosPLNBV/objetivos-plnbv.service';
import { PrograObjService } from 'src/app/modules/main/services/prograObj/prograObj.service';
import { ConfirmacionEliminacionComponent } from '../../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component';
import { Observable } from 'rxjs';
@Component({
selector: 'vex-list-objetivos-plnbv',
......@@ -102,8 +104,8 @@ export class ListObjetivosPLNBVComponent implements OnInit {
eliminarParametros(id: number) {
const confirmacion = confirm('¿Desea eliminar el registro?');
if (confirmacion) {
this.openModalDelete('¿Desea eliminar el registro?').subscribe(result =>{
if (result) {
this.objPS.eliminarParametros(id).subscribe(
() => {
console.log('El registro se ha eliminado');
......@@ -116,6 +118,16 @@ export class ListObjetivosPLNBVComponent implements OnInit {
}
);
}
});
}
formularioEnviado:boolean;
openModalDelete(mensaje: string): Observable<string>{
const dialogRef = this.dialog.open(ConfirmacionEliminacionComponent, {
disableClose: true,
data: { mensaje: mensaje }
});
return dialogRef.afterClosed();
}
}
......@@ -89,7 +89,7 @@ export class AddObjetivosEstrategicosComponent implements OnInit {
this.estraS.guardarParametros(this.estraM).subscribe(response => {
console.log('Datos Enviados');
this.estraS.parametrosActualizados.next();
this.openModal();
this.openModal('Objetivo(s) Estrategico(s) Agregado(s)');
this.formularioGuardado.emit();
this.datosCompartidos.actualizarDatos(this.estraS);
this.myForm.reset();
......@@ -100,9 +100,10 @@ export class AddObjetivosEstrategicosComponent implements OnInit {
}
}
openModal() {
openModal(mensaje: string) {
const dialogRef = this.dialog.open(EnvioFormularioComponent, {
disableClose: true
disableClose: true,
data: {mensaje: mensaje}
});
dialogRef.afterClosed().subscribe(result => {
......
......@@ -175,7 +175,7 @@ export class AddDatosGeneralesComponent implements OnInit {
console.log("código departamento", this.proyectos.stvsubj_code)
this.proyectosService.guardarParametros(this.proyectos).subscribe(response => {
this.openModal();
this.openModal('Datos Generales del Proyecto Agregados');
this.guardarFormulario = true;
this.idGuardado = this.proyectosService.obtenerId();
localStorage.setItem('proyectoId',this.idGuardado.toString());
......@@ -228,9 +228,10 @@ export class AddDatosGeneralesComponent implements OnInit {
}
}
openModal() {
openModal(mensaje: string) {
const dialogRef = this.dialog.open(EnvioFormularioComponent, {
disableClose: true
disableClose: true,
data: {mensaje: mensaje}
});
dialogRef.afterClosed().subscribe(result => {
......
......@@ -26,7 +26,7 @@ export class AddAnexosImagenesComponent implements OnInit {
enviarSolicitud = false;
formularioEnviado: boolean
cambio: boolean;
archivoEsValido: boolean = false;
constructor(
private formBuilder: FormBuilder,
private anexosImagenesService: AnexosImagenesService,
......@@ -58,7 +58,7 @@ export class AddAnexosImagenesComponent implements OnInit {
this.selectedFile = event.target.files[0];
}
archivoEsValido: boolean = false;
onFileChange(event: any) {
// Obtener el archivo seleccionado
const fileList: FileList = event.target.files;
......@@ -66,6 +66,7 @@ export class AddAnexosImagenesComponent implements OnInit {
this.file = fileList[0];
if(!this.validarArchivo(this.file)){
this.openModalError('El archivo debe ser una imagen en formato (png, jpeg, jpg');
this.archivoEsValido = false;
return;
}else{
this.archivoEsValido = true;
......
......@@ -81,7 +81,7 @@ export class AddDocentesParticipantesComponent implements OnInit {
this.docentesParticipantesService.guardarParametros(this.docenteParticipante).subscribe(
response => {
this.openModal('La información se ha enviado');
this.openModal('El número de Docentes ha sido Agregado');
this.guardar();
this.datosCompartidos.actualizarDatos(this.docenteParticipante);
},
......
......@@ -81,7 +81,7 @@ export class AddEstudiantesParticipantesComponent implements OnInit {
this.estudiantesParticipantesService.guardarParametros(this.estudianteParticipante).subscribe(
response => {
console.log("carrera guardada", this.estudianteParticipante)
this.openModal('La información se ha enviado');
this.openModal('El número de Estudiantes ha sido Agregado');
this.guardar()
this.datosCompartidos.actualizarDatos(this.estudianteParticipante);
},
......
......@@ -134,7 +134,7 @@ export class AddIdentificacionPoblacionComponent implements OnInit {
this.proyectosService.modificarParametros(this.proyecto.uzytavproyec_id, this.proyecto).subscribe(response => {
console.log('Datos Actualizados', this.proyecto);
this.myForm.disable();
this.openModal('La información se ha enviado');
this.openModal('La Población ha sido identificada');
this.cambio = false;
//his.openModal();
//this.guardarFormulario = true;
......
......@@ -6,7 +6,7 @@
<button mat-raised-button color="primary" *ngIf="!cambio"
(click)="cambiar()">Editar</button>
<button mat-raised-button color="primary" *ngIf="cambio" [disabled]="myForm.invalid"
(click)="onSubmit()">Guardar</button>
>Guardar</button>
<span class="separator"></span>
<button mat-raised-button color="warn" *ngIf="cambio"
(click)="cancelado()">Cancelar</button>
......
......@@ -6,6 +6,9 @@ import { Compartir_idService } from 'src/app/modules/main/services/compartir_id/
import { Objetivo_programaService } from 'src/app/modules/main/services/objetivo_programa/objetivo_programa.service';
import { MatTreeNestedDataSource } from '@angular/material/tree';
import { NestedTreeControl } from '@angular/cdk/tree'
import { Observable } from 'rxjs';
import { ConfirmacionEliminacionComponent } from '../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component';
import { MatDialog } from '@angular/material/dialog';
@Component({
selector: 'app-add-matriz-logico',
templateUrl: './add-matriz-logico.component.html',
......@@ -56,7 +59,8 @@ export class AddMatrizLogicoComponent implements OnInit {
private objeProS: Objetivo_programaService,
private objeProM: objetivoprograma,
private idCompartido: Compartir_idService,
private datosCompartidos: Actualiza_datosService
private datosCompartidos: Actualiza_datosService,
private dialog: MatDialog
) { }
ngOnInit(): void {
......@@ -308,8 +312,8 @@ export class AddMatrizLogicoComponent implements OnInit {
}
eliminarObjG(id: number) {
const confirmacion = confirm('¿Desea eliminar el registro?');
if (confirmacion) {
this.openModalDelete('¿Desea eliminar el registro?').subscribe(result =>{
if (result) {
this.objeProS.eliminarParametros(id).subscribe(
() => {
console.log('El registro se ha eliminado');
......@@ -321,11 +325,12 @@ export class AddMatrizLogicoComponent implements OnInit {
}
);
}
});
}
eliminarFin(id: number) {
const confirmacion = confirm('¿Desea eliminar el registro?');
if (confirmacion) {
this.openModalDelete('¿Desea eliminar el registro?').subscribe(result =>{
if (result) {
this.objeProS.eliminarParametros(id).subscribe(
() => {
console.log('El registro se ha eliminado');
......@@ -337,11 +342,12 @@ export class AddMatrizLogicoComponent implements OnInit {
}
);
}
});
}
eliminarObjEsp(id: number) {
const confirmacion = confirm('¿Desea eliminar el registro?');
if (confirmacion) {
this.openModalDelete('¿Desea eliminar el registro?').subscribe(result => {
if (result) {
this.objeProS.eliminarParametros(id).subscribe(
() => {
console.log('El registro se ha eliminado');
......@@ -353,11 +359,12 @@ export class AddMatrizLogicoComponent implements OnInit {
}
);
}
});
}
eliminarActividad(id: number) {
const confirmacion = confirm('¿Desea eliminar el registro?');
if (confirmacion) {
this.openModalDelete('¿Desea eliminar el registro?').subscribe(result =>{
if (result) {
this.objeProS.eliminarParametros(id).subscribe(
() => {
console.log('El registro se ha eliminado');
......@@ -369,6 +376,18 @@ export class AddMatrizLogicoComponent implements OnInit {
}
);
}
});
}
formularioEnviado:boolean;
openModalDelete(mensaje: string): Observable<string>{
const dialogRef = this.dialog.open(ConfirmacionEliminacionComponent, {
disableClose: true,
data: { mensaje: mensaje }
});
return dialogRef.afterClosed();
}
especificarValor(tipo: number) {
......
......@@ -70,7 +70,7 @@
(click)="mostrarCober = true">Editar</button>
<button mat-raised-button color="warn"
(click)="cancelarFormularioCobertura()">Cancelar</button>
<app-cobertura-proyecto *ngIf="mostrarCober"></app-cobertura-proyecto>
<app-cobertura-proyecto *ngIf="mostrarCober" (formularioGuardado)="cancelarFormularioCobertura()"></app-cobertura-proyecto>
<app-listar-cobertura-proyecto></app-listar-cobertura-proyecto>
<!--fin-->
</mat-expansion-panel>
......
......@@ -50,7 +50,7 @@
<ng-container matColumnDef="Director" class="Column">
<th class="Column" mat-header-cell *matHeaderCellDef mat-sort-header>Campus</th>
<th class="Column" mat-header-cell *matHeaderCellDef mat-sort-header>Diretor</th>
<td class="Column" mat-cell *matCellDef="let dato">
{{dato.nombres$ | async }} </td>
</ng-container>
......
......@@ -56,7 +56,7 @@
<th class="Column" mat-header-cell *matHeaderCellDef mat-sort-header>
Director </th>
<td class="Column" mat-cell *matCellDef="let dato">{{
dato.uzytavprograma_vnombre ? dato.uzytavprograma_vnombre : 'N/A' }}
dato.nombres$ | async }}
</td>
</ng-container>
......
......@@ -8,6 +8,9 @@ import { MatSort } from '@angular/material/sort';
import { MatTableDataSource } from '@angular/material/table';
import { MostrarOcultarService } from '../../../services/mostrar-ocultar.service';
import { Compartir_idService } from '../../../services/compartir_id/compartir_id.service';
import { UsuariosService } from '../../../services/usuarios/usuarios.service';
import { Usuario } from '../../../Models/usuario';
import { Observable, map } from 'rxjs';
@Component({
selector: 'vex-listar-programa',
......@@ -18,6 +21,9 @@ export class ListarProgramaComponent implements OnInit {
Progra!: Programa[];
selectedEstado: string;
tipo: number;
usuario!: Usuario[];
enviarIdUsuario: Programa;
director: string;
displayedColumns: string[] = [
'Nro',
'Nombre',
......@@ -30,16 +36,21 @@ export class ListarProgramaComponent implements OnInit {
@ViewChild(MatPaginator) paginator: MatPaginator;
@ViewChild(MatSort) sort: MatSort;
constructor(private router: Router, private programaS: ProgramaService,
private mostrarOcultarService: MostrarOcultarService, private compartirID: Compartir_idService) {
constructor(private router: Router,
private programaS: ProgramaService,
private mostrarOcultarService: MostrarOcultarService,
private compartirID: Compartir_idService,
private datosUsuarioService: UsuariosService) {
this.dataSource = new MatTableDataSource<Programa>([]);
this.tipo = 1;
this.enviarIdUsuario = new Programa();
}
ngOnInit(): void {
this.obtenerRegistros();
this.dataSource.paginator = this.paginator;
this.dataSource.sort = this.sort;
this.obtenerRegistros();
}
ngAfterViewInit() {
......@@ -49,11 +60,27 @@ export class ListarProgramaComponent implements OnInit {
obtenerRegistros() {
this.programaS.getAll().subscribe(data => {
this.Progra = data;
this.Progra = data.map(programa => {
return{
...programa,
nombres$: this.obtenerDatosUsuario(programa.uzytusuario_id)
}
});
this.dataSource.data = this.Progra;
});
}
obtenerDatosUsuario(id: number): Observable<string> {
return this.datosUsuarioService.getAll().pipe(
map(data => {
const usuarioEncontrado = data.find(c => c.uzytusuario_id === id);
return usuarioEncontrado ? usuarioEncontrado.uzytusuario_telefono_celular + " - "
+ usuarioEncontrado.uzytusuario_nombres + " " +
usuarioEncontrado.uzytusuario_apellidos : 'No encontrado';
})
);
}
agregarP() {
this.router.navigate(['main/agregar-pograma']);
}
......@@ -79,6 +106,6 @@ export class ListarProgramaComponent implements OnInit {
);
this.compartirID.setIdGuardad(id);
this.mostrarOcultarService.editPrograma = registroSeleccionado;
this.router.navigate(['main/editar-programa/', id], { queryParams: { dgPrograma: this.tipo.toString() }} );
this.router.navigate(['main/editar-programa/', id], { queryParams: { dgPrograma: this.tipo.toString() } });
}
}
......@@ -132,30 +132,29 @@ export class DatosGeneralesComponent implements OnInit {
//recuperar la información para el editado
this.mostrarOcultarService.editPrograma = this.programaM;
this.programaS.guardarParametros(this.programaM).subscribe(response => {
console.log('Datos enviados');
this.myForm.disable();
this.openModal();
this.openModal('El Programa ha sido Agregado');
this.guardarFormulario = true;
this.idGuardado = this.programaS.obtenerId();
localStorage.setItem('proyectoId',this.idGuardado.toString());
localStorage.setItem('programaId',this.idGuardado.toString());
this.compartiId.setIdUsuario(this.programaM.uzytusuario_id)
this.idGuardado = this.programaS.obtenerId();
this.compartiId.setIdGuardad(this.idGuardado);
this.router.navigate(['main/editar-programa']);
});
} catch (error) {
console.error('Error al enviar los datos:', error);
}
}
}
openModal() {
openModal(mensaje: string) {
const dialogRef = this.dialog.open(EnvioFormularioComponent, {
disableClose: true,
data: { mensaje: 'Se han guardado los datos generales' }
data: { mensaje: mensaje}
});
dialogRef.afterClosed().subscribe(result => {
......
......@@ -89,7 +89,9 @@ export class EditDatosGeneralesComponent implements OnInit {
cambiar(){
this.cambio = true;
this.myForm.enable();
this.myForm.get('nombreP').enable();
this.myForm.get('fechaIni').enable();
this.myForm.get('fechaFin').enable();
}
cancelado(){
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment