{"version":3,"sources":["assets/logo_espol_interno.svg","assets/Ecuatorianoblc.svg","assets/Extrangeroblc.svg","assets/eliminar.png","assets/check.png","assets/Info.png","pages/components/Modal.js","assets/AnuncioICO.svg","pages/components/ComponenteContrasenia.js","assets/ESPOL-GTSI-MR.svg","pages/components/Header.js","pages/components/Footer.js","assets/SuBIR.svg","assets/subiracuerdoFE.svg","assets/subiracuerdoFM.svg","assets/FotoPERSONAL.svg","assets/CAMARAnecesariaSilver.svg","assets/subircedula.svg","assets/FotoCEDULA.svg","pages/components/ModalXL.js","pages/components/Camara.js","ruc.pdf","pages/components/Visualizarpdf.js","assets/Alerta.svg","assets/descarga_acuerdo_copia.svg","assets/logoPDF.png","assets/Subirgrismin.svg","pages/components/renderPDF.js","pages/components/Acuerdo.js","pages/components/FormRegistroContrasenia.js","assets/Anuncio.svg","pages/components/FormRegistro.js","assets/CAMARAnecesaria.svg","assets/alarma.svg","assets/transaccionexitosa.svg","pages/components/Nacionalidad.js","pages/CrearCuenta.js","pages/components/UsuarioVisitante.js","pages/Inicio.js","assets/logo_espol_blanco.svg","pages/Login.js","pages/components/FormSolicitud.js","assets/cerrarSesion.svg","pages/components/ActualizarArchSolicitud.js","pages/components/Vistapdf.js","pages/components/FormAcuerdoGeneral.js","pages/components/FormAcuerdoAlumni.js","pages/components/renderPDFAdmision.js","pages/components/AcuerdoAdmisiones.js","pages/components/FormAcuerdoAdmisiones.js","pages/components/FormCambiarContrasenia.js","pages/CambiarContrasenia.js","pages/OlvidoContrasenia.js","pages/adminComponents/SideBar.js","pages/adminComponents/ModalAdminEliminar.js","pages/adminComponents/ModalUserForm.js","assets/logo_espol_blanco_mr.svg","pages/adminComponents/HeaderAdmin.js","assets/acceso.svg","assets/home.svg","pages/adminComponents/NavBarInfo.js","pages/adminComponents/ComponenteSpinner.js","pages/AdminUsuarios.js","pages/PruebaCamara.js","pages/adminComponents/ModalAdmin.js","pages/AdminGrupos.js","assets/eye-fill.svg","pages/adminComponents/ModalSolicitudes.js","pages/components/MaterialTableAdmin.js","pages/adminComponents/ModalAdminMensaje.js","pages/AdminSolicitudes.js","routes/PrivateRoute.js","routes/PrivateHome.js","routes/Admin.js","routes/App.js","index.js"],"names":["Modal","Component","render","_jsx","className","children","_jsxs","onClick","this","props","cerrarModal","verBoton","textoBoton","memo","ComponenteContrasenia","constructor","super","handlerContrasenaActual","async","setState","datos","state","e","target","name","value","console","log","handlerContrasCorrectas","handlerContrasena","contrasena","validacion","verIconContra","length","repetirContrasena","verIconRepContra","cambiarEstado","contrasenaactual","verCheckContra","verCheckRepContra","nombres","apellidos","username","usuario","isUpdateePss","showPassword","showRepetirPassw","showActualPassword","verIconRepContraAct","verCheckRepContraAct","mostrarContrasena","bind","mostrarContrasenaActual","mostrarReptirContrasena","componentDidMount","preventDefault","notContainsname","contraseña_temp","toLocaleLowerCase","i","split","includes","notContainUser","expresionRegular","test","align","concat","columnas","type","onChange","FontAwesomeIcon","icon","faEye","faEyeSlash","faCheckCircle","id","faTimesCircle","Header","Link","to","src","logo","alt","Footer","fecha","Date","getFullYear","ModalXL","modalXXL","camara","getDevices","navigator","mediaDevices","enumerateDevices","imgSrc","showImg","showerr","activebutton","isFace","rostro","numidentifica","identificacion","captureImage","Volver","Guardar","activebuttonf","disabledbuttonf","componentWillMount","useEffect","getStream","then","gotDevices","componentDidUpdate","deviceInfos","videoSelect","document","getElementById","window","deviceInfo","option","createElement","deviceId","kind","text","label","appendChild","error","stream","getTracks","forEach","track","stop","videoSource","constraints","video","exact","undefined","getUserMedia","gotStream","catch","handleError","videoElement","selectedIndex","options","findIndex","getVideoTracks","srcObject","canvas","ctx","getContext","width","getElementsByClassName","offsetWidth","height","offsetHeight","drawImage","image","toDataURL","setshowerr","solicitud","foto","tokencapt","grecaptcha","ready","execute","process","action","token","axios","post","res","status","imgRostro","role","equis","autoPlay","muted","playsInline","Visualizarpdf","defaultLayoutPluginInstance","defaultLayoutPlugin","pdfFile","setPdfFile","useState","pdfError","setPdfError","btnAvalible","setbtnAvalible","dataFile","setdataFile","btndown","setbtndown","allowedFiles","choosePdf","React","useCallback","choosepdf","pathpdf","titulo","Worker","workerUrl","Viewer","fileUrl","plugins","_Fragment","accept","hidden","selectedFile","files","reader","FileReader","readAsDataURL","onloadend","result","disabled","href","download","upload","renderpdf","nombre","apellido","arcb64","firmadoGeneral","generateSimplePDF","optjustify","lineHeightFactor","maxWidth","optcenter","nombrecompleto","toUpperCase","parr2","toLocaleDateString","day","month","year","parr45","espacioIzquierdoTab","doc","jsPDF","espacioSuperior","addImage","setFontSize","setFont","textWithLink","url","output","save","posicion","extraclass","descargardocs","Acuerdo","descargarAcuerdoFirmaManual","IsAcuerdoDescargado","handlerDatosFormRegistro","contra","terminos","checked","handlerCheckPrev","aceptoAcuerdo","isvalidbtnAceptar","postFirmarAcuerdoElectronicamente","callTagManager","signDoc","datosUsuario","firmaBase64","base64FE","password","pwdFirmaElectronica","acuerdoBase64","acuerdob64","IsFirmadoElect","resp","idAcFirmaElec","data","tipoForm","verFormRegistroContrasenia","estado","infoSolicitud","Motivo","idAcuerdoFirmadoElec","tipoAcuerdo","abrirModalFElectronicaExitosa","modalError","show","mensaje","imagen","request","response","FirmarAcuerdoAlumni","PostFirmarAcuerdoGen","location","mostrarNombre","usuario_sugerido","enlace","aceptodatospers","aceptomedelect","rutaacuerdodatospersfirmado","rutaacuerdomedelectfirmado","abrirModalFirmaGeneralExitosa","modalErrorAcuerdoGen","PostNoFirmarAcuerdoGen","disabledbuttonf1","activebuttonf1","abrirModalNoAcepACGeneralPrev","postCrearCuenta","datadoc","Identificacion","filePdf","pdfData","fotoimgRostro","fotoRostro","fotoimgCedula","fotoCedula","abrirModalFManualExitosa","postRectificarDocs","idSolicitud","isvalidimgpersona","documentosValidos","isvalidimgtarjeta","isvalidcontrato","put","abrirModalActualizaciónDocsExitosa","errorMessage","DataAcuerdo","Dataimgrostro","dataimgros","cerrarModalCamararostro","showiconGuardRostroExito","actRostro","Dataimgcedula","dataimgced","cerrarModalCamaracedula","showiconGuardCedulaExito","actCedula","filechoose","chosefile","cerrarModalSubirPdf","showiconGuardPdfExito","actDocPdf","filechooseCedula","cerrarmodalarchivocedula","showiconGuardPdfExitoCedula","handleFile","iconChooseFirma","handlerPassword","actFirmaElecInter","cerrarSesion","Cookies","remove","showEnvAcdRect","modalPrevAcuerdoGen","modalFirmaGeneralExitosa","modalFirmaManual","modalFirmaManualActualizararch","verbtngeneral","modalFirmaElectronica","modalFManualExitosa","modalFManualExitosaTipoA","modalActualizaciónDocsExitosa","modalFElectricaExitosa","modalCamararostro","modalCamaracedula","modalModocedula","modalfotocedula","modalarchivocedula","modalSubirPdf","modalNoAcepACGeneral","modalNoAcepACGeneralprev","iconGuardRostroExito","iconGuardCedulaExito","isvalidimgpersonasub","isvalidimgtarjetasub","isvalidcontratosub","iconGuardPdfExito","actFirmaElec","verRegistroContrasena","activebuttonpdf","activebutton1","modalMensaje","mensaje_titulo","alias_sugerido","correoAlterno","rol","telefono","unidad","contrasenaCumple","repetirContraCumple","pdfCedulaData","renderNavigateLogin","verbtngeneralElectronica","renderRegistro","abrirModalFirmaM","cerrarModalFirmaM","abrirmodalFirmaManualActualizararch","cerrarmodalFirmaManualActualizararch","abrirModalFirmaE","cerrarModalFirmaE","cerrarModalFManualExitosa","cerrarModalActualizaciónDocsExitosa","abrirModalNoAcepACGeneral","cerrarModalNoAcepACGeneral","cerrarModalNoAcepACGeneralPrev","cerrarModalFElectronicaExitosa","abrirModalCamararostro","abrirModalCamaracedula","abrirModalModoacedula","cerrarModalModocedula","abrirmodalarchivocedula","abrirmodalfotocedula","cerrarmodalfotocedula","abrirModalSubirPdf","abrirModalError","cerrarModalError","abrirModalErrorGen","cerrarModalErrorGen","disabledbuttonpdf","cerrarModalFirmaGeneralExitosa","cerrarModalPrevGen","abrirModalPrevGen","localStorage","getItem","abrirModalFManualExitosaTipoA","cerrarModalFManualExitosaTipoA","redireccion","op","servicio","ruta","removeItem","modalSugerencia","valor","contraCumple","renderFormRegistro","Navigate","FormRegistroContrasenia","anuncioico","Renderpdf","check","eliminar","subaacfm","subaacfe","isOpen","rostoimg","cedimg","placeholder","Camara","class","camaraNecesaria","subir","alerta","crearCuenta","alias","usuarioEscogido","personaId","isActive","idDocFirmadoElectronicamente","idAcueFirmElec","isacuerddig","datoscuenta","actividad","correo","DataJson","JSON","stringify","abrirModalInfo","verAcuerdo","modalIsOpen","expresiones","modalErrorMensaje","cerrarModalInfo","abrirAcuerdo","agregarNombresEnRegla","nombreString","nombreCompleto","nombresRegla","defaultValue","htmlFor","rel","FormRegistro","postVerificarAlias","r","success","mensaje_error_alias","message","listSugerencia","info","listSug","lSugerencia","handlerOnBlur","errorSolicitud","toLowerCase","verMensajeConocimiento","listaUsuarios","usuarios","renderFormRegistroContrasenia","abrirModalInfoGTSI","cerrarModalInfoGTSI","abrirModalSugerencia","cerrarModalSugerencia","abrirMensajeconocimiento","onBlur","map","index","sugerencia","Nacionalidad","handlerVerificarDatos","verificarDatosExt","handlerOnBlurExt","handlerVerificarDatosEcu","verificarDatosEcu","handlerOnBlurEcu","cedula","errorsDatosEcu","pasaporte","errorsDatosExtran","getVerificarUsuarioExtranj","fechaNac","tipo","getVerificarUsuario","persona","idsccepersona","correoalterno","abrirModaldatosVeri","setearCookie","abrirModalnoExisteEnBase","modalMessage","getVerificarUsuarioEcu","fechaEmision","abrirModalnoCuenta","verInformacion","verFormRegistro","modalGTSI","modalAviCamEC","modalAviCamEX","showRenderEcuatoriano","showRenderExtranjero","modaldatosVerificado","modalNohaycuenta","modalNoExisteEnBase","VarEnv","verInfoEcuatoriano","verInfoExtranjero","abrirModal","abrirModalMessage","cerrarModalMessage","abrirModalAviCamEC","cerrarModalAviCamEC","abrirModalAviCamEX","cerrarModalAviCamEX","cerrarModaldatosVeri","cerrarModalnoCuenta","cerrarModalnoExisteEnBase","showrenderEcuador","showrenderExtranjero","abrirModalIdnFeInc","modalIdnFeInc","cerrarModalIdnFeInc","abrirModalUserExist","modalUserExist","cerrarModalUserExist","set","expires","renderExtranjero","onSubmit","renderEcuatoriano","ecuatoriano","extranjero","transaccionexitosa","camaranecesaria","alarma","CrearCuenta","UsuarioVisitante","disablebtn","dataLayer","push","event","limpiarCookies","disablebutton","enablebutton","Inicio","ActualizarArchSolicitud","getCedulaByUsername","get","navigateCas","validarFirmaAcuerdo","id_temp","IsSign","enlaceAcuerdo","mostrarModalData","handlerOnBlurCedula","verificarDato","errorsDatosCed","cuentaUsuario","isPersonalData","cerrarModalIngresoDatos","getDataSolicitud","tokendecodestate","IsDataCorrect","idsccesolicitud","token_temp","tokendecode","jwt","user_temp","fechaNacimiento","tokendecodeData","nombres_temp","apellidos_temp","identificacion_temp","modalIngresoDatos","abrirModalIngresoDatos","activarNavigateLogin","verAcuerdoAlumni","rectificacionDocs","Vistapdf","FormAcuerdoGeneral","queryString","search","setItem","error_login","validarCAS","exp","cerrar","FormAcuerdoAlumni","referrer","renderpdfAdmision","AcuerdoAdmisiones","RenderpdfAdmision","FormAcuerdoAdmisiones","validarToken","IsFirmado","validarfirma","exception","Aceptodatospers","FormCambiarContrasenia","loadScriptByURL","callback","isScriptExist","script","onload","body","postCambiarContrasena","tipoDeCambio","cambiarContra","passwordActual","tipoCambio","headers","Authorization","contraActual","tokenCAs","nombresCompletos","OlvidoContrasenia","postEnviarCorreo","setonloading","getDatos","correoIngresado","abrirModaCheck","setoffloading","renderFormOlvidoContra","correoAlterno_temp","modal","ocultarCorreo","verModalOlvidoContra","handlerDatos","handleCorreIngresado","errorCorreoIngresado","errorDatosUsuario","verFormOlvidoContra","modalCheck","loading","correoOculto","abrirModalOlvidoContra","cerrarModalOlvidoContra","cerrarModalCheck","dominiocomp","dominio_nomb","tamano_username","asteriscos","repeat","tamano_dominio_nomb","substring","SideBar","faUserCircle","faUsersCog","faUserFriends","ModalAdminEliminar","faWindowClose","submit","txtBtnSubmit","txtBtnCancel","ModalUserForm","tituloHeader","HeaderAdmin","NavBarInfo","inicioSesion","fechaActual","tiempoTranscurrido","now","hoy","acceso","home","ComponenteSpinner","Spinner","animation","variant","AdminUsuarios","traerDatosPersona","editarUsuario","rowData","idsccepersonaNavigation","handlerEditarPersona","postEditarPersona","editarPersona","getUsuarios","cerrarModalEditarPersona","traerDatosEliminarPersona","idsccecuentausuario","postEliminarPersona","eliminarPersona","cerrarModalEliminarPersona","setValue","modalEliminar","modalVer","title","field","acciones","iconProps","style","color","abrirModalEditarPersona","abrirModalEliminarPersona","setearHeader","defaults","common","MaterialTable","columns","actions","pageSize","pageSizeOptions","actionsColumnIndex","headerStyle","backgroundColor","fontWeight","zIndex","localization","header","toolbar","searchPlaceholder","pagination","labelRowsSelect","ModalAdmin","AdminGrupos","traerDatosGrupo","tScceGrupoUsuarios","g","gruposModalDefault","idsccegrupoNavigation","idsccegrupo","editarGrupo","usuarioGrupo","onChangeMultiSelect","gruposSeleccionados","getGrupos","arrayGetGrupos","grupos","gruposSelect","getUsuariosPorGrupo","postEditarGrupo","gruposIds","postEditarGrupos","cuentaUsuarioId","cerrarModalEditarGrupo","abrirModalInfoGrupoEditado","handlerCrearGrupo","crearGrupo","postCrearGrupo","cerrarModalCrearGrupo","abrirModalInfoGrupoCreado","getDatosBackEnd","modalEditar","modalCrear","modalGrupoCreado","abrirModalEditarGrupo","abrirModalCrearGrupo","cerrarModalInfoGrupoCreado","cerrarModalInfoGrupoEditado","modalGrupoEditado","faUsers","paddingRight","Select","isMulti","isClearable","ModalSolicitudes","motivo","cancel","enable","faToggleOff","txtBtnEnable","MaterialTableAdmin","activebuttonAcept","AdminSolicitudes","traerDatosSolicitud","parse","infosolicitud","verSolicitud","codimgcontrato","codimgpersona","codimgtarjeta","tipoacuerdo","getSolicitudes","valor_fitro","solicitudes","HabilitarCuentaSA","cerrarModalVerSolicitud","modalExitoso","rostrostatus","IsValid","isValidRostro","cedulatatus","isValidCedula","acuerdostatus","isValidAcuerdo","postAceptarSolicitud","inicio","performance","inicio1","nuevoArreglo","filter","objeto","copyToClipboard","url_clipboard","clipboard","writeText","abrirshowmodalCopy","postRechazarSolicitud","disabledbuttonAcept","abrirModalMensaje","mensajerechazo","cerrarModalMensaje","showmodalCopy","vistaImg","abrirModalVerSolicitud","showImgRostronCedula","srcImg","showImgAcuerdo","modalshowPdf","srcPdf","tipoArchivoCedula","cerrarshowmodalCopy","abrirModalExitoso","cerrarModalExitoso","abrirModalRostronCedula","cerrarModalRostronCedula","abrirModalPdf","cerrarModalPdf","abrirModalAcuerdo","cerrarModalAcuerdo","mensajeChange","typeOfDocument","mimeType","isface","change_filter_solicitud","filtro","Face","BrandingWatermark","Description","FileCopyIcon","ModalAdminMensaje","v","PrivateRoute","Outlet","PrivateHome","Admin","App","isAuth","setAuth","readCookie","nombre_evento","BrowserRouter","Routes","Route","path","element","TagManager","initialize","gtmId","ReactDOM","StrictMode"],"mappings":"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","file":"static/js/main.b10949a7.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/logo_espol_interno.dd45abc2.svg\";","export default __webpack_public_path__ + \"static/media/Ecuatorianoblc.7beaa621.svg\";","export default __webpack_public_path__ + \"static/media/Extrangeroblc.8be65d60.svg\";","export default __webpack_public_path__ + \"static/media/eliminar.3c662b75.png\";","export default __webpack_public_path__ + \"static/media/check.0e163e83.png\";","export default __webpack_public_path__ + \"static/media/Info.df517275.png\";","import \"../../css/Modal.css\";\r\nimport React, { Component } from 'react'\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faWindowClose } from '@fortawesome/free-solid-svg-icons';\r\nimport { memo } from 'react';\r\n\r\nexport class Modal extends Component {\r\n \r\n render() {\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n {this.props.children}\r\n {this.props.verBoton ? (
\r\n \r\n
):null}\r\n
\r\n \r\n \r\n
\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default memo(Modal);","export default __webpack_public_path__ + \"static/media/AnuncioICO.afb5b55c.svg\";","import React, { Component } from 'react';\r\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\r\nimport { faEye, faEyeSlash, faCheckCircle, faTimesCircle } from \"@fortawesome/free-solid-svg-icons\";\r\nimport anuncioico from \"../../assets/AnuncioICO.svg\";\r\n\r\nimport '../../css/ComponenteContrasenia.css';\r\n\r\nexport class ComponenteContrasenia extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n nombres: this.props.nombres,\r\n apellidos: this.props.apellidos,\r\n username: this.props.usuario,\n isUpdateePss: this.props.isUpdateePss,\r\n showPassword: false,\r\n showRepetirPassw: false,\n showActualPassword: false,\r\n datos: {\n contrasenaactual:\"\",\r\n contrasena: \"\",\r\n repetirContrasena: \"\",\r\n },\r\n verIconContra: false,\r\n verCheckContra: false,\r\n verIconRepContra: false,\r\n verCheckRepContra: false,\n verIconRepContraAct: false,\r\n verCheckRepContraAct: false,\r\n };\r\n this.mostrarContrasena = this.mostrarContrasena.bind(this);\n this.mostrarContrasenaActual = this.mostrarContrasenaActual.bind(this);\r\n this.mostrarReptirContrasena = this.mostrarReptirContrasena.bind(this);\r\n this.validacion = this.validacion.bind(this);\r\n }\n componentDidMount() {\n console.log(this.state.isUpdateePss);\r\n }\r\n\r\n mostrarContrasena(e){\r\n e.preventDefault();\r\n this.setState({showPassword:!this.state.showPassword});\r\n }\r\n\r\n mostrarReptirContrasena(e){\r\n e.preventDefault();\r\n this.setState({showRepetirPassw:!this.state.showRepetirPassw});\r\n }\r\n\n mostrarContrasenaActual(e) {\r\n e.preventDefault();\n console.log(\"mostrarContrasenaActual\");\r\n /*this.setState({showActualPassword:!this.state.showActualPassword});*/\n this.setState({\n showActualPassword: !this.state.showActualPassword\r\n });\r\n console.log(this.state.showActualPassword);\r\n console.log(this.state.datos);\r\n\n }\n \n handlerContrasenaActual = async (e) => {\n await this.setState({\r\n datos: {\r\n ...this.state.datos,\r\n [e.target.name]: e.target.value,\r\n }\r\n })\n console.log(this.state.datos);\r\n this.handlerContrasCorrectas(e);\r\n }\n\r\n handlerContrasena=async(e)=>{\r\n //ver que se cumplan las reglas usar expresiones regulares mejor\r\n //console.log(e.target.value);\r\n await this.setState({\r\n datos:{\r\n ...this.state.datos,\r\n [e.target.name]:e.target.value,\r\n }\r\n })\r\n //console.log(this.state.datos);\r\n if (this.state.datos.contrasena !== \"\") {\r\n // console.log(\"entra a validación\");\r\n this.validacion();\r\n }else{\r\n this.setState({verIconContra:false});\r\n\r\n }\r\n this.handlerContrasCorrectas(e);\r\n \r\n }\r\n\r\n handlerContrasCorrectas = async (e) => {\r\n if(this.state.datos.contrasena.length >0){\r\n await this.setState({\r\n datos:{\r\n ...this.state.datos,\r\n [e.target.name]:e.target.value,\r\n }\r\n })\r\n if(this.state.datos.repetirContrasena===\"\"){\r\n //console.log(\"input repetir vacio\")\r\n this.setState({ verIconRepContra: false });\r\n this.props.cambiarEstado(this.state.datos.contrasenaactual, this.state.datos.repetirContrasena, this.state.verCheckContra, this.state.verCheckRepContra);\r\n //console.log(this.state.verCheckRepContra);\r\n }\r\n else if(this.state.datos.contrasena!== this.state.datos.repetirContrasena){\r\n //console.log(\"las contraseñas son diferentes\");\r\n \r\n this.setState({verIconRepContra:true});\r\n this.setState({verCheckRepContra:false});\r\n this.props.cambiarEstado(this.state.datos.contrasenaactual, this.state.datos.repetirContrasena,this.state.verCheckContra,this.state.verCheckRepContra);\r\n //console.log(this.state.verCheckRepContra);\r\n\r\n } else{\r\n //console.log('son iguales');\r\n this.setState({ verIconRepContra: true });\r\n if (this.state.verCheckContra) {\r\n this.setState({ verCheckRepContra: true });\r\n }\r\n \r\n //console.log(this.state.verCheckRepContra);\r\n this.props.cambiarEstado(this.state.datos.contrasenaactual, this.state.datos.repetirContrasena,this.state.verCheckContra,this.state.verCheckRepContra);\r\n }\r\n }\r\n } \r\n\r\n\r\nnotContainsname() {\r\n //console.log(this.state.apellidos);\r\n //console.log(this.state.nombres);\r\n let contraseña_temp=this.state.datos.contrasena.toLocaleLowerCase();\r\n for (var i = 0; i < this.state.nombres.split(\" \").length; i++){\r\n if (this.state.nombres.split(\" \")[i].toLocaleLowerCase()!= \"\") {\r\n if (contraseña_temp.includes(this.state.nombres.split(\" \")[i].toLocaleLowerCase())) {\r\n // console.log(this.state.nombres.split(\" \")[i].toLocaleLowerCase());\r\n //console.log(\"contraseña temp: \" + contraseña_temp);\r\n return false;\r\n }\r\n }\r\n } for (var i = 0; i < this.state.apellidos.split(\" \").length; i++){\r\n if (this.state.apellidos.split(\" \")[i].toLocaleLowerCase() != \"\") {\r\n if (contraseña_temp.includes(this.state.apellidos.split(\" \")[i].toLocaleLowerCase())) {\r\n // console.log(this.state.nombres.split(\" \")[i].toLocaleLowerCase());\r\n // console.log(\"contraseña temp: \" + contraseña_temp);\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n /*\r\n let nombre1=this.state.nombres.split(\" \")[0].toLocaleLowerCase();\r\n let nombre2=this.state.nombres.split(\" \")[1].toLocaleLowerCase();\r\n let apellido1=this.state.apellidos.split(\" \")[0].toLocaleLowerCase();\r\n let apellido2=this.state.apellidos.split(\" \")[1].toLocaleLowerCase();\r\n let contraseña_temp=this.state.datos.contrasena.toLocaleLowerCase();\r\n\r\n if(contraseña_temp.includes(nombre1) || contraseña_temp.includes(nombre2)||contraseña_temp.includes(apellido1)|| contraseña_temp.includes(apellido2) || contraseña_temp.includes(nombre1.toUpperCase()) ||contraseña_temp.includes(nombre2.toUpperCase())||contraseña_temp.includes(apellido1.toUpperCase()) || contraseña_temp.includes(apellido2.toUpperCase()) ){\r\n //console.log(\"ERROR!! incluye nombres\");\r\n return false;\r\n }else{\r\n return true;\r\n }\r\n return true;*/\r\n }\r\n\r\n notContainUser() {\r\n let contraseña_temp = this.state.datos.contrasena.toLocaleLowerCase();\r\n if (contraseña_temp.toLocaleLowerCase() != \"\") {\r\n if (contraseña_temp.includes(this.state.username.toLocaleLowerCase())) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n validacion(){\r\n // console.log(this.state.datos.contrasena);\r\n // console.log(this.props.expresionRegular.test(this.state.datos.contrasena));\r\n console.log(this.notContainsname())\r\n console.log(this.notContainUser())\r\n if (this.props.expresionRegular.test(this.state.datos.contrasena) && this.notContainsname() && this.notContainUser()){\r\n console.log(\"correcta regex\");\r\n this.setState({verIconContra:true});\r\n this.setState({verCheckContra:true});\r\n }\r\n else{\r\n //console.log(\"incorrecta regex\");\r\n this.setState({verIconContra:true});\r\n this.setState({ verCheckContra: false });\r\n //this.setState({ verCheckRepContra: false });\r\n }\r\n \r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n {this.state.isUpdateePss &&\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\n }\n\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n {this.state.verIconContra === true ?\r\n (\r\n {this.state.verCheckContra ? \r\n : }\r\n ) : null\r\n }\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n \r\n {this.state.verIconRepContra === true ?\r\n (\r\n {this.state.verCheckRepContra ? \r\n : }\r\n ) : null\r\n }\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default ComponenteContrasenia\r\n","export default __webpack_public_path__ + \"static/media/ESPOL-GTSI-MR.935c1f53.svg\";","import React from 'react'\r\nimport logo from \"../../assets/ESPOL-GTSI-MR.svg\";\r\nimport \"../../css/Header.css\"\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst Header = () => {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \"Logo\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n )\r\n}\r\n\r\nexport default Header;","import React from 'react'\r\nimport \"../../css/Footer.css\"\r\n\r\nconst Footer = () => {\r\n const fecha = new Date();\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

Derechos Reservados Gerencia de Tecnologías y Sistemas de Información © {fecha.getFullYear()}
\r\n Escuela Superior Politécnica del Litoral - Guayaquil - Ecuador Campus Gustavo Galindo
\r\n Correo: gerenciatecnologia@espol.edu.ec

\r\n
\r\n
\r\n\r\n
\r\n {/*
\r\n {/*

Lorem Ipsum es simplemente el texto de relleno de las imprentas y archivos de texto.*/}\r\n {/* Lorem Ipsum ha sido el texto de relleno estándar de las industrias desde el año 1500,*/}\r\n {/* cuando un impresor (N. del T. persona que se dedica a la imprenta) desconocido usó una galería de textos y*/}\r\n {/* los mezcló de tal manera que logró hacer un libro de textos especimen.

*/}\r\n {/*
*/}\r\n
\r\n\r\n )\r\n}\r\n\r\nexport default Footer;","export default __webpack_public_path__ + \"static/media/SuBIR.d0c4d0af.svg\";","export default __webpack_public_path__ + \"static/media/subiracuerdoFE.1bd8c444.svg\";","export default __webpack_public_path__ + \"static/media/subiracuerdoFM.1bc48104.svg\";","export default __webpack_public_path__ + \"static/media/FotoPERSONAL.d5eea976.svg\";","export default __webpack_public_path__ + \"static/media/CAMARAnecesariaSilver.a301230e.svg\";","export default __webpack_public_path__ + \"static/media/subircedula.23ce2d83.svg\";","export default __webpack_public_path__ + \"static/media/FotoCEDULA.23605abd.svg\";","import \"../../css/ModalXL.css\";\r\nimport React, { Component } from 'react'\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faWindowClose } from '@fortawesome/free-solid-svg-icons';\r\nimport { memo } from 'react';\r\n\r\nexport class ModalXL extends Component {\r\n\r\n render() {\r\n\r\n return (\r\n !this.props.modalXXL ?\r\n /*SECCION MODALXL*/\r\n
\r\n
\r\n
\r\n \r\n
\r\n {this.props.children}\r\n {this.props.verBoton ? (
\r\n \r\n
):null}\r\n
\r\n \r\n \r\n
:\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n {this.props.children}\r\n {this.props.verBoton ? (
\r\n \r\n
) : null}\r\n
\r\n
\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default memo(ModalXL);","\r\n\r\n\r\nimport WebCam from \"react-webcam\"\r\nimport React, { useRef, useState, useEffect, Component, createRef } from \"react\"\r\nimport \"../../css/Camara.css\"\r\nimport axios from 'axios';\r\nimport equis from \"../../assets/eliminar.png\"\r\nimport { Spinner } from 'react-bootstrap';\r\n\r\n\r\nclass camara extends Component {\r\n\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n imgSrc: \"\",\r\n showImg: false,\r\n showerr: false,\r\n activebutton: true,\r\n isFace: this.props.rostro,\r\n numidentifica: this.props.identificacion\r\n }\r\n\r\n this.captureImage = this.captureImage.bind(this);\r\n this.Volver = this.Volver.bind(this);\r\n this.Guardar = this.Guardar.bind(this);\r\n this.activebuttonf = this.activebuttonf.bind(this);\r\n this.disabledbuttonf = this.disabledbuttonf.bind(this);\r\n }\r\n\r\n\r\n componentWillMount() {\r\n this.props.useEffect();\r\n }\r\n\r\n\r\n activebuttonf() {\r\n this.setState({ activebutton: true });\r\n }\r\n\r\n disabledbuttonf() {\r\n this.setState({ activebutton: false });\r\n\r\n }\r\n componentDidMount() {\r\n this.getStream().then(this.getDevices).then(this.gotDevices)\r\n }\r\n\r\n componentDidUpdate() {\r\n if (!this.state.showImg && !this.state.showerr) {\r\n\r\n this.getStream().then(this.getDevices).then(this.gotDevices)\r\n }\r\n }\r\n\r\n\r\n getDevices = async () => {\r\n return await navigator.mediaDevices.enumerateDevices();\r\n }\r\n\r\n gotDevices(deviceInfos) {\r\n var videoSelect = document.getElementById('videoSource');\r\n try {\r\n window.deviceInfos = deviceInfos; // make available to console\r\n //console.log('Available input and output devices:', deviceInfos);\r\n for (const deviceInfo of deviceInfos) {\r\n const option = document.createElement('option');\r\n option.value = deviceInfo.deviceId;\r\n if (deviceInfo.kind === 'videoinput') {\r\n option.text = deviceInfo.label || `Camera ${videoSelect.length + 1}`;\r\n videoSelect.appendChild(option);\r\n\r\n\r\n }\r\n }\r\n } catch (error) {\r\n //console.log(error);\r\n\r\n }\r\n\r\n }\r\n\r\n getStream() {\r\n\r\n var videoSelect = document.getElementById('videoSource');\r\n if (window.stream) {\r\n window.stream.getTracks().forEach(track => {\r\n track.stop();\r\n });\r\n }\r\n const videoSource = videoSelect.value;\r\n const constraints = {\r\n video: { deviceId: videoSource ? { exact: videoSource } : undefined }\r\n };\r\n return navigator.mediaDevices.getUserMedia(constraints).\r\n then(this.gotStream).catch(this.handleError);\r\n\r\n\r\n }\r\n\r\n gotStream(stream) {\r\n try {\r\n var videoSelect = document.getElementById('videoSource');\r\n var videoElement = document.getElementById('videoCam')\r\n\r\n window.stream = stream; // make stream available to console\r\n videoSelect.selectedIndex = [...videoSelect.options].\r\n findIndex(option => option.text === stream.getVideoTracks()[0].label);\r\n videoElement.srcObject = stream;\r\n } catch (error) {\r\n // console.log(error);\r\n }\r\n }\r\n\r\n handleError(error) {\r\n console.error('Error: ', error);\r\n }\r\n\r\n captureImage() {\r\n var videoElement = document.getElementById('videoCam')\r\n let canvas = document.createElement('canvas');\r\n \r\n /* canvas.width = 1920;\r\n canvas.height = 1080;*/\r\n let ctx = canvas.getContext('2d');\r\n canvas.width = document.getElementsByClassName(\"camara-webcam-dim\")[0].offsetWidth;\r\n canvas.height = document.getElementsByClassName(\"camara-webcam-dim\")[0].offsetHeight; \r\n //console.log(\"grafica con medidas: \"+ canvas.width + \" \" + canvas.height);\r\n ctx.drawImage(videoElement, 0, 0, canvas.width, canvas.height);\r\n let image = canvas.toDataURL('image/jpeg');\r\n this.setState({ imgSrc: image })\r\n this.setState({ showImg: true })\r\n\r\n }\r\n\r\n Volver() {\r\n this.setState({ showImg: false });\r\n this.setState({ setshowerr: false });\r\n }\r\n\r\n Guardar() {\r\n this.disabledbuttonf();\r\n\r\n var solicitud = {\r\n foto: this.state.imgSrc,\r\n identificacion: this.state.numidentifica,\r\n tokencapt: \"\"\r\n }\r\n //console.log(this.state.numidentifica);\r\n // console.log(solicitud);\r\n if (this.state.isFace) {\r\n\r\n window.grecaptcha.ready(() => {\r\n window.grecaptcha.execute(process.env.REACT_APP_CAPTCHAKEY, { action: 'submit' }).then(token => {\r\n solicitud.tokencapt = token;\r\n axios.post(`${process.env.REACT_APP_API}api/Solicitud/imagen/rostro`, solicitud).then(res => {\r\n if (res.status == 200) {\r\n this.setState({ showImg: false })\r\n this.props.imgRostro(this.state.imgSrc);\r\n }\r\n this.activebuttonf();\r\n\r\n }).catch(error => {\r\n\r\n this.setState({ showImg: false })\r\n this.setState({ showerr: true })\r\n this.activebuttonf();\r\n //this.setState({ showImg: false })\r\n //this.props.imgRostro(this.state.imgSrc);\r\n\r\n });\r\n });\r\n });\r\n } else {\r\n window.grecaptcha.ready(() => {\r\n window.grecaptcha.execute(process.env.REACT_APP_CAPTCHAKEY, { action: 'submit' }).then(token => {\r\n solicitud.tokencapt = token;\r\n axios.post(`${process.env.REACT_APP_API}api/Solicitud/imagen/cedula`, solicitud).then(res => {\r\n if (res.status == 200) {\r\n this.setState({ showImg: false })\r\n this.props.imgRostro(this.state.imgSrc);\r\n }\r\n this.activebuttonf();\r\n }).catch(error => {\r\n this.setState({ showImg: false })\r\n this.setState({ showerr: true })\r\n this.activebuttonf();\r\n //this.setState({ showImg: false })\r\n //this.props.imgRostro(this.state.imgSrc);\r\n });\r\n });\r\n });\r\n } \r\n }\r\n\r\n render() {\r\n return (\r\n this.state.showImg && !this.state.showerr ?\r\n
\r\n
\r\n

Foto Tomada

\r\n
\r\n

¿Está de acuerdo con la fotografía tomada?

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n {!this.state.activebutton ?\r\n
\r\n \r\n
\r\n : null} \r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n : !this.state.showImg && !this.state.showerr ?\r\n
\r\n\r\n
\r\n {this.state.isFace ? \r\n

Foto del Rostro

\r\n :\r\n

Foto de la Cédula

\r\n }\r\n\r\n
\r\n {/**/}\r\n \r\n
\r\n\r\n \r\n\r\n \r\n\r\n

*Procure tomar la fotografia en un lugar iluminado

\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n : !this.state.showImg && this.state.showerr ?\r\n
\r\n

Error en la Solicitud

\r\n
\r\n \"Error\"\r\n
\r\n

La fotografia tomada no es aceptable, procure tomar la foto en un lugar iluminado.

\r\n
: null\r\n )\r\n }\r\n\r\n}\r\nexport default camara;","export default __webpack_public_path__ + \"static/media/ruc.7ba3885a.pdf\";","import WebCam from \"react-webcam\"\r\nimport React, { useState} from \"react\"\r\nimport \"../../css/Visualizarpdf.css\"\r\n\r\nimport { Worker } from '@react-pdf-viewer/core';\r\n// Import the main Viewer component\r\nimport { Viewer } from '@react-pdf-viewer/core';\r\n// Import the styles\r\nimport '@react-pdf-viewer/core/lib/styles/index.css';\r\n// default layout plugin\r\nimport { defaultLayoutPlugin } from '@react-pdf-viewer/default-layout';\r\n// Import styles of default layout plugin\r\nimport '@react-pdf-viewer/default-layout/lib/styles/index.css';\r\nimport axios from \"axios\";\r\n\r\nimport upload from \"../../assets/SuBIR.svg\"\r\n\r\n//import pdf from \"../../../src/PagosLicencia.pdf\"\r\n\r\nfunction Visualizarpdf(props) {\r\n const defaultLayoutPluginInstance = defaultLayoutPlugin();\r\n\r\n // pdf file onChange state\r\n const [pdfFile, setPdfFile] = useState(null);\r\n\r\n // pdf file error state\r\n const [pdfError, setPdfError] = useState('');\r\n\r\n const [btnAvalible, setbtnAvalible] = useState(false)\r\n //datos del archivo\r\n const [dataFile,setdataFile] = useState(null);\r\n\r\n const [btndown, setbtndown] = useState(false);\r\n // handle file onChange event\r\n const allowedFiles = ['application/pdf'];\r\n\r\n const handleFile = (e) => {\r\n let selectedFile = e.target.files[0];\r\n setdataFile(selectedFile);\r\n if (selectedFile) {\r\n if (selectedFile && allowedFiles.includes(selectedFile.type)) {\r\n let reader = new FileReader();\r\n reader.readAsDataURL(selectedFile);\r\n reader.onloadend = (e) => {\r\n setPdfError('');\r\n setPdfFile(e.target.result);\r\n }\r\n setbtnAvalible(true);\r\n setbtndown(true);\r\n }\r\n \r\n else {\r\n setPdfError('No es valido: Solo puede escoger archivos PDF');\r\n setPdfFile('');\r\n }\r\n }\r\n else {\r\n //console.log('Seleccione un pdf');\r\n }\r\n //console.log(selectedFile)\r\n\r\n }\r\n\r\n const choosePdf = React.useCallback(() => {\r\n props.choosepdf(pdfFile);\r\n });\r\n // \r\n\r\n return (\r\n\r\n
\r\n {!props.pathpdf ? \r\n <>\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n {pdfError && {pdfError}}\r\n\r\n
\r\n {btndown ?\r\n < div className=\"container vpdf-div-download\">\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n :\r\n null}\r\n
\r\n
\r\n {pdfFile && (\r\n \r\n \r\n \r\n )}\r\n\r\n {!pdfFile && <>No se ha seleccionado ningún archivo}\r\n\r\n
\r\n\r\n :\r\n \r\n
\r\n
\r\n
\r\n

{props.titulo}

\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n \r\n \r\n\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n\r\n }\r\n \r\n\r\n\r\n \r\n );\r\n}\r\n\r\n\r\nexport default Visualizarpdf;\r\n","export default __webpack_public_path__ + \"static/media/Alerta.1bbdfde3.svg\";","export default __webpack_public_path__ + \"static/media/descarga_acuerdo_copia.1bd49d20.svg\";","export default __webpack_public_path__ + \"static/media/logoPDF.6c09f088.png\";","export default __webpack_public_path__ + \"static/media/Subirgrismin.8a420917.svg\";","\r\n\r\n\r\nimport React, {\r\n Pure\r\n , Component\r\n} from \"react\"\r\nimport \"../../css/renderpdf.css\"\r\nimport upload from \"../../assets/SuBIR.svg\"\r\n\r\nimport logopdf from \"../../assets/logoPDF.png\"\r\nimport { jsPDF } from \"jspdf\";\r\nimport cedimg from \"../../assets/FotoCEDULA.svg\"\r\nimport descargardocs from \"../../assets/Subirgrismin.svg\"\r\n\r\nclass renderpdf extends Component {\r\n\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n\r\n this.state = {\r\n showPassword: false,\r\n nombre: this.props.nombre,\r\n apellido: this.props.apellido,\r\n username: this.props.username,\r\n identificacion: this.props.identificacion,\r\n arcb64 :\"\",\r\n firmadoGeneral: this.props.firmadoGeneral,\r\n };\r\n\r\n this.generateSimplePDF = this.generateSimplePDF.bind(this);\r\n this.generateSimplePDF = this.generateSimplePDF.bind(this);\r\n\r\n }\r\n\r\n componentDidMount() {\r\n\r\n //this.props.disabledbuttonpdf();\r\n var optjustify = {\r\n align: 'justify', lineHeightFactor: 1.5, maxWidth: 18\r\n }\r\n var optcenter = {\r\n align: 'center', lineHeightFactor: 1.5, maxWidth: 18\r\n }\r\n //console.log(this.state.arcb64);\r\n\r\n var nombrecompleto = this.state.nombre.toUpperCase() + \" \" + this.state.apellido.toUpperCase();\r\n var fecha = new Date();\r\n\r\n\r\n const parr1 = \"La Escuela Superior Politécnica del Litoral – (en adelante ESPOL) es una institución de educación superior, persona jurídica de derecho público, sin fines de lucro, autónoma en lo académico, administrativo, financiero y orgánico, pone en su conocimiento las condiciones de uso, fines y almacenamiento de los datos personales proporcionados por usted; así como, las condiciones de uso del usuario y contraseña de los medios y servicios electrónicos que la ESPOL provee a través del internet.\";\r\n\r\n const parr2 = `Con estos antecedentes. Usted, ${nombrecompleto}, en adelante el Usuario, con número de identificación ${this.state.identificacion} y usuario ${this.state.username} en Guayaquil, Ecuador; el día ${fecha.toLocaleDateString(undefined, { day: 'numeric', month: 'long', year: 'numeric' })}, declara que: `;\r\n\r\n\r\n const parr3 = \"1) Se compromete a registrar la información requerida por la institución de manera fidedigna y coherente en los sistemas informáticos de la ESPOL.\";\r\n const parr4 = \"2) Acepta y autoriza que la ESPOL almacene sus datos personales por tiempo indefinido, y serán protegidos de acuerdo a la Ley Orgánica de Protección de Datos Personales.Estos datos podrán ser compartidos con las empresas públicas, fundaciones y empresas con las que la ESPOL esté relacionada, enmarcado en los fines del tratamiento de datos personales dispuesto en las políticas de privacidad de la institución.\";\r\n const parr5 = `3) Acepta y autoriza que la ESPOL haga uso de los datos personales proporcionados, en concordancia con la `;\r\n \r\n const parr5_1 = \"4) Conoce que su calidad de usuario de los sistemas informáticos de la ESPOL, permite a la institución el uso de sus datos personales sensibles de acuerdo a la Ley Orgánica de Protección de Datos Personales y que los mismos serán utilizados como parte de su registro académico.\";\r\n\r\n const parr6 = \"5) Conoce que el portal institucional www.espol.edu.ec es de propiedad de la Escuela Superior Politécnica del Litoral.\";\r\n const parr7 = \"6) Conoce el presente acuerdo y se compromete, a respetar las normas y procedimientos que garanticen la privacidad de la información proporcionada o de la que pudiera tener acceso.\";\r\n const parr8 = \"7) Asume la responsabilidad de la información proporcionada; así como también de la vigencia, veracidad, actualización y coherencia de la misma, en cumplimiento de sus obligaciones.\";\r\n const parr9 = \"8) Conoce que, de incurrir en uso no adecuado de los sistemas informáticos de la institución, la ESPOL tendrá derecho a negar, restringir o condicionar el acceso al usuario de sus sistemas informáticos, sometiéndose al régimen disciplinario de la institución, en caso de falsedad de la información ingresada, mal uso, vulneración de sistemas, entre otras actividades que pudieran poner en riesgos la confidencialidad de datos de la cual es responsable la ESPOL, sin perjuicio de las acciones civiles o penales que pudiera iniciar la institución.\";\r\n const parr10 = \"9) Conoce que la marca ´´ESPOL + logotipo´´ y sus marcas derivadas se encuentran registradas y gozan de protección de los Derechos de Propiedad Intelectual. En caso de requerir su uso, deberá ser autorizado por la institución.\";\r\n const parr11 = \"10) Conoce que las imágenes, portales, archivos, documentos o cualquier otro material en el que conste la ESPOL + logotipo o sus marcas registradas, es propiedad de la institución, su uso o reproducción deberá ser autorizada, o mencionada dentro del medio para el que se utilice.\";\r\n const parr12_1 = \"11) Conoce que el usuario y clave que la institución le asigne es personal e intransferible, su so en las plataformas web de la ESPOL, tendrá validez jurídica de una firma electrónica, de conformidad a lo indicado en la Ley de Comercio Electrónico, Mensaje de Datos y Firma Electrónica y su Reglamento.\";\r\n\r\n const parr45 = `Para constancia de lo expresado, suscribo el presente documento, en la ciudad de GUAYAQUIL Provincia de GUAYAS el ${fecha.toLocaleDateString()}.`\r\n\r\n\r\n var espacioIzquierdo = 2;\r\n var espacioIzquierdoTab = 2.3;\r\n\r\n var espacioCentrado = 11;\r\n\r\n\r\n const doc = new jsPDF('p', 'cm', 'letter');\r\n\r\n var espacioSuperior = 1;\r\n\r\n\r\n var imgDataESPOLOLD = \"data:image/png;base64,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\";\r\n var imgDataESPOL = \"data:image/png;base64,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\";\r\n\r\n var imgDataVector = \"data:image/png;base64,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\";\r\n doc.addImage(imgDataESPOL, espacioIzquierdo, 1);\r\n doc.addImage(imgDataVector, 16, 0);\r\n\r\n\r\n\r\n //doc.addImage(imgData, 12, espacioSuperior, 6, 1.2);\r\n doc.setFontSize(10)\r\n doc.setFont(\"Times-Roman\");\r\n\r\n\r\n espacioSuperior = espacioSuperior + 2.2;\r\n\r\n doc.setFont(undefined, \"bold\");\r\n doc.text(\"ACUERDO DE USO DE DATOS PERSONALES Y MEDIOS ELECTRÓNICOS PARA EL ALMACENAMIENTO Y USO DE INFORMACIÓN REGISTRADA EN LOS SISTEMAS INFORMÁTICOS DE LA ESPOL.\", espacioCentrado, espacioSuperior, optcenter);\r\n\r\n doc.setFont(undefined, \"normal\");\r\n doc.setFontSize(8.5);\r\n espacioSuperior = espacioSuperior + 1.6;\r\n doc.text(parr1, espacioIzquierdo, espacioSuperior, optjustify);\r\n\r\n doc.setFontSize(10)\r\n doc.setFont(\"Times-Roman\");\r\n espacioSuperior = espacioSuperior + 2.2;\r\n doc.text(\"Declaración de responsabilidad y aceptación de usuario:\", espacioIzquierdo, espacioSuperior, optjustify);\r\n\r\n doc.setFont(undefined, \"normal\");\r\n doc.setFontSize(8.5);\r\n espacioSuperior = espacioSuperior + 0.7;\r\n doc.text(parr2, espacioIzquierdo, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 1.2;\r\n doc.text(parr3, espacioIzquierdoTab, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 0.7\r\n doc.text(parr4, espacioIzquierdoTab, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 1.6\r\n doc.text(parr5, espacioIzquierdoTab, espacioSuperior, optjustify);\r\n doc.textWithLink(\"Política de privacidad\", 15.5, espacioSuperior, { url: 'https://www.dspace.espol.edu.ec/bitstream/123456789/57243/3/POLITICA%20DE%20PRIVACIDAD%20ESPOL%20GTSI.pdf' });\r\n doc.text(\"y en sus\", 18.2, espacioSuperior, optjustify);\r\n espacioSuperior = espacioSuperior + 0.7\r\n doc.textWithLink(\"términos y condiciones\", espacioIzquierdoTab, espacioSuperior, { url: 'https://www.dspace.espol.edu.ec/bitstream/123456789/57244/3/TERMINOS%20Y%20CONDICIONES%20POLITICAS%20DE%20PRIVACIDAD%20GTSI.pdf' });\r\n doc.text(\"vigentes de la institución.\", 5.3, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 0.7\r\n doc.text(parr5_1, espacioIzquierdoTab, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 1.2\r\n doc.text(parr6, espacioIzquierdoTab, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 0.7\r\n doc.text(parr7, espacioIzquierdoTab, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 1.2\r\n doc.text(parr8, espacioIzquierdoTab, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 1.2\r\n doc.text(parr9, espacioIzquierdoTab, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 2.0\r\n doc.text(parr10, espacioIzquierdoTab, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 1.2\r\n doc.text(parr11, espacioIzquierdoTab, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 1.2\r\n doc.text(parr12_1, espacioIzquierdoTab, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 1.6\r\n doc.text(parr45, espacioIzquierdoTab, espacioSuperior, optjustify);\r\n if (this.state.firmadoGeneral) {\r\n espacioSuperior = espacioSuperior + 1.8\r\n doc.setFontSize(10);\r\n doc.text(this.state.username, espacioCentrado, espacioSuperior, optcenter);\r\n espacioSuperior = espacioSuperior + 0.7\r\n } else {\r\n espacioSuperior = espacioSuperior + 3\r\n }\r\n\r\n doc.setFontSize(8.5);\r\n doc.setFont(undefined, \"bold\");\r\n doc.text(\"Firma\", espacioCentrado, espacioSuperior, optcenter);\r\n\r\n\r\n doc.setFont(undefined, \"normal\");\r\n\r\n\r\n espacioSuperior = espacioSuperior + 0.7\r\n doc.text(nombrecompleto, espacioCentrado, espacioSuperior, optcenter);\r\n\r\n espacioSuperior = espacioSuperior + 0.7\r\n doc.text(this.state.identificacion, espacioCentrado, espacioSuperior, optcenter);\r\n\r\n\r\n/*\r\n doc.setFont(undefined, \"bold\");\r\n doc.text(\"Impreso el \" + fecha.toLocaleString(), 18, 27, optcenter);\r\n doc.setFont(undefined, \"normal\");\r\n*/\r\n\r\n this.props.arcb64(doc.output('dataurlstring'));\r\n }\r\n\r\n generateSimplePDF() {\r\n\r\n var optjustify = {\r\n align: 'justify', lineHeightFactor: 1.5, maxWidth: 18\r\n }\r\n var optcenter = {\r\n align: 'center', lineHeightFactor: 1.5, maxWidth: 18\r\n }\r\n\r\n \r\n var nombrecompleto = this.state.nombre.toUpperCase() + \" \" + this.state.apellido.toUpperCase();\r\n var fecha = new Date();\r\n \r\n //AQUI\r\n const parr1 = \"La Escuela Superior Politécnica del Litoral – (en adelante ESPOL) es una institución de educación superior, persona jurídica de derecho público, sin fines de lucro, autónoma en lo académico, administrativo, financiero y orgánico, pone en su conocimiento las condiciones de uso, fines y almacenamiento de los datos personales proporcionados por usted; así como, las condiciones de uso del usuario y contraseña de los medios y servicios electrónicos que la ESPOL provee a través del internet.\";\r\n\r\n const parr2 = `Con estos antecedentes. Usted, ${nombrecompleto}, en adelante el Usuario, con número de identificación ${this.state.identificacion} y usuario ${this.state.username} en Guayaquil, Ecuador; el día ${fecha.toLocaleDateString(undefined, { day: 'numeric', month: 'long', year: 'numeric' })}, declara que: `;\r\n\r\n\r\n const parr3 = \"1) Se compromete a registrar la información requerida por la institución de manera fidedigna y coherente en los sistemas informáticos de la ESPOL.\";\r\n const parr4 = \"2) Acepta y autoriza que la ESPOL almacene sus datos personales por tiempo indefinido, y serán protegidos de acuerdo a la Ley Orgánica de Protección de Datos Personales.Estos datos podrán ser compartidos con las empresas públicas, fundaciones y empresas con las que la ESPOL esté relacionada, enmarcado en los fines del tratamiento de datos personales dispuesto en las políticas de privacidad de la institución.\";\r\n const parr5 = `3) Acepta y autoriza que la ESPOL haga uso de los datos personales proporcionados, en concordancia con la `;\r\n\r\n const parr5_1 = \"4) Conoce que su calidad de usuario de los sistemas informáticos de la ESPOL, permite a la institución el uso de sus datos personales sensibles de acuerdo a la Ley Orgánica de Protección de Datos Personales y que los mismos serán utilizados como parte de su registro académico.\";\r\n\r\n const parr6 = \"5) Conoce que el portal institucional www.espol.edu.ec es de propiedad de la Escuela Superior Politécnica del Litoral.\";\r\n const parr7 = \"6) Conoce el presente acuerdo y se compromete, a respetar las normas y procedimientos que garanticen la privacidad de la información proporcionada o de la que pudiera tener acceso.\";\r\n const parr8 = \"7) Asume la responsabilidad de la información proporcionada; así como también de la vigencia, veracidad, actualización y coherencia de la misma, en cumplimiento de sus obligaciones.\";\r\n const parr9 = \"8) Conoce que, de incurrir en uso no adecuado de los sistemas informáticos de la institución, la ESPOL tendrá derecho a negar, restringir o condicionar el acceso al usuario de sus sistemas informáticos, sometiéndose al régimen disciplinario de la institución, en caso de falsedad de la información ingresada, mal uso, vulneración de sistemas, entre otras actividades que pudieran poner en riesgos la confidencialidad de datos de la cual es responsable la ESPOL, sin perjuicio de las acciones civiles o penales que pudiera iniciar la institución.\";\r\n const parr10 = \"9) Conoce que la marca ´´ESPOL + logotipo´´ y sus marcas derivadas se encuentran registradas y gozan de protección de los Derechos de Propiedad Intelectual. En caso de requerir su uso, deberá ser autorizado por la institución.\";\r\n const parr11 = \"10) Conoce que las imágenes, portales, archivos, documentos o cualquier otro material en el que conste la ESPOL + logotipo o sus marcas registradas, es propiedad de la institución, su uso o reproducción deberá ser autorizada, o mencionada dentro del medio para el que se utilice.\";\r\n const parr12_1 = \"11) Conoce que el usuario y clave que la institución le asigne es personal e intransferible, su so en las plataformas web de la ESPOL, tendrá validez jurídica de una firma electrónica, de conformidad a lo indicado en la Ley de Comercio Electrónico, Mensaje de Datos y Firma Electrónica y su Reglamento.\";\r\n\r\n const parr45 = `Para constancia de lo expresado, suscribo el presente documento, en la ciudad de GUAYAQUIL Provincia de GUAYAS el ${fecha.toLocaleDateString()}.`\r\n\r\n\r\n var espacioIzquierdo = 2;\r\n var espacioIzquierdoTab = 2.3;\r\n\r\n var espacioCentrado = 11;\r\n\r\n\r\n const doc = new jsPDF('p', 'cm', 'letter');\r\n\r\n var espacioSuperior = 1;\r\n\r\n\r\n var imgDataESPOLOLD = \"data:image/png;base64,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\";\r\n var imgDataESPOL = \"data:image/png;base64,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\";\r\n var imgDataVector = \"data:image/png;base64,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\";\r\n doc.addImage(imgDataESPOL, espacioIzquierdo, 1);\r\n doc.addImage(imgDataVector, 16, 0);\r\n\r\n\r\n\r\n //doc.addImage(imgData, 12, espacioSuperior, 6, 1.2);\r\n doc.setFontSize(10)\r\n doc.setFont(\"Times-Roman\");\r\n\r\n\r\n espacioSuperior = espacioSuperior + 2.2;\r\n\r\n doc.setFont(undefined, \"bold\");\r\n doc.text(\"ACUERDO DE USO DE DATOS PERSONALES Y MEDIOS ELECTRÓNICOS PARA EL ALMACENAMIENTO Y USO DE INFORMACIÓN REGISTRADA EN LOS SISTEMAS INFORMÁTICOS DE LA ESPOL.\", espacioCentrado, espacioSuperior, optcenter);\r\n\r\n doc.setFont(undefined, \"normal\");\r\n doc.setFontSize(8.5);\r\n espacioSuperior = espacioSuperior + 1.6;\r\n doc.text(parr1, espacioIzquierdo, espacioSuperior, optjustify);\r\n\r\n doc.setFontSize(10)\r\n doc.setFont(\"Times-Roman\");\r\n espacioSuperior = espacioSuperior + 2.2;\r\n doc.text(\"Declaración de responsabilidad y aceptación de usuario:\", espacioIzquierdo, espacioSuperior, optjustify);\r\n\r\n doc.setFont(undefined, \"normal\");\r\n doc.setFontSize(8.5);\r\n espacioSuperior = espacioSuperior + 0.7;\r\n doc.text(parr2, espacioIzquierdo, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 1.2;\r\n doc.text(parr3, espacioIzquierdoTab, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 0.7\r\n doc.text(parr4, espacioIzquierdoTab, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 1.6\r\n doc.text(parr5, espacioIzquierdoTab, espacioSuperior, optjustify);\r\n doc.textWithLink(\"Política de privacidad\", 15.5, espacioSuperior, { url: 'https://www.dspace.espol.edu.ec/bitstream/123456789/57243/3/POLITICA%20DE%20PRIVACIDAD%20ESPOL%20GTSI.pdf' });\r\n doc.text(\"y en sus\", 18.2, espacioSuperior, optjustify);\r\n espacioSuperior = espacioSuperior +0.7\r\n doc.textWithLink(\"términos y condiciones\", espacioIzquierdoTab, espacioSuperior, { url: 'https://www.dspace.espol.edu.ec/bitstream/123456789/57244/3/TERMINOS%20Y%20CONDICIONES%20POLITICAS%20DE%20PRIVACIDAD%20GTSI.pdf' });\r\n doc.text(\"vigentes de la institución.\", 5.3, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 0.7\r\n doc.text(parr5_1, espacioIzquierdoTab, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 1.2\r\n doc.text(parr6, espacioIzquierdoTab, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 0.7\r\n doc.text(parr7, espacioIzquierdoTab, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 1.2\r\n doc.text(parr8, espacioIzquierdoTab, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 1.2\r\n doc.text(parr9, espacioIzquierdoTab, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 2.0\r\n doc.text(parr10, espacioIzquierdoTab, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 1.2\r\n doc.text(parr11, espacioIzquierdoTab, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 1.2\r\n doc.text(parr12_1, espacioIzquierdoTab, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 1.6\r\n doc.text(parr45, espacioIzquierdoTab, espacioSuperior, optjustify);\r\n if (this.state.firmadoGeneral) {\r\n espacioSuperior = espacioSuperior + 1.8\r\n doc.setFontSize(10);\r\n // doc.text(this.state.username, espacioCentrado, espacioSuperior, optcenter);\r\n espacioSuperior = espacioSuperior + 0.7\r\n } else {\r\n espacioSuperior = espacioSuperior + 3\r\n }\r\n\r\n doc.setFontSize(8.5);\r\n doc.setFont(undefined, \"bold\");\r\n doc.text(\"Firma\", espacioCentrado, espacioSuperior, optcenter);\r\n\r\n\r\n doc.setFont(undefined, \"normal\");\r\n\r\n\r\n espacioSuperior = espacioSuperior + 0.7\r\n doc.text(nombrecompleto, espacioCentrado, espacioSuperior, optcenter);\r\n\r\n espacioSuperior = espacioSuperior + 0.7\r\n doc.text(this.state.identificacion, espacioCentrado, espacioSuperior, optcenter); \r\n \r\n\r\n/*\r\n doc.setFont(undefined, \"bold\");\r\n doc.text(\"Impreso el \" + fecha.toLocaleString(), 18, 27, optcenter);\r\n doc.setFont(undefined, \"normal\");\r\n*/\r\n doc.save(\"Acuerdo.pdf\");\r\n\r\n }\r\n\r\n\r\n\r\n render() {\r\n return (\r\n this.props.posicion!=\"modal\" ?\r\n
\r\n \r\n
\r\n :\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default renderpdf;\r\n","import React, { Component } from 'react'\r\nimport check from \"../../assets/check.png\";\r\nimport Cookies from 'js-cookie';\r\nimport upload from \"../../assets/SuBIR.svg\"\r\n\r\nimport eliminar from \"../../assets/eliminar.png\";\r\nimport subaacfe from \"../../assets/subiracuerdoFE.svg\";\r\nimport subaacfm from \"../../assets/subiracuerdoFM.svg\";\r\nimport rostoimg from \"../../assets/FotoPERSONAL.svg\"\r\nimport camaraNecesaria from \"../../assets/CAMARAnecesariaSilver.svg\"\r\nimport subir from \"../../assets/subircedula.svg\"\r\n\r\n\r\nimport cedimg from \"../../assets/FotoCEDULA.svg\"\r\nimport Modal from './Modal';\r\nimport ModalXL from './ModalXL';\r\nimport axios from \"axios\";\r\nimport \"../../css/Acuerdo.css\"\r\nimport Header from './Header.js'\r\nimport Footer from './Footer.js'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faEye, faEyeSlash, faCheckCircle, faTimesCircle, faCheck } from \"@fortawesome/free-solid-svg-icons\";\r\nimport Camara from \"./Camara.js\"\r\nimport pdf from \"../../../src/ruc.pdf\"\r\nimport Visualizarpdf from \"../components/Visualizarpdf\";\r\nimport FormRegistroContrasenia from './FormRegistroContrasenia';\r\nimport { Navigate } from 'react-router-dom';\r\nimport equis from \"../../assets/eliminar.png\";\r\nimport alerta from \"../../assets/Alerta.svg\";\r\nimport anuncioico from \"../../assets/AnuncioICO.svg\";\r\nimport descargarAcuerdo from \"../../assets/descarga_acuerdo_copia.svg\"\r\n\r\nimport Renderpdf from \"../components/renderPDF\"\r\n\r\n\r\nexport class Acuerdo extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n showEnvAcdRect:false,\r\n aceptoAcuerdo: false,\r\n modalPrevAcuerdoGen: this.props.modalPrevAcuerdoGen,\r\n mostrarNombre:false,\r\n IsFirmadoElect:false,\r\n modalFirmaGeneralExitosa: false,\r\n firmadoGeneral: this.props.firmadoGeneral,\r\n modalFirmaManual: false,\r\n modalFirmaManualActualizararch:false,\r\n verbtngeneral: this.props.verbtngeneral,\r\n modalFirmaElectronica: false,\r\n modalFManualExitosa: false,\r\n modalFManualExitosaTipoA: false,\r\n modalActualizaciónDocsExitosa: false,\r\n\r\n modalFElectricaExitosa: false,\r\n modalCamararostro: false,\r\n modalCamaracedula: false,\r\n modalModocedula: false,\r\n modalfotocedula: false,\r\n modalarchivocedula: false,\r\n modalSubirPdf: false,\r\n modalNoAcepACGeneral: false,\r\n modalNoAcepACGeneralprev: false,\r\n iconGuardRostroExito: false,\r\n iconGuardCedulaExito: false,\r\n isvalidimgpersonasub: false,\r\n isvalidimgtarjetasub:false,\r\n isvalidcontratosub: false,\r\n iconGuardPdfExito: false,\r\n showiconGuardPdfExitoCedula: false,\r\n iconChooseFirma: false,\r\n actFirmaElec: false,\r\n actFirmaElecInter: false,\r\n verRegistroContrasena: false,\r\n showPassword: false,\r\n activebutton: true,\r\n activebuttonpdf: true,\r\n activebutton1: true,\r\n IsAcuerdoDescargado: false,\r\n modalMensaje: \"\",\r\n idAcFirmaElec: \"\",\r\n acuerdob64: \"\",\r\n mensaje_titulo: this.props.mensaje_titulo,\r\n datosUsuario: {\r\n //SECCIÓN DE LA CUENTA ELECTRÓNICA\r\n id: this.props.id,\r\n nombres: this.props.nombres,\r\n apellidos: this.props.apellidos,\r\n identificacion: this.props.identificacion,\r\n usuario_sugerido: this.props.usuario_sugerido,\r\n //nombres: \"pepito pivuawe\",\r\n //apellidos: \"gomez rendom\",\r\n //identificacion: \"0931087209\",\r\n //usuario_sugerido: \"aiarias\",\r\n alias_sugerido: this.props.alias_sugerido,\r\n correoAlterno: this.props.correoAlterno,\r\n rol: this.props.rol,\r\n telefono: this.props.telefono,\r\n unidad: this.props.unidad,\r\n password: this.props.password,\r\n //SECCIÓN DE SOLICITUD MANUAL\r\n estado: this.props.estado,\r\n Motivo: this.props.Motivo,\r\n tipoForm: this.props.tipoForm,\r\n infoSolicitud: this.props.infoSolicitud,\r\n },\r\n isvalidbtnAceptar:false,\r\n contra: {\r\n contrasena: \"\",\r\n contrasenaCumple: false,\r\n repetirContraCumple: false,\r\n terminos: \"\",\r\n },\r\n fotoRostro: '',\r\n fotoCedula: '',\r\n pdfData: null,\r\n pdfCedulaData: null,\r\n // modalSugerencia: {\r\n modalError: {\r\n show: false,\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: equis,\r\n },\r\n modalErrorAcuerdoGen:{\r\n show: false,\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: equis,\r\n },\r\n renderNavigateLogin: false,\r\n base64FE: \"\",\r\n pwdFirmaElectronica: \"\",\r\n fecha: new Date(),\r\n verbtngeneralElectronica: this.props.verbtngeneralElectronica,\r\n };\r\n\r\n this.cambiarEstado = this.cambiarEstado.bind(this);\r\n\r\n this.renderRegistro = this.renderRegistro.bind(this);\r\n\r\n this.abrirModalFirmaM = this.abrirModalFirmaM.bind(this);\r\n this.cerrarModalFirmaM = this.cerrarModalFirmaM.bind(this);\r\n\r\n this.abrirmodalFirmaManualActualizararch = this.abrirmodalFirmaManualActualizararch.bind(this);\r\n this.cerrarmodalFirmaManualActualizararch = this.cerrarmodalFirmaManualActualizararch.bind(this);\r\n \r\n\r\n\r\n this.abrirModalFirmaE = this.abrirModalFirmaE.bind(this);\r\n this.cerrarModalFirmaE = this.cerrarModalFirmaE.bind(this);\r\n\r\n this.abrirModalFManualExitosa = this.abrirModalFManualExitosa.bind(this);\r\n this.cerrarModalFManualExitosa = this.cerrarModalFManualExitosa.bind(this); \r\n\r\n this.abrirModalActualizaciónDocsExitosa = this.abrirModalActualizaciónDocsExitosa.bind(this);\r\n this.cerrarModalActualizaciónDocsExitosa = this.cerrarModalActualizaciónDocsExitosa.bind(this);\r\n\r\n this.abrirModalNoAcepACGeneral = this.abrirModalNoAcepACGeneral.bind(this);\r\n this.cerrarModalNoAcepACGeneral = this.cerrarModalNoAcepACGeneral.bind(this);\r\n\r\n this.abrirModalNoAcepACGeneralPrev = this.abrirModalNoAcepACGeneralPrev.bind(this);\r\n this.cerrarModalNoAcepACGeneralPrev = this.cerrarModalNoAcepACGeneralPrev.bind(this);\r\n\r\n this.abrirModalFElectronicaExitosa = this.abrirModalFElectronicaExitosa.bind(this);\r\n this.cerrarModalFElectronicaExitosa = this.cerrarModalFElectronicaExitosa.bind(this);\r\n\r\n this.abrirModalCamararostro = this.abrirModalCamararostro.bind(this);\r\n this.cerrarModalCamararostro = this.cerrarModalCamararostro.bind(this);\r\n\r\n this.abrirModalCamaracedula = this.abrirModalCamaracedula.bind(this);\r\n this.cerrarModalCamaracedula = this.cerrarModalCamaracedula.bind(this);\r\n\r\n this.abrirModalModoacedula = this.abrirModalModoacedula.bind(this);\r\n this.cerrarModalModocedula = this.cerrarModalModocedula.bind(this);\r\n\r\n this.abrirmodalarchivocedula = this.abrirmodalarchivocedula.bind(this);\r\n this.cerrarmodalarchivocedula = this.cerrarmodalarchivocedula.bind(this);\r\n\r\n\r\n this.abrirmodalfotocedula = this.abrirmodalfotocedula.bind(this);\r\n this.cerrarmodalfotocedula = this.cerrarmodalfotocedula.bind(this);\r\n\r\n this.abrirModalSubirPdf = this.abrirModalSubirPdf.bind(this);\r\n this.cerrarModalSubirPdf = this.cerrarModalSubirPdf.bind(this);\r\n\r\n this.showiconGuardRostroExito = this.showiconGuardRostroExito.bind(this);\r\n this.showiconGuardCedulaExito = this.showiconGuardCedulaExito.bind(this);\r\n this.showiconGuardPdfExito = this.showiconGuardPdfExito.bind(this);\r\n this.showiconGuardPdfExitoCedula = this.showiconGuardPdfExitoCedula.bind(this);\r\n\r\n\r\n this.verFormRegistroContrasenia = this.verFormRegistroContrasenia.bind(this);\r\n\r\n this.mostrarContrasena = this.mostrarContrasena.bind(this);\r\n\r\n this.abrirModalError = this.abrirModalError.bind(this);\r\n this.cerrarModalError = this.cerrarModalError.bind(this);\r\n\r\n this.abrirModalErrorGen = this.abrirModalErrorGen.bind(this);\r\n this.cerrarModalErrorGen = this.cerrarModalErrorGen.bind(this);\r\n\r\n this.activebuttonf = this.activebuttonf.bind(this);\r\n this.disabledbuttonf = this.disabledbuttonf.bind(this);\r\n\r\n\r\n this.activebuttonpdf = this.activebuttonpdf.bind(this);\r\n this.disabledbuttonpdf = this.disabledbuttonpdf.bind(this);\r\n\r\n this.abrirModalFirmaGeneralExitosa = this.abrirModalFirmaGeneralExitosa.bind(this);\r\n this.cerrarModalFirmaGeneralExitosa = this.cerrarModalFirmaGeneralExitosa.bind(this);\r\n\r\n this.cerrarModalPrevGen = this.cerrarModalPrevGen.bind(this);\r\n this.abrirModalPrevGen = this.abrirModalPrevGen.bind(this);\r\n\r\n var servicio = localStorage.getItem('servicio'); \r\n //console.log(servicio);\r\n }\r\n\r\n componentWillMount() {\r\n this.props.useEffect();\r\n }\r\n\r\n cerrarModalPrevGen() {\r\n this.setState({\r\n modalPrevAcuerdoGen: false,\r\n });\r\n }\r\n\r\n abrirModalPrevGen() {\r\n this.setState({\r\n modalPrevAcuerdoGen: true,\r\n });\r\n }\r\n\r\n activebuttonf() {\r\n this.setState({ activebutton: true });\r\n }\r\n\r\n disabledbuttonf() {\r\n this.setState({ activebutton: false });\r\n }\r\n\r\n\r\n activebuttonpdf() {\r\n this.setState({ activebuttonpdf: true });\r\n }\r\n\r\n disabledbuttonpdf() {\r\n this.setState({ activebuttonpdf: false });\r\n }\r\n\r\n\r\n activebuttonf1() {\r\n this.setState({ activebutton1: true });\r\n }\r\n\r\n disabledbuttonf1() {\r\n this.setState({ activebutton1: false });\r\n }\r\n mostrarContrasena(e) {\r\n e.preventDefault();\r\n this.setState({ showPassword: !this.state.showPassword });\r\n }\r\n\r\n verFormRegistroContrasenia() {\r\n this.setState({ verRegistroContrasena: true });\r\n }\r\n\r\n showiconGuardRostroExito() {\r\n this.setState({\r\n iconGuardRostroExito: true,\r\n actFirmaElec: true,\r\n isvalidimgpersonasub: true\r\n });\r\n ///this.setState({ })\r\n }\r\n\r\n showiconGuardCedulaExito() {\r\n this.setState({\r\n iconGuardCedulaExito: true,\r\n actFirmaElec: true,\r\n isvalidimgtarjetasub: true\r\n });\r\n //this.setState({ actFirmaElec: true })\r\n console.log(\"asdasdasdas\");\r\n\r\n }\r\n showiconGuardPdfExito() {\r\n this.setState({\r\n iconGuardPdfExito: true,\r\n actFirmaElec: true,\r\n isvalidcontratosub:true,\r\n })\r\n //this.setState({ actFirmaElec: true })\r\n }\r\n\r\n showiconGuardPdfExitoCedula() {\r\n this.setState({\r\n iconGuardCedulaExito: true,\r\n isvalidimgtarjetasub: true,\r\n })\r\n }\r\n\r\n abrirModalCamararostro() {\r\n this.setState({ modalCamararostro: true })\r\n \r\n }\r\n\r\n cerrarModalCamararostro() {\r\n this.setState({ modalCamararostro: false })\r\n }\r\n\r\n abrirModalCamaracedula() {\r\n this.setState({ modalCamaracedula: true });\r\n this.cerrarModalModocedula();\r\n }\r\n\r\n cerrarModalCamaracedula() {\r\n this.setState({ modalCamaracedula: false })\r\n }\r\n\r\n abrirModalModoacedula() {\r\n this.setState({ modalModocedula: true })\r\n }\r\n\r\n cerrarModalModocedula() {\r\n this.setState({ modalModocedula: false })\r\n }\r\n\r\n abrirmodalfotocedula() {\r\n this.setState({ modalfotocedula: true })\r\n }\r\n\r\n cerrarmodalfotocedula() {\r\n this.setState({ modalfotocedula: false })\r\n }\r\n\r\n\r\n abrirmodalarchivocedula() {\r\n this.setState({ modalarchivocedula: true });\r\n this.cerrarModalModocedula();\r\n }\r\n\r\n cerrarmodalarchivocedula() {\r\n this.setState({ modalarchivocedula: false })\r\n }\r\n\r\n\r\n abrirModalSubirPdf() {\r\n this.setState({ modalSubirPdf: true })\r\n }\r\n\r\n cerrarModalSubirPdf() {\r\n this.setState({\r\n modalSubirPdf: false,\r\n modalarchivocedula: false\r\n })\r\n }\r\n\r\n\r\n abrirModalFManualExitosa() {\r\n this.setState({ modalFManualExitosa: true })\r\n }\r\n\r\n\r\n cerrarModalActualizaciónDocsExitosa() {\r\n this.setState({ modalActualizaciónDocsExitosa: false });\r\n window.location.href = \"/Inicio\";\r\n }\r\n\r\n abrirModalActualizaciónDocsExitosa() {\r\n this.setState({\r\n modalActualizaciónDocsExitosa: true,\r\n modalFirmaManualActualizararch: false\r\n })\r\n }\r\n\r\n\r\n cerrarModalFManualExitosa() {\r\n this.setState({ modalFManualExitosa: false })\r\n this.setState({ renderNavigateLogin: true })\r\n }\r\n\r\n\r\n abrirModalFManualExitosaTipoA() {\r\n this.setState({ modalFManualExitosaTipoA: true })\r\n }\r\n\r\n\r\n cerrarModalFManualExitosaTipoA() {\r\n this.setState({ cerrarModalFManualExitosaTipoA: false })\r\n //this.setState({ renderNavigateLogin: true })\r\n }\r\n\r\n abrirModalNoAcepACGeneral() {\r\n this.cerrarSesion();\r\n this.setState({\r\n modalNoAcepACGeneralprev: false,\r\n modalNoAcepACGeneral: true,\r\n })\r\n }\r\n\r\n cerrarModalNoAcepACGeneral() {\r\n this.setState({ modalNoAcepACGeneral: false });\r\n this.redireccion(2);\r\n }\r\n\r\n\r\n abrirModalNoAcepACGeneralPrev() {\r\n this.setState({ modalNoAcepACGeneralprev: true })\r\n }\r\n\r\n cerrarModalNoAcepACGeneralPrev() {\r\n this.setState({ modalNoAcepACGeneralprev: false });\r\n //window.location.href = \"/Inicio\";\r\n }\r\n\r\n\r\n abrirModalFirmaGeneralExitosa() {\r\n this.setState({ modalFirmaGeneralExitosa: true });\r\n }\r\n\r\n descargarAcuerdoFirmaManual = () => {\r\n console.log(\"acuerdo descargado\");\r\n this.setState({\r\n IsAcuerdoDescargado: true\r\n });\r\n\r\n }\r\n\r\n redireccion(op){\r\n var servicio = localStorage.getItem('servicio');\r\n //var servicio= 'http://192.168.253.7:8087/signin-cas?state=CfDJ8ENUpIgaTURAmA9EfHzh5f_Lch0GfZ_iDfGlUeZCSyG4EJelJbNceGLijKHOhz7kjdastRgI99re7jIlfh5-9AyqwBDse8zIk0HzNcMqxo0XPJthDUMtgb4Oauq4dxlyM52VGZ2ZIHVbQw9n3ZFnusnv4ollNHpTE1pTZzMJhZoS8mUeC9VcUCPqCeV7HE6pig6AoufL7tGLWeD5QFqihyk';\r\n //console.log(servicio);\r\n if (servicio == null || servicio == undefined) {\r\n window.location.href = \"/Inicio\";\r\n //}else if(servicio==\"https://www.academico.espol.edu.ec/\"){\r\n } else if (servicio.includes(\"?service=https://www.academico.espol.edu.ec/\")) {\r\n var ruta = 'https://www.academico.espol.edu.ec/login.aspx';\r\n window.location.href = ruta;\r\n } else if (servicio.includes(\"?service=https://www.profesor.espol.edu.ec/\")) {\r\n var ruta = 'https://www.profesor.espol.edu.ec/Account/AuthLogin';\r\n window.location.href = ruta;\r\n }else if (op == 1) {\r\n if (this.props.tipoAcuerdo == \"ALUMNI\") {\r\n //window.location.href = 'https://alumni.espol.edu.ec/';\r\n ruta = servicio;\r\n } else {\r\n var ruta = 'https://auth.espol.edu.ec/login' + servicio;\r\n }\r\n window.location.href = ruta;\r\n } else {\r\n if (this.props.tipoAcuerdo == \"ALUMNI\") {\r\n //window.location.href = 'https://alumni.espol.edu.ec/';\r\n window.location.href = servicio;\r\n } else {\r\n window.location.href = 'https://auth.espol.edu.ec/logout';\r\n }\r\n }\r\n localStorage.removeItem('servicio'); //cerrar\r\n }\r\n\r\n cerrarModalFirmaGeneralExitosa() {\r\n this.setState({ modalFirmaGeneralExitosa: false });\r\n this.cerrarSesion();\r\n this.redireccion(1);\r\n\r\n }\r\n\r\n\r\n abrirModalFElectronicaExitosa() {\r\n this.setState({ modalFElectricaExitosa: true })\r\n }\r\n\r\n cerrarModalFElectronicaExitosa() {\r\n this.setState({ modalFElectricaExitosa: false })\r\n this.setState({ renderNavigateLogin: true })\r\n\r\n }\r\n\r\n abrirModalFirmaM() {\r\n this.props.callTagManager(\"click-btn-fir-man-creacion\")\r\n // console.log(this.state.verbtngeneralElectronica);\r\n if (this.state.verbtngeneralElectronica) {\r\n this.setState({\r\n modalFirmaManual: true,\r\n modalFirmaManualActualizararch: false\r\n });\r\n } else {\r\n this.setState({\r\n modalFirmaManualActualizararch: true,\r\n modalFirmaManual: false,\r\n });\r\n }\r\n \r\n //console.log(this.state.datosUsuario);\r\n }\r\n\r\n cerrarModalFirmaM() {\r\n this.setState({ modalFirmaManual: false });\r\n }\r\n\r\n abrirmodalFirmaManualActualizararch() {\r\n this.setState({ modalFirmaManualActualizararch: true });\r\n //console.log(this.state.datosUsuario);\r\n }\r\n\r\n cerrarmodalFirmaManualActualizararch() {\r\n this.setState({ modalFirmaManualActualizararch: false });\r\n }\r\n\r\n\r\n abrirModalFirmaE() {\r\n this.props.callTagManager(\"click-btn-fir-elec-creacion\");\r\n this.setState({ modalFirmaElectronica: true })\r\n }\r\n\r\n cerrarModalFirmaE() {\r\n this.setState({ modalFirmaElectronica: false })\r\n }\r\n\r\n abrirModalError() {\r\n this.setState({\r\n modalError: {\r\n ...this.state.modalSugerencia,\r\n show: true\r\n }\r\n });\r\n }\r\n\r\n cerrarModalError() {\r\n this.setState({\r\n modalError: {\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\",\r\n show: false\r\n }\r\n });\r\n }\r\n\r\n abrirModalErrorGen() {\r\n this.setState({\r\n modalErrorAcuerdoGen: {\r\n ...this.state.modalSugerencia,\r\n show: true\r\n }\r\n });\r\n }\r\n\r\n cerrarModalErrorGen() {\r\n this.setState({\r\n modalErrorAcuerdoGen: {\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\",\r\n show: false\r\n }\r\n },()=>{\r\n this.redireccion(2);\r\n });\r\n }\r\n\r\n handlerDatosFormRegistro = async (e) => {\r\n await this.setState({\r\n contra: {\r\n ...this.state.contra,\r\n [e.target.name]: e.target.value,\r\n terminos: e.target.checked\r\n }\r\n })\r\n //console.log(this.state.contra);\r\n\r\n }\r\n\r\n\r\n handlerCheckPrev = async (e) => {\r\n if (this.state.aceptoAcuerdo) {\r\n await this.setState({\r\n aceptoAcuerdo: e.target.checked,\r\n isvalidbtnAceptar: false\r\n }, () => {\r\n console.log(this.state.aceptoAcuerdo);\r\n console.log(this.state.isvalidbtnAceptar);\r\n })\r\n } else {\r\n await this.setState({\r\n aceptoAcuerdo: e.target.checked,\r\n isvalidbtnAceptar: true\r\n }, () => {\r\n console.log(this.state.aceptoAcuerdo);\r\n console.log(this.state.isvalidbtnAceptar);\r\n })\r\n }\r\n \r\n }\r\n\r\n cambiarEstado(valor, contraCumple, repetirContraCumple) {\r\n this.setState({\r\n contra: {\r\n ...this.state.contra,\r\n contrasena: valor,\r\n contrasenaCumple: contraCumple,\r\n repetirContraCumple: repetirContraCumple\r\n }\r\n })\r\n //console.log(\"CAMBIAR ESTADO\");\r\n //console.log(this.state.contra);\r\n }\r\n\r\n renderRegistro(e) {\r\n e.preventDefault();\r\n\r\n this.props.renderFormRegistro(false);\r\n //console.log(\"cambio form registro contraseña\");\r\n }\r\n\r\n /* acuerdo firmado de forma electronica*/\r\n postFirmarAcuerdoElectronicamente = async (e) => {\r\n this.props.callTagManager(\"click-btn-subir-acuerdo-elec-creacion\");\r\n e.preventDefault();\r\n this.disabledbuttonf();\r\n\r\n //console.log(\"Crear cuenta solicitud en firma electronica\");\r\n\r\n var signDoc = {\r\n nombre: this.state.datosUsuario.nombres,\r\n apellido: this.state.datosUsuario.apellidos,\r\n identificacion: this.state.datosUsuario.identificacion,\r\n firmaBase64: this.state.base64FE,\r\n password: this.state.pwdFirmaElectronica,\r\n acuerdoBase64: this.state.acuerdob64,\r\n }\r\n this.setState({\r\n IsFirmadoElect: true,\r\n })\r\n console.log(signDoc);\r\n axios.post(`${process.env.REACT_APP_API}api/CuentaUsuario/signDoc`, signDoc)\r\n .then(resp => {\r\n //console.log(resp);\r\n this.state.idAcFirmaElec = resp.data;\r\n if (this.state.datosUsuario.tipoForm == \"A\") {\r\n //console.log(\"FIRMA ELECTRONICO - AUTOMÁTICO\");\r\n this.verFormRegistroContrasenia();\r\n } else {\r\n window.grecaptcha.ready(() => {\r\n window.grecaptcha.execute(process.env.REACT_APP_CAPTCHAKEY, { action: 'submit' }).then(token => {\r\n //console.log(\"FIRMA ELECTRONICO - SOLICITUD\");\r\n var solicitud = {\r\n estado: this.state.datosUsuario.estado,\r\n identificacion: this.state.datosUsuario.identificacion,\r\n infoSolicitud: this.state.datosUsuario.infoSolicitud,\r\n Motivo: this.state.datosUsuario.Motivo,\r\n idAcuerdoFirmadoElec: this.state.idAcFirmaElec,\r\n tipoAcuerdo: \"D\",\r\n tokencapt: token,\r\n }\r\n //console.log(solicitud);\r\n axios.post(`${process.env.REACT_APP_API}api/Solicitud`, solicitud)\r\n .then(resp => {\r\n this.abrirModalFElectronicaExitosa();\r\n this.activebuttonf();\r\n }).catch(error => {\r\n //console.log(error.message);\r\n this.setState({\r\n modalError: {\r\n show: true,\r\n titulo: \"Error al guardar la solicitud\",\r\n mensaje: \"Existe un problema al guardara la solicitud. Por favor, intentarlo mas tarde.\",\r\n imagen: equis,\r\n }\r\n });\r\n this.activebuttonf();\r\n });\r\n });\r\n });\r\n }\r\n }).catch(error => {\r\n this.activebuttonf();\r\n\r\n if (error.request.response == \"Contraseña o documento no valido\") {\r\n this.setState({\r\n modalError: {\r\n show: true,\r\n titulo: \"Error en la firma electronica\",\r\n mensaje: \"Contraseña o documento no valido\",\r\n imagen: equis,\r\n }\r\n });\r\n } else if (error.request.response == \"El documento no se firmo correctamente o no se pudo subir al repositorio\") {\r\n //console.log(error.request.response);\r\n this.setState({\r\n modalError: {\r\n show: true,\r\n titulo: \"Error en la firma electronica\",\r\n mensaje: \"Existio un problema al firma el documento\",\r\n imagen: equis,\r\n }\r\n });\r\n } else {\r\n this.setState({\r\n modalError: {\r\n show: true,\r\n titulo: \"Error en la firma electronica\",\r\n mensaje: \"Existió un problema con el servidor\",\r\n imagen: equis,\r\n }\r\n });\r\n }\r\n })\r\n\r\n //console.log(this.state.activebutton);\r\n\r\n\r\n }\r\n\r\n FirmarAcuerdoAlumni = async (e) => {\r\n e.preventDefault();\r\n // console.log(this.state.aceptoAcuerdo)\r\n if (this.state.aceptoAcuerdo) {\r\n this.PostFirmarAcuerdoGen(e);\r\n } else {\r\n //this.redireccion(1);\r\n window.location.href = 'https://alumni.espol.edu.ec/'\r\n }\r\n }\r\n\r\n PostFirmarAcuerdoGen = async (e) => {\r\n e.preventDefault();\r\n this.disabledbuttonf();\r\n this.setState({\r\n mostrarNombre:true,\r\n })\r\n //console.log(\"firmar acuerdo general\");\r\n\r\n var signDoc = {\r\n nombre: this.state.datosUsuario.nombres,\r\n apellido: this.state.datosUsuario.apellidos,\r\n identificacion: this.state.datosUsuario.identificacion,\r\n acuerdoBase64: this.state.acuerdob64,\r\n usuario: this.state.datosUsuario.usuario_sugerido,\r\n firmaBase64: this.state.base64FE,\r\n password: this.state.pwdFirmaElectronica,\r\n }\r\n //console.log(signDoc);\r\n //console.log(`${process.env.REACT_APP_API}api/persona/firmaracuerdo`);\r\n\r\n axios.post(`${process.env.REACT_APP_API}api/CuentaUsuario/notsignDoc`, signDoc)\r\n .then(resp => {\r\n let enlace = resp.data;\r\n //console.log(\"El enlace es: \", enlace);\r\n if (resp.status == 200 && resp.data != \" \") {\r\n // guardar el resgistro en la tabla.\r\n\r\n window.grecaptcha.ready(() => {\r\n window.grecaptcha.execute(process.env.REACT_APP_CAPTCHAKEY, { action: 'submit' }).then(token => {\r\n let datos = {\r\n estado: 1,\r\n aceptodatospers: 1,\r\n aceptomedelect: 1,\r\n rutaacuerdodatospersfirmado: enlace,\r\n rutaacuerdomedelectfirmado: enlace,\r\n identificacion: this.state.datosUsuario.identificacion,\r\n tokencapt: token\r\n }\r\n //console.log(datos);\r\n axios.post(`${process.env.REACT_APP_API}api/persona/firmaracuerdo`, datos)\r\n .then(resp => {\r\n // console.log(resp);\r\n this.abrirModalFirmaGeneralExitosa();\r\n this.activebuttonf();\r\n }).catch(error => {\r\n // console.log(error.response.data);\r\n this.setState({\r\n modalErrorAcuerdoGen: {\r\n show: true,\r\n titulo: \"Error al guardar el registro de la firma\",\r\n mensaje: error.response.data,\r\n imagen: equis,\r\n }\r\n });\r\n this.activebuttonf();\r\n })\r\n });\r\n }); \r\n }\r\n }).catch(error => {\r\n //console.log(error.message);\r\n this.setState({\r\n modalErrorAcuerdoGen: {\r\n show: true,\r\n titulo: \"Error al guardar el documento firmado\",\r\n mensaje: \"Existe un problema al guardara el acuerdo.
Por favor, intentarlo mas tarde.\",\r\n imagen: equis,\r\n }\r\n \r\n });\r\n this.activebuttonf();\r\n })\r\n\r\n }\r\n\r\n PostNoFirmarAcuerdoGen = async (e) => {\r\n e.preventDefault();\r\n this.disabledbuttonf1();\r\n //console.log(\"guardar registro de no firma acuerdo general\");\r\n\r\n window.grecaptcha.ready(() => {\r\n window.grecaptcha.execute(process.env.REACT_APP_CAPTCHAKEY, { action: 'submit' }).then(token => {\r\n let datos = {\r\n estado: 1,\r\n aceptodatospers: 0,\r\n aceptomedelect: 0,\r\n rutaacuerdodatospersfirmado: \"\",\r\n rutaacuerdomedelectfirmado: \"\",\r\n identificacion: this.state.datosUsuario.identificacion,\r\n tokencapt: token\r\n }\r\n axios.post(`${process.env.REACT_APP_API}api/persona/firmaracuerdo`, datos)\r\n .then(resp => {\r\n //console.log(resp);\r\n this.activebuttonf1();\r\n this.abrirModalNoAcepACGeneralPrev();\r\n }).catch(error => {\r\n this.setState({\r\n modalErrorAcuerdoGen: {\r\n show: true,\r\n titulo: \"Error al guardar el registro de la firma\",\r\n mensaje: error.response.data,\r\n imagen: equis,\r\n }\r\n });\r\n this.activebuttonf1();\r\n });\r\n });\r\n });\r\n }\r\n\r\n\r\n /*Acuerdo firmado de forma manual*/\r\n postCrearCuenta = async (e) => {\r\n this.props.callTagManager(\"click-btn-subir-acuerdo-man-creacion\");\r\n e.preventDefault();\r\n\r\n this.disabledbuttonf();\r\n\r\n if (this.state.datosUsuario.tipoForm == \"A\") {\r\n //console.log(\"FORMULARIO AUTOMATICO\");\r\n //Para crear una cuenta con firma manual y sube foto de rostro,cedula y pdf firmado manualmente que viene del registro automatico\r\n //PRIMERO SUBO EL ACUERDO PARA OBTENER EL ENLACE Y PASARSELO A verFormRegistroContrasenia(); -> CREO LA CUENTA Y LUEGO CREO LA SOLICITUD.\r\n\r\n window.grecaptcha.ready(() => {\r\n window.grecaptcha.execute(process.env.REACT_APP_CAPTCHAKEY, { action: 'submit' }).then(token => {\r\n\r\n var datadoc = {\r\n nombres: this.state.datosUsuario.nombres,\r\n apellidos: this.state.datosUsuario.apellidos,\r\n Identificacion: this.state.datosUsuario.identificacion,\r\n filePdf: this.state.pdfData,\r\n tokencapt: token,\r\n //filePdfCedula: this.state.pdfCedulaData,\r\n }\r\n axios.post(`${process.env.REACT_APP_API}api/Solicitud/uploadfile`, datadoc) //guarda el acuerdo pdf firmado\r\n .then(resp => {\r\n //console.log(resp);\r\n this.setState({\r\n idAcFirmaElec: resp.data,\r\n }, () => {\r\n /*REDIRECCIÓN A REGISTRO CONSTRASEÑA PARQ QUE SE CREE DIRECTAMENTE LA CUENTA CON EL ACTIVE DIRECTORY */\r\n this.verFormRegistroContrasenia();\r\n })\r\n this.activebuttonf();\r\n }).catch(error => {\r\n //console.log(error.message);\r\n this.setState({\r\n modalError: {\r\n show: true,\r\n titulo: \"Error en el envio de solicitud\",\r\n mensaje: \"Existio un problema al enviar la solicitud\",\r\n imagen: equis,\r\n }\r\n });\r\n this.activebuttonf();\r\n });\r\n /*var datoscuenta = {\r\n identificacion: this.state.datosUsuario.identificacion,\r\n nombres: this.state.datosUsuario.nombres,\r\n apellidos: this.state.datosUsuario.apellidos,\r\n telefono: this.state.datosUsuario.telefono,\r\n actividad: this.state.datosUsuario.rol,\r\n unidad: this.state.datosUsuario.unidad,\r\n correo: this.state.datosUsuario.correoAlterno,\r\n usuario_sugerido: this.state.datosUsuario.usuario_sugerido,\r\n alias_sugerido: this.state.datosUsuario.alias_sugerido,\r\n }\r\n var DataJson = JSON.stringify(datoscuenta)\r\n var solicitud = {\r\n estado: \"No Revisado\",\r\n identificacion: this.state.datosUsuario.identificacion,\r\n infoSolicitud: DataJson,\r\n Motivo: \"Solicitud a espera de revisión\",\r\n fotoimgRostro: this.state.fotoRostro,\r\n fotoimgCedula: this.state.fotoCedula,\r\n filePdf: this.state.pdfData,\r\n tipoAcuerdo: \"M\"\r\n }\r\n axios.post(`${process.env.REACT_APP_API}api/Solicitud`, solicitud)\r\n .then(resp => {\r\n //this.abrirModalInfo();\r\n console.log(resp);\r\n //var idsolicitud = resp.data.idsccesolicitud;\r\n //this.abrirModalFManualExitosa(); NO ABRO EL MODAL, SINO QUE MUESTRO MODAL DE INGRESAR CONTRASEÑA.\r\n this.setState({\r\n idAcFirmaElec : resp.data.codimgcontrato,\r\n },()=>{\r\n this.verFormRegistroContrasenia(); \r\n })\r\n this.activebuttonf();\r\n }).catch(error => {\r\n console.log(error.message);\r\n this.setState({\r\n modalError: {\r\n show: true,\r\n titulo: \"Error en el envio de solicitud\",\r\n mensaje: \"Exisito un problema al enviar la solicitud\",\r\n imagen: equis,\r\n }\r\n });\r\n this.activebuttonf();\r\n })*/\r\n });\r\n });\r\n } else {\r\n //Para crear una cuenta con firma manual y sube foto de rostro,cedula y pdf firmado manualmente que viene del registro manual (formsolicitud)\r\n //console.log(\"FORMULARIO MANUAL\");\r\n //console.log(this.state.activebutton);\r\n\r\n window.grecaptcha.ready(() => {\r\n window.grecaptcha.execute(process.env.REACT_APP_CAPTCHAKEY, { action: 'submit' }).then(token => {\r\n var f = this.state.pdfData;\r\n\r\n var solicitud = {\r\n estado: this.state.datosUsuario.estado,\r\n identificacion: this.state.datosUsuario.identificacion,\r\n infoSolicitud: this.state.datosUsuario.infoSolicitud,\r\n Motivo: this.state.datosUsuario.Motivo,\r\n fotoimgRostro: this.state.fotoRostro,\r\n fotoimgCedula: this.state.fotoCedula,\r\n filePdf: this.state.pdfData,\r\n tipoAcuerdo: \"M\",\r\n tokencapt: token,\r\n }\r\n\r\n //console.log(\"Crear cuenta solicitud\");\r\n axios.post(`${process.env.REACT_APP_API}api/Solicitud`, solicitud)\r\n .then(resp => {\r\n //this.abrirModalInfo();\r\n //console.log(resp);\r\n this.abrirModalFManualExitosa();\r\n this.activebuttonf();\r\n }).catch(error => {\r\n //console.log(error.message);\r\n this.setState({\r\n modalError: {\r\n show: true,\r\n titulo: \"Error en el envio de solicitud\",\r\n mensaje: \"Existio un problema al enviar la solicitud\",\r\n imagen: equis,\r\n }\r\n });;\r\n this.activebuttonf();\r\n });\r\n });\r\n });\r\n }\r\n }\r\n\r\n\r\n postRectificarDocs = async (e) => {\r\n // console.log(\"postRectificarDocs\");\r\n console.log(this.props.idSolicitud);\r\n e.preventDefault();\r\n this.disabledbuttonf();\r\n\r\n\r\n window.grecaptcha.ready(() => {\r\n window.grecaptcha.execute(process.env.REACT_APP_CAPTCHAKEY, { action: 'submit' }).then(token => {\r\n var solicitud = {\r\n estado: \"Rechazado cc\",\r\n //infoSolicitud: JSON.stringify(infoSolicitud),\r\n Motivo: \"Rechazado cc\",\r\n Identificacion: this.state.datosUsuario.identificacion,\r\n isvalidimgpersona: this.props.documentosValidos.isvalidimgpersona,\r\n isvalidimgtarjeta: this.props.documentosValidos.isvalidimgtarjeta,\r\n isvalidcontrato: this.props.documentosValidos.isvalidcontrato,\r\n fotoimgCedula: this.state.fotoCedula,\r\n fotoimgRostro: this.state.fotoRostro,\r\n filePdf: this.state.pdfData,\r\n tokencapt: token\r\n }\r\n //console.log(solicitud);\r\n\r\n axios.put(`${process.env.REACT_APP_API}api/Solicitud/repalaceDocs/${this.props.idSolicitud}`, solicitud) //PutAsync\r\n .then(resp => {\r\n this.activebuttonf();\r\n console.log(resp.data);\r\n this.abrirModalActualizaciónDocsExitosa();\r\n }).catch(error => {\r\n this.setState({\r\n modalError: {\r\n show: true,\r\n titulo: \"Error en la solicitud de actualización de documentos de la firma del acuerdo manual\",\r\n mensaje: error.response.data.errorMessage,\r\n imagen: equis,\r\n }\r\n });;\r\n this.activebuttonf();\r\n });\r\n });\r\n });\r\n }\r\n\r\n\r\n DataAcuerdo = arcb64 => {\r\n\r\n this.state.acuerdob64 = arcb64;\r\n //console.log(this.state.acuerdob64);\r\n }\r\n\r\n Dataimgrostro = dataimgros => {\r\n if (dataimgros === null) {\r\n console.log(\"No es una foto adecuada del rostro.\");\r\n } else {\r\n this.state.fotoRostro = dataimgros\r\n this.cerrarModalCamararostro();\r\n this.showiconGuardRostroExito();\r\n this.state.actRostro = true;\r\n }\r\n }\r\n\r\n Dataimgcedula = dataimgced => {\r\n //console.log(\"No es una foto adecuada de la cedula\");\r\n if (dataimgced === null) {\r\n console.log(\"No es una foto adecuada de la cedula\");\r\n } else {\r\n this.state.fotoCedula = dataimgced;\r\n this.cerrarModalCamaracedula();\r\n this.showiconGuardCedulaExito();\r\n this.state.actCedula = true;\r\n }\r\n }\r\n\r\n filechoose = chosefile => {\r\n if (chosefile === null) {\r\n console.log(\"No es una foto adecuada de la cedula\");\r\n } else {\r\n console.log(chosefile);\r\n this.state.pdfData = chosefile;\r\n this.cerrarModalSubirPdf();\r\n this.showiconGuardPdfExito();\r\n this.state.actDocPdf = true;\r\n }\r\n }\r\n\r\n filechooseCedula = chosefile => {\r\n console.log(chosefile);\r\n if (chosefile === null) {\r\n console.log(\"No es una foto adecuada de la cedula\");\r\n } else {\r\n console.log(chosefile);\r\n // this.state.pdfCedulaData = chosefile;\r\n this.state.fotoCedula = chosefile;\r\n this.cerrarmodalarchivocedula();\r\n this.showiconGuardPdfExitoCedula();\r\n this.state.actDocPdf = true;\r\n }\r\n }\r\n\r\n handleFile = async (e) => {\r\n let selectedFile = e.target.files[0];\r\n //console.log(selectedFile);\r\n if (selectedFile) {\r\n let reader = new FileReader();\r\n reader.readAsDataURL(selectedFile);\r\n reader.onloadend = (e) => {\r\n this.state.base64FE = e.target.result;\r\n this.setState({ iconChooseFirma: true });\r\n }\r\n //console.log(e);\r\n //console.log(e.target.result);\r\n }\r\n else {\r\n console.log('Seleccione un pdf');\r\n }\r\n }\r\n\r\n handlerPassword = async (e) => {\r\n this.state.pwdFirmaElectronica = e.target.value;\r\n if (this.state.iconChooseFirma && this.state.pwdFirmaElectronica) {\r\n this.setState({ actFirmaElecInter: true });\r\n } else {\r\n this.setState({ actFirmaElecInter: false });\r\n\r\n }\r\n }\r\n\r\n cerrarSesion = async () => {\r\n Cookies.remove(\"token\");\r\n Cookies.remove(\"cas\");\r\n Cookies.remove(\"DatosPersonalesGIA.CAS\");\r\n \r\n }\r\n\r\n render() {\r\n return (\r\n this.state.renderNavigateLogin ? :\r\n (\r\n this.state.verRegistroContrasena ?\r\n \r\n :\r\n (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {this.state.firmadoGeneral ?\r\n (
\r\n \r\n

{this.state.mensaje_titulo}

\r\n\r\n
\r\n
\r\n
\r\n
\r\n

PARA SU CONOCIMIENTO

\r\n

Estimado, en cumplimiento de la Ley Orgánica de Protección de Datos Personales, tiene que aceptar el siguiente acuerdo para poder hacer uso de los sistemas de la institución:

\r\n
\r\n
\r\n
\r\n
\r\n
) :\r\n (
\r\n
\r\n

{this.state.mensaje_titulo}

\r\n
\r\n\r\n
\r\n

A continuación tiene que leer y firmar el acuerdo de uso de medios electrónicos.

\r\n
\r\n
)\r\n }\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

ACUERDO DE USO DE DATOS PERSONALES Y MEDIOS ELECTRÓNICOS PARA EL ALMACENAMIENTO Y USO DE INFORMACIÓN REGISTRADA EN LOS SISTEMAS INFORMÁTICOS DE LA ESPOL.

\r\n
\r\n {/*
\r\n

I.- Autorización para el almacenamiento y uso de información
personal registrada en la ESPOL.

\r\n
*/}\r\n
\r\n

La Escuela Superior Politécnica del Litoral – (en adelante ESPOL) es una institución de educación superior, persona jurídica de derecho público, sin fines de lucro, autónoma en lo académico, administrativo, financiero y orgánico, pone en su conocimiento las condiciones de uso, fines y almacenamiento de los datos personales proporcionados por usted; así como, las condiciones de uso del usuario y contraseña de los medios y servicios electrónicos que la ESPOL provee a través del internet.

\r\n
\r\n
\r\n

Declaración de responsabilidad y aceptación de usuario:

\r\n
\r\n
\r\n

Con estos antecedentes. Usted, {this.state.datosUsuario.nombres.toUpperCase()} {this.state.datosUsuario.apellidos.toUpperCase()}, en adelante el Usuario,\r\n con número de identificación {this.state.datosUsuario.identificacion} y usuario {this.state.datosUsuario.usuario_sugerido} en Guayaquil, Ecuador; el día {this.state.fecha.toLocaleDateString(undefined, { day: 'numeric', month: 'long', year: 'numeric' })},\r\n declara que:

\r\n \r\n
\r\n\r\n

1) Se compromete a registrar la información requerida por la institución de manera fidedigna y coherente en los sistemas informáticos de la ESPOL.

\r\n\r\n

2) Acepta y autoriza que la ESPOL almacene sus datos personales por tiempo indefinido, y\r\n serán protegidos de acuerdo a la Ley Orgánica de Protección de Datos Personales. Estos\r\n datos podrán ser compartidos con las empresas públicas, fundaciones y empresas con las que \r\n la ESPOL esté relacionada, enmarcado en los fines del tratamiento de datos personales\r\n dispuesto en las políticas de privacidad de la institución.\r\n

\r\n\r\n

3) Acepta y autoriza que la ESPOL haga uso de los datos personales proporcionados, en\r\n concordancia con la Política de Privacidad y en sus términos y condiciones vigentes de la\r\n institución.

\r\n\r\n

4) Conoce que su calidad de usuario de los sistemas informáticos de la ESPOL, permite a la\r\n institución el uso de sus datos personales sensibles de acuerdo a la Ley Orgánica de\r\n Protección de Datos Personales y que los mismos serán utilizados como parte de su registro\r\n académico.

\r\n

5) Conoce que el portal institucional www.espol.edu.ec es de propiedad de la Escuela Superior Politécnica del Litoral.

\r\n

6) Conoce el presente acuerdo y se compromete, a respetar las normas y procedimientos que garanticen la privacidad de la información proporcionada o de la que pudiera tener acceso.

\r\n\r\n

7) Asume la responsabilidad de la información proporcionada; así como también de la vigencia, veracidad, actualización y coherencia de la misma, en cumplimiento de sus obligaciones.

\r\n

8) Conoce que, de incurrir en uso inadecuado de los sistemas informáticos de la institución, la ESPOL tendrá derecho tomar las medidas tecnológicas necesarias sobre el usuario de sus sistemas informáticos para precautelar la seguridad informática de los mismos. También, la institución podrá iniciar medidas administrativas correctivas, en caso de falsedad de la información ingresada, mal uso, vulneración de sistemas, entre otras actividades que pudieran poner en riesgos la confidencialidad de datos bajo responsabilidad y custodia de la ESPOL, sin perjuicio de las acciones judiciales que pudiera iniciar la institución.

\r\n

9) Conoce que la marca ´´ESPOL + logotipo´´ y sus marcas derivadas se encuentran registradas y gozan de protección de los Derechos de Propiedad Intelectual. En caso de requerir su uso, deberá ser autorizado por la institución.

\r\n

10) Conoce que las imágenes, portales, archivos, documentos o cualquier otro material en el que conste la ESPOL + logotipo o sus marcas registradas, es propiedad de la institución, su uso o reproducción deberá ser autorizada, o mencionada dentro del medio para el que se utilice.

\r\n

11) Conoce que el usuario y clave que la institución le asigne es personal e intransferible, su uso en las plataformas web de la ESPOL, tendrá validez jurídica de una firma electrónica, de conformidad a lo indicado en la Ley de Comercio Electrónico, Mensaje de Datos y Firma Electrónica y su Reglamento.

\r\n \r\n
\r\n \r\n
\r\n {\r\n !this.state.verbtngeneral ?\r\n (
\r\n
\r\n \r\n
\r\n\r\n {this.props.verbtngeneralElectronica &&\r\n
\r\n \r\n
\r\n \r\n }\r\n
\r\n ) :\r\n (\r\n
\r\n
\r\n \r\n {!this.state.activebutton ?\r\n \r\n : null}\r\n
\r\n\r\n
\r\n \r\n {!this.state.activebutton1 ?\r\n \r\n : null}\r\n
\r\n
)\r\n }\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {\r\n this.state.modalPrevAcuerdoGen &&\r\n \r\n\r\n

Firma del acuerdo de uso de datos personales y el acuerdo de uso de medios electrónicos - AlumniESPOL

\r\n

He leído y acepto el Acuerdo de uso de datos personales y Acuerdo de uso de medios electrónicos.

\r\n

Para leer el documento completo dar clic

\r\n
\r\n \r\n
\r\n
\r\n }\r\n {this.state.modalFirmaManual &&\r\n \r\n

FIRMA MANUAL DE ACUERDO DE USO DE MEDIOS ELECTRÓNICOS

\r\n

INSTRUCCIONES

\r\n

Estimado, en este caso usted tiene que descargar el archivo del acuerdo de uso de medios electrónicos,\r\n {/* descargarlo,*/}\r\n firmarlo con pluma de color azul, escanearlo y posteriormente adjuntarlo en este mismo formulario.\r\n Adicionalmente, tiene que tomarse una foto enfocando solo su rostro.\r\n Capturar o subir una foto del frente y anverso de su cédula.\r\n En ambos casos, se lo tiene que hacer desde la cámara del dispositivo; para finalizar elegir la opción de enviar solicitud.

\r\n

Captura de foto rostro de la persona

\r\n
\r\n {this.state.iconGuardRostroExito ?\r\n \"Exitoso\"\r\n :\r\n \r\n }\r\n
\r\n

Captura de foto de la cédula

\r\n
\r\n\r\n {this.state.iconGuardCedulaExito ?\r\n \"Exitoso\"\r\n :\r\n \r\n }\r\n
\r\n {!this.state.IsAcuerdoDescargado ?\r\n
\r\n

Descargar acuerdo para firmarlo manualmente, escanearlo y subirlo

\r\n
\r\n \r\n \r\n
\r\n
\r\n :\r\n
\r\n

Subir acuerdo escaneado con firma manual

\r\n
\r\n {this.state.iconGuardPdfExito ?\r\n\r\n \"Exitoso\"\r\n :\r\n \r\n }\r\n
\r\n
\r\n }\r\n \r\n
\r\n \r\n {!this.state.activebutton ?\r\n \r\n\r\n : null}\r\n\r\n
\r\n
}\r\n {'}'}\r\n\r\n\r\n {this.state.modalFirmaManualActualizararch &&\r\n \r\n

RECTIFICACIÓN DE DOCUMENTACIÓN DEL ACUERDO DE USO DE MEDIOS ELECTRÓNICOS

\r\n

INSTRUCCIONES

\r\n

Estimado, en este caso usted tiene que descargar el archivo del acuerdo de uso de medios electrónicos,\r\n {/* descargarlo,*/}\r\n firmarlo con pluma de color azul, escanearlo y posteriormente adjuntarlo en este mismo formulario.\r\n Adicionalmente, tiene que tomarse una foto enfocando solo su rostro.\r\n Capturar una foto del frente y anverso de su cédula.\r\n En ambos casos, se lo tiene que hacer desde la cámara del dispositivo; para finalizar elegir la opción de enviar solicitud.

\r\n {!this.props.documentosValidos.isvalidimgpersona &&\r\n
\r\n

Captura de foto rostro de la persona

\r\n
\r\n {this.state.iconGuardRostroExito ?\r\n \"Exitoso\"\r\n :\r\n \r\n }\r\n
\r\n
\r\n }\r\n {!this.props.documentosValidos.isvalidimgtarjeta &&\r\n
\r\n

Captura de foto de la cédula

\r\n
\r\n\r\n {this.state.iconGuardCedulaExito ?\r\n \"Exitoso\"\r\n :\r\n \r\n }\r\n
\r\n
\r\n }\r\n {!this.props.documentosValidos.isvalidcontrato &&\r\n
\r\n {!this.state.IsAcuerdoDescargado ?\r\n
\r\n

Descargar acuerdo para firmarlo manualmente, escanearlo y subirlo

\r\n
\r\n \r\n
\r\n
\r\n :\r\n
\r\n

Subir acuerdo escaneado con firma manual

\r\n
\r\n {this.state.iconGuardPdfExito ?\r\n\r\n \"Exitoso\"\r\n :\r\n \r\n }\r\n
\r\n
\r\n }\r\n
\r\n }\r\n \r\n
\r\n \r\n {!this.state.activebutton ?\r\n \r\n\r\n : null}\r\n\r\n
\r\n
}\r\n {'}'}\r\n\r\n\r\n {\r\n this.state.modalFirmaElectronica &&\r\n \r\n

FIRMA ELECTRÓNICA DEL ACUERDO DE USO DE DATOS PERSONALES Y MEDIOS ELECTRÓNICOS PARA EL ALMACENAMIENTO Y USO DE INFORMACIÓN REGISTRADA EN LOS SISTEMAS INFORMÁTICOS DE LA ESPOL

\r\n

INSTRUCCIONES

\r\n

Adjuntar el archivo de su firma electrónica e ingresar la contraseña; para finalizar elegir la opción\r\n de Firmar.

\r\n

Adjuntar archivo de firma electrónica

\r\n
\r\n {this.state.iconChooseFirma ?\r\n \r\n :\r\n \r\n }\r\n\r\n
\r\n

Ingresar contraseña de firma electrónica

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {!this.state.activebutton ?\r\n \r\n\r\n : null}\r\n
\r\n\r\n
\r\n\r\n
}\r\n {'}'}\r\n\r\n {\r\n this.state.modalCamararostro &&\r\n \r\n {/*El número de identificación es para crear el rostro */}\r\n \r\n \r\n }\r\n\r\n {\r\n this.state.modalCamaracedula &&\r\n \r\n \r\n\r\n \r\n }\r\n {\r\n this.state.modalModocedula &&\r\n \r\n

Seleccione el metodo para subir la cédula:

\r\n
\r\n
\r\n

Cámara

\r\n \r\n
\r\n
\r\n

Subir PDF

\r\n \r\n
\r\n
\r\n \r\n \r\n {/**/}\r\n {/**/}\r\n
\r\n }\r\n\r\n {\r\n this.state.modalfotocedula &&\r\n \r\n \r\n \r\n }\r\n {\r\n this.state.modalarchivocedula &&\r\n \r\n \r\n \r\n }\r\n\r\n {\r\n this.state.modalSubirPdf &&\r\n \r\n \r\n \r\n }\r\n\r\n {\r\n this.state.modalFElectricaExitosa &&\r\n \r\n

SOLICITUD DE CREACIÓN DE CUENTA

\r\n
\r\n \"Exitoso\"\r\n
\r\n\r\n {/*

En aproximadamente 1 hora usted podrá acceder a los beneficios de su nueva cuenta electronica,*/}\r\n {/* como el uso de la plataformas Office365, correo electrónico, acceso a la red inalámbrica y sistemas.

*/}\r\n

Su solicitud de creación de cuenta electronica ha sido recibida exitosamente.

\r\n {/*

Tu cuenta de correo electrónico estará habilitada en 60 minutos.

*/}\r\n
\r\n \r\n
\r\n
\r\n }\r\n\r\n {this.state.modalError.show &&\r\n \r\n

{this.state.modalError.titulo}

\r\n
\r\n \"Exitoso\"\r\n
\r\n

{this.state.modalError.mensaje}

\r\n
\r\n }\r\n {this.state.modalErrorAcuerdoGen.show &&\r\n \r\n

{this.state.modalErrorAcuerdoGen.titulo}

\r\n
\r\n \"Exitoso\"\r\n
\r\n

{this.state.modalErrorAcuerdoGen.mensaje}

\r\n
\r\n }\r\n\r\n {\r\n this.state.modalFManualExitosa &&\r\n \r\n

SOLICITUD DE CREACIÓN DE CUENTA

\r\n
\r\n \"Exitoso\"\r\n
\r\n\r\n {/*

Su solicitud de creación de cuenta ha sido enviada*/}\r\n {/* exitosamente, en un lapso de 24 horas será revisada.

*/}\r\n

Su solicitud de creación de cuenta electronica ha sido recibida exitosamente.

\r\n\r\n
\r\n \r\n
\r\n
\r\n }\r\n {\r\n this.state.modalFManualExitosaTipoA &&\r\n \r\n

SOLICITUD DE CREACIÓN DE CUENTA AUTOMATICA USER TIPO A

\r\n
\r\n \"Exitoso\"\r\n
\r\n\r\n {/*

Su solicitud de creación de cuenta ha sido enviada*/}\r\n {/* exitosamente, en un lapso de 24 horas será revisada.

*/}\r\n

Su solicitud de creación de cuenta electronica ha sido recibida exitosamente.

\r\n\r\n
\r\n \r\n
\r\n
\r\n }\r\n\r\n {\r\n this.state.modalNoAcepACGeneral &&\r\n \r\n

ACUERDO NO ACEPTADO

\r\n
\r\n \"Exitoso\"\r\n
\r\n

Estimado, si usted tiene dudas respecto a la aceptación del acuerdo de uso de datos personales y medios electrónicos para el almacenamiento y uso de información registrada en los sistemas informáticos de la ESPOL, ponemos a su disposición el correo de consulta datospersonales@espol.edu.ec con el proposito de aclararle sus inquietudes.

\r\n\r\n
\r\n }\r\n {\r\n this.state.modalNoAcepACGeneralprev &&\r\n \r\n

¿Está seguro que no desea aceptar el acuerdo?

\r\n
\r\n \"Exitoso\"\r\n
\r\n

Si usted no acepta el acuerdo de uso de datos personales y medios electrónicos, no podrá acceder a los sistemas de la ESPOL.

\r\n
\r\n \r\n \r\n
\r\n
\r\n }\r\n\r\n {\r\n this.state.modalFirmaGeneralExitosa &&\r\n \r\n

ACUERDO ACEPTADO

\r\n
\r\n \"Exitoso\"\r\n
\r\n

Usted aceptó con éxito el acuerdo de uso de datos personales y medios electrónicos para el almacenamiento y uso de información registrada en los sistemas informáticos de la ESPOL.

\r\n
\r\n }\r\n\r\n {\r\n this.state.modalActualizaciónDocsExitosa &&\r\n \r\n

Documentos actualizados correctamente

\r\n
\r\n \"Exitoso\"\r\n
\r\n\r\n {/*

Su solicitud de creación de cuenta ha sido enviada*/}\r\n {/* exitosamente, en un lapso de 24 horas será revisada.

*/}\r\n

Se actualizaron los documentos de su solicitud de creación de cuenta electrónica.

\r\n

Se notificará por correo el estado de su solicitud.

\r\n\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n )\r\n\r\n )\r\n )\r\n }\r\n}\r\n\r\nexport default Acuerdo\r\n","import React, { Component } from 'react'\r\nimport logo from \"../../assets/logo_espol_interno.svg\";\r\nimport check from \"../../assets/check.png\";\r\nimport equis from \"../../assets/eliminar.png\"\r\nimport Modal from './Modal';\r\nimport axios from \"axios\";\r\nimport \"../../css/FormRegistroContrasenia.css\"\r\nimport ComponenteContrasenia from './ComponenteContrasenia';\r\nimport { Navigate } from 'react-router-dom';\r\nimport Header from '../components/Header.js'\r\nimport Footer from '../components/Footer.js'\r\nimport Acuerdo from './Acuerdo.js'\r\nimport anuncioico from \"../../assets/AnuncioICO.svg\";\r\n\r\n\r\nexport class FormRegistroContrasenia extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n IsFirmadoElect: this.props.IsFirmadoElect,\r\n verAcuerdo: false,\r\n showPassword: false,\r\n showRepetirPassw: false,\r\n modalIsOpen: false,\r\n activebutton: true,\r\n datosUsuario: {\r\n id: this.props.id,\r\n nombres: this.props.nombres,\r\n apellidos: this.props.apellidos,\r\n identificacion: this.props.identificacion,\r\n alias_sugerido: this.props.alias_sugerido,\r\n usuarioEscogido: this.props.usuario_sugerido,\r\n correoAlterno: this.props.correoAlterno,\r\n rol: this.props.rol,\r\n telefono: this.props.telefono,\r\n unidad: this.props.unidad,\r\n idAcueFirmElec: this.props.idAcFirmaElec,\r\n tipoForm: this.props.tipoForm,\r\n fotoRostro: this.props.fotoRostro,\r\n fotoCedula: this.props.fotoCedula,\r\n },\r\n contra: {\r\n contrasena: \"\",\r\n contrasenaCumple: false,\r\n repetirContraCumple: false,\r\n terminos: \"\"\r\n },\r\n expresiones: {\r\n contrasena: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d@*._-]{10,12}$/,\r\n },\r\n modalError: false,\r\n modalErrorMensaje: \"\",\r\n renderNavigateLogin: false,\r\n\r\n };\r\n this.abrirModalInfo = this.abrirModalInfo.bind(this);\r\n this.cerrarModalInfo = this.cerrarModalInfo.bind(this);\r\n this.cambiarEstado = this.cambiarEstado.bind(this);\r\n\r\n this.abrirModalError = this.abrirModalError.bind(this);\r\n this.cerrarModalError = this.cerrarModalError.bind(this);\r\n this.renderRegistro = this.renderRegistro.bind(this);\r\n this.abrirAcuerdo = this.abrirAcuerdo.bind(this);\r\n\r\n\r\n this.activebuttonf = this.activebuttonf.bind(this);\r\n this.disabledbuttonf = this.disabledbuttonf.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n this.agregarNombresEnRegla();\r\n this.props.useEffect();\r\n console.log(this.props.fotoCedula);\r\n console.log(this.props.fotoRostro);\r\n }\r\n \r\n\r\n agregarNombresEnRegla() {\r\n var nombreString = \"\";\r\n var nombres = this.state.datosUsuario.nombres.split(\" \");\r\n // var nombres_temp = nombres.split(\" \");\r\n var apellidos = this.state.datosUsuario.apellidos.split(\" \");\r\n // var apellidos_temp = apellidos.split(\" \");\r\n\r\n var nombreCompleto = nombres.concat(apellidos);\r\n\r\n for (var i = 0; i < nombreCompleto.length; i++) {\r\n if (i == nombreCompleto.length - 1) {\r\n nombreString = nombreString.concat(nombreCompleto[i]);\r\n } else {\r\n nombreString = nombreString.concat(nombreCompleto[i] + \", \");\r\n }\r\n }\r\n this.setState({\r\n nombresRegla: nombreString\r\n })\r\n }\r\n\r\n activebuttonf() {\r\n this.setState({ activebutton: true });\r\n }\r\n\r\n disabledbuttonf() {\r\n this.setState({ activebutton: false });\r\n\r\n }\r\n\r\n abrirModalError() {\r\n this.setState({ modalError: true });\r\n }\r\n\r\n cerrarModalError() {\r\n this.setState({ modalError: false })\r\n }\r\n\r\n abrirModalInfo() {\r\n this.setState({ modalIsOpen: true });\r\n }\r\n\r\n cerrarModalInfo() {\r\n this.setState({ modalIsOpen: false });\r\n this.setState({ renderNavigateLogin: true })\r\n }\r\n\r\n abrirAcuerdo() {\r\n this.setState({ verAcuerdo: true });\r\n //console.log(\"Ver Acuerdo\");\r\n }\r\n\r\n\r\n handlerDatosFormRegistro = async (e) => {\r\n await this.setState({\r\n contra: {\r\n ...this.state.contra,\r\n [e.target.name]: e.target.value,\r\n terminos: e.target.checked\r\n }\r\n })\r\n //console.log(this.state.contra);\r\n }\r\n\r\n cambiarEstado(contrasenaactual,valor, contraCumple, repetirContraCumple) {\r\n this.setState({\r\n contra: {\r\n ...this.state.contra,\r\n contrasena: valor,\r\n contrasenaCumple: contraCumple,\r\n repetirContraCumple: repetirContraCumple\r\n }\r\n })\r\n // console.log(\"CAMBIAR ESTADO\");\r\n //console.log(this.state.contra);\r\n //console.log(this.state.datosUsuario);\r\n }\r\n\r\n renderRegistro(e) {\r\n e.preventDefault();\r\n this.props.renderFormRegistro(false);\r\n // console.log(\"cambio form registro contraseña\");\r\n }\r\n\r\n\r\n\r\n postCrearCuenta = async (e) => {\r\n this.props.callTagManager(\"click-btn-crear-cuenta\");\r\n e.preventDefault();\r\n this.disabledbuttonf();\r\n \r\n var crearCuenta = {\r\n alias: this.state.datosUsuario.alias_sugerido,\r\n username: this.state.datosUsuario.usuarioEscogido,\r\n nombres: this.state.datosUsuario.nombres,\r\n apellidos: this.state.datosUsuario.apellidos,\r\n identificacion: this.state.datosUsuario.identificacion,\r\n personaId: this.state.datosUsuario.id,\r\n password: this.state.contra.contrasena,\r\n correoAlterno: this.state.datosUsuario.correoAlterno,\r\n rol: this.state.datosUsuario.rol,\r\n telefono: this.state.datosUsuario.telefono,\r\n unidad: this.state.datosUsuario.unidad,\r\n isActive: true,\r\n idDocFirmadoElectronicamente: this.state.datosUsuario.idAcueFirmElec,\r\n isacuerddig: true\r\n }\r\n if( this.state.datosUsuario.tipoForm == \"A\"){\r\n crearCuenta.isacuerddig=false; \r\n }\r\n // console.log(crearCuenta);\r\n //DENTRO DE API/CUENTAUSUARIO DEBO GUARDAR EL REGISTRO EN LA TABLA T_ACUERDO_MEDELECT_DATPERS PARA USUARIOS DE BASE QUE CREAN CUENTA. (FIRMA MANUAL O ELECTRÓNICA)\r\n axios.post(`${process.env.REACT_APP_API}api/CuentaUsuario`, crearCuenta)\r\n .then(resp => {\r\n if (resp.status === 200) {\r\n //this.abrirModalInfo();\r\n //console.log(\"post crear cuenta\");\r\n //console.log(crearCuenta);\r\n /*CREAR LA SOLICITUD SI SE CREA LA CUENTA SOLO PARA TIPOFORM=\"A\"*/\r\n if (this.state.datosUsuario.tipoForm == \"A\") {\r\n //console.log(\"crear la solicitud\");\r\n var datoscuenta = {\r\n identificacion: this.state.datosUsuario.identificacion,\r\n nombres: this.state.datosUsuario.nombres,\r\n apellidos: this.state.datosUsuario.apellidos,\r\n telefono: this.state.datosUsuario.telefono,\r\n actividad: this.state.datosUsuario.rol,\r\n unidad: this.state.datosUsuario.unidad,\r\n correo: this.state.datosUsuario.correoAlterno,\r\n usuario_sugerido: this.state.datosUsuario.usuarioEscogido,\r\n alias_sugerido: this.state.datosUsuario.alias_sugerido,\r\n idAcueFirmElec: this.state.datosUsuario.idAcueFirmElec,\r\n }\r\n //guardar el registro en la tabla IDACUERDOMEDELECTDATPERS\r\n\r\n \r\n var DataJson = JSON.stringify(datoscuenta);\r\n // console.log(DataJson);\r\n\r\n window.grecaptcha.ready(() => {\r\n window.grecaptcha.execute(process.env.REACT_APP_CAPTCHAKEY, { action: 'submit' }).then(token => {\r\n\r\n var solicitud = {\r\n estado: \"No Revisado CC\",\r\n identificacion: this.state.datosUsuario.identificacion,\r\n infoSolicitud: DataJson,\r\n Motivo: \"Solicitud a espera de revisión\",\r\n fotoimgRostro: this.state.datosUsuario.fotoRostro,\r\n fotoimgCedula: this.state.datosUsuario.fotoCedula,\r\n filePdf: this.state.pdfData,\r\n tipoAcuerdo: \"M\",\r\n tokencapt: token\r\n }\r\n if (!this.state.IsFirmadoElect) {\r\n axios.post(`${process.env.REACT_APP_API}api/Solicitud`, solicitud)\r\n .then(resp => {\r\n //this.abrirModalInfo();\r\n // console.log(resp);\r\n this.abrirModalInfo();\r\n }).catch(error => {\r\n // console.log(error.message);\r\n this.setState({\r\n modalError: {\r\n show: true,\r\n titulo: \"Error en el envio de solicitud\",\r\n mensaje: \"Exisito un problema al enviar la solicitud\",\r\n imagen: equis,\r\n }\r\n });\r\n this.activebuttonf();\r\n })\r\n } else {\r\n this.abrirModalInfo();\r\n }\r\n\r\n\r\n\r\n });\r\n });\r\n\r\n\r\n\r\n\r\n \r\n }\r\n } else {\r\n this.abrirModalError();\r\n\r\n }\r\n this.activebuttonf();\r\n }).catch(error => {\r\n this.abrirModalError();\r\n // console.log(error.message);\r\n this.activebuttonf();\r\n })\r\n\r\n\r\n\r\n }\r\n\r\n\r\n render() {\r\n console.log(this.state.contra);\n console.log(this.state.activebutton);\n return (\r\n this.state.renderNavigateLogin ? :\r\n (
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

CREAR CUENTA

\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"crearcuenta\"\r\n
\r\n
\r\n

PARA SU CONOCIMIENTO

\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Es importante que su contraseña cumpla con las siguientes reglas:\r\n

\r\n
    \r\n
  • Tener mínimo 10 caracteres y máximo 12.
  • \r\n
  • Tener al menos una letra minúscula.
  • \r\n
  • Tener al menos una letra mayúscula.
  • \r\n
  • Tener al menos un número.
  • \r\n
  • Solo permite lo siguientes caracteres especiales: @ ,* ,. ,_ ,-
  • \r\n
  • La contraseña no puede ser similar al usuario: {this.state.datosUsuario.usuarioEscogido}.
  • \r\n
  • La contraseña no puede contener las siguientes palabras: {this.state.nombresRegla}.
  • \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
@espol.edu.ec
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {/*ATRÁS*/}\r\n {/**/}\r\n GUARDAR\r\n \r\n\r\n {!this.state.activebutton ?\r\n \r\n : null}\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n {this.state.modalIsOpen &&\r\n \r\n

Cuenta creada exitosamente

\r\n
\r\n \"Exitoso\"\r\n
\r\n\r\n

¡Gracias por finalizar el formulario!

\r\n

Le comunicamos que luego de 1 hora su cuenta electrónica se encontrará lista para ser utilizada. Una vez culminado el tiempo, usted podrá acceder a beneficios como uso de la plataforma Office365, correo electrónico, acceso a la red inalámbrica.

\r\n

El siguiente enlace le permitirá hacer uso de su correo electrónico cuando culmine el tiempo de espera:\r\n clic aquí\r\n

\r\n
}\r\n\r\n {this.state.modalError &&\r\n \r\n

Error en la Solicitud

\r\n
\r\n \"Error\"\r\n
\r\n\r\n

Error en la solicitud, intentelo mas tarde

\r\n\r\n
}\r\n
)\r\n )\r\n }\r\n}\r\n\r\nexport default FormRegistroContrasenia\r\n","export default __webpack_public_path__ + \"static/media/Anuncio.71f3c9dc.svg\";","import React, { Component} from 'react'\r\nimport logo from \"../../assets/logo_espol_interno.svg\";\r\nimport equis from \"../../assets/eliminar.png\"\r\nimport check from \"../../assets/check.png\";\r\nimport info from \"../../assets/Info.png\"\r\nimport \"../../css/FormRegistro.css\";\r\nimport axios from 'axios';\r\nimport FormRegistroContrasenia from './FormRegistroContrasenia';\r\nimport Modal from './Modal';\r\nimport Header from '../components/Header.js';\r\nimport Footer from '../components/Footer.js';\r\nimport anuncio from \"../../assets/Anuncio.svg\";\r\nimport anuncioico from \"../../assets/AnuncioICO.svg\";\r\nimport Acuerdo from './Acuerdo.js'\r\n\r\n\r\nexport class FormRegistro extends Component {\r\n\r\n constructor(props){\r\n super(props);\r\n\r\n this.state={\r\n verFormRegistroContrasenia: false,\r\n verAcuerdo: false,\r\n verMensajeConocimiento: false,\r\n modalError:false,\r\n modalIsOpen:false,\r\n modalMensaje: \"\",\r\n mensaje_error_alias:\"\",\r\n datosUsuario:{\r\n id:this.props.id,\r\n identificacion:this.props.identificacion,\r\n nombres:this.props.nombres,\r\n apellidos: this.props.apellidos,\r\n alias_sugerido: this.props.alias_sugerido,\r\n usuarioEscogido:this.props.usuarioEscogido,\r\n listaUsuarios: this.props.usuarios,\r\n correoAlterno: this.props.correoAlterno,\r\n rol: this.props.rol,\r\n telefono: this.props.telefono,\r\n unidad: this.props.unidad,\r\n },\r\n expresiones:{\r\n alias_sugerido: /^[a-z]+[/.][a-z]+$/,\r\n },\r\n errorSolicitud:{\r\n alias_sugerido:\"\"\r\n },\r\n modalSugerencia: {\r\n show: false,\r\n titulo: \"Sugerencia de Alias\",\r\n mensaje: \"Los alias que te sugerimos utilizar es este:\",\r\n imagen: info,\r\n listSug: [],\r\n },\r\n listSugerencia: [],\r\n activebutton: true,\r\n\r\n };\r\n \r\n\r\n this.renderFormRegistroContrasenia=this.renderFormRegistroContrasenia.bind(this);\r\n this.abrirModalInfoGTSI=this.abrirModalInfoGTSI.bind(this);\r\n this.cerrarModalInfoGTSI=this.cerrarModalInfoGTSI.bind(this);\r\n\r\n this.abrirModalError=this.abrirModalError.bind(this);\r\n this.cerrarModalError = this.cerrarModalError.bind(this);\r\n\r\n\r\n this.abrirModalSugerencia = this.abrirModalSugerencia.bind(this);\r\n this.cerrarModalSugerencia = this.cerrarModalSugerencia.bind(this);\r\n\r\n this.abrirMensajeconocimiento = this.abrirMensajeconocimiento.bind(this);\r\n\r\n this.abrirAcuerdo = this.abrirAcuerdo.bind(this);\r\n\r\n this.activebuttonf = this.activebuttonf.bind(this);\r\n this.disabledbuttonf = this.disabledbuttonf.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n this.props.useEffect();\r\n }\r\n\r\n activebuttonf() {\r\n this.setState({ activebutton: true });\r\n }\r\n\r\n disabledbuttonf() {\r\n this.setState({ activebutton: false });\r\n\r\n }\r\n abrirAcuerdo() {\r\n this.setState({ verAcuerdo: true });\r\n //console.log(\"Ver Acuerdo\");\r\n }\r\n\r\n abrirMensajeconocimiento() {\r\n this.setState({ verMensajeConocimiento: true })\r\n }\r\n\r\n abrirModalSugerencia() {\r\n this.setState({\r\n modalSugerencia: {\r\n ...this.state.modalSugerencia,\r\n show: true\r\n }\r\n });\r\n }\r\n\r\n cerrarModalSugerencia() {\r\n this.setState({\r\n modalSugerencia: {\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\",\r\n listSug: [],\r\n show: false\r\n }\r\n });\r\n //console.log(\"cerrar modal \" + this.state.modalVerificar);\r\n }\r\n\r\n abrirModalError(){\r\n this.setState({modalError:true});\r\n }\r\n\r\n cerrarModalError(){\r\n this.setState({modalError:false})\r\n }\r\n\r\n renderFormRegistroContrasenia(valor){\r\n //console.log(\"cambio->\" , valor);\r\n //console.log(this.state.datosUsuario);\r\n this.setState({verFormRegistroContrasenia:valor})\r\n }\r\n\r\n\r\n\r\n postVerificarAlias =async(e)=>{\r\n console.log(\"postVerificarAlias\");\r\n e.preventDefault();\r\n //this.renderFormRegistroContrasenia(true);\r\n this.disabledbuttonf();\r\n\r\n window.grecaptcha.ready(() => {\r\n window.grecaptcha.execute(process.env.REACT_APP_CAPTCHAKEY, { action: 'submit' }).then(token => {\r\n /*var alias = this.state.datosUsuario.alias_sugerido;\r\n var nombres = this.state.datosUsuario.nombres;\r\n var apellidos = this.state.datosUsuario.apellidos;*/\r\n var datos = {\r\n alias: this.state.datosUsuario.alias_sugerido,\r\n nombres: this.state.datosUsuario.nombres,\r\n apellidos: this.state.datosUsuario.apellidos,\r\n tokencapt: token\r\n }\r\n axios.post(`${process.env.REACT_APP_API}api/CuentaUsuario/verificaralias`, datos)\r\n .then(r => {\r\n\r\n if (r.data.success) {\r\n this.state.mensaje_error_alias = r.data.message;\r\n if (r.data.message === \"El alias ingresado no tiene relación con el nombre o el apellido\" || r.data.message === \"No se ha podido recomendar un alias. Revise que sus nombres y Apellidos esten completos\") {\r\n //console.log(\"existe alias\");\r\n this.state.listSugerencia = [];\r\n this.setState({\r\n modalSugerencia: {\r\n show: true,\r\n titulo: \"Sugerencia de alias\",\r\n mensaje: this.state.mensaje_error_alias,\r\n imagen: info,\r\n listSug: this.state.listSugerencia,\r\n }\r\n });\r\n } else if (r.data.message === \"El alias que ingreso ya se encuentra siendo utilizado. Le sugerimos que utilice el siguientes alias:\") {\r\n this.state.listSugerencia = r.data.lSugerencia;\r\n this.setState({\r\n modalSugerencia: {\r\n show: true,\r\n titulo: \"Sugerencia de alias\",\r\n mensaje: this.state.mensaje_error_alias,\r\n imagen: info,\r\n listSug: this.state.listSugerencia,\r\n }\r\n });\r\n } \r\n } else {\r\n //this.renderFormRegistroContrasenia(true);\r\n this.abrirAcuerdo();\r\n }\r\n this.activebuttonf();\r\n\r\n //if(!r.data.success){\r\n // console.log(\"render form registro contraseña\");\r\n // this.renderFormRegistroContrasenia(true);\r\n //}\r\n //else{\r\n // this.setState({modalMensaje:r.data.message})\r\n // this.abrirModalError();\r\n //}\r\n })\r\n .catch(error=>{\r\n this.setState({modalMensaje:\"Error en la solicitud, intente mas tarde.\"})\r\n this.abrirModalError();\r\n //console.log(error.message);\r\n this.activebuttonf();\r\n });\r\n });\r\n });\r\n \r\n }\r\n\r\n abrirModalInfoGTSI(){\r\n this.setState({modalIsOpen:true});\r\n //console.log(\"abrir modal \"+this.state.modalIsOpen);\r\n }\r\n\r\n cerrarModalInfoGTSI(){\r\n this.setState({modalIsOpen:false});\r\n //console.log(\"cerrar modal \"+this.state.modalIsOpen);\r\n }\r\n \r\n handlerDatosFormRegistro=async(e)=>{\r\n await this.setState({\r\n datosUsuario:{\r\n ...this.state.datosUsuario,\r\n [e.target.name]:e.target.value,\r\n }\r\n })\r\n //console.log(this.state.datosUsuario);\r\n this.handlerOnBlur();\r\n\r\n }\r\n\r\n handlerOnBlur=async()=>{\r\n\r\n if(this.state.datosUsuario.alias_sugerido===\"\"){\r\n await this.setState({errorSolicitud:{\r\n ...this.state.errorSolicitud,\r\n alias_sugerido: \"El campo 'Alias sugerido' es requerido\"\r\n }})\r\n } else if (!this.state.expresiones.alias_sugerido.test(this.state.datosUsuario.alias_sugerido.toLowerCase())){\r\n await this.setState({errorSolicitud:{\r\n ...this.state.errorSolicitud,\r\n alias_sugerido: \"El campo 'Alias sugerido' solo acepta entradas de este tipo: nombre.apellido\",\r\n }})\r\n }else{\r\n this.setState({errorSolicitud:{ \r\n ...this.state.errorSolicitud,\r\n alias_sugerido:\"\"\r\n }})\r\n }\r\n }\r\n\r\n\r\n render() { \r\n return (\r\n\r\n this.state.verAcuerdo ?\r\n \r\n : (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

CREAR CUENTA

\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \"anuncioioc\"\r\n
\r\n
\r\n

PARA SU CONOCIMIENTO

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
@espol.edu.ec
\r\n
\r\n {this.state.errorSolicitud.alias_sugerido &&\r\n

{this.state.errorSolicitud.alias_sugerido}

\r\n }\r\n

El campo \"Alias sugerido\" es un identificador adicional de la cuenta, solo sirve para que otras personas puedan enviarte correos electrónicos.

\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n

El campo \"Usuario sugerido\" es el identificador que deberá usar para acceder a los sistemas de la ESPOL.

\r\n\r\n
\r\n
\r\n
\r\n {this.state.datosUsuario.listaUsuarios.map((value, index) => {\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n })}\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n SIGUIENTE\r\n \r\n {!this.state.activebutton ?\r\n \r\n : null}\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n {this.state.modalIsOpen&& \r\n \r\n

\r\n Comunicarse con la Gerencia de Tecnologías y Servicios de Información

\r\n

Teléfono: (+593)42269256

\r\n

Atención: Lunes a Viernes de 08:00 a 16:00

\r\n

gerenciatecnologia@espol.edu.ec

\r\n
}\r\n\r\n {this.state.modalError&& \r\n \r\n

Error en la Solicitud

\r\n
\r\n \"Error\"\r\n
\r\n

{this.state.modalMensaje}

\r\n
}\r\n\r\n {this.state.modalSugerencia.show &&\r\n \r\n

{this.state.modalSugerencia.titulo}

\r\n
\r\n \"Exitoso\"\r\n
\r\n\r\n

{this.state.modalSugerencia.mensaje}

\r\n
\r\n
    \r\n {this.state.modalSugerencia.listSug.map((sugerencia) =>
  • {sugerencia}
  • )}
    \r\n
\r\n
\r\n
} \r\n
\r\n ) \r\n )\r\n }\r\n}\r\n\r\nexport default FormRegistro\r\n","export default __webpack_public_path__ + \"static/media/CAMARAnecesaria.53d0e19a.svg\";","export default __webpack_public_path__ + \"static/media/alarma.ab207b4b.svg\";","export default __webpack_public_path__ + \"static/media/transaccionexitosa.9b3832ba.svg\";","import React, { Component } from 'react'\r\nimport \"../../css/Nacionalidad.css\"\r\nimport logo from \"../../assets/logo_espol_interno.svg\";\r\nimport ecuatoriano from \"../../assets/Ecuatorianoblc.svg\";\r\nimport extranjero from \"../../assets/Extrangeroblc.svg\";\r\nimport axios from \"axios\";\r\nimport FormRegistro from './FormRegistro';\r\nimport equis from \"../../assets/eliminar.png\";\r\nimport check from \"../../assets/check.png\";\r\nimport camaranecesaria from \"../../assets/CAMARAnecesaria.svg\";\r\nimport alarma from \"../../assets/alarma.svg\";\r\nimport transaccionexitosa from \"../../assets/transaccionexitosa.svg\";\r\nimport Modal from \"../components/Modal\";\r\nimport ModalXL from \"../components/ModalXL\";\r\nimport { Link } from \"react-router-dom\";\r\nimport Cookies from 'js-cookie';\r\nimport info from \"../../assets/Info.png\"\r\nimport Header from '../components/Header.js'\r\nimport Footer from '../components/Footer.js'\r\nimport { Spinner } from 'react-bootstrap';\r\n\r\n\r\n\r\nexport default class Nacionalidad extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n verInformacion: null,\r\n verFormRegistro: false,\r\n modalIsOpen: false,\r\n modalError: false,\r\n modalGTSI: false,\r\n modalAviCamEC: false,\r\n modalAviCamEX: false,\r\n /*par que aparezca el campo y boton de consultar cedula*/\r\n showRenderEcuatoriano: false,\r\n showRenderExtranjero: false,\r\n modaldatosVerificado: false,\r\n modalNohaycuenta: false,\r\n modalNoExisteEnBase:false,\r\n activebutton: true,\r\n\r\n VarEnv: \"\",\r\n verificarDatosExt: {\r\n pasaporte: \"\",\r\n fechaNac: \"\",\r\n terminos: \"\"\r\n },\r\n verificarDatosEcu: {\r\n cedula: \"\",\r\n fechaEmision: \"\",\r\n terminos: \"\"\r\n },\r\n errorsDatosEcu: {\r\n },\r\n errorsDatosExtran: {\r\n },\r\n getVerificarUsuario: {\r\n id: 0,\r\n identificacion: \"\",\r\n nombres: \"\",\r\n apellidos: \"\",\r\n usuarios: [],\r\n correoAlterno: \"\",\r\n rol: \"\",\r\n telefono: \"\",\r\n unidad: \"\"\r\n },\r\n expresiones: {\r\n cedula: /^[\\d]{10}$/,\r\n pasaporte: /^[a-zA-Z0-9._]{4,14}$/,\r\n },\r\n modalMessage: {\r\n show: false,\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\"\r\n },\r\n\r\n };\r\n this.verInfoEcuatoriano = this.verInfoEcuatoriano.bind(this);\r\n this.verInfoExtranjero = this.verInfoExtranjero.bind(this);\r\n this.renderFormRegistro = this.renderFormRegistro.bind(this);\r\n this.handlerVerificarDatos = this.handlerVerificarDatos.bind(this);\r\n this.abrirModal = this.abrirModal.bind(this);\r\n this.cerrarModal = this.cerrarModal.bind(this);\r\n\r\n this.abrirModalError = this.abrirModalError.bind(this);\r\n this.cerrarModalError = this.cerrarModalError.bind(this);\r\n\r\n this.setearCookie = this.setearCookie.bind(this);\r\n\r\n this.abrirModalMessage = this.abrirModalMessage.bind(this);\r\n this.cerrarModalMessage = this.cerrarModalMessage.bind(this);\r\n\r\n this.abrirModalInfoGTSI = this.abrirModalInfoGTSI.bind(this);\r\n this.cerrarModalInfoGTSI = this.cerrarModalInfoGTSI.bind(this);\r\n\r\n this.abrirModalAviCamEC = this.abrirModalAviCamEC.bind(this);\r\n this.cerrarModalAviCamEC = this.cerrarModalAviCamEC.bind(this);\r\n\r\n this.abrirModalAviCamEX = this.abrirModalAviCamEX.bind(this);\r\n this.cerrarModalAviCamEX = this.cerrarModalAviCamEX.bind(this);\r\n\r\n this.abrirModaldatosVeri = this.abrirModaldatosVeri.bind(this);\r\n this.cerrarModaldatosVeri = this.cerrarModaldatosVeri.bind(this);\r\n\r\n this.abrirModalnoCuenta = this.abrirModalnoCuenta.bind(this);\r\n this.cerrarModalnoCuenta = this.cerrarModalnoCuenta.bind(this);\r\n\r\n this.abrirModalnoExisteEnBase = this.abrirModalnoExisteEnBase.bind(this);\r\n this.cerrarModalnoExisteEnBase = this.cerrarModalnoExisteEnBase.bind(this);\r\n\r\n this.showrenderEcuador = this.showrenderEcuador.bind(this);\r\n this.showrenderExtranjero = this.showrenderExtranjero.bind(this);\r\n\r\n this.activebuttonf = this.activebuttonf.bind(this);\r\n this.activebuttonf = this.activebuttonf.bind(this);\r\n this.activebuttonf = this.activebuttonf.bind(this);\r\n this.disabledbuttonf = this.disabledbuttonf.bind(this);\r\n\r\n }\r\n \r\n\r\n componentWillMount() {\r\n this.props.useEffect();\r\n }\r\n\r\n \r\n \r\n\r\n activebuttonf() {\r\n this.setState({ activebutton: true });\r\n }\r\n\r\n disabledbuttonf() {\r\n this.setState({ activebutton: false });\r\n\r\n }\r\n\r\n\r\n abrirModalnoCuenta() {\r\n this.setState({ modalNohaycuenta: true });\r\n //console.log(\"abrir modal \" + this.state.modalNohaycuenta);\r\n }\r\n\r\n cerrarModalnoCuenta() {\r\n this.setState({ modalNohaycuenta: false });\r\n //console.log(\"cerrar modal \" + this.state.modalNohaycuenta);\r\n }\r\n\r\n abrirModalnoExisteEnBase() {\r\n this.setState({ modalNoExisteEnBase: true });\r\n }\r\n\r\n cerrarModalnoExisteEnBase() {\r\n this.setState({ modalNoExisteEnBase: false });\r\n }\r\n\r\n showrenderEcuador() {\r\n this.setState({ showRenderEcuatoriano: true });\r\n this.setState({ showRenderExtranjero: false });\r\n this.cerrarModalAviCamEC();\r\n\r\n }\r\n\r\n showrenderExtranjero() {\r\n this.setState({ showRenderEcuatoriano: false });\r\n this.setState({ showRenderExtranjero: true });\r\n this.cerrarModalAviCamEX();\r\n\r\n }\r\n\r\n abrirModaldatosVeri() {\r\n this.setState({ modaldatosVerificado: true });\r\n\r\n }\r\n\r\n cerrarModaldatosVeri() {\r\n this.setState({ modaldatosVerificado: false });\r\n this.renderFormRegistro();\r\n }\r\n\r\n abrirModalAviCamEC() {\r\n this.props.callTagManager(\"click-btn-registo-ecuatoriano\");\r\n this.setState({ modalAviCamEC: true });\r\n //console.log(\"abrir modal \" + this.state.modalAviCamEC);\r\n }\r\n\r\n cerrarModalAviCamEC() {\r\n this.setState({ modalAviCamEC: false });\r\n //console.log(\"cerrar modal \" + this.state.modalAviCamEC);\r\n }\r\n\r\n abrirModalAviCamEX() {\r\n this.props.callTagManager(\"click-btn-registo-extranjero\");\r\n this.setState({ modalAviCamEX: true });\r\n console.log(\"abrir modal \" + this.state.modalAviCamEC);\r\n }\r\n\r\n cerrarModalAviCamEX() {\r\n this.setState({ modalAviCamEX: false });\r\n //console.log(\"cerrar modal \" + this.state.modalAviCamEC);\r\n }\r\n\r\n\r\n abrirModalInfoGTSI() {\r\n this.setState({ modalGTSI: true });\r\n //console.log(\"abrir modal \" + this.state.modalGTSI);\r\n }\r\n\r\n cerrarModalInfoGTSI() {\r\n this.setState({ modalGTSI: false });\r\n //console.log(\"cerrar modal \" + this.state.modalGTSI);\r\n }\r\n\r\n abrirModalMessage() {\r\n this.setState({\r\n modalMessage: {\r\n ...this.state.modalMessage,\r\n show: true\r\n }\r\n });\r\n }\r\n\r\n cerrarModalMessage() {\r\n this.setState({\r\n modalMessage: {\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\",\r\n show: false\r\n }\r\n });\r\n //console.log(\"cerrar modal \" + this.state.modalMessage);\r\n }\r\n\r\n\r\n abrirModal() {\r\n this.setState({ modalIsOpen: true });\r\n //console.log(\"abrir modal \" + this.state.modalIsOpen);\r\n }\r\n\r\n cerrarModal() {\r\n this.setState({ modalIsOpen: false });\r\n //console.log(\"cerrar modal \" + this.state.modalIsOpen);\r\n }\r\n\r\n abrirModalError() {\r\n\r\n this.setState({ modalError: true });\r\n //console.log(\"abrir modal error \" + this.state.modalError);\r\n }\r\n\r\n cerrarModalError() {\r\n this.setState({ modalError: false })\r\n }\r\n\r\n abrirModalIdnFeInc() {\r\n this.setState({ modalIdnFeInc: true });\r\n }\r\n\r\n cerrarModalIdnFeInc() {\r\n this.setState({ modalIdnFeInc: false })\r\n }\r\n\r\n abrirModalUserExist() {\r\n this.setState({ modalUserExist: true });\r\n }\r\n\r\n cerrarModalUserExist() {\r\n this.setState({ modalUserExist: false })\r\n }\r\n\r\n //esta funcion funciona XD\r\n verInfoEcuatoriano() {\r\n this.setState({ verInformacion: true });\r\n }\r\n\r\n verInfoExtranjero() {\r\n this.setState({ verInformacion: false });\r\n }\r\n\r\n renderFormRegistro() {\r\n //console.log(\"render form registro\");\r\n this.setState({ verFormRegistro: true });\r\n }\r\n\r\n\r\n handlerVerificarDatos = async (e) => {\r\n await this.setState({\r\n verificarDatosExt: {\r\n ...this.state.verificarDatosExt,\r\n [e.target.name]: e.target.value,\r\n terminos: e.target.checked\r\n }\r\n })\r\n //console.log(this.state.verificarDatosExt);\r\n this.handlerOnBlurExt();\r\n }\r\n\r\n handlerVerificarDatosEcu = async (e) => {\r\n //console.log(this.state.verificarDatosEcu);\r\n\r\n await this.setState({\r\n verificarDatosEcu: {\r\n ...this.state.verificarDatosEcu,\r\n [e.target.name]: e.target.value,\r\n terminos: e.target.checked\r\n }\r\n })\r\n\r\n this.handlerOnBlurEcu();\r\n }\r\n\r\n\r\n handlerOnBlurEcu = async (e) => {\r\n\r\n if (!this.state.expresiones.cedula.test(this.state.verificarDatosEcu.cedula)) {\r\n await this.setState({\r\n errorsDatosEcu: {\r\n cedula: \"Identificacion debe tener 10 dígitos\",\r\n }\r\n })\r\n } else {\r\n this.setState({ errorsDatosEcu: {} })\r\n }\r\n \r\n }\r\n\r\n handlerOnBlurExt = async (e) => {\r\n if (!this.state.expresiones.pasaporte.test(this.state.verificarDatosExt.pasaporte)) {\r\n await this.setState({\r\n errorsDatosExtran: {\r\n pasaporte: \"Identificacion debe tener entre 4 a 14 caracteres\",\r\n }\r\n })\r\n } else {\r\n this.setState({ errorsDatosExtran: {} })\r\n }\r\n /*console.log(\"blur\");\r\n console.log(this.state.errorsDatosExtran);*/\r\n }\r\n\r\n setearCookie() {\r\n //console.log(this.state.verificarDatosExt.pasaporte);\r\n if (this.state.verificarDatosExt.pasaporte === \"\") {\r\n Cookies.set(\"identificacion\", this.state.verificarDatosEcu.cedula, { expires: 1 });\r\n Cookies.set(\"tipo\", \"cedula\", { expires: 1 });\r\n Cookies.set(\"fechaemision\", this.state.verificarDatosEcu.fechaEmision, { expires: 1 });\r\n /*Cookies.set(\"nombres\",JSON.stringify(this.state.verificarDatosEcu.cedula), { expires: 1 });\r\n Cookies.set(\"apellidos\",JSON.stringify(this.state.verificarDatosEcu.cedula), { expires: 1 });*/\r\n //console.log(\"cedula\");\r\n } else {\r\n Cookies.set(\"identificacion\", this.state.verificarDatosExt.pasaporte, { expires: 1 });\r\n Cookies.set(\"tipo\", \"pasaporte\", { expires: 1 });\r\n //console.log(\"pasaporte\");\r\n }\r\n }\r\n\r\n getVerificarUsuarioExtranj = async (e) => {\r\n e.preventDefault();\r\n this.disabledbuttonf();\r\n window.grecaptcha.ready(() => {\r\n window.grecaptcha.execute(process.env.REACT_APP_CAPTCHAKEY, { action: 'submit' }).then(token => {\r\n /*var identificacion = this.state.verificarDatosExt.pasaporte;\r\n var fecha = this.state.verificarDatosExt.fechaNac;\r\n var tipo = \"pasaporte\"; */\r\n var datos = {\r\n identificacion: this.state.verificarDatosExt.pasaporte,\r\n fecha: this.state.verificarDatosExt.fechaNac,\r\n tipo: \"pasaporte\",\r\n tokencapt: token\r\n }\r\n axios.post(`${process.env.REACT_APP_API}api/Persona/datawithoutaccount`, datos)\r\n .then(r => {\r\n //console.log(r);\r\n //console.log(\"getver\");\r\n if (r.status === 200 && r.data.success === true) {\r\n this.setState({\r\n getVerificarUsuario: {\r\n id: r.data.persona.persona.idsccepersona,\r\n identificacion: r.data.persona.persona.identificacion,\r\n nombres: r.data.persona.persona.nombres,\r\n apellidos: r.data.persona.persona.apellidos,\r\n usuarios: r.data.persona.usuarios,\r\n correoAlterno: r.data.persona.persona.correoalterno,\r\n rol: r.data.persona.persona.rol,\r\n telefono: r.data.persona.persona.telefono,\r\n unidad: r.data.persona.persona.unidad,\r\n alias: r.data.persona.alias\r\n }\r\n });\r\n this.abrirModaldatosVeri();\r\n } else if (r.status === 200 && r.data.success === false) {\r\n this.setearCookie();\r\n //this.abrirModalnoCuenta(); //USUARIO QUE NO EXISTE EN BASE\r\n this.abrirModalnoExisteEnBase();\r\n }\r\n this.activebuttonf();\r\n }).catch(error => {\r\n //datos incorrectos\r\n this.setearCookie();\r\n this.activebuttonf();\r\n if (error.request.response === \"\") {\r\n this.setState({\r\n modalMessage: {\r\n show: true,\r\n titulo: \"ATENCIÓN\",\r\n mensaje: \"Existe un problema, favor de intentarlo mas tarde.\",\r\n imagen: equis,\r\n }\r\n });\r\n } else {\r\n\r\n if (error.response.data.errorMessage === \"La cuenta asociada a esta identificación se encuentra inactiva\") {\r\n this.abrirModalInfoGTSI();\r\n } else if (error.response.data.errorMessage === \"Solicitud existe\") {\r\n this.setState({\r\n modalMessage: {\r\n show: true,\r\n titulo: \"ATENCIÓN\",\r\n mensaje: \"Ya existe una solicitud registrada con este número de identificación que se encuentra en proceso de revisón.\",\r\n imagen: info,\r\n }\r\n });\r\n } else if (error.response.data.errorMessage === \"Ya existe una cuenta asociada a este número de identificación.\") {\r\n this.setState({\r\n modalMessage: {\r\n show: true,\r\n titulo: \"ATENCIÓN\",\r\n mensaje: \"Ya existe una cuenta asociada a este número de identificación.\",\r\n imagen: info,\r\n }\r\n });\r\n }\r\n\r\n else if (error.response.data.errorMessage === \"La fecha de nacimiento ingresada no es correcta\") {\r\n this.setState({\r\n modalMessage: {\r\n show: true,\r\n titulo: \"Error\",\r\n mensaje: \"La fecha de nacimiento ingresada no es correcta\",\r\n imagen: equis,\r\n }\r\n });\r\n } else {\r\n this.setState({\r\n modalMessage: {\r\n show: true,\r\n titulo: \"Error\",\r\n mensaje: error.response.data.errorMessage,\r\n imagen: equis,\r\n }\r\n });\r\n }\r\n }\r\n });\r\n });\r\n });\r\n }\r\n\r\n getVerificarUsuarioEcu = async (e) => {\r\n this.props.callTagManager(\"click-btn-verificar-datos-ecuatoriano\");\r\n e.preventDefault();\r\n this.disabledbuttonf();\r\n //console.log(this.state.verificarDatosEcu);\r\n\r\n window.grecaptcha.ready(() => {\r\n window.grecaptcha.execute(process.env.REACT_APP_CAPTCHAKEY, { action: 'submit' }).then(token => {\r\n /* var identificacion = this.state.verificarDatosEcu.cedula;\r\n var fecha = this.state.verificarDatosEcu.fechaEmision;\r\n var tipo = \"cedula\";*/\r\n var datos = {\r\n identificacion: this.state.verificarDatosEcu.cedula,\r\n fecha: this.state.verificarDatosEcu.fechaEmision,\r\n tipo: \"cedula\",\r\n tokencapt: token\r\n }\r\n axios.post(`${process.env.REACT_APP_API}api/Persona/datawithoutaccount`, datos )\r\n .then(r => {\r\n //console.log(r);\r\n //console.log(\"VER DATOS r\");\r\n\r\n if (r.status === 200 && r.data.success === true) {\r\n //persona!=null\r\n this.setState({\r\n getVerificarUsuario: {\r\n id: r.data.persona.persona.idsccepersona,\r\n identificacion: r.data.persona.persona.identificacion,\r\n nombres: r.data.persona.persona.nombres,\r\n apellidos: r.data.persona.persona.apellidos,\r\n usuarios: r.data.persona.usuarios,\r\n correoAlterno: r.data.persona.persona.correoalterno,\r\n rol: r.data.persona.persona.rol,\r\n telefono: r.data.persona.persona.telefono,\r\n unidad: r.data.persona.persona.unidad,\r\n alias: r.data.persona.alias\r\n\r\n }\r\n });\r\n this.renderFormRegistro();\r\n } else if (r.status === 200 && r.data.success === false) {\r\n this.setearCookie();\r\n //this.abrirModalnoCuenta(); //USUARIO QUE NO EXISTE EN BASE\r\n this.abrirModalnoExisteEnBase();\r\n }\r\n this.activebuttonf();\r\n\r\n }).catch(error => {\r\n this.setearCookie();\r\n //console.log(error.request.response);\r\n if (error.request.response === \"\") {\r\n this.abrirModalError();\r\n } else {\r\n if (error.response.data.errorMessage === \"sri no funciona\") {\r\n this.abrirModalnoCuenta();\r\n } else if (error.response.data.errorMessage === \"La cedula o fecha ingresada es incorrecto.\") {\r\n this.setState({\r\n modalMessage: {\r\n show: true,\r\n titulo: \"Error\",\r\n mensaje: \"La cedula o fecha ingresada es incorrecta\",\r\n imagen: equis,\r\n }\r\n });\r\n } else if (error.response.data.errorMessage === \"La cuenta asociada a esta identificación se encuentra inactiva\") {\r\n this.abrirModalInfoGTSI();\r\n } else if (error.response.data.errorMessage === \"Solicitud existe\") {\r\n this.setState({\r\n modalMessage: {\r\n show: true,\r\n titulo: \"ATENCIÓN\",\r\n mensaje: \"Ya existe una solicitud registrada con este número de identificación que se encuentra en proceso de revisón.\",\r\n imagen: info,\r\n }\r\n });\r\n } else if (error.response.data.errorMessage === \"Ya existe una cuenta asociada a este número de identificación.\") {\r\n this.setState({\r\n modalMessage: {\r\n show: true,\r\n titulo: \"ATENCIÓN\",\r\n mensaje: \"Ya existe una cuenta asociada a este número de identificación.\",\r\n imagen: info,\r\n }\r\n });\r\n }else if (error.response.data.errorMessage === \"La información suministrada es incorrecta.\") {\r\n this.setState({\r\n modalMessage: {\r\n show: true,\r\n titulo: \"ATENCIÓN\",\r\n mensaje: \"La fecha ingresada es incorrecta.\",\r\n imagen: info,\r\n }\r\n });\r\n } else {\r\n this.setState({\r\n modalMessage: {\r\n show: true,\r\n titulo: \"Error\",\r\n mensaje: error.response.data.errorMessage,\r\n imagen: equis,\r\n }\r\n });\r\n }\r\n\r\n }\r\n this.activebuttonf();\r\n\r\n })\r\n });\r\n });\r\n }\r\n\r\n renderExtranjero() {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n {this.state.errorsDatosExtran.pasaporte &&\r\n

{this.state.errorsDatosExtran.pasaporte}

\r\n }\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {/*
*/}\r\n
\r\n \r\n VERIFICAR\r\n \r\n {!this.state.activebutton ?\r\n \r\n : null}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n );\r\n\r\n }\r\n renderEcuatoriano() {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {this.state.errorsDatosEcu.cedula &&\r\n

{this.state.errorsDatosEcu.cedula}

\r\n }\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n VERIFICAR\r\n {!this.state.activebutton ?\r\n \r\n : null}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n this.state.verFormRegistro ?\r\n \r\n : (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

CREAR CUENTA

\r\n
\r\n
\r\n

Al elegir una de las opciones presentadas e ingresar la información, el sistema procederá a verficar si es miembro de la comunidad politécnica.

\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n {!this.state.showRenderEcuatoriano && !this.state.showRenderExtranjero ?\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n\r\n : null\r\n }\r\n {this.state.showRenderEcuatoriano && !this.state.showRenderExtranjero ?\r\n this.renderEcuatoriano() :
\r\n }\r\n {!this.state.showRenderEcuatoriano && this.state.showRenderExtranjero ?\r\n this.renderExtranjero() :
\r\n }\r\n
\r\n
\r\n\r\n {\r\n this.state.modaldatosVerificado &&\r\n \r\n {/*

¡OBLIGATORIO!

*/}\r\n
\r\n \"Error\"\r\n
\r\n
\r\n

Sus datos han sido verificado con éxito

\r\n\r\n

Proceda con los pasos solicitados para culminar con la creación de cuenta.

\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n\r\n {\r\n this.state.modalAviCamEC &&\r\n \r\n

¡OBLIGATORIO!

\r\n
\r\n \"Error\"\r\n
\r\n

Para continuar con la creación de cuenta electrónica es necesario que disponga de un dispositivo con\r\n cámara habilitada

\r\n
\r\n \r\n
\r\n
\r\n }\r\n\r\n {\r\n this.state.modalAviCamEX &&\r\n \r\n

¡OBLIGATORIO!

\r\n
\r\n \"Error\"\r\n
\r\n

Para continuar con la creación de cuenta electrónica es necesario que disponga de un dispositivo con\r\n cámara habilitada

\r\n
\r\n \r\n
\r\n
\r\n }\r\n\r\n {\r\n this.state.modalNohaycuenta &&\r\n \r\n\r\n
\r\n \"Error\"\r\n
\r\n

Sus datos han sido verificados y no existe coincidencia con ningún perfil como:

\r\n\r\n
    \r\n
  • Ser miembro de la ESPOL como docente, administrativo o estudiante.
  • \r\n
  • Docente o administrativo con contrato regularizado con Talento Humano.
  • \r\n
  • Estudiante con matrícula en ESPOL.
  • \r\n
  • No tener cuenta de correo en ESPOL.
  • \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n }\r\n {\r\n this.state.modalNoExisteEnBase &&\r\n \r\n
\r\n \"Error\"\r\n
\r\n

Sus datos han sido verificados y no existe coincidencia con ningún perfil.

\r\n

\r\n Puede comunicarse con Gerencia de Tecnologías y Servicios de Información

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Teléfono: (+593) 42269256
Atención: Lunes a Viernes de 08:00 a 16:00
Correo: gerenciatecnologia@espol.edu.ec
\r\n
\r\n \r\n
\r\n }\r\n\r\n\r\n {this.state.modalIsOpen && (\r\n \r\n

Usuario no registrado

\r\n
\r\n \"Eliminar\"\r\n
\r\n

\r\n Usted no se encuentra registrado en el\r\n sistema de GTSI, llene el siguiente formulario\r\n

\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n )}\r\n\r\n\r\n {this.state.modalError &&\r\n \r\n

Error en la Solicitud

\r\n
\r\n \"Error\"\r\n
\r\n

Error en la solicitud, intentelo mas tarde

\r\n
\r\n }\r\n\r\n\r\n {this.state.modalMessage.show &&\r\n \r\n

{this.state.modalMessage.titulo}

\r\n
\r\n \"Exitoso\"\r\n
\r\n

{this.state.modalMessage.mensaje}

\r\n
\r\n }\r\n\r\n {this.state.modalGTSI &&\r\n \r\n

\r\n Comunicarse con Gerencia de Tecnologías y Servicios de Información

\r\n

Su cuenta se encuentra inactiva.

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Teléfono: (+593) 42269256
Atención: Lunes a Viernes de 08:00 a 16:00
Correo: gerenciatecnologia@espol.edu.ec
\r\n
\r\n\r\n
\r\n }\r\n
\r\n )\r\n );\r\n\r\n\r\n }\r\n}\r\n","import React, { Component } from 'react'\r\nimport Nacionalidad from './components/Nacionalidad'\r\n\r\nexport class CrearCuenta extends Component {\r\n\r\n render() {\r\n return (\r\n\t\t\t\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default CrearCuenta\r\n","import React, { Component } from 'react'\r\nimport \"../../css/UsuarioVisitante.css\"\r\n\r\nimport { Link, Navigate} from \"react-router-dom\";\r\nimport Cookies from 'js-cookie';\r\nimport Header from '../components/Header.js'\r\nimport Footer from '../components/Footer.js'\r\n\r\n\r\n\r\nexport default class UsuarioVisitante extends Component {\r\n\r\n constructor(props){\r\n super(props);\r\n\r\n this.state={\r\n verInformacion:null,\r\n modalIsOpen:false,\r\n modalError:false,\r\n\t\t\tdisablebtn:false,\r\n\t\t\tmodalGTSI:false,\r\n verificarDatosExt:{\r\n pasaporte:\"\",\r\n fechaNac:\"\",\r\n terminos:\"\"\r\n },\r\n verificarDatosEcu:{\r\n cedula:\"\",\r\n fechaEmision:\"\",\r\n terminos:\"\"\r\n },\r\n errorsDatosEcu:{\r\n },\r\n errorsDatosExtran:{\r\n },\r\n getVerificarUsuario:{\r\n id:0,\r\n identificacion:\"\",\r\n nombres:\"\",\r\n apellidos:\"\",\r\n usuarios:[],\r\n },\r\n expresiones:{\r\n cedula:/^[\\d]{10}$/,\r\n },\r\n\t\t\tmodalMessage:{\r\n show:false,\r\n titulo:\"\",\r\n mensaje:\"\",\r\n imagen:\"\"\r\n },\r\n\t\t\t\r\n };\r\n this.verInfoEcuatoriano=this.verInfoEcuatoriano.bind(this);\r\n this.verInfoExtranjero=this.verInfoExtranjero.bind(this);\r\n this.handlerVerificarDatos=this.handlerVerificarDatos.bind(this);\r\n this.abrirModal=this.abrirModal.bind(this);\r\n this.cerrarModal=this.cerrarModal.bind(this);\r\n\r\n this.abrirModalError=this.abrirModalError.bind(this);\r\n this.cerrarModalError=this.cerrarModalError.bind(this);\r\n\r\n\t\t\r\n\t\t\r\n // this.setearCookie=this.setearCookie.bind(this);\r\n\t\t\r\n\t\t//this.disablebutton = this.disablebutton.bind(this);\r\n\t\t//this.enablebutton = this.enablebutton.bind(this);\r\n\t\t\r\n\t\tthis.abrirModalMessage=this.abrirModalMessage.bind(this);\r\n this.cerrarModalMessage=this.cerrarModalMessage.bind(this);\r\n\t\t\r\n\t\tthis.abrirModalInfoGTSI=this.abrirModalInfoGTSI.bind(this);\r\n this.cerrarModalInfoGTSI=this.cerrarModalInfoGTSI.bind(this);\r\n\r\n //this.getVerificarUsuarioExtranj=this.getVerificarUsuarioExtranj.bind(this);\r\n \r\n }\r\n\r\n componentDidMount() {\r\n this.callTagManager();\r\n }\r\n\r\n callTagManager() {\r\n window.dataLayer.push({\r\n event: \"pageview-Inicio\",\r\n });\r\n }\r\n\r\n\r\n abrirModalInfoGTSI(){\r\n this.setState({modalGTSI:true});\r\n //console.log(\"abrir modal \"+this.state.modalGTSI);\r\n }\r\n\r\n cerrarModalInfoGTSI(){\r\n this.setState({modalGTSI:false});\r\n //console.log(\"cerrar modal \"+this.state.modalGTSI);\r\n }\r\n\t\r\n\tabrirModalMessage(){\r\n this.setState({\r\n modalMessage:{\r\n ...this.state.modalMessage,\r\n show:true\r\n }\r\n });\r\n }\r\n\r\n limpiarCookies()\r\n {\r\n \r\n\r\n Cookies.remove(\"nombres\");\r\n Cookies.remove(\"apellidos\");\r\n Cookies.remove(\"identificacion\");\r\n Cookies.remove(\"token\");\r\n Cookies.remove(\"rol\");\r\n Cookies.remove(\"username\");\r\n Cookies.remove(\"DatosPersonalesGIA.CAS\");\r\n Cookies.remove(\"id\");\r\n Cookies.remove(\"correoAlterno\");\r\n Cookies.remove(\"Nombre\");\r\n \r\n \r\n }\r\n\r\n cerrarModalMessage(){\r\n this.setState({\r\n modalMessage:{\r\n titulo:\"\",\r\n mensaje:\"\",\r\n imagen:\"\",\r\n show:false\r\n }\r\n });\r\n //console.log(\"cerrar modal \"+this.state.modalMessage);\r\n }\r\n\t\r\n\t\r\n abrirModal(){\r\n this.setState({modalIsOpen:true});\r\n //console.log(\"abrir modal \"+this.state.modalIsOpen);\r\n }\r\n\r\n cerrarModal(){\r\n this.setState({modalIsOpen:false});\r\n //console.log(\"cerrar modal \"+this.state.modalIsOpen);\r\n }\r\n\r\n abrirModalError(){\r\n this.setState({modalError:true});\r\n }\r\n\r\n cerrarModalError(){\r\n this.setState({modalError:false})\r\n }\r\n\t\r\n\tabrirModalIdnFeInc(){\r\n this.setState({modalIdnFeInc:true});\r\n }\r\n\r\n cerrarModalIdnFeInc(){\r\n this.setState({modalIdnFeInc:false})\r\n }\r\n\t\r\n\tabrirModalUserExist(){\r\n this.setState({modalUserExist:true});\r\n }\r\n\r\n cerrarModalUserExist(){\r\n this.setState({modalUserExist:false})\r\n }\r\n\r\n//esta funcion funciona XD\r\n verInfoEcuatoriano(){\r\n this.setState({verInformacion:true});\r\n }\r\n\r\n verInfoExtranjero(){\r\n this.setState({verInformacion:false});\r\n }\r\n\r\n\tdisablebutton(){\r\n\t\t this.setState({disablebtn:true});\r\n\t\t //console.log(this.state.disablebtn)\r\n\t}\r\n\tenablebutton(){\r\n\t\t this.setState({disablebtn:false});\r\n\t}\r\n\t\r\n handlerVerificarDatos=async(e)=>{\r\n await this.setState({\r\n verificarDatosExt:{\r\n ...this.state.verificarDatosExt,\r\n [e.target.name]:e.target.value,\r\n terminos:e.target.checked\r\n }\r\n })\r\n //console.log(this.state.verificarDatosExt);\r\n this.handlerOnBlurExt();\r\n }\r\n\r\n handlerVerificarDatosEcu=async(e)=>{\r\n\t\t//console.log(this.state.verificarDatosEcu);\r\n\r\n await this.setState({\r\n verificarDatosEcu:{\r\n ...this.state.verificarDatosEcu,\r\n [e.target.name]:e.target.value,\r\n terminos:e.target.checked\r\n }\r\n })\r\n\t\t\r\n //console.log(\"handler\");\r\n this.handlerOnBlurEcu();\r\n //console.log(this.state.verificarDatosEcu);\r\n }\r\n\r\n\r\n handlerOnBlurEcu=async(e)=>{\r\n \r\n if(!this.state.expresiones.cedula.test(this.state.verificarDatosEcu.cedula)){\r\n await this.setState({errorsDatosEcu:{\r\n cedula: \"Identificacion debe tener 10 dígitos\",\r\n }})\r\n }else{\r\n this.setState({errorsDatosEcu:{}})\r\n }\r\n //console.log(\"blur\");\r\n //console.log(this.state.errorsDatosEcu);*/\r\n }\r\n\r\n handlerOnBlurExt=async(e)=>{\r\n if(!this.state.expresiones.cedula.test(this.state.verificarDatosExt.pasaporte)){\r\n await this.setState({errorsDatosExtran:{\r\n pasaporte: \"Identificacion debe tener 10 dígitos\",\r\n }})\r\n }else{\r\n this.setState({errorsDatosExtran:{}})\r\n }\r\n //console.log(\"blur\");\r\n // console.log(this.state.errorsDatosExtran);*/\r\n }\r\n\r\n \r\n\r\n\r\n render() {\r\n this.limpiarCookies(); \r\n return ( \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {window.dataLayer.push({event: \"pageview-registro\"})}}>\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n Crear cuenta\r\n
\r\n
\r\n\r\n
\r\n
\r\n { window.dataLayer.push({ event: \"pageview-cambiarcontrasenia\" }) }}>\r\n \r\n \r\n
\r\n
\r\n Cambiar contraseña\r\n
\r\n
\r\n
\r\n
\r\n\r\n { window.dataLayer.push({ event: \"pageview-olvidocontrasena\" }) }}>\r\n \r\n \r\n
\r\n
\r\n ¿Olvidó su contraseña?\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n \r\n }\r\n}\r\n","import React, { Component } from 'react'\r\nimport UsuarioVisitante from './components/UsuarioVisitante'\r\n\r\n\r\n\r\n\r\n\r\nexport class Inicio extends Component {\r\n\r\n \r\nrender() {\r\n return (\r\n\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default Inicio\r\n","export default __webpack_public_path__ + \"static/media/logo_espol_blanco.c88fc745.svg\";","import React, {Component} from 'react';\r\nimport \"../css/Login.css\";\r\nimport {Link} from \"react-router-dom\";\r\nimport logo from \"../assets/logo_espol_blanco.svg\";\r\nimport {Alert} from 'react-bootstrap';\r\nimport axios from 'axios';\r\nimport equis from \"../assets/eliminar.png\"\r\nimport Modal from '././components/Modal';\r\n//import AdminUsuarios from './AdminUsuarios';\r\nimport { Navigate } from 'react-router-dom';\r\nimport Cookies from 'js-cookie';\r\n\r\n\r\nexport class Login extends Component{\r\n \r\n constructor(props) {\r\n\r\n super(props);\r\n\r\n this.state = {\r\n datosUsuario:{\r\n correo: \"\",\r\n password: \"\"\r\n },\r\n getDatos:{\r\n token:\"\",\r\n nombres:\"\",\r\n apellidos:\"\",\r\n identificacion:\"\",\r\n rol:\"\"\r\n },\r\n show:false,\r\n showRenderAdminUser:false,\r\n alert:{\r\n show:false,\r\n titulo:\"\",\r\n mensaje:\"\",\r\n variante:\"\"\r\n },\r\n\t\t\tmodal:{\r\n show:false,\r\n titulo:\"\",\r\n mensaje:\"\",\r\n imagen:\"\"\r\n },\r\n expresiones:{\r\n correo:/^(\\w+[/./-]?){1,}@[a-z]+[/.]\\w{2,}([/.]\\w{2,})?$/,\r\n },\r\n errorSolicitud:{\r\n correo:\"\",\r\n password:\"\",\r\n },\r\n };\r\n this.cerrarAlert=this.cerrarAlert.bind(this);\r\n\t\t\r\n\t\tthis.abrirModal=this.abrirModal.bind(this);\r\n this.cerrarModal=this.cerrarModal.bind(this);\r\n }\r\n\t\r\n\tabrirModal(){\r\n this.setState({\r\n modal:{\r\n ...this.state.modal,\r\n show:true\r\n }\r\n });\r\n }\r\n\r\n cerrarModal(){\r\n this.setState({\r\n modal:{\r\n titulo:\"\",\r\n mensaje:\"\",\r\n imagen:\"\",\r\n show:false\r\n }\r\n });\r\n //console.log(\"cerrar modal \"+this.state.modal);\r\n }\r\n\t\r\n\t\r\n handlerLogin=async(e)=>{\r\n await this.setState({\r\n datosUsuario:{\r\n ...this.state.datosUsuario,\r\n [e.target.name]:e.target.value,\r\n }\r\n })\r\n //console.log(this.state.datosUsuario);\r\n this.handlerOnBlur();\r\n\r\n }\r\n\r\n handlerOnBlur=async()=>{\r\n\r\n /*if(this.state.datosUsuario.correo===\"\"){\r\n await this.setState({errorSolicitud:{\r\n ...this.state.errorSolicitud,\r\n correo: \"El campo 'Correo' es requerido\"\r\n }})\r\n }else */\r\n if(!this.state.expresiones.correo.test(this.state.datosUsuario.correo)){\r\n await this.setState({errorSolicitud:{\r\n ...this.state.errorSolicitud,\r\n correo: \"El campo 'Correo' no tiene formato correcto\"\r\n }})\r\n }else{\r\n this.setState({errorSolicitud:{\r\n ...this.state.errorSolicitud,\r\n correo:\"\"\r\n }})\r\n }\r\n\r\n if(this.state.datosUsuario.password===\"\"){\r\n await this.setState({errorSolicitud:{\r\n ...this.state.errorSolicitud,\r\n password: \"El campo 'Contraseña' es requerido\"\r\n }})\r\n }else{\r\n this.setState({errorSolicitud:{\r\n ...this.state.errorSolicitud,\r\n password:\"\"\r\n }})\r\n }\r\n\r\n }\r\n\r\n iniciarSesion=async(e)=>{\r\n e.preventDefault();\r\n\r\n let credenciales ={\r\n username:this.state.datosUsuario.correo.split(\"@\")[0],\r\n password:this.state.datosUsuario.password,\r\n correo:this.state.datosUsuario.correo\r\n } \r\n //console.log(credenciales);\r\n \r\n\r\n if(this.state.datosUsuario.correo===\"\"||this.state.datosUsuario.password===\"\"){\r\n this.setState({\r\n alert:{\r\n show:true,\r\n titulo:\"Error en la solicitud\",\r\n mensaje:\"Campos vacios\",\r\n variante:\"danger\"\r\n } \r\n })\r\n //console.log(\"alerta vacios\");\r\n }else{\r\n await axios.post(`${process.env.REACT_APP_API}api/CuentaUsuario/login`,credenciales)\r\n .then(r=>{\r\n //console.log(r);\r\n if(r.data.persona.rol===\"Admin\"){\r\n this.props.setValue(true);\r\n Cookies.set(\"token\",JSON.stringify(r.data.token), { expires: 1 });\r\n Cookies.set(\"rol\",JSON.stringify(r.data.persona.rol), { expires: 1 });\r\n Cookies.set(\"nombres\",JSON.stringify(r.data.persona.nombres), { expires: 1 });\r\n Cookies.set(\"apellidos\",JSON.stringify(r.data.persona.apellidos), { expires: 1 });\r\n Cookies.set(\"identificacion\",JSON.stringify(r.data.persona.identificacion), { expires: 1 });\r\n\r\n this.setearHeader();\r\n this.setState({showRenderAdminUser:true})\r\n }\r\n })\r\n .catch(error=>{\r\n this.setState({\r\n // alert:{\r\n // show:true,\r\n // titulo:\"Error en la solicitud\",\r\n // mensaje:\"Usuario y/o contraseña incorrectos\",\r\n // variante:\"danger\"\r\n // } \r\n\t\t\t\t\tmodal:{\r\n show:true,\r\n titulo:\"Error en la solicitud\",\r\n mensaje:\"Correo o contraseña incorrecta\",\r\n imagen:equis\r\n }\r\n })\r\n //console.log(error.message);\r\n })\r\n }\r\n }\r\n\r\n setearHeader(){\r\n //console.log(\"setear header\");\r\n var token = JSON.parse(Cookies.get(\"token\"));\r\n if (token) {\r\n axios.defaults.headers.common['Authorization'] = `Bearer ${token}`;\r\n } else {\r\n axios.defaults.headers.common['Authorization'] = null;\r\n\r\n }\r\n\r\n }\r\n\r\n cerrarAlert(){\r\n this.setState({show:false})\r\n }\r\n\r\n render(){\r\n return(\r\n\r\n this.state.showRenderAdminUser? :\r\n
\r\n\r\n \r\n {\r\n this.state.show&&\r\n \r\n {this.state.alert.titulo}\r\n

\r\n {this.state.alert.mensaje}.\r\n

\r\n
\r\n }\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n \"Logo\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n

¿Olvidó su contraseña?

\r\n
\r\n\r\n
\r\n \r\n

¿Eres nuevo? Regístrate

\r\n

Cambiar contraseña

\r\n
\r\n
\r\n
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{this.state.modal.show&& \r\n \r\n

{this.state.modal.titulo}

\r\n
\r\n \"Error\"\r\n
\r\n\r\n

{this.state.modal.mensaje}

\r\n \r\n
}\r\n\t\t\t\t\t\t\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default Login\r\n","import React, { Component } from 'react'\r\nimport \"../../css/FormSolicitud.css\";\r\nimport logo from \"../../assets/logo_espol_interno.svg\";\r\nimport check from \"../../assets/check.png\";\r\nimport anuncio from \"../../assets/AnuncioICO.svg\";\r\nimport equis from \"../../assets/eliminar.png\"\r\nimport info from \"../../assets/Info.png\"\r\nimport Modal from './Modal';\r\nimport axios from \"axios\";\r\nimport { Navigate } from 'react-router-dom';\r\nimport Cookies from 'js-cookie';\r\nimport { useState } from 'react';\r\nimport Header from '../components/Header.js'\r\nimport Footer from '../components/Footer.js'\r\nimport Acuerdo from './Acuerdo.js'\r\n\r\nexport default class FormSolicitud extends Component {\r\n\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n verAcuerdo: false,\r\n usuarios_sugeridos_temp:[],\r\n alias_sugeridos_temp:[],\r\n solicitud: {\r\n identificacion: \"\",\r\n nombres: \"\",\r\n apellidos: \"\",\r\n telefono: \"\",\r\n actividad: \"\",\r\n unidad: \"\",\r\n correo: \"\",\r\n usuario_sugerido: \"\",\r\n alias_sugerido: \"\",\r\n terminos: false,\r\n estado: \"No Revisado\",\r\n idAcueFirmElec:\"\",\r\n },\r\n actividad: [\"Est.Grado\", \"Est.PostGrado\", \"Gdo.PostGrado\", \"Gdo.Grado\", \"Prof.Grado\", \"Prof.PostGrado\", \"Investigador\", \"Administrativo\"],\r\n modalIsOpen: false,\r\n modalAlias: false,\r\n showRenderLogin: false,\r\n modalVerificar: {\r\n show: false,\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\"\r\n },\r\n expresiones: {\r\n /*nombres: /^[A-Za-zÑñÁáÉéÍíÓóÚúÜü\\s]+$/, */ //Permite que se agreguen espacios al final\r\n nombres: /^[A-Za-zÑñÁáÉéÍíÓóÚúÜü]+( [A-Za-zÑñÁáÉéÍíÓóÚúÜü]+)*$/,\r\n dos_nombres: /^[A-Za-zÑñÁáÉéÍíÓóÚúÜü]+(?:\\s+[A-Za-zÑñÁáÉéÍíÓóÚúÜü]+)+$/,\r\n /*apellidos: /^[A-Za-zÑñÁáÉéÍíÓóÚúÜü\\s]+$/, */ //Permite que se agreguen espacios al final\r\n apellidos: /^[A-Za-zÑñÁáÉéÍíÓóÚúÜü]+( [A-Za-zÑñÁáÉéÍíÓóÚúÜü]+)*$/,\r\n dos_apellidos: /^[A-Za-zÑñÁáÉéÍíÓóÚúÜü]+(?:\\s+[A-Za-zÑñÁáÉéÍíÓóÚúÜü]+)+$/,\r\n //correoAlterno: /^(\\w+[/./-]?){1,}@[a-z]+[/.]\\w{2,}$/,\r\n correoAlterno: /^(\\w+[/./-]?){1,}@[a-z]+[/.]\\w{2,}([/.]\\w{2,})?$/,\r\n telefono: /^[\\d]{7,10}$/,\r\n cedula: /^[a-zA-Z0-9._]{4,14}$/,\r\n usuario_sugerido: /^[a-zA-Z]{8}$/,\r\n alias_sugerido: /^[a-z]+[/.][a-z]+$/,\r\n unidad: /^[A-Za-zÑñÁáÉéÍíÓóÚúÜü\\s]+$/,\r\n },\r\n posible_alias: \"\",\r\n mensaje_error_alias: \"\",\r\n errorSolicitud: {\r\n identificacion: \"\",\r\n nombres: \"\",\r\n apellidos: \"\",\r\n telefono: \"\",\r\n unidad: \"\",\r\n correoAlterno: \"\",\r\n usuario_sugerido: \"\",\r\n alias_sugerido: \"\"\r\n },\r\n Motivo: \"\",\r\n modalSugerencia: {\r\n show: false,\r\n titulo: \"Sugerencia de Alias\",\r\n mensaje: \"Los alias que te sugerimos utilizar es este:\",\r\n imagen: info,\r\n listSug: [],\r\n },\r\n listSugerencia: [],\r\n listUnidad: [],\r\n SelectUnit: '',\r\n activebutton: true,\r\n boolAlias:false,\r\n\r\n\r\n };\r\n this.abrirModalInfo = this.abrirModalInfo.bind(this);\r\n this.cerrarModalInfo = this.cerrarModalInfo.bind(this);\r\n this.cerrarModalAlias= this.cerrarModalAlias.bind(this);\r\n this.abrirModalVerificar = this.abrirModalVerificar.bind(this);\r\n this.cerrarModalVerificar = this.cerrarModalVerificar.bind(this);\r\n\r\n this.abrirModalSugerencia = this.abrirModalSugerencia.bind(this);\r\n this.cerrarModalSugerencia = this.cerrarModalSugerencia.bind(this);\r\n\r\n this.handlerOnBlur = this.handlerOnBlur.bind(this);\r\n\r\n this.abrirAcuerdo = this.abrirAcuerdo.bind(this);\r\n\r\n this.activebuttonf = this.activebuttonf.bind(this);\r\n this.disabledbuttonf = this.disabledbuttonf.bind(this);\r\n\r\n //this.subirimagenUsuario = this.subirimagenUsuario.bind(this);\r\n //this.subirimagenContrato = this.subirimagenContrato.bind(this);\r\n }\r\n\r\n activebuttonf() {\r\n this.setState({ activebutton: true });\r\n }\r\n\r\n disabledbuttonf() {\r\n this.setState({ activebutton: false });\r\n\r\n }\r\n\r\n\r\n abrirAcuerdo() {\r\n this.setState({ verAcuerdo: true });\r\n }\r\n\r\n\r\n\r\n abrirModalSugerencia() {\r\n this.setState({\r\n modalSugerencia: {\r\n ...this.state.modalSugerencia,\r\n show: true\r\n }\r\n });\r\n }\r\n\r\n\r\n cerrarModalSugerencia() {\r\n this.setState({\r\n modalSugerencia: {\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\",\r\n listSug: [],\r\n show: false\r\n }\r\n });\r\n //console.log(\"cerrar modal \" + this.state.modalVerificar);\r\n }\r\n\r\n abrirModalVerificar() {\r\n this.setState({\r\n modalVerificar: {\r\n ...this.state.modalVerificar,\r\n show: true\r\n }\r\n });\r\n }\r\n\r\n cerrarModalVerificar() {\r\n this.setState({\r\n modalVerificar: {\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\",\r\n show: false\r\n }\r\n });\r\n //console.log(\"cerrar modal \" + this.state.modalVerificar);\r\n }\r\n\r\n\r\n abrirModalInfo() {\r\n this.setState({ modalIsOpen: true });\r\n }\r\n\r\n cerrarModalInfo() {\r\n this.setState({ modalIsOpen: false });\r\n this.setState({ showRenderLogin: true })\r\n }\r\n\r\n abrirModalAlias() {\r\n this.setState({ modalAlias: true });\r\n }\r\n\r\n cerrarModalAlias() {\r\n this.setState({ modalAlias: false });\r\n }\r\n\r\n showusers = async (e) => {\r\n let nombres = document.querySelector('[name=\"nombres\"]').value;\r\n let apellidos = document.querySelector('[name=\"apellidos\"]').value;\r\n let nombre1=nombres.split(\" \")[0];\r\n let nombre2=nombres.split(\" \")[1];\r\n let apellido1=apellidos.split(\" \")[0];\r\n let apellido2=apellidos.split(\" \")[1];\r\n if (nombres.length != 0 & apellidos.length != 0) {\r\n await axios.get(`${process.env.REACT_APP_API}api/Persona/usuarios/${nombres}/${apellidos}`)\r\n .then(r => {\r\n //console.log(r.data);\r\n this.setState({usuarios_sugeridos_temp: r.data});\r\n })\r\n .catch(error => {\r\n console.log(error.message);\r\n });\r\n\r\n await axios.get(`${process.env.REACT_APP_API}api/Persona/alias/${nombres}/${apellidos}`)\r\n .then(r => {\r\n //console.log(r.data);\r\n this.setState({alias_sugeridos_temp: r.data});\r\n })\r\n .catch(error => {\r\n console.log(error.message);\r\n });\r\n }\r\n }\r\n\r\n mayus(e) {\r\n e.target.value = e.target.value.toUpperCase();\r\n }\r\n\r\n\r\n handlerDatos = async (e) => {\r\n this.showusers();\r\n if(e.target.name==\"apellidos\" || e.target.name==\"nombres\"){\r\n await this.setState({\r\n solicitud: {\r\n ...this.state.solicitud,\r\n [e.target.name]: e.target.value.toUpperCase(),\r\n //terminos:e.target.checked\r\n }\r\n })\r\n }else{\r\n //console.log(e.target.name);\r\n if(e.target.name==\"alias_sugerido\"){\r\n this.setState({boolAlias:true});\r\n }\r\n await this.setState({\r\n solicitud: {\r\n ...this.state.solicitud,\r\n [e.target.name]: e.target.value,\r\n //terminos:e.target.checked\r\n }\r\n })\r\n }\r\n //console.log(this.state.solicitud);\r\n this.handlerOnBlur();\r\n }\r\n\r\n handlerTerminos = async (e) => {\r\n await this.setState({\r\n solicitud: {\r\n ...this.state.solicitud,\r\n terminos: e.target.checked\r\n }\r\n })\r\n //console.log(this.state.solicitud);\r\n this.handlerOnBlur();\r\n }\r\n\r\n handlerOnBlur = async () => {\r\n\r\n if (this.state.solicitud.identificacion === \"\") {\r\n await this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n identificacion: \"El campo 'Identificación' es requerido\"\r\n }\r\n })\r\n } else if (!this.state.expresiones.cedula.test(this.state.solicitud.identificacion)) {\r\n await this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n identificacion: \"Identificación debe tener 10 dígitos\"\r\n }\r\n })\r\n } else {\r\n this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n identificacion: \"\"\r\n }\r\n })\r\n }\r\n\r\n if (this.state.solicitud.nombres === \"\") {\r\n await this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n nombres: \"El campo 'Nombres' es requerido\"\r\n }\r\n })\r\n } else if (!this.state.expresiones.nombres.test(this.state.solicitud.nombres)) {\r\n await this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n nombres: \"El campo 'Nombres' solo acepta letras y espacio entre los nombres\"\r\n }\r\n })\r\n } else {\r\n this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n nombres: \"\"\r\n }\r\n })\r\n }\r\n\r\n\r\n if (this.state.solicitud.apellidos === \"\") {\r\n await this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n apellidos: \"El campo 'Apellidos' es requerido\"\r\n }\r\n })\r\n } else if (!this.state.expresiones.apellidos.test(this.state.solicitud.apellidos)) {\r\n await this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n apellidos: \"El campo 'Apellidos' solo acepta letras y espacio entre los apellidos\",\r\n }\r\n })\r\n } else {\r\n this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n apellidos: \"\"\r\n }\r\n })\r\n }\r\n\r\n if (this.state.solicitud.telefono === \"\") {\r\n await this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n telefono: \"El campo 'Teléfono' es requerido\"\r\n }\r\n })\r\n } else if (!this.state.expresiones.telefono.test(this.state.solicitud.telefono)) {\r\n await this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n telefono: \"El campo 'Teléfono' solo acepta números\",\r\n }\r\n })\r\n } else {\r\n this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n telefono: \"\"\r\n }\r\n })\r\n }\r\n\r\n //UNIDAD\r\n //console.log(this.state.solicitud.unidad);\r\n if (this.state.solicitud.unidad === \"\") {\r\n await this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n unidad: \"El campo 'Unidad' es requerido\"\r\n }\r\n })\r\n } else if (!this.state.expresiones.unidad.test(this.state.solicitud.unidad)) {\r\n await this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n unidad: \"El campo 'Unidad' solo acepta letras\",\r\n }\r\n })\r\n } else {\r\n this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n unidad: \"\"\r\n }\r\n })\r\n }\r\n\r\n //CORREO ALTERNO\r\n if (this.state.solicitud.correo === \"\") {\r\n await this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n correoAlterno: \"El campo 'Correo alterno' es requerido\"\r\n }\r\n })\r\n } else if (!this.state.expresiones.correoAlterno.test(this.state.solicitud.correo)) {\r\n await this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n correoAlterno: \"El campo 'Correo alterno' tiene formato incorrecto\",\r\n }\r\n })\r\n } else {\r\n this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n correoAlterno: \"\"\r\n }\r\n })\r\n }\r\n\r\n //USUARIO SUGERIDO ANTERIOR\r\n /*if (this.state.solicitud.usuario_sugerido === \"\") {\r\n await this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n usuario_sugerido: \"El campo 'Usuario sugerido' es requerido\"\r\n }\r\n })\r\n } else if (!this.state.expresiones.usuario_sugerido.test(this.state.solicitud.usuario_sugerido)) {\r\n await this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n usuario_sugerido: \"Usuario debe tener 8 caractéres. El usuario debe estar compuesto por nombre y apellido.\",\r\n }\r\n })\r\n } else {\r\n this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n usuario_sugerido: \"\"\r\n }\r\n })\r\n }*/\r\n //console.log(this.state.solicitud.usuario_sugerido);\r\n if (this.state.solicitud.usuario_sugerido === \"\") {\r\n await this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n usuario_sugerido: \"El campo 'Usuario sugerido' es requerido\"\r\n }\r\n })\r\n } else {\r\n this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n usuario_sugerido: \"\"\r\n }\r\n })\r\n }\r\n\r\n //ALIAS SUGERIDO\r\n //console.log(this.state.solicitud.alias_sugerido);\r\n if (this.state.solicitud.alias_sugerido === \"\") {\r\n await this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n alias_sugerido: \"El campo 'Alias sugerido' es requerido\"\r\n }\r\n });\r\n //MOSTRAR MODAL CON MENSAJE DE QUE EL CAMPO ALIAS.....\r\n } else if (!this.state.expresiones.alias_sugerido.test(this.state.solicitud.alias_sugerido)) {\r\n await this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n alias_sugerido: \"El campo 'Alias sugerido' solo acepta entradas de este tipo: nombre.apellido\",\r\n }\r\n })\r\n } else {\r\n this.setState({\r\n errorSolicitud: {\r\n ...this.state.errorSolicitud,\r\n alias_sugerido: \"\"\r\n }\r\n });\r\n if(this.state.boolAlias){\r\n this.abrirModalAlias();\r\n this.setState({boolAlias:false});\r\n }\r\n \r\n }\r\n /*console.log(\"blur\");\r\n console.log(this.state.errorSolicitud);*/\r\n }\r\n\r\n\r\n\r\n postVerificarSolicitud = async (e) => {\r\n e.preventDefault();\r\n this.disabledbuttonf();\r\n //this.abrirAcuerdo();\r\n var aliasExiste;\r\n var usuarioExiste;\r\n /*Hay que sobreescribir el estado en esta seccion*/\r\n /*var estado=this.state.solicitud.estado;*/\r\n var estado = \"No Revisado\";\r\n var infoSolicitud = this.state.solicitud;\r\n var solicitud = {\r\n estado: estado,\r\n Identificacion: this.state.solicitud.identificacion,\r\n infoSolicitud: JSON.stringify(infoSolicitud),\r\n Motivo: \"Solicitud a espera de revisión\"\r\n }\r\n\r\n var alias = this.state.solicitud.alias_sugerido;\r\n var username = this.state.solicitud.usuario_sugerido;\r\n var nombres = this.state.solicitud.nombres;\r\n var apellidos = this.state.solicitud.apellidos;\r\n //this.abrirModalInfo();\r\n await axios.get(`${process.env.REACT_APP_API}api/CuentaUsuario/verificaralias/${alias}/${nombres}/${apellidos}`)\r\n .then(r => {\r\n if (r.data.success) {\r\n aliasExiste = true;\r\n this.state.mensaje_error_alias = r.data.message;\r\n if (r.data.message === \"El alias ingresado no tiene relación con el nombre o el apellido\" || r.data.message === \"No se ha podido recomendar un alias. Revise que sus nombres y Apellidos esten completos\") {\r\n //console.log(\"existe alias\");\r\n this.state.listSugerencia = [];\r\n\r\n } else if (r.data.message === \"El alias que ingreso ya se encuentra siendo utilizado. Le sugerimos que utilice el siguientes alias:\") {\r\n this.state.listSugerencia = r.data.lSugerencia;\r\n }\r\n\r\n }\r\n else {\r\n //console.log(\"no existe alias\");\r\n aliasExiste = false;\r\n //this.state.posible_alias = \"\" ;\r\n }\r\n this.activebuttonf();\r\n\r\n })\r\n .catch(error => {\r\n //console.log(error.message);\r\n this.setState({\r\n modalVerificar: {\r\n show: true,\r\n titulo: \"Error en la solicitud\",\r\n mensaje: \"Error en la solicitud, intente mas tarde.\",\r\n imagen: equis\r\n }\r\n })\r\n this.activebuttonf();\r\n })\r\n\r\n\r\n await axios.get(`${process.env.REACT_APP_API}api/CuentaUsuario/verificarusername/${username}/${nombres}/${apellidos}`)\r\n .then(r => {\r\n if (r.data.success) {\r\n //console.log(\"existe username\");\r\n usuarioExiste = true;\r\n this.state.listSugerencia = r.data.lSugerencia;\r\n }\r\n else {\r\n //console.log(\"no existe username\");\r\n usuarioExiste = false;\r\n }\r\n this.activebuttonf();\r\n })\r\n .catch(error => {\r\n //this.setState({modalMensaje:\"Error en la solicitud, intente mas tarde.\"})\r\n //this.abrirModalError();\r\n this.setState({\r\n modalVerificar: {\r\n show: true,\r\n titulo: \"Error en la solicitud\",\r\n mensaje: \"Error en la solicitud, intente mas tarde.\",\r\n imagen: equis\r\n }\r\n })\r\n this.activebuttonf();\r\n //console.log(error.message);\r\n })\r\n\r\n\r\n\r\n if (aliasExiste === false && usuarioExiste === false) {\r\n this.setState({\r\n solicitud: {\r\n ...this.state.solicitud,\r\n nombres: this.state.solicitud.nombres.toLowerCase(),\r\n apellidos: this.state.solicitud.apellidos.toLowerCase(),\r\n\r\n }\r\n })\r\n this.abrirAcuerdo();\r\n } else if (aliasExiste && usuarioExiste) {\r\n this.setState({\r\n modalVerificar: {\r\n show: true,\r\n titulo: \"Alias y usuario existen\",\r\n mensaje: \"Alias y usuario existe por favor ingrese otro\",\r\n imagen: equis\r\n }\r\n })\r\n } else if (usuarioExiste) {\r\n this.setState({\r\n modalSugerencia: {\r\n show: true,\r\n titulo: \"Sugerencia de Usuarios\",\r\n mensaje: \"El usuario que ingreso ya se encuentra siendo utilizado. Le sugerimos que utilice uno del siguientes usuarios:\",\r\n imagen: info,\r\n listSug: this.state.listSugerencia,\r\n }\r\n });\r\n } else if (aliasExiste) {\r\n this.setState({\r\n modalSugerencia: {\r\n show: true,\r\n titulo: \"Sugerencia de alias\",\r\n mensaje: this.state.mensaje_error_alias,\r\n imagen: info,\r\n listSug: this.state.listSugerencia,\r\n }\r\n });\r\n }\r\n\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({\r\n solicitud: {\r\n //identificacion: \"0987456321\"\r\n identificacion: Cookies.get(\"identificacion\")\r\n\r\n }\r\n })\r\n axios.get(`${process.env.REACT_APP_API}api/Grupo`)\r\n .then(r => {\r\n //console.log(r.data);\r\n this.setState({ listUnidad: r.data });\r\n })\r\n .catch(error => {\r\n console.log(error.message);\r\n })\r\n }\r\n\r\n\r\n\r\n render() {\r\n return (\r\n this.state.verAcuerdo ?\r\n :\r\n (
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

CREAR CUENTA

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {this.state.errorSolicitud.identificacion &&\r\n

{this.state.errorSolicitud.identificacion}

\r\n }\r\n
\r\n
\r\n \r\n \r\n {this.state.errorSolicitud.nombres &&\r\n

{this.state.errorSolicitud.nombres}

\r\n }\r\n
\r\n
\r\n \r\n \r\n {this.state.errorSolicitud.apellidos &&\r\n

{this.state.errorSolicitud.apellidos}

\r\n }\r\n
\r\n
\r\n \r\n \r\n {this.state.errorSolicitud.telefono &&\r\n

{this.state.errorSolicitud.telefono}

\r\n }\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {this.state.actividad.map((value, index) => {\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n })}\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n\r\n {/*{this.state.errorSolicitud.unidad &&*/}\r\n {/*

{this.state.errorSolicitud.unidad}

*/}\r\n {/*}*/}\r\n
\r\n\r\n
\r\n \r\n \r\n {this.state.errorSolicitud.correoAlterno &&\r\n

{this.state.errorSolicitud.correoAlterno}

\r\n }\r\n
\r\n
\r\n \r\n {/*\r\n \r\n {this.state.errorSolicitud.usuario_sugerido &&\r\n

{this.state.errorSolicitud.usuario_sugerido}

\r\n }\r\n */}\r\n \r\n {/*mostrar\r\n {this.state.usuarios_sugeridos_temp.map((value, index) => {\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n })} \r\n */}\r\n \r\n

El campo \"Usuario sugerido\" es el identificador que deberá usar para acceder a los sistemas de la ESPOL.

\r\n\r\n
\r\n
\r\n \r\n
\r\n {/**/}\r\n \r\n
\r\n
@espol.edu.ec
\r\n
\r\n
\r\n {this.state.errorSolicitud.alias_sugerido &&\r\n

{this.state.errorSolicitud.alias_sugerido}

\r\n }\r\n

El campo \"Alias sugerido\" es un identificador adicional de la cuenta, disponible únicamente para el envío de correo.

\r\n\r\n
\r\n

\r\n Soy responsable del uso de la cuenta electrónica de acuerdo a lo que estipula el reglamento de uso de cuentas electrónicas de la ESPOL publicado en el siguiente enlace: \r\n Reglamento Espol\r\n

\r\n\r\n {/*
*/}\r\n {/* */}\r\n\r\n {/* */}\r\n {/*
*/}\r\n\r\n\r\n
\r\n SIGUIENTE\r\n {!this.state.activebutton ?\r\n \r\n : null}\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n {this.state.modalIsOpen &&\r\n \r\n

Formulario enviado

\r\n
\r\n \"Exitoso\"\r\n
\r\n\r\n

¡Gracias por finalizar el formulario!

\r\n

Personal de GTSI se comunicará pronto a tu correo alterno.

\r\n\r\n
}\r\n {this.state.modalAlias &&\r\n \r\n

¡Recuerda!

\r\n
\r\n \"Exitoso\"\r\n
\r\n

El Alias {this.state.solicitud.alias_sugerido} solo sirve para que otras personas puedan enviarte correos electrónicos.

\r\n\r\n
}\r\n {this.state.modalVerificar.show &&\r\n \r\n

{this.state.modalVerificar.titulo}

\r\n
\r\n \"Exitoso\"\r\n
\r\n\r\n

{this.state.modalVerificar.mensaje}

\r\n
}\r\n\r\n {this.state.modalSugerencia.show &&\r\n \r\n

{this.state.modalSugerencia.titulo}

\r\n
\r\n \"Exitoso\"\r\n
\r\n\r\n

{this.state.modalSugerencia.mensaje}

\r\n
\r\n
    \r\n {this.state.modalSugerencia.listSug.map((sugerencia) =>
  • {sugerencia}
  • )}
    \r\n
\r\n
\r\n
}\r\n\r\n\r\n
)\r\n )\r\n }\r\n}\r\n","export default __webpack_public_path__ + \"static/media/cerrarSesion.6904b4b9.svg\";","import React, { Component } from 'react';\r\nimport { useState, useEffect } from \"react\";\r\nimport Modal from './Modal';\r\nimport check from \"../../assets/check.png\";\r\nimport equis from \"../../assets/eliminar.png\"\r\nimport ComponenteContrasenia from './ComponenteContrasenia';\r\nimport '../../css/FormAcuerdoAlumni.css';\r\nimport axios from 'axios';\r\nimport Cookies from 'js-cookie';\r\nimport Header from './Header.js'\r\nimport Footer from './Footer.js'\r\nimport anuncioico from \"../../assets/AnuncioICO.svg\";\r\nimport jwt from 'jwt-decode'\r\nimport { Spinner } from 'react-bootstrap';\r\nimport Acuerdo from './Acuerdo.js'\r\nimport cerrar from \"../../assets/cerrarSesion.svg\";\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faEye, faEyeSlash, faCheckCircle, faTimesCircle, faCheck } from \"@fortawesome/free-solid-svg-icons\";\r\nimport alarma from \"../../assets/alarma.svg\";\r\n\r\n\r\nexport class ActualizarArchSolicitud extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n modalNoExisteEnBase: false,\r\n IsDataCorrect: false,\r\n documentosValidos: {\r\n isvalidimgpersona: \"\",\r\n isvalidimgtarjeta: \"\",\r\n isvalidcontrato: \"\"\r\n },\r\n datosUsuario: {\r\n token: \"\",\r\n id: \"\",\r\n identificacion: \"0\",\r\n alias_sugerido: \"\",\r\n telefono: \"\",\r\n unidad: \"\",\r\n rol: \"\",\r\n correoAlterno: \"\",\r\n nombres: \"\",\r\n apellidos: \"\",\r\n username: \"\",\r\n correo: \"\",\r\n usuarioEscogido: \"\",\r\n fechaNacimiento: \"\"\r\n },\r\n idSolicitud:\"\",\r\n tokendecodeData: {\r\n nombres_temp: \"\",\r\n apellidos_temp: \"\",\r\n user_temp: \"\",\r\n identificacion_temp: \"\",\r\n },\r\n tokendecodestate: \"\",\r\n\r\n\r\n\r\n\r\n\r\n isPersonalData: false,\r\n errorsDatosEcu: {\r\n },\r\n expresiones: {\r\n cedula: /^[\\d]{10}$/,\r\n pasaporte: /^[a-zA-Z0-9._]{4,14}$/,\r\n },\r\n verificarDatosEcu: {\r\n cedula: \"\",\r\n fechaEmision: \"\",\r\n terminos: \"\"\r\n },\r\n activebutton: true,\r\n modalIngresoDatos:false,\r\n modalErrorAcuerdoGen: {\r\n show: false,\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: equis,\r\n },\r\n aceptoAcuerdo: false,\r\n modalPrevAcuerdoGen: false,\r\n enlaceAcuerdo: \"\",\r\n modalIsOpen: false,\r\n verBoton: true,\r\n \r\n idAcueFirmElec:\"\",\r\n contra: {\r\n contrasena: \"\",\r\n contrasenaCumple: false,\r\n repetirContraCumple: false,\r\n },\r\n navigateCas: true,\r\n modalError: {\r\n show: false,\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\"\r\n },\r\n IsSign: false,\r\n };\r\n this.abrirModalnoExisteEnBase = this.abrirModalnoExisteEnBase.bind(this);\r\n this.cerrarModalnoExisteEnBase = this.cerrarModalnoExisteEnBase.bind(this);\r\n\r\n\r\n\r\n\r\n\r\n this.handlerOnBlurCedula = this.handlerOnBlurCedula.bind(this);\r\n this.abrirModalInfo = this.abrirModalInfo.bind(this);\r\n this.cerrarModalInfo = this.cerrarModalInfo.bind(this);\r\n this.cerrarModalIngresoDatos = this.cerrarModalIngresoDatos.bind(this);\r\n this.abrirModalIngresoDatos = this.abrirModalIngresoDatos.bind(this);\r\n this.cerrarModalErrorGen = this.cerrarModalErrorGen.bind(this);\r\n this.cerrarModalPrevGen = this.cerrarModalPrevGen.bind(this);\r\n this.abrirModalPrevGen = this.abrirModalPrevGen.bind(this);\r\n this.abrirModalError = this.abrirModalError.bind(this);\r\n this.cerrarModalError = this.cerrarModalError.bind(this);\r\n this.activebuttonf = this.activebuttonf.bind(this);\r\n this.disabledbuttonf = this.disabledbuttonf.bind(this);\r\n\r\n\r\n }\r\n\r\n abrirModalnoExisteEnBase() {\r\n this.setState({ modalNoExisteEnBase: true });\r\n }\r\n\r\n cerrarModalnoExisteEnBase() {\r\n this.setState({ modalNoExisteEnBase: false });\r\n }\r\n\r\n\r\n\r\n activebuttonf() {\r\n this.setState({ activebutton: true });\r\n }\r\n\r\n disabledbuttonf() {\r\n this.setState({ activebutton: false });\r\n }\r\n\r\n \r\n\r\n cerrarModalErrorGen() {\r\n this.setState({\r\n modalErrorAcuerdoGen: {\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\",\r\n show: false\r\n }\r\n }, () => {\r\n this.activebuttonf();\r\n });\r\n }\r\n\r\n cerrarModalPrevGen() {\r\n this.setState({\r\n modalPrevAcuerdoGen: false,\r\n });\r\n }\r\n\r\n abrirModalPrevGen() {\r\n this.setState({\r\n modalPrevAcuerdoGen: true,\r\n });\r\n }\r\n\r\n abrirModalIngresoDatos() {\r\n this.setState({ modalIngresoDatos: true })\r\n }\r\n\r\n cerrarModalIngresoDatos() {\r\n if (!this.state.isPersonalData || !this.state.modalPrevAcuerdoGen) {\r\n var servicio = localStorage.getItem('servicio');\r\n if (servicio != null || servicio != undefined) {\r\n //window.location.href = 'https://alumni.espol.edu.ec/';\r\n window.location.href = servicio;\r\n } else {\r\n window.location.href = 'https://alumni.espol.edu.ec/';\r\n }\r\n }\r\n }\r\n\r\n abrirModalError() {\r\n this.setState({\r\n modalError: {\r\n ...this.state.modalError,\r\n show: true\r\n }\r\n });\r\n }\r\n\r\n\r\n cerrarModalError() {\r\n this.setState({\r\n modalError: {\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\",\r\n show: false\r\n }\r\n });\r\n //console.log(\"cerrar modal \" + this.state.modalError);\r\n }\r\n\r\n abrirModalInfo() {\r\n this.setState({ modalIsOpen: true });\r\n }\r\n\r\n cerrarModalInfo() {\r\n this.setState({ modalIsOpen: false });\r\n this.activarNavigateLogin();\r\n }\r\n\r\n activarNavigateLogin() {\r\n window.location.href = \"/Inicio\";\r\n }\r\n\r\n\r\n getCedulaByUsername = async (e) => {\r\n var username = this.state.datosUsuario.username;\r\n if (username != \"\") {\r\n await axios.get(`${process.env.REACT_APP_API}api/CuentaUsuario/getcedulauser/${username}`)\r\n .then(r => {\r\n //console.log(JSON.stringify(r));\r\n if (r.status == 200) {\r\n // console.log(r.data.persona.identificacion);\r\n //this.state.datosUsuario.identificacion=r.data.persona.identificacion;\r\n this.setState({\r\n datosUsuario: {\r\n ...this.state.datosUsuario,\r\n identificacion: r.data.persona.identificacion,\r\n }\r\n }, () => {\r\n this.setState({ navigateCas: false });\r\n //console.log(\"validar cas: \"+this.state.datosUsuario.identificacion);\r\n if (this.state.datosUsuario.identificacion != 0) {\r\n //console.log(\"validar firma para mostrar el acuerdo: \", this.state.datosUsuario.identificacion);\r\n this.validarFirmaAcuerdo();\r\n }\r\n })\r\n }\r\n })\r\n .catch(error => {\r\n console.log(error.message);\r\n })\r\n }\r\n }\r\n\r\n cerrarSesion = async () => {\r\n Cookies.remove(\"token\");\r\n Cookies.remove(\"cas\");\r\n Cookies.remove(\"DatosPersonalesGIA.CAS\");\r\n window.location.href = \"/account/Logout\";\r\n }\r\n\r\n\r\n validarFirmaAcuerdo = async (e) => {\r\n var id_temp = this.state.datosUsuario.identificacion;\r\n if (id_temp != \"\") {\r\n await axios.get(`${process.env.REACT_APP_API}api/Persona/enlacefirmaacgen/${id_temp}`)\r\n .then(r => {\r\n //console.log(\"validarFirmaAcuerdo\");\r\n //console.log(JSON.stringify(r));\r\n if (r.status == 200) {\r\n //console.log(r.data);\r\n this.setState({\r\n IsSign: true,\r\n enlaceAcuerdo: r.data,\r\n })\r\n }\r\n })\r\n .catch(error => {\r\n //console.log(error.message);\r\n })\r\n }\r\n }\r\n\r\n\r\n mostrarModalData = async (e) => {\r\n //this.setState({ modalData: false });\r\n //console.log(\"asdasd\");\r\n }\r\n\r\n handlerOnBlurCedula = async (e) => {\r\n if (!this.state.expresiones.pasaporte.test(this.state.verificarDato)) {\r\n await this.setState({\r\n errorsDatosCed: {\r\n cedula: \"Identificacion debe tener 10 dígitos\",\r\n }\r\n })\r\n } else {\r\n this.setState({ errorsDatosCed: {} })\r\n }\r\n \r\n }\r\n\r\n\r\n getVerificarUsuarioEcu = async (e) => {\r\n e.preventDefault();\r\n this.disabledbuttonf();\r\n //console.log(`${process.env.REACT_APP_API}api/Persona/firmarAcuerdoAlumni/${this.state.verificarDatosEcu.cedula}/${this.state.verificarDatosEcu.fechaEmision}`)\r\n await axios.get(`${process.env.REACT_APP_API}api/Persona/firmarAcuerdoAlumni/${this.state.verificarDatosEcu.cedula}/${this.state.verificarDatosEcu.fechaEmision}`)\r\n .then(r => {\r\n if (r.status == 200) {\r\n // console.log(r.data);\r\n this.setState({\r\n datosUsuario: {\r\n ...this.state.datosUsuario,\r\n identificacion: r.data.persona.identificacion,\r\n nombres: r.data.persona.nombres,\r\n apellidos: r.data.persona.apellidos,\r\n username: r.data.cuentaUsuario.username,\r\n },\r\n modalPrevAcuerdoGen: true,\r\n isPersonalData: true,\r\n }, () => {\r\n this.activebuttonf();\r\n this.cerrarModalIngresoDatos();\r\n });\r\n // console.log(this.state.datosUsuario); \r\n }\r\n })\r\n .catch(error => {\r\n this.setState({\r\n modalErrorAcuerdoGen: {\r\n show: true,\r\n titulo: \"Firma del acuerdo de uso de datos personales y el acuerdo de uso de medios electrónicos - AlumniESPOL\",\r\n mensaje: error.response.data.errorMessage,\r\n imagen: equis,\r\n }\r\n });\r\n // console.log(error.response.data.errorMessage);\r\n })\r\n }\r\n\r\n handlerOnBlurEcu = async (e) => {\r\n\r\n if (!this.state.expresiones.cedula.test(this.state.verificarDatosEcu.cedula)) {\r\n await this.setState({\r\n errorsDatosEcu: {\r\n cedula: \"Identificacion debe tener 10 dígitos\",\r\n }\r\n })\r\n } else {\r\n this.setState({ errorsDatosEcu: {} })\r\n }\r\n\r\n }\r\n\r\n\r\n verAcuerdoAlumni() {\r\n console.log(\"ver acuerdo alumni\");\r\n }\r\n\r\n handlerVerificarDatosEcu = async (e) => {\r\n\r\n\r\n await this.setState({\r\n verificarDatosEcu: {\r\n ...this.state.verificarDatosEcu,\r\n [e.target.name]: e.target.value,\r\n terminos: e.target.checked\r\n } \r\n })\r\n\r\n this.handlerOnBlurEcu();\r\n }\r\n\r\n\r\n handlerDatosFormRegistro = async (e) => {\r\n await this.setState({\r\n aceptoAcuerdo: e.target.checked,\r\n \r\n })\r\n }\r\n\r\n\r\n\r\n getDataSolicitud = (e) => {\r\n try {\r\n this.setState({\r\n datosUsuario: {\r\n ...this.state.datosUsuario,\r\n nombres: this.state.tokendecodestate[\"Nombres\"],\r\n apellidos: this.state.tokendecodestate[\"Apellidos\"],\r\n username: this.state.tokendecodestate[\"User\"],\r\n }\r\n }, () => {\r\n console.log(this.state.datosUsuario)\r\n\r\n\r\n if (this.state.datosUsuario.identificacion != \"\" && this.state.datosUsuario.nombres != \"\" && this.state.datosUsuario.apellidos != \"\" && this.state.datosUsuario.username != \"\") {\r\n console.log(\"todo es valido\");\r\n this.setState({\r\n IsDataCorrect: true,\r\n });\r\n console.log(this.state.datosUsuario);\r\n //llamar a la solicictud\r\n axios.get(`${process.env.REACT_APP_API}api/Solicitud/getsolicitudRechazada/${this.state.datosUsuario.identificacion}`)\r\n .then(r => {\r\n console.log(JSON.stringify(r));\r\n if (r.status == 200) {\r\n console.log(r.data);\r\n this.setState({\r\n idSolicitud: r.data.idsccesolicitud,\r\n documentosValidos: {\r\n ...this.state.documentosValidos,\r\n isvalidimgpersona: r.data.isvalidimgpersona,\r\n isvalidimgtarjeta: r.data.isvalidimgtarjeta,\r\n isvalidcontrato: r.data.isvalidcontrato\r\n }\r\n }, () => { console.log(this.state.documentosValidos) })\r\n }\r\n })\r\n .catch(error => {\r\n console.log(error.message);\r\n this.setState({\r\n IsDataCorrect: false,\r\n })\r\n })\r\n\r\n\r\n\r\n } else {\r\n console.log(\"toeo es vacio\");\r\n this.abrirModalnoExisteEnBase();\r\n this.setState({\r\n IsDataCorrect: false,\r\n })\r\n }\r\n\r\n\r\n })\r\n \r\n \r\n \r\n } catch (e) {\r\n this.setState({\r\n IsDataCorrect: false,\r\n });\r\n }\r\n \r\n };\r\n\r\n componentDidMount = () => {\r\n //\r\n \r\n }\r\n\r\n componentWillMount = () => {\r\n var ruta = window.location.href;\r\n var token_temp = ruta.split(\"token=\")[1];\r\n console.log(token_temp);\r\n var tokendecode = jwt(token_temp);\r\n this.setState({\r\n tokendecodestate: tokendecode,\r\n }, () => {\r\n // console.log(tokendecode);\r\n var user_temp = this.state.tokendecodestate[\"User\"];\r\n console.log(user_temp);\r\n axios.get(`${process.env.REACT_APP_API}api/Persona/getCedulaByUsername/${user_temp}`)\r\n .then(r => {\r\n if (r.status == 200) {\r\n this.setState({\r\n datosUsuario: {\r\n ...this.state.datosUsuario,\r\n identificacion: r.data.identificacion,\r\n }\r\n }, () => { console.log(this.state.datosUsuario);\r\n this.getDataSolicitud();\r\n })\r\n }\r\n });\r\n })\r\n \r\n\r\n }\r\n\r\n render() {\r\n var nombresCompletos = `${this.state.datosUsuario.nombres} ${this.state.datosUsuario.apellidos}`\r\n var username = `${this.state.datosUsuario.username}`\r\n\r\n return (\r\n this.state.IsDataCorrect ?\r\n (\r\n
\r\n \r\n
\r\n )\r\n :\r\n (\r\n
\r\n \r\n
\r\n \"Error\"\r\n
\r\n

Se ha verificado su solicitud y no tiene un estado de rechazada.

\r\n

\r\n Puede comunicarse con Gerencia de Tecnologías y Servicios de Información

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Teléfono: (+593) 42269256
Atención: Lunes a Viernes de 08:00 a 16:00
Correo: gerenciatecnologia@espol.edu.ec
\r\n
\r\n\r\n
\r\n\r\n {this.state.modalErrorAcuerdoGen.show &&\r\n \r\n

{this.state.modalErrorAcuerdoGen.titulo}

\r\n
\r\n \"Exitoso\"\r\n
\r\n

{this.state.modalErrorAcuerdoGen.mensaje}

\r\n
\r\n }\r\n\r\n
\r\n\r\n )\r\n )\r\n }\r\n}\r\n\r\nexport default ActualizarArchSolicitud\r\n","import WebCam from \"react-webcam\"\r\nimport React, { useState} from \"react\"\r\nimport \"../../css/Visualizarpdf.css\"\r\n\r\nimport { Worker } from '@react-pdf-viewer/core';\r\n// Import the main Viewer component\r\nimport { Viewer } from '@react-pdf-viewer/core';\r\n// Import the styles\r\nimport '@react-pdf-viewer/core/lib/styles/index.css';\r\n// default layout plugin\r\nimport { defaultLayoutPlugin } from '@react-pdf-viewer/default-layout';\r\n// Import styles of default layout plugin\r\nimport '@react-pdf-viewer/default-layout/lib/styles/index.css';\r\nimport axios from \"axios\";\r\n\r\nimport upload from \"../../assets/SuBIR.svg\"\r\n\r\n//import pdf from \"../../../src/PagosLicencia.pdf\"\r\n\r\nfunction Vistapdf(url) {\r\n const defaultLayoutPluginInstance = defaultLayoutPlugin();\r\n\r\n // pdf file onChange state\r\n const [pdfFile, setPdfFile] = useState(null);\r\n\r\n // pdf file error state\r\n const [pdfError, setPdfError] = useState('');\r\n\r\n const [btnAvalible, setbtnAvalible] = useState(false)\r\n //datos del archivo\r\n const [dataFile,setdataFile] = useState(null);\r\n\r\n const [btndown, setbtndown] = useState(false);\r\n // handle file onChange event\r\n const allowedFiles = ['application/pdf'];\r\n\r\n const choosePdf = React.useCallback(() => {\r\n this.props.choosepdf(pdfFile);\r\n /*props.choosepdf(pdfFile);*/\r\n\r\n //console.log(pdfFile);\r\n });\r\n //console.log(\"asdasdas: \", url.url);\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\n\r\nexport default Vistapdf;\r\n","import React, { Component } from 'react';\r\nimport { useState, useEffect } from \"react\";\r\nimport Modal from './Modal';\r\nimport check from \"../../assets/check.png\";\r\nimport equis from \"../../assets/eliminar.png\"\r\nimport ComponenteContrasenia from './ComponenteContrasenia';\r\nimport '../../css/FormAcuerdoGeneral.css';\r\nimport axios from 'axios';\r\nimport Cookies from 'js-cookie';\r\nimport Header from './Header.js'\r\nimport Footer from './Footer.js'\r\nimport anuncioico from \"../../assets/AnuncioICO.svg\";\r\nimport jwt from 'jwt-decode'\r\nimport { Spinner } from 'react-bootstrap';\r\nimport Acuerdo from './Acuerdo.js'\r\nimport Vistapdf from \"../components/Vistapdf\";\r\nimport cerrar from \"../../assets/cerrarSesion.svg\";\r\n\r\n\r\nexport class FormAcuerdoGeneral extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n error_login: false,\r\n enlaceAcuerdo: \"\",\r\n modalIsOpen: false,\r\n verBoton: true,\r\n datosUsuario: {\r\n token: \"\",\r\n id: \"\",\r\n identificacion: \"0\",\r\n alias_sugerido: \"\",\r\n telefono: \"\",\r\n unidad: \"\",\r\n rol: \"\",\r\n correoAlterno: \"\",\r\n nombres: \"\",\r\n apellidos: \"\",\r\n username: \"\",\r\n correo: \"\",\r\n usuarioEscogido: \"\"\r\n },\r\n idAcueFirmElec:\"\",\r\n contra: {\r\n contrasena: \"\",\r\n contrasenaCumple: false,\r\n repetirContraCumple: false,\r\n },\r\n navigateCas: true,\r\n modalError: {\r\n show: false,\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\"\r\n },\r\n IsSign: false,\r\n };\r\n\r\n this.abrirModalInfo = this.abrirModalInfo.bind(this);\r\n this.cerrarModalInfo = this.cerrarModalInfo.bind(this);\r\n\r\n this.abrirModalError = this.abrirModalError.bind(this);\r\n this.cerrarModalError = this.cerrarModalError.bind(this);\r\n this.cerrarModalFirmaGeneralExitosa = this.cerrarModalFirmaGeneralExitosa.bind(this);\r\n \r\n }\r\n\r\n cerrarModalFirmaGeneralExitosa() {\r\n this.setState({ error_login: false });\r\n }\r\n\r\n componentWillMount = () => {\r\n let queryString = window.location.search;\r\n //console.log(queryString);\r\n //const urlParams = new URLSearchParams(queryString);\r\n //const service = urlParams.get('service');\r\n //console.log(service);\r\n if (queryString != \"\" && queryString != null && queryString != undefined)\r\n localStorage.setItem('servicio', queryString);\r\n // alert(localStorage.getItem('servicio'));\r\n //console.log(localStorage.getItem('servicio'));\r\n //var servicio = localStorage.getItem('servicio');\r\n // console.log(servicio);*/\r\n // localStorage.removeItem('servicio'); //cerrar\r\n }\r\n\r\n abrirModalError() {\r\n this.setState({\r\n modalError: {\r\n ...this.state.modalError,\r\n show: true\r\n }\r\n });\r\n }\r\n\r\n cerrarModalError() {\r\n this.setState({\r\n modalError: {\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\",\r\n show: false\r\n }\r\n });\r\n //console.log(\"cerrar modal \" + this.state.modalError);\r\n }\r\n\r\n abrirModalInfo() {\r\n this.setState({ modalIsOpen: true });\r\n }\r\n\r\n cerrarModalInfo() {\r\n this.setState({ modalIsOpen: false });\r\n this.activarNavigateLogin();\r\n }\r\n\r\n activarNavigateLogin() {\r\n window.location.href = \"/Inicio\";\r\n }\r\n\r\n\r\n getCedulaByUsername = async (e) => {\r\n // e.preventDefault();\r\n //this.renderFormRegistroContrasenia(true);\r\n // console.log(\"asdasdasdasd\");\r\n var username = this.state.datosUsuario.username;\r\n if (username != \"\") {\r\n await axios.get(`${process.env.REACT_APP_API}api/CuentaUsuario/getcedulauser/${username}`)\r\n .then(r => {\r\n //console.log(JSON.stringify(r));\r\n if (r.status == 200) {\r\n // console.log(r.data.persona.identificacion);\r\n //this.state.datosUsuario.identificacion=r.data.persona.identificacion;\r\n this.setState({\r\n datosUsuario: {\r\n ...this.state.datosUsuario,\r\n identificacion: r.data.persona.identificacion,\r\n }\r\n }, () => {\r\n this.setState({ navigateCas: false });\r\n //console.log(\"validar cas: \"+this.state.datosUsuario.identificacion);\r\n if (this.state.datosUsuario.identificacion != 0) {\r\n //console.log(\"validar firma para mostrar el acuerdo: \", this.state.datosUsuario.identificacion);\r\n this.validarFirmaAcuerdo();\r\n }\r\n })\r\n }\r\n })\r\n .catch(error => {\r\n console.log(error.message);\r\n })\r\n }\r\n\r\n\r\n }\r\n\r\n cerrarSesion = async () => {\r\n Cookies.remove(\"token\");\r\n Cookies.remove(\"cas\");\r\n Cookies.remove(\"DatosPersonalesGIA.CAS\");\r\n //window.location.href = \"/account/Logout\";\r\n window.location.href = 'https://auth.espol.edu.ec/logout';\r\n\r\n }\r\n\r\n\r\n validarFirmaAcuerdo = async (e) => {\r\n var id_temp = this.state.datosUsuario.identificacion;\r\n if (id_temp != \"\") {\r\n await axios.get(`${process.env.REACT_APP_API}api/Persona/enlacefirmaacgen/${id_temp}`)\r\n .then(r => {\r\n //console.log(\"validarFirmaAcuerdo\");\r\n //console.log(JSON.stringify(r));\r\n if (r.status == 200) {\r\n //console.log(r.data);\r\n this.setState({\r\n IsSign: true,\r\n enlaceAcuerdo: r.data,\r\n })\r\n }\r\n })\r\n .catch(error => {\r\n console.log(error.message);\r\n })\r\n }\r\n }\r\n\r\n\r\n validarCAS() {\r\n //console.log(\"validar cas: \" + this.state.datosUsuario.identificacion);\r\n try {\r\n\r\n if (Cookies.get(\"DatosPersonalesGIA.CAS\") === undefined || Cookies.get(\"DatosPersonalesGIA.CAS\") === \"\") {\r\n /*Aquí hay que verificar el token enviado por paramatro en el URL \r\n y ver si todavia es valido; sin token, entonces le pedimos \r\n que se logge usando el CAS*/\r\n var ruta = window.location.href;\r\n if (ruta.split(\"token=\")[1] === undefined) {\r\n window.location.href = \"/account/loginAcuerdGen\";\r\n } else {\r\n //validar si el usuario no tiene registro firmado\r\n var token = ruta.split(\"token=\")[1];\r\n \r\n this.state.datosUsuario.token = token;\r\n var tokendecode = jwt(token);\r\n var exp = tokendecode[\"exp\"];\r\n this.state.datosUsuario.nombres = tokendecode[\"Nombres\"];\r\n this.state.datosUsuario.apellidos = tokendecode[\"Apellidos\"];\r\n this.state.datosUsuario.username = tokendecode[\"User\"];\r\n this.getCedulaByUsername();\r\n var fe1 = new Date(exp * 1000);\r\n var fe2 = new Date();\r\n if (fe1 < fe2) {\r\n window.location.href = \"/Inicio\";\r\n } else {\r\n this.setState({ navigateCas: false })\r\n }\r\n \r\n }\r\n //console.log(\"validar cas: \" + this.state.datosUsuario.identificacion);\r\n\r\n } else {\r\n var token = Cookies.get(\"token\");\r\n this.state.datosUsuario.token = token;\r\n var tokendecode = jwt(token);\r\n var exp = tokendecode[\"exp\"];\r\n this.state.datosUsuario.nombres = tokendecode[\"Nombres\"];\r\n this.state.datosUsuario.apellidos = tokendecode[\"Apellidos\"];\r\n this.state.datosUsuario.username = tokendecode[\"User\"];\r\n this.getCedulaByUsername();\r\n }\r\n return (\r\n null\r\n )\r\n } catch (error) {\r\n this.setState({ error_login: true }, () => { console.log(\"Se modifico el errorlogin: \" + this.state.error_login) })\r\n console.log(error);\r\n }\r\n };\r\n\r\n\r\n render() {\r\n var nombresCompletos = `${this.state.datosUsuario.nombres} ${this.state.datosUsuario.apellidos}`\r\n var username = `${this.state.datosUsuario.username}`\r\n //console.log(\"----------------------------------\");\r\n //console.log(\"navigateCas \", this.state.navigateCas);\r\n //console.log(\"IsSign \", this.state.IsSign);\r\n console.log(this.state.error_login);\r\n return (\r\n !this.error_login ?\r\n (this.state.navigateCas ? this.validarCAS() :\r\n this.state.IsSign ?\r\n (
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n

ACUERDO DE USO DE DATOS PERSONALES Y MEDIOS ELECTRÓNICOS PARA EL ALMACENAMIENTO Y
USO DE INFORMACIÓN REGISTRADA EN LOS SISTEMAS INFORMÁTICOS DE LA ESPOL.

\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

PARA SU CONOCIMIENTO

\r\n

Estimado Sr.(a) {this.state.datosUsuario.apellidos}, {this.state.datosUsuario.nombres} usted ya ha firmado el Acuerdo de uso de datos personales y medios electrónicos para el almacenamiento y uso de información registrada en los sistemas informáticos de la ESPOL.

\r\n

En caso de querer dar de baja la aceptación del acuerdo, remita la solicitud al correo datospersonales@espol.edu.ec.

\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n
)\r\n :\r\n \r\n ) :\r\n (\r\n \r\n

Error en el inicio de sesión

\r\n
\r\n \"Error\"\r\n
\r\n

Error al validar los datos del usuario en el Servicio Activo.

\r\n
\r\n )\r\n )\r\n }\r\n}\r\n\r\nexport default FormAcuerdoGeneral\r\n","import React, { Component } from 'react';\r\nimport { useState, useEffect } from \"react\";\r\nimport Modal from './Modal';\r\nimport check from \"../../assets/check.png\";\r\nimport equis from \"../../assets/eliminar.png\"\r\nimport ComponenteContrasenia from './ComponenteContrasenia';\r\nimport '../../css/FormAcuerdoAlumni.css';\r\nimport axios from 'axios';\r\nimport Cookies from 'js-cookie';\r\nimport Header from './Header.js'\r\nimport Footer from './Footer.js'\r\nimport anuncioico from \"../../assets/AnuncioICO.svg\";\r\nimport jwt from 'jwt-decode'\r\nimport { Spinner } from 'react-bootstrap';\r\nimport Acuerdo from './Acuerdo.js'\r\nimport cerrar from \"../../assets/cerrarSesion.svg\";\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faEye, faEyeSlash, faCheckCircle, faTimesCircle, faCheck } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\n\r\nexport class FormAcuerdoAlumni extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isPersonalData: false,\r\n errorsDatosEcu: {\r\n },\r\n expresiones: {\r\n cedula: /^[\\d]{10}$/,\r\n pasaporte: /^[a-zA-Z0-9._]{4,14}$/,\r\n },\r\n verificarDatosEcu: {\r\n cedula: \"\",\r\n fechaEmision: \"\",\r\n terminos: \"\"\r\n },\r\n activebutton: true,\r\n modalIngresoDatos:false,\r\n modalErrorAcuerdoGen: {\r\n show: false,\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: equis,\r\n },\r\n aceptoAcuerdo: false,\r\n modalPrevAcuerdoGen: false,\r\n enlaceAcuerdo: \"\",\r\n modalIsOpen: false,\r\n verBoton: true,\r\n datosUsuario: {\r\n token: \"\",\r\n id: \"\",\r\n identificacion: \"0\",\r\n alias_sugerido: \"\",\r\n telefono: \"\",\r\n unidad: \"\",\r\n rol: \"\",\r\n correoAlterno: \"\",\r\n nombres: \"\",\r\n apellidos: \"\",\r\n username: \"\",\r\n correo: \"\",\r\n usuarioEscogido: \"\",\r\n fechaNacimiento:\"\"\r\n },\r\n idAcueFirmElec:\"\",\r\n contra: {\r\n contrasena: \"\",\r\n contrasenaCumple: false,\r\n repetirContraCumple: false,\r\n },\r\n navigateCas: true,\r\n modalError: {\r\n show: false,\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\"\r\n },\r\n IsSign: false,\r\n };\r\n this.handlerOnBlurCedula = this.handlerOnBlurCedula.bind(this);\r\n this.abrirModalInfo = this.abrirModalInfo.bind(this);\r\n this.cerrarModalInfo = this.cerrarModalInfo.bind(this);\r\n this.cerrarModalIngresoDatos = this.cerrarModalIngresoDatos.bind(this);\r\n this.abrirModalIngresoDatos = this.abrirModalIngresoDatos.bind(this);\r\n this.cerrarModalErrorGen = this.cerrarModalErrorGen.bind(this);\r\n this.cerrarModalPrevGen = this.cerrarModalPrevGen.bind(this);\r\n this.abrirModalPrevGen = this.abrirModalPrevGen.bind(this);\r\n this.abrirModalError = this.abrirModalError.bind(this);\r\n this.cerrarModalError = this.cerrarModalError.bind(this);\r\n this.activebuttonf = this.activebuttonf.bind(this);\r\n this.disabledbuttonf = this.disabledbuttonf.bind(this);\r\n\r\n }\r\n\r\n activebuttonf() {\r\n this.setState({ activebutton: true });\r\n }\r\n\r\n disabledbuttonf() {\r\n this.setState({ activebutton: false });\r\n }\r\n\r\n componentWillMount = () => {\r\n let queryString = document.referrer;\r\n console.log(queryString);\r\n //const urlParams = new URLSearchParams(queryString);\r\n //const service = urlParams.get('service');\r\n //console.log(service);\r\n if (queryString != \"\" && queryString != null && queryString != undefined)\r\n localStorage.setItem('servicio', queryString);\r\n // alert(localStorage.getItem('servicio'));\r\n //console.log(localStorage.getItem('servicio'));\r\n //var servicio = localStorage.getItem('servicio');\r\n // console.log(servicio);*/\r\n // localStorage.removeItem('servicio'); //cerrar\r\n }\r\n\r\n cerrarModalErrorGen() {\r\n this.setState({\r\n modalErrorAcuerdoGen: {\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\",\r\n show: false\r\n }\r\n }, () => {\r\n this.activebuttonf();\r\n });\r\n }\r\n\r\n cerrarModalPrevGen() {\r\n this.setState({\r\n modalPrevAcuerdoGen: false,\r\n });\r\n }\r\n\r\n abrirModalPrevGen() {\r\n this.setState({\r\n modalPrevAcuerdoGen: true,\r\n });\r\n }\r\n\r\n abrirModalIngresoDatos() {\r\n this.setState({ modalIngresoDatos: true })\r\n }\r\n\r\n cerrarModalIngresoDatos() {\r\n if (!this.state.isPersonalData || !this.state.modalPrevAcuerdoGen) {\r\n var servicio = localStorage.getItem('servicio');\r\n if (servicio != null || servicio != undefined) {\r\n //window.location.href = 'https://alumni.espol.edu.ec/';\r\n window.location.href = servicio;\r\n } else {\r\n window.location.href = 'https://alumni.espol.edu.ec/';\r\n }\r\n }\r\n }\r\n\r\n abrirModalError() {\r\n this.setState({\r\n modalError: {\r\n ...this.state.modalError,\r\n show: true\r\n }\r\n });\r\n }\r\n\r\n\r\n cerrarModalError() {\r\n this.setState({\r\n modalError: {\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\",\r\n show: false\r\n }\r\n });\r\n //console.log(\"cerrar modal \" + this.state.modalError);\r\n }\r\n\r\n abrirModalInfo() {\r\n this.setState({ modalIsOpen: true });\r\n }\r\n\r\n cerrarModalInfo() {\r\n this.setState({ modalIsOpen: false });\r\n this.activarNavigateLogin();\r\n }\r\n\r\n activarNavigateLogin() {\r\n window.location.href = \"/Inicio\";\r\n }\r\n\r\n\r\n getCedulaByUsername = async (e) => {\r\n var username = this.state.datosUsuario.username;\r\n if (username != \"\") {\r\n await axios.get(`${process.env.REACT_APP_API}api/CuentaUsuario/getcedulauser/${username}`)\r\n .then(r => {\r\n //console.log(JSON.stringify(r));\r\n if (r.status == 200) {\r\n // console.log(r.data.persona.identificacion);\r\n //this.state.datosUsuario.identificacion=r.data.persona.identificacion;\r\n this.setState({\r\n datosUsuario: {\r\n ...this.state.datosUsuario,\r\n identificacion: r.data.persona.identificacion,\r\n }\r\n }, () => {\r\n this.setState({ navigateCas: false });\r\n //console.log(\"validar cas: \"+this.state.datosUsuario.identificacion);\r\n if (this.state.datosUsuario.identificacion != 0) {\r\n //console.log(\"validar firma para mostrar el acuerdo: \", this.state.datosUsuario.identificacion);\r\n this.validarFirmaAcuerdo();\r\n }\r\n })\r\n }\r\n })\r\n .catch(error => {\r\n console.log(error.message);\r\n })\r\n }\r\n }\r\n\r\n cerrarSesion = async () => {\r\n Cookies.remove(\"token\");\r\n Cookies.remove(\"cas\");\r\n Cookies.remove(\"DatosPersonalesGIA.CAS\");\r\n window.location.href = \"/account/Logout\";\r\n }\r\n\r\n\r\n validarFirmaAcuerdo = async (e) => {\r\n var id_temp = this.state.datosUsuario.identificacion;\r\n if (id_temp != \"\") {\r\n await axios.get(`${process.env.REACT_APP_API}api/Persona/enlacefirmaacgen/${id_temp}`)\r\n .then(r => {\r\n //console.log(\"validarFirmaAcuerdo\");\r\n //console.log(JSON.stringify(r));\r\n if (r.status == 200) {\r\n //console.log(r.data);\r\n this.setState({\r\n IsSign: true,\r\n enlaceAcuerdo: r.data,\r\n })\r\n }\r\n })\r\n .catch(error => {\r\n //console.log(error.message);\r\n })\r\n }\r\n }\r\n\r\n\r\n mostrarModalData = async (e) => {\r\n //this.setState({ modalData: false });\r\n //console.log(\"asdasd\");\r\n }\r\n\r\n handlerOnBlurCedula = async (e) => {\r\n if (!this.state.expresiones.pasaporte.test(this.state.verificarDato)) {\r\n await this.setState({\r\n errorsDatosCed: {\r\n cedula: \"Identificacion debe tener 10 dígitos\",\r\n }\r\n })\r\n } else {\r\n this.setState({ errorsDatosCed: {} })\r\n }\r\n \r\n }\r\n\r\n\r\n getVerificarUsuarioEcu = async (e) => {\r\n e.preventDefault();\r\n this.disabledbuttonf();\r\n //console.log(`${process.env.REACT_APP_API}api/Persona/firmarAcuerdoAlumni/${this.state.verificarDatosEcu.cedula}/${this.state.verificarDatosEcu.fechaEmision}`)\r\n await axios.get(`${process.env.REACT_APP_API}api/Persona/firmarAcuerdoAlumni/${this.state.verificarDatosEcu.cedula}/${this.state.verificarDatosEcu.fechaEmision}`)\r\n .then(r => {\r\n if (r.status == 200) {\r\n // console.log(r.data);\r\n this.setState({\r\n datosUsuario: {\r\n ...this.state.datosUsuario,\r\n identificacion: r.data.persona.identificacion,\r\n nombres: r.data.persona.nombres,\r\n apellidos: r.data.persona.apellidos,\r\n username: r.data.cuentaUsuario.username,\r\n },\r\n modalPrevAcuerdoGen: true,\r\n isPersonalData: true,\r\n }, () => {\r\n this.activebuttonf();\r\n this.cerrarModalIngresoDatos();\r\n });\r\n // console.log(this.state.datosUsuario); \r\n }\r\n })\r\n .catch(error => {\r\n this.setState({\r\n modalErrorAcuerdoGen: {\r\n show: true,\r\n titulo: \"Firma del acuerdo de uso de datos personales y el acuerdo de uso de medios electrónicos - AlumniESPOL\",\r\n mensaje: error.response.data.errorMessage,\r\n imagen: equis,\r\n }\r\n });\r\n // console.log(error.response.data.errorMessage);\r\n })\r\n }\r\n\r\n handlerOnBlurEcu = async (e) => {\r\n\r\n if (!this.state.expresiones.cedula.test(this.state.verificarDatosEcu.cedula)) {\r\n await this.setState({\r\n errorsDatosEcu: {\r\n cedula: \"Identificacion debe tener 10 dígitos\",\r\n }\r\n })\r\n } else {\r\n this.setState({ errorsDatosEcu: {} })\r\n }\r\n\r\n }\r\n\r\n\r\n verAcuerdoAlumni() {\r\n console.log(\"ver acuerdo alumni\");\r\n }\r\n\r\n handlerVerificarDatosEcu = async (e) => {\r\n\r\n\r\n await this.setState({\r\n verificarDatosEcu: {\r\n ...this.state.verificarDatosEcu,\r\n [e.target.name]: e.target.value,\r\n terminos: e.target.checked\r\n } \r\n })\r\n\r\n this.handlerOnBlurEcu();\r\n }\r\n\r\n\r\n handlerDatosFormRegistro = async (e) => {\r\n await this.setState({\r\n aceptoAcuerdo: e.target.checked,\r\n \r\n })\r\n }\r\n\r\n render() {\r\n var nombresCompletos = `${this.state.datosUsuario.nombres} ${this.state.datosUsuario.apellidos}`\r\n var username = `${this.state.datosUsuario.username}`\r\n //console.log(\"----------------------------------\");\r\n //console.log(\"navigateCas \", this.state.navigateCas);\r\n //console.log(\"IsSign \", this.state.IsSign);\r\n\r\n return (\r\n !this.state.isPersonalData ?\r\n (\r\n
\r\n \r\n

VALIDACIÓN DE DATOS

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {this.state.errorsDatosEcu.cedula &&\r\n

{this.state.errorsDatosEcu.cedula}

\r\n }\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n VERIFICAR\r\n {!this.state.activebutton ?\r\n \r\n : null}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n {this.state.modalErrorAcuerdoGen.show &&\r\n \r\n

{this.state.modalErrorAcuerdoGen.titulo}

\r\n
\r\n \"Exitoso\"\r\n
\r\n

{this.state.modalErrorAcuerdoGen.mensaje}

\r\n
\r\n }\r\n \r\n
\r\n \r\n )\r\n :\r\n (\r\n
\r\n \r\n {/*\r\n this.state.modalPrevAcuerdoGen &&\r\n \r\n \r\n

Firma del acuerdo de uso de datos personales y el acuerdo de uso de medios electrónicos - AlumniESPOL

\r\n

He leído el Acuerdo de uso de datos personales y Acuerdo de uso de medios electrónicos.

\r\n

Para leer el documento completo dar clic aquí.

\r\n
\r\n \r\n
\r\n
\r\n */}\r\n
\r\n )\r\n )\r\n }\r\n}\r\n\r\nexport default FormAcuerdoAlumni\r\n","import React, {\r\n Pure\r\n , Component\r\n} from \"react\"\r\nimport \"../../css/renderpdf.css\"\r\nimport upload from \"../../assets/SuBIR.svg\"\r\n\r\nimport logopdf from \"../../assets/logoPDF.png\"\r\nimport { jsPDF } from \"jspdf\";\r\nimport cedimg from \"../../assets/FotoCEDULA.svg\"\r\nimport descargardocs from \"../../assets/Subirgrismin.svg\"\r\n\r\nclass renderpdfAdmision extends Component {\r\n\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n\r\n this.state = {\r\n showPassword: false,\r\n nombre: this.props.nombre,\r\n apellido: this.props.apellido,\r\n username: this.props.username,\r\n identificacion: this.props.identificacion,\r\n arcb64 :\"\",\r\n firmadoGeneral: this.props.firmadoGeneral,\r\n };\r\n\r\n this.generateSimplePDF = this.generateSimplePDF.bind(this);\r\n this.generateSimplePDF = this.generateSimplePDF.bind(this);\r\n\r\n }\r\n\r\n componentDidMount() {\r\n\r\n //this.props.disabledbuttonpdf();\r\n var optjustify = {\r\n align: 'justify', lineHeightFactor: 1.5, maxWidth: 18\r\n }\r\n var optcenter = {\r\n align: 'center', lineHeightFactor: 1.5, maxWidth: 18\r\n }\r\n\r\n var nombrecompleto = this.state.nombre.toUpperCase() + \" \" + this.state.apellido.toUpperCase();\r\n var fecha = new Date();\r\n\r\n\r\n const parr1 = \"Cumpliendo con lo dispuesto por la Ley Orgánica de Protección de Datos Personales del Ecuador, LA ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL (ESPOL), informa a usted como aspirante a estudiante, que los datos personales proporcionados en los formularios o en cualquier otra documentación aportada durante el proceso de registro, serán tratados por la ESPOL (responsable del tratamiento), con la finalidad de llevar a cabo el proceso de registro y gestión estudiantil, que pueden incluir nombre y apellidos, fecha de nacimiento, dirección domiciliaria, correo electrónico, información académica y cualquier otra información que sea necesaria para esta finalidad.\";\r\n\r\n const parr2 = `Los datos objeto de tratamiento no serán cedidos o comunicados a terceros, salvo en los supuestos necesarios para el estricto y exclusivo cumplimiento o satisfacción de las finalidades antes mencionadas, así como en los legalmente previstos.`;\r\n\r\n\r\n const parr3 = \"LA ESPOL, se compromete a tratar los datos personales de usted como candidato/aspirante de manera confidencial y a garantizar su seguridad mediante las medidas técnicas y organizativas necesarias para evitar su alteración, pérdida, tratamiento o acceso no autorizado.\";\r\n const parr4 = \"Sus datos serán almacenados con la finalidad de completar el proceso de admisión y registro y serán conservados el tiempo estrictamente necesario para tal fin. En caso de ser admitido a la institución, sus datos serán conservados en el tiempo que corresponda, para brindar el servicio de educación.\";\r\n const parr5 = `El aspirante acepta y consiente el tratamiento de sus datos personales por parte de la ESPOL, para la finalidad indicada y reconoce que puede ejercer sus derechos de acceso, eliminación, rectificación, actualización y oposición, mediante solicitud dirigida al correo electrónico: datospersonales@espol.edu.ec. Si el titular desea conocer mas acerca del tratamiento de sus datos personales podra consultar la politica de privacidad de la institución en el siguiente link: https://www.espol.edu.ec/es/proteccion-datos-personales.`;\r\n \r\n const parr6 = \"La aceptación y consentimiento del candidato/aspirante para el tratamiento de sus datos personales, será necesaria para poder participar en el proceso de registro estudiantil y, en su caso, ser considerado para la inscripción.\";\r\n const parr7 = \"En caso de que el candidato/aspirante no proporcione los datos personales requeridos o retire su consentimiento para el tratamiento de los mismos en cualquier momento durante el proceso de registro y gestión estudiantil, la ESPOL se reserva el derecho de no considerar su postulación.\";\r\n \r\n const parr9 = `Nobre del Aspirante: `;\r\n const parr45 = `Fecha: `;\r\n\r\n\r\n var espacioIzquierdo = 2;\r\n var espacioIzquierdoTab = 2.3;\r\n\r\n var espacioCentrado = 11;\r\n\r\n\r\n const doc = new jsPDF('p', 'cm', 'letter');\r\n\r\n var espacioSuperior = 1;\r\n\r\n\r\n var imgDataESPOLOLD = \"data:image/png;base64,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\";\r\n var imgDataESPOL = \"data:image/png;base64,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\";\r\n var imgDataVector = \"data:image/png;base64,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\";\r\n doc.addImage(imgDataESPOL, espacioIzquierdo, 1);\r\n doc.addImage(imgDataVector, 16, 0);\r\n\r\n //doc.addImage(imgData, 12, espacioSuperior, 6, 1.2);\r\n doc.setFontSize(10);\r\n doc.setFont(\"Times-Roman\");\r\n\r\n // 0.6 | 1.1 | 1.8 | 2.4 | 3.0\r\n espacioSuperior = espacioSuperior + 2.8;\r\n doc.setFontSize(11);\r\n\r\n doc.setFont(undefined, \"bold\");\r\n doc.text(\"TRATAMIENTO DE DATOS PERSONALES\", espacioCentrado, espacioSuperior, optcenter);\r\n espacioSuperior = espacioSuperior + 0.6;\r\n doc.text(\"ASPIRANTES ESTUDIANTES ESPOL\", espacioCentrado, espacioSuperior, optcenter);\r\n\r\n doc.setFont(undefined, \"normal\");\r\n doc.setFontSize(9);\r\n espacioSuperior = espacioSuperior + 1.4;\r\n doc.text(parr1, espacioIzquierdo, espacioSuperior, optjustify);\r\n\r\n doc.setFont(undefined, \"normal\");\r\n doc.setFontSize(9);\r\n espacioSuperior = espacioSuperior + 3.1;\r\n doc.text(parr2, espacioIzquierdo, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 1.2;\r\n doc.text(parr3, espacioIzquierdo, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 1.2;\r\n doc.text(parr4, espacioIzquierdo, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 1.7;\r\n doc.text(parr5, espacioIzquierdo, espacioSuperior, optjustify);\r\n //doc.textWithLink(\"Política de privacidad\", 15.5, espacioSuperior, { url: 'https://www.dspace.espol.edu.ec/bitstream/123456789/57243/3/POLITICA%20DE%20PRIVACIDAD%20ESPOL%20GTSI.pdf' });\r\n ///doc.text(\"y en sus\", 18.2, espacioSuperior, optjustify);\r\n //espacioSuperior = espacioSuperior +0.7\r\n //doc.textWithLink(\"términos y condiciones\", espacioIzquierdoTab, espacioSuperior, { url: 'https://www.dspace.espol.edu.ec/bitstream/123456789/57244/3/TERMINOS%20Y%20CONDICIONES%20POLITICAS%20DE%20PRIVACIDAD%20GTSI.pdf' });\r\n //doc.text(\"vigentes de la institución.\", 5.3, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 2.3\r\n doc.text(parr6, espacioIzquierdo, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 1.2\r\n doc.text(parr7, espacioIzquierdo, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 4.1\r\n doc.text(parr9, espacioIzquierdo, espacioSuperior, optjustify);\r\n\r\n doc.setFont(undefined, \"bold\");\r\n doc.text( nombrecompleto, 5, espacioSuperior, optjustify);\r\n\r\n\r\n doc.setFont(undefined, \"normal\");\r\n espacioSuperior = espacioSuperior + 1.3 \r\n doc.text(parr45, espacioIzquierdo, espacioSuperior, optjustify);\r\n\r\n /*if (this.state.firmadoGeneral) {\r\n espacioSuperior = espacioSuperior + 1.8\r\n doc.setFontSize(10);\r\n doc.text(this.state.username, espacioCentrado, espacioSuperior, optcenter);\r\n espacioSuperior = espacioSuperior + 0.7\r\n } else {\r\n espacioSuperior = espacioSuperior + 3\r\n }*/\r\n\r\n doc.setFont(undefined, \"bold\");\r\n doc.setFontSize(10);\r\n doc.text( fecha.toLocaleDateString(), 3, espacioSuperior, optjustify);\r\n\r\n doc.setFont(undefined, \"normal\");\r\n\r\n this.props.arcb64(doc.output('dataurlstring'));\r\n }\r\n\r\n generateSimplePDF() {\r\n\r\n var optjustify = {\r\n align: 'justify', lineHeightFactor: 1.5, maxWidth: 18\r\n }\r\n var optcenter = {\r\n align: 'center', lineHeightFactor: 1.5, maxWidth: 18\r\n }\r\n\r\n \r\n var nombrecompleto = this.state.nombre.toUpperCase() + \" \" + this.state.apellido.toUpperCase();\r\n var fecha = new Date();\r\n \r\n //AQUI\r\n const parr1 = \"Cumpliendo con lo dispuesto por la Ley Orgánica de Protección de Datos Personales del Ecuador, LA ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL (ESPOL), informa a usted como aspirante a estudiante, que los datos personales proporcionados en los formularios o en cualquier otra documentación aportada durante el proceso de registro, serán tratados por la ESPOL (responsable del tratamiento), con la finalidad de llevar a cabo el proceso de registro y gestión estudiantil, que pueden incluir nombre y apellidos, fecha de nacimiento, dirección domiciliaria, correo electrónico, información académica y cualquier otra información que sea necesaria para esta finalidad.\";\r\n\r\n const parr2 = `Los datos objeto de tratamiento no serán cedidos o comunicados a terceros, salvo en los supuestos necesarios para el estricto y exclusivo cumplimiento o satisfacción de las finalidades antes mencionadas, así como en los legalmente previstos.`;\r\n\r\n\r\n const parr3 = \"LA ESPOL, se compromete a tratar los datos personales de usted como candidato/aspirante de manera confidencial y a garantizar su seguridad mediante las medidas técnicas y organizativas necesarias para evitar su alteración, pérdida, tratamiento o acceso no autorizado.\";\r\n const parr4 = \"Sus datos serán almacenados con la finalidad de completar el proceso de admisión y registro y serán conservados el tiempo estrictamente necesario para tal fin. En caso de ser admitido a la institución, sus datos serán conservados en el tiempo que corresponda, para brindar el servicio de educación.\";\r\n const parr5 = `El aspirante acepta y consiente el tratamiento de sus datos personales por parte de la ESPOL, para la finalidad indicada y reconoce que puede ejercer sus derechos de acceso, eliminación, rectificación, actualización y oposición, mediante solicitud dirigida al correo electrónico: datospersonales@espol.edu.ec. Si el titular desea conocer mas acerca del tratamiento de sus datos personales podra consultar la politica de privacidad de la institución en el siguiente link: https://www.espol.edu.ec/es/proteccion-datos-personales`+ \".\";\r\n \r\n const parr6 = \"La aceptación y consentimiento del candidato/aspirante para el tratamiento de sus datos personales, será necesaria para poder participar en el proceso de registro estudiantil y, en su caso, ser considerado para la inscripción.\";\r\n const parr7 = \"En caso de que el candidato/aspirante no proporcione los datos personales requeridos o retire su consentimiento para el tratamiento de los mismos en cualquier momento durante el proceso de registro y gestión estudiantil, la ESPOL se reserva el derecho de no considerar su postulación.\";\r\n \r\n const parr9 = `Nobre del Aspirante: `;\r\n const parr45 = `Fecha: `\r\n\r\n\r\n var espacioIzquierdo = 2;\r\n var espacioIzquierdoTab = 2.3;\r\n\r\n var espacioCentrado = 11;\r\n\r\n\r\n const doc = new jsPDF('p', 'cm', 'letter');\r\n\r\n var espacioSuperior = 1;\r\n\r\n\r\n var imgDataESPOLOLD = \"data:image/png;base64,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\";\r\n var imgDataESPOL = \"data:image/png;base64,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\";\r\n var imgDataVector = \"data:image/png;base64,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\";\r\n doc.addImage(imgDataESPOL, espacioIzquierdo, 1);\r\n doc.addImage(imgDataVector, 16, 0);\r\n\r\n\r\n\r\n //doc.addImage(imgData, 12, espacioSuperior, 6, 1.2);\r\n doc.setFont(\"Times-Roman\");\r\n\r\n // 0.6 | 1.1 | 1.8 | 2.4 | 3.0\r\n espacioSuperior = espacioSuperior + 2.8;\r\n doc.setFontSize(11);\r\n\r\n doc.setFont(undefined, \"bold\");\r\n doc.text(\"TRATAMIENTO DE DATOS PERSONALES\", espacioCentrado, espacioSuperior, optcenter);\r\n\r\n espacioSuperior = espacioSuperior + 0.6;\r\n doc.text(\"ASPIRANTES ESTUDIANTES ESPOL\", espacioCentrado, espacioSuperior, optcenter);\r\n\r\n doc.setFont(undefined, \"normal\");\r\n doc.setFontSize(9);\r\n espacioSuperior = espacioSuperior + 1.4;\r\n doc.text(parr1, espacioIzquierdo, espacioSuperior, optjustify);\r\n\r\n doc.setFont(undefined, \"normal\");\r\n doc.setFontSize(9);\r\n espacioSuperior = espacioSuperior + 3.1;\r\n doc.text(parr2, espacioIzquierdo, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 1.2;\r\n doc.text(parr3, espacioIzquierdo, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 1.2;\r\n doc.text(parr4, espacioIzquierdo, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 1.7;\r\n doc.text(parr5, espacioIzquierdo, espacioSuperior, optjustify);\r\n //doc.textWithLink(\"Política de privacidad\", 15.5, espacioSuperior, { url: 'https://www.dspace.espol.edu.ec/bitstream/123456789/57243/3/POLITICA%20DE%20PRIVACIDAD%20ESPOL%20GTSI.pdf' });\r\n ///doc.text(\"y en sus\", 18.2, espacioSuperior, optjustify);\r\n //espacioSuperior = espacioSuperior +0.7\r\n //doc.textWithLink(\"términos y condiciones\", espacioIzquierdoTab, espacioSuperior, { url: 'https://www.dspace.espol.edu.ec/bitstream/123456789/57244/3/TERMINOS%20Y%20CONDICIONES%20POLITICAS%20DE%20PRIVACIDAD%20GTSI.pdf' });\r\n //doc.text(\"vigentes de la institución.\", 5.3, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 2.3\r\n doc.text(parr6, espacioIzquierdo, espacioSuperior, optjustify);\r\n\r\n espacioSuperior = espacioSuperior + 1.2\r\n doc.text(parr7, espacioIzquierdo, espacioSuperior, optjustify);\r\n\r\n\r\n \r\n espacioSuperior = espacioSuperior + 4.1\r\n doc.text(parr9, espacioIzquierdo, espacioSuperior, optjustify);\r\n\r\n //doc.setFont(undefined, \"bold\");\r\n //doc.text( nombrecompleto, 5, espacioSuperior, optjustify);\r\n\r\n\r\n doc.setFont(undefined, \"normal\");\r\n espacioSuperior = espacioSuperior + 1.3 \r\n doc.text(parr45, espacioIzquierdo, espacioSuperior, optjustify);\r\n\r\n//doc.setFont(undefined, \"bold\");\r\n //doc.setFontSize(10);\r\n // doc.text( fecha.toLocaleDateString(), 3, espacioSuperior, optjustify);\r\n\r\n\r\n doc.setFont(undefined, \"normal\");\r\n\r\n\r\n doc.save(\"Acuerdo.pdf\");\r\n\r\n }\r\n\r\n\r\n\r\n render() {\r\n return (\r\n this.props.posicion!=\"modal\" ?\r\n
\r\n \r\n
\r\n :\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default renderpdfAdmision;\r\n","import React, { Component } from 'react'\r\nimport check from \"../../assets/check.png\";\r\nimport Cookies from 'js-cookie';\r\nimport upload from \"../../assets/SuBIR.svg\"\r\n\r\nimport eliminar from \"../../assets/eliminar.png\";\r\nimport subaacfe from \"../../assets/subiracuerdoFE.svg\";\r\nimport subaacfm from \"../../assets/subiracuerdoFM.svg\";\r\nimport rostoimg from \"../../assets/FotoPERSONAL.svg\"\r\nimport cedimg from \"../../assets/FotoCEDULA.svg\"\r\nimport Modal from './Modal';\r\nimport ModalXL from './ModalXL';\r\nimport axios from \"axios\";\r\nimport \"../../css/Acuerdo.css\"\r\nimport Header from './Header.js'\r\nimport Footer from './Footer.js'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faEye, faEyeSlash, faCheckCircle, faTimesCircle, faCheck } from \"@fortawesome/free-solid-svg-icons\";\r\nimport Camara from \"./Camara.js\"\r\nimport pdf from \"../../../src/ruc.pdf\"\r\nimport Visualizarpdf from \"../components/Visualizarpdf\";\r\nimport FormRegistroContrasenia from './FormRegistroContrasenia';\r\nimport { Navigate } from 'react-router-dom';\r\nimport equis from \"../../assets/eliminar.png\";\r\nimport alerta from \"../../assets/Alerta.svg\";\r\nimport anuncioico from \"../../assets/AnuncioICO.svg\";\r\n\r\nimport RenderpdfAdmision from \"../components/renderPDFAdmision.js\"\r\n\r\n\r\nexport class AcuerdoAdmisiones extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n showEnvAcdRect:false,\r\n aceptoAcuerdo: false,\r\n modalPrevAcuerdoGen: this.props.modalPrevAcuerdoGen,\r\n mostrarNombre:false,\r\n IsFirmadoElect:false,\r\n modalFirmaGeneralExitosa: false,\r\n firmadoGeneral: this.props.firmadoGeneral,\r\n modalFirmaManual: false,\r\n modalFirmaManualActualizararch:false,\r\n verbtngeneral: this.props.verbtngeneral,\r\n modalFirmaElectronica: false,\r\n modalFManualExitosa: false,\r\n modalFManualExitosaTipoA: false,\r\n modalActualizaciónDocsExitosa: false,\r\n\r\n modalFElectricaExitosa: false,\r\n modalCamararostro: false,\r\n modalCamaracedula: false,\r\n modalSubirPdf: false,\r\n modalNoAcepACGeneral: false,\r\n modalNoAcepACGeneralprev: false,\r\n iconGuardRostroExito: false,\r\n iconGuardCedulaExito: false,\r\n isvalidimgpersonasub: false,\r\n isvalidimgtarjetasub:false,\r\n isvalidcontratosub: false,\r\n iconGuardPdfExito: false,\r\n iconChooseFirma: false,\r\n actFirmaElec: false,\r\n actFirmaElecInter: false,\r\n verRegistroContrasena: false,\r\n showPassword: false,\r\n activebutton: true,\r\n activebuttonpdf: true,\r\n activebutton1: true,\r\n IsAcuerdoDescargado: false,\r\n modalMensaje: \"\",\r\n idAcFirmaElec: \"\",\r\n acuerdob64: \"\",\r\n mensaje_titulo: this.props.mensaje_titulo,\r\n datosUsuario: {\r\n //SECCIÓN DE LA CUENTA ELECTRÓNICA\r\n id: this.props.id,\r\n nombres: this.props.nombres,\r\n apellidos: this.props.apellidos,\r\n identificacion: this.props.identificacion,\r\n usuario_sugerido: this.props.usuario_sugerido,\r\n //nombres: \"pepito pivuawe\",\r\n //apellidos: \"gomez rendom\",\r\n //identificacion: \"0931087209\",\r\n //usuario_sugerido: \"aiarias\",\r\n alias_sugerido: this.props.alias_sugerido,\r\n correoAlterno: this.props.correoAlterno,\r\n rol: this.props.rol,\r\n telefono: this.props.telefono,\r\n unidad: this.props.unidad,\r\n password: this.props.password,\r\n //SECCIÓN DE SOLICITUD MANUAL\r\n estado: this.props.estado,\r\n Motivo: this.props.Motivo,\r\n tipoForm: this.props.tipoForm,\r\n infoSolicitud: this.props.infoSolicitud,\r\n },\r\n contra: {\r\n contrasena: \"\",\r\n contrasenaCumple: false,\r\n repetirContraCumple: false,\r\n terminos: \"\",\r\n },\r\n fotoRostro: '',\r\n fotoCedula: '',\r\n pdfData: null,\r\n\r\n // modalSugerencia: {\r\n modalError: {\r\n show: false,\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: equis,\r\n },\r\n modalErrorAcuerdoGen:{\r\n show: false,\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: equis,\r\n },\r\n renderNavigateLogin: false,\r\n base64FE: \"\",\r\n // pwdFirmaElectronica: \"\",\r\n fecha: new Date(),\r\n verbtngeneralElectronica: this.props.verbtngeneralElectronica,\r\n };\r\n\r\n this.cambiarEstado = this.cambiarEstado.bind(this);\r\n\r\n this.renderRegistro = this.renderRegistro.bind(this);\r\n\r\n \r\n\r\n\r\n\r\n this.abrirModalFManualExitosa = this.abrirModalFManualExitosa.bind(this);\r\n this.cerrarModalFManualExitosa = this.cerrarModalFManualExitosa.bind(this); \r\n\r\n this.abrirModalActualizaciónDocsExitosa = this.abrirModalActualizaciónDocsExitosa.bind(this);\r\n this.cerrarModalActualizaciónDocsExitosa = this.cerrarModalActualizaciónDocsExitosa.bind(this);\r\n\r\n this.abrirModalNoAcepACGeneral = this.abrirModalNoAcepACGeneral.bind(this);\r\n this.cerrarModalNoAcepACGeneral = this.cerrarModalNoAcepACGeneral.bind(this);\r\n\r\n this.abrirModalNoAcepACGeneralPrev = this.abrirModalNoAcepACGeneralPrev.bind(this);\r\n this.cerrarModalNoAcepACGeneralPrev = this.cerrarModalNoAcepACGeneralPrev.bind(this);\r\n\r\n this.abrirModalCamararostro = this.abrirModalCamararostro.bind(this);\r\n this.cerrarModalCamararostro = this.cerrarModalCamararostro.bind(this);\r\n\r\n this.abrirModalCamaracedula = this.abrirModalCamaracedula.bind(this);\r\n this.cerrarModalCamaracedula = this.cerrarModalCamaracedula.bind(this);\r\n\r\n this.abrirModalSubirPdf = this.abrirModalSubirPdf.bind(this);\r\n this.cerrarModalSubirPdf = this.cerrarModalSubirPdf.bind(this);\r\n\r\n this.showiconGuardRostroExito = this.showiconGuardRostroExito.bind(this);\r\n this.showiconGuardCedulaExito = this.showiconGuardCedulaExito.bind(this);\r\n this.showiconGuardPdfExito = this.showiconGuardPdfExito.bind(this);\r\n\r\n this.verFormRegistroContrasenia = this.verFormRegistroContrasenia.bind(this);\r\n\r\n this.mostrarContrasena = this.mostrarContrasena.bind(this);\r\n\r\n this.abrirModalError = this.abrirModalError.bind(this);\r\n this.cerrarModalError = this.cerrarModalError.bind(this);\r\n\r\n this.abrirModalErrorGen = this.abrirModalErrorGen.bind(this);\r\n this.cerrarModalErrorGen = this.cerrarModalErrorGen.bind(this);\r\n\r\n this.activebuttonf = this.activebuttonf.bind(this);\r\n this.disabledbuttonf = this.disabledbuttonf.bind(this);\r\n\r\n\r\n this.activebuttonpdf = this.activebuttonpdf.bind(this);\r\n this.disabledbuttonpdf = this.disabledbuttonpdf.bind(this);\r\n\r\n this.abrirModalFirmaGeneralExitosa = this.abrirModalFirmaGeneralExitosa.bind(this);\r\n this.cerrarModalFirmaGeneralExitosa = this.cerrarModalFirmaGeneralExitosa.bind(this);\r\n\r\n this.cerrarModalPrevGen = this.cerrarModalPrevGen.bind(this);\r\n this.abrirModalPrevGen = this.abrirModalPrevGen.bind(this);\r\n\r\n var servicio = localStorage.getItem('servicio'); \r\n //console.log(servicio);\r\n }\r\n\r\n\r\n cerrarModalPrevGen() {\r\n this.setState({\r\n modalPrevAcuerdoGen: false,\r\n });\r\n }\r\n\r\n abrirModalPrevGen() {\r\n this.setState({\r\n modalPrevAcuerdoGen: true,\r\n });\r\n }\r\n\r\n activebuttonf() {\r\n this.setState({ activebutton: true });\r\n }\r\n\r\n disabledbuttonf() {\r\n this.setState({ activebutton: false });\r\n }\r\n\r\n\r\n activebuttonpdf() {\r\n this.setState({ activebuttonpdf: true });\r\n }\r\n\r\n disabledbuttonpdf() {\r\n this.setState({ activebuttonpdf: false });\r\n }\r\n\r\n\r\n activebuttonf1() {\r\n this.setState({ activebutton1: true });\r\n }\r\n\r\n disabledbuttonf1() {\r\n this.setState({ activebutton1: false });\r\n }\r\n mostrarContrasena(e) {\r\n e.preventDefault();\r\n this.setState({ showPassword: !this.state.showPassword });\r\n }\r\n\r\n verFormRegistroContrasenia() {\r\n this.setState({ verRegistroContrasena: true });\r\n }\r\n\r\n showiconGuardRostroExito() {\r\n this.setState({\r\n iconGuardRostroExito: true,\r\n actFirmaElec: true,\r\n isvalidimgpersonasub: true\r\n });\r\n ///this.setState({ })\r\n }\r\n\r\n showiconGuardCedulaExito() {\r\n this.setState({\r\n iconGuardCedulaExito: true,\r\n actFirmaElec: true,\r\n isvalidimgtarjetasub: true\r\n });\r\n //this.setState({ actFirmaElec: true })\r\n\r\n\r\n }\r\n showiconGuardPdfExito() {\r\n this.setState({\r\n iconGuardPdfExito: true,\r\n actFirmaElec: true,\r\n isvalidcontratosub:true,\r\n })\r\n //this.setState({ actFirmaElec: true })\r\n\r\n }\r\n\r\n abrirModalCamararostro() {\r\n this.setState({ modalCamararostro: true })\r\n }\r\n\r\n cerrarModalCamararostro() {\r\n this.setState({ modalCamararostro: false })\r\n }\r\n\r\n abrirModalCamaracedula() {\r\n this.setState({ modalCamaracedula: true })\r\n }\r\n\r\n cerrarModalCamaracedula() {\r\n this.setState({ modalCamaracedula: false })\r\n }\r\n\r\n abrirModalSubirPdf() {\r\n this.setState({ modalSubirPdf: true })\r\n }\r\n\r\n cerrarModalSubirPdf() {\r\n this.setState({ modalSubirPdf: false })\r\n }\r\n\r\n\r\n abrirModalFManualExitosa() {\r\n this.setState({ modalFManualExitosa: true })\r\n }\r\n\r\n\r\n cerrarModalActualizaciónDocsExitosa() {\r\n this.setState({ modalActualizaciónDocsExitosa: false });\r\n //window.location.href = \"/Inicio\";\r\n window.location.href = \"https://academico.admision.espol.edu.ec/\";\r\n \r\n }\r\n\r\n abrirModalActualizaciónDocsExitosa() {\r\n this.setState({\r\n modalActualizaciónDocsExitosa: true,\r\n modalFirmaManualActualizararch: false\r\n })\r\n }\r\n\r\n\r\n cerrarModalFManualExitosa() {\r\n this.setState({ modalFManualExitosa: false })\r\n this.setState({ renderNavigateLogin: true })\r\n }\r\n\r\n\r\n abrirModalFManualExitosaTipoA() {\r\n this.setState({ modalFManualExitosaTipoA: true })\r\n }\r\n\r\n\r\n cerrarModalFManualExitosaTipoA() {\r\n this.setState({ cerrarModalFManualExitosaTipoA: false })\r\n //this.setState({ renderNavigateLogin: true })\r\n }\r\n\r\n abrirModalNoAcepACGeneral() {\r\n this.cerrarSesion();\r\n this.setState({\r\n modalNoAcepACGeneralprev: false,\r\n modalNoAcepACGeneral: true,\r\n })\r\n }\r\n\r\n cerrarModalNoAcepACGeneral() {\r\n this.setState({ modalNoAcepACGeneral: false });\r\n this.redireccion(2);\r\n }\r\n\r\n\r\n abrirModalNoAcepACGeneralPrev() {\r\n this.setState({ modalNoAcepACGeneralprev: true })\r\n }\r\n\r\n cerrarModalNoAcepACGeneralPrev() {\r\n this.setState({ modalNoAcepACGeneralprev: false });\r\n //window.location.href = \"/Inicio\";\r\n }\r\n\r\n\r\n abrirModalFirmaGeneralExitosa() {\r\n this.setState({ modalFirmaGeneralExitosa: true });\r\n }\r\n\r\n descargarAcuerdoFirmaManual = () => {\r\n console.log(\"acuerdo descargado\");\r\n this.setState({\r\n IsAcuerdoDescargado: true\r\n });\r\n\r\n }\r\n\r\n redireccion(){\r\n window.location.href = 'https://academico.admision.espol.edu.ec/';\r\n }\r\n\r\n /*ADMISIONES*/\r\n cerrarModalFirmaGeneralExitosa() {\r\n this.setState({ modalFirmaGeneralExitosa: false });\r\n this.cerrarSesion();\r\n this.redireccion();\r\n }\r\n\r\n\r\n abrirModalError() {\r\n this.setState({\r\n modalError: {\r\n ...this.state.modalSugerencia,\r\n show: true\r\n }\r\n });\r\n }\r\n\r\n cerrarModalError() {\r\n this.setState({\r\n modalError: {\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\",\r\n show: false\r\n }\r\n });\r\n }\r\n\r\n abrirModalErrorGen() {\r\n this.setState({\r\n modalErrorAcuerdoGen: {\r\n ...this.state.modalSugerencia,\r\n show: true\r\n }\r\n });\r\n }\r\n\r\n cerrarModalErrorGen() {\r\n this.setState({\r\n modalErrorAcuerdoGen: {\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\",\r\n show: false\r\n }\r\n },()=>{\r\n this.redireccion(2);\r\n });\r\n }\r\n\r\n handlerDatosFormRegistro = async (e) => {\r\n await this.setState({\r\n contra: {\r\n ...this.state.contra,\r\n [e.target.name]: e.target.value,\r\n terminos: e.target.checked\r\n }\r\n })\r\n //console.log(this.state.contra);\r\n\r\n }\r\n\r\n\r\n handlerCheckPrev = async (e) => {\r\n await this.setState({\r\n aceptoAcuerdo: e.target.checked,\r\n\r\n }, () => { console.log(this.state.aceptoAcuerdo); })\r\n }\r\n\r\n cambiarEstado(valor, contraCumple, repetirContraCumple) {\r\n this.setState({\r\n contra: {\r\n ...this.state.contra,\r\n contrasena: valor,\r\n contrasenaCumple: contraCumple,\r\n repetirContraCumple: repetirContraCumple\r\n }\r\n })\r\n //console.log(\"CAMBIAR ESTADO\");\r\n //console.log(this.state.contra);\r\n }\r\n\r\n renderRegistro(e) {\r\n e.preventDefault();\r\n\r\n this.props.renderFormRegistro(false);\r\n //console.log(\"cambio form registro contraseña\");\r\n }\r\n\r\n /*Admisiones*/\r\n PostFirmarAcuerdoGen = async (e) => {\r\n console.log(\"PostFirmarAcuerdoGen\");\r\n e.preventDefault();\r\n this.disabledbuttonf();\r\n \r\n var signDoc = {\r\n nombre: this.state.datosUsuario.nombres,\r\n apellido: this.state.datosUsuario.apellidos,\r\n identificacion: this.state.datosUsuario.identificacion,\r\n acuerdoBase64: this.state.acuerdob64,\r\n firmaBase64: this.state.base64FE,\r\n }\r\n axios.post(`${process.env.REACT_APP_API}api/PersonaDago/uploadsignagreement`, signDoc)\r\n .then(resp => {\r\n let enlace = resp.data;\r\n //console.log(\"El enlace es: \", enlace);\r\n if (resp.status == 200 && resp.data != \" \") {\r\n // guardar el resgistro en la tabla.\r\n let datos = {\r\n estado: 1,\r\n aceptodatospers: 1,\r\n aceptomedelect: 0,\r\n rutaacuerdodatospersfirmado: enlace,\r\n rutaacuerdomedelectfirmado: \"\",\r\n identificacion: this.state.datosUsuario.identificacion\r\n }\r\n axios.post(`${process.env.REACT_APP_API}api/PersonaDago/signautoagreement`, datos)\r\n .then(resp => {\r\n // console.log(resp);\r\n this.abrirModalFirmaGeneralExitosa();\r\n this.activebuttonf();\r\n }).catch(error => {\r\n // console.log(error.response.data);\r\n this.setState({\r\n modalErrorAcuerdoGen: {\r\n show: true,\r\n titulo: \"Error al guardar el registro de la firma\",\r\n mensaje: error.response.data,\r\n imagen: equis,\r\n }\r\n });\r\n this.activebuttonf();\r\n })\r\n }\r\n }).catch(error => {\r\n //console.log(error.message);\r\n this.setState({\r\n modalErrorAcuerdoGen: {\r\n show: true,\r\n titulo: \"Error al guardar el documento firmado\",\r\n mensaje: \"Existe un problema al guardara el acuerdo. Por favor, intentarlo mas tarde.\",\r\n imagen: equis,\r\n }\r\n \r\n });\r\n this.activebuttonf();\r\n })\r\n\r\n }\r\n\r\n PostNoFirmarAcuerdoGen = async (e) => {\r\n console.log(\"PostNoFirmarAcuerdoGen\");\r\n e.preventDefault();\r\n this.disabledbuttonf1();\r\n //console.log(\"guardar registro de no firma acuerdo general\");\r\n let datos = {\r\n estado: 1,\r\n aceptodatospers: 0,\r\n aceptomedelect: 0,\r\n rutaacuerdodatospersfirmado: \"\",\r\n rutaacuerdomedelectfirmado: \"\",\r\n identificacion: this.state.datosUsuario.identificacion\r\n }\r\n axios.post(`${process.env.REACT_APP_API}api/PersonaDago/signautoagreement`, datos)\r\n .then(resp => {\r\n this.activebuttonf1();\r\n this.abrirModalNoAcepACGeneral();\r\n //this.abrirModalNoAcepACGeneralPrev();\r\n }).catch(error => {\r\n this.setState({\r\n modalErrorAcuerdoGen: {\r\n show: true,\r\n titulo: \"Error al guardar el registro de la firma\",\r\n mensaje: error.response.data,\r\n imagen: equis,\r\n }\r\n });\r\n this.activebuttonf1();\r\n })\r\n \r\n }\r\n\r\n\r\n \r\n DataAcuerdo = arcb64 => {\r\n\r\n this.state.acuerdob64 = arcb64;\r\n //console.log(this.state.acuerdob64);\r\n }\r\n\r\n Dataimgrostro = dataimgros => {\r\n if (dataimgros === null) {\r\n console.log(\"No es una foto adecuada del rostro.\");\r\n } else {\r\n this.state.fotoRostro = dataimgros\r\n this.cerrarModalCamararostro();\r\n this.showiconGuardRostroExito();\r\n this.state.actRostro = true;\r\n }\r\n }\r\n\r\n Dataimgcedula = dataimgced => {\r\n //console.log(\"No es una foto adecuada de la cedula\");\r\n if (dataimgced === null) {\r\n console.log(\"No es una foto adecuada de la cedula\");\r\n } else {\r\n this.state.fotoCedula = dataimgced;\r\n this.cerrarModalCamaracedula();\r\n this.showiconGuardCedulaExito();\r\n this.state.actCedula = true;\r\n }\r\n }\r\n\r\n filechoose = chosefile => {\r\n if (chosefile === null) {\r\n console.log(\"No es una foto adecuada de la cedula\");\r\n } else {\r\n console.log(chosefile);\r\n this.state.pdfData = chosefile;\r\n this.cerrarModalSubirPdf();\r\n this.showiconGuardPdfExito();\r\n this.state.actDocPdf = true;\r\n }\r\n }\r\n\r\n handleFile = async (e) => {\r\n let selectedFile = e.target.files[0];\r\n //console.log(selectedFile);\r\n if (selectedFile) {\r\n let reader = new FileReader();\r\n reader.readAsDataURL(selectedFile);\r\n reader.onloadend = (e) => {\r\n this.state.base64FE = e.target.result;\r\n this.setState({ iconChooseFirma: true });\r\n }\r\n //console.log(e);\r\n //console.log(e.target.result);\r\n }\r\n else {\r\n console.log('Seleccione un pdf');\r\n }\r\n }\r\n\r\n cerrarSesion = async () => {\r\n Cookies.remove(\"token\");\r\n Cookies.remove(\"cas\");\r\n Cookies.remove(\"DatosPersonalesGIA.CAS\"); \r\n }\r\n\r\n render() {\r\n return (\r\n this.state.renderNavigateLogin ? :\r\n (\r\n this.state.verRegistroContrasena ?\r\n \r\n :\r\n (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {this.state.firmadoGeneral ?\r\n (
\r\n \r\n

{this.state.mensaje_titulo}

\r\n\r\n
\r\n
\r\n
\r\n
\r\n

PARA SU CONOCIMIENTO

\r\n

Estimado Aspirante, en cumplimiento de la Ley Orgánica de Protección de Datos Personales, ponemos a su conocimiento el siguiente Acuerdo para el Tratamiento de sus Datos Personales:

\r\n
\r\n
\r\n
\r\n
\r\n
) :\r\n (
\r\n
\r\n

{this.state.mensaje_titulo}

\r\n
\r\n\r\n
\r\n

A continuación tiene que leer y firmar el acuerdo de uso de medios electrónicos.

\r\n
\r\n
)\r\n }\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

ACUERDO DE TRATAMIENTO DE DATOS PERSONALES

\r\n

PARA ASPIRANTES A ESTUDIANTES DE LA ESPOL

\r\n\r\n
\r\n {/*
\r\n

I.- Autorización para el almacenamiento y uso de información
personal registrada en la ESPOL.

\r\n
*/}\r\n
\r\n

Cumpliendo con lo dispuesto por la Ley Orgánica de Protección de Datos Personales del Ecuador, LA ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL (ESPOL), informa a usted como aspirante a estudiante, que los datos personales proporcionados en los formularios o en cualquier otra documentación aportada durante el proceso de registro, serán tratados por la ESPOL (responsable del tratamiento), con la finalidad de llevar a cabo el proceso de registro y gestión estudiantil, que pueden incluir nombre y apellidos, fecha de nacimiento, dirección domiciliaria, correo electrónico, información académica y cualquier otra información que sea necesaria para esta finalidad.

\r\n
\r\n
\r\n

Los datos objeto de tratamiento no serán cedidos o comunicados a terceros, salvo en los supuestos necesarios para el estricto y exclusivo cumplimiento o satisfacción de las finalidades antes mencionadas, así como en los legalmente previstos.

\r\n

LA ESPOL, se compromete a tratar los datos personales de usted como candidato/aspirante de manera confidencial y a garantizar su seguridad mediante las medidas técnicas y organizativas necesarias para evitar su alteración, pérdida, tratamiento o acceso no autorizado.

\r\n

Sus datos serán almacenados con la finalidad de completar el proceso de admisión y regizstro y serán conservados el tiempo estrictamente necesario para tal fin. En caso de ser admitido a la institución, sus datos serán conservados en el tiempo que corresponda, para brindar el servicio de educación.

\r\n

El aspirante acepta y consiente el tratamiento de sus datos personales por parte de la ESPOL, para la finalidad indicada y reconoce que puede ejercer sus derechos de acceso, eliminación, rectificación, actualización y oposición, mediante solicitud dirigida al correo electrónico: datospersonales@espol.edu.ec. Si el titular desea conocer mas acerca del tratamiento de sus datos personales podra consultar la politica de privacidad de la institución en el siguiente link: https://www.espol.edu.ec/es/proteccion-datos-personales.

\r\n

La aceptación y consentimiento del candidato/aspirante para el tratamiento de sus datos personales, será necesaria para poder participar en el proceso de registro estudiantil y, en su caso, ser considerado para la inscripción.

\r\n\r\n

En caso de que el candidato/aspirante no proporcione los datos personales requeridos o retire su consentimiento para el tratamiento de los mismos en cualquier momento durante el proceso de registro y gestión estudiantil, la ESPOL se reserva el derecho de no considerar su postulación.

\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {!this.state.activebutton1 ?\r\n \r\n : null}\r\n
\r\n
\r\n \r\n {!this.state.activebutton ?\r\n \r\n : null}\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n {this.state.modalError.show &&\r\n \r\n

{this.state.modalError.titulo}

\r\n
\r\n \"Exitoso\"\r\n
\r\n

{this.state.modalError.mensaje}

\r\n
\r\n }\r\n {this.state.modalErrorAcuerdoGen.show &&\r\n \r\n

{this.state.modalErrorAcuerdoGen.titulo}

\r\n
\r\n \"Exitoso\"\r\n
\r\n

{this.state.modalErrorAcuerdoGen.mensaje}

\r\n
\r\n }\r\n\r\n {\r\n this.state.modalFManualExitosa &&\r\n \r\n

SOLICITUD DE CREACIÓN DE CUENTA

\r\n
\r\n \"Exitoso\"\r\n
\r\n\r\n {/*

Su solicitud de creación de cuenta ha sido enviada*/}\r\n {/* exitosamente, en un lapso de 24 horas será revisada.

*/}\r\n

Su solicitud de creación de cuenta electronica ha sido recibida exitosamente.

\r\n\r\n
\r\n \r\n
\r\n
\r\n }\r\n {\r\n this.state.modalFManualExitosaTipoA &&\r\n \r\n

SOLICITUD DE CREACIÓN DE CUENTA AUTOMATICA USER TIPO A

\r\n
\r\n \"Exitoso\"\r\n
\r\n\r\n {/*

Su solicitud de creación de cuenta ha sido enviada*/}\r\n {/* exitosamente, en un lapso de 24 horas será revisada.

*/}\r\n

Su solicitud de creación de cuenta electronica ha sido recibida exitosamente.

\r\n\r\n
\r\n \r\n
\r\n
\r\n }\r\n\r\n {\r\n this.state.modalNoAcepACGeneral &&\r\n \r\n

ACUERDO NO ACEPTADO

\r\n
\r\n \"Exitoso\"\r\n
\r\n

Estimado, si usted tiene dudas respecto a la aceptación del acuerdo de tratamiento de datos personales para aspirantes a estudiantes de la ESPOL, ponemos a su disposición el correo de consulta datospersonales@espol.edu.ec con el proposito de aclararle sus inquietudes.

\r\n\r\n
\r\n }\r\n {\r\n this.state.modalNoAcepACGeneralprev &&\r\n \r\n

¿Está seguro que no desea aceptar el acuerdo?

\r\n
\r\n \"Exitoso\"\r\n
\r\n

Si usted no acepta el acuerdo de uso de datos personales y medios electrónicos, no podrá acceder a los sistemas de la ESPOL.

\r\n
\r\n \r\n \r\n
\r\n
\r\n }\r\n { /*ADMISIONES */\r\n this.state.modalFirmaGeneralExitosa &&\r\n \r\n

ACUERDO ACEPTADO

\r\n
\r\n \"Exitoso\"\r\n
\r\n

Usted aceptó con éxito el acuerdo de tratamiento de datos personales para aspirantes a estudiantes de la ESPOL.

\r\n
\r\n }\r\n\r\n {\r\n this.state.modalActualizaciónDocsExitosa &&\r\n \r\n

Documentos actualizados correctamente

\r\n
\r\n \"Exitoso\"\r\n
\r\n\r\n {/*

Su solicitud de creación de cuenta ha sido enviada*/}\r\n {/* exitosamente, en un lapso de 24 horas será revisada.

*/}\r\n

Se actualizaron los documentos de su solicitud de creación de cuenta electrónica.

\r\n

Se notificará por correo el estado de su solicitud.

\r\n\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n )\r\n\r\n )\r\n )\r\n }\r\n}\r\n\r\nexport default AcuerdoAdmisiones\r\n","import React, { Component } from 'react';\r\nimport { useState, useEffect } from \"react\";\r\nimport Modal from './Modal';\r\nimport check from \"../../assets/check.png\";\r\nimport equis from \"../../assets/eliminar.png\"\r\nimport ComponenteContrasenia from './ComponenteContrasenia';\r\nimport '../../css/FormAcuerdoAdmisiones.css';\r\nimport axios from 'axios';\r\nimport Cookies from 'js-cookie';\r\nimport Header from './Header.js'\r\nimport Footer from './Footer.js'\r\nimport anuncioico from \"../../assets/AnuncioICO.svg\";\r\nimport jwt from 'jwt-decode'\r\nimport { Spinner } from 'react-bootstrap';\r\nimport AcuerdoAdmisiones from './AcuerdoAdmisiones.js'\r\nimport cerrar from \"../../assets/cerrarSesion.svg\";\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faEye, faEyeSlash, faCheckCircle, faTimesCircle, faCheck } from \"@fortawesome/free-solid-svg-icons\";\r\nimport alarma from \"../../assets/alarma.svg\";\r\n\r\n\r\nexport class FormAcuerdoAdmisiones extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n IsFirmado:false,\r\n modalError: false,\r\n isPersonalData: false,\r\n errorsDatosEcu: {\r\n },\r\n expresiones: {\r\n cedula: /^[\\d]{10}$/,\r\n pasaporte: /^[a-zA-Z0-9._]{4,14}$/,\r\n },\r\n verificarDatosEcu: {\r\n cedula: \"\",\r\n fechaEmision: \"\",\r\n terminos: \"\"\r\n },\r\n activebutton: true,\r\n modalIngresoDatos:false,\r\n modalErrorAcuerdoGen: {\r\n show: false,\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: equis,\r\n },\r\n aceptoAcuerdo: false,\r\n modalPrevAcuerdoGen: false,\r\n enlaceAcuerdo: \"\",\r\n modalIsOpen: false,\r\n verBoton: true,\r\n datosUsuario: {\r\n token: \"\",\r\n id: \"\",\r\n identificacion: \"0\",\r\n alias_sugerido: \"\",\r\n telefono: \"\",\r\n unidad: \"\",\r\n rol: \"\",\r\n correoAlterno: \"\",\r\n nombres: \"\",\r\n apellidos: \"\",\r\n username: \"\",\r\n correo: \"\",\r\n usuarioEscogido: \"\",\r\n fechaNacimiento:\"\"\r\n },\r\n idAcueFirmElec:\"\",\r\n contra: {\r\n contrasena: \"\",\r\n contrasenaCumple: false,\r\n repetirContraCumple: false,\r\n },\r\n navigateCas: true,\r\n modalError: {\r\n show: false,\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\"\r\n },\r\n IsSign: false,\r\n };\r\n this.abrirModalInfo = this.abrirModalInfo.bind(this);\r\n this.cerrarModalInfo = this.cerrarModalInfo.bind(this);\r\n this.cerrarModalIngresoDatos = this.cerrarModalIngresoDatos.bind(this);\r\n this.abrirModalIngresoDatos = this.abrirModalIngresoDatos.bind(this);\r\n this.cerrarModalErrorGen = this.cerrarModalErrorGen.bind(this);\r\n this.cerrarModalPrevGen = this.cerrarModalPrevGen.bind(this);\r\n this.abrirModalPrevGen = this.abrirModalPrevGen.bind(this);\r\n this.abrirModalError = this.abrirModalError.bind(this);\r\n this.cerrarModalError = this.cerrarModalError.bind(this);\r\n this.activebuttonf = this.activebuttonf.bind(this);\r\n this.disabledbuttonf = this.disabledbuttonf.bind(this);\r\n\r\n }\r\n\r\n activebuttonf() {\r\n this.setState({ activebutton: true });\r\n }\r\n\r\n disabledbuttonf() {\r\n this.setState({ activebutton: false });\r\n }\r\n\r\n cerrarModalErrorGen() {\r\n this.setState({\r\n modalErrorAcuerdoGen: {\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\",\r\n show: false\r\n }\r\n }, () => {\r\n this.activebuttonf();\r\n });\r\n }\r\n\r\n cerrarModalPrevGen() {\r\n this.setState({\r\n modalPrevAcuerdoGen: false,\r\n });\r\n }\r\n\r\n abrirModalPrevGen() {\r\n this.setState({\r\n modalPrevAcuerdoGen: true,\r\n });\r\n }\r\n\r\n abrirModalIngresoDatos() {\r\n this.setState({ modalIngresoDatos: true })\r\n }\r\n\r\n cerrarModalIngresoDatos() {\r\n if (!this.state.isPersonalData || !this.state.modalPrevAcuerdoGen) {\r\n var servicio = localStorage.getItem('servicio');\r\n if (servicio != null || servicio != undefined) {\r\n //window.location.href = 'https://alumni.espol.edu.ec/';\r\n window.location.href = servicio;\r\n } else {\r\n window.location.href = 'https://alumni.espol.edu.ec/';\r\n }\r\n }\r\n }\r\n\r\n abrirModalError() {\r\n this.setState({\r\n modalError: true\r\n });\r\n }\r\n\r\n\r\n cerrarModalError() {\r\n this.setState({\r\n modalError: false\r\n }, () => { window.location.href = \"/Inicio\"; });\r\n\r\n }\r\n\r\n abrirModalInfo() {\r\n this.setState({ modalIsOpen: true });\r\n }\r\n\r\n cerrarModalInfo() {\r\n this.setState({ modalIsOpen: false });\r\n this.activarNavigateLogin();\r\n }\r\n\r\n activarNavigateLogin() {\r\n window.location.href = \"/Inicio\";\r\n }\r\n\r\n \r\n\r\n mostrarModalData = async (e) => {\r\n //this.setState({ modalData: false });\r\n //console.log(\"asdasd\");\r\n }\r\n\r\n \r\n\r\n\r\n componentWillMount = () => {\r\n this.validarToken();\r\n }\r\n\r\n validarToken () {\r\n var ruta = window.location.href;\r\n console.log(\"la ruta es: \"+ ruta);\r\n try {\r\n if (ruta.split(\"token=\")[1] === undefined) {\r\n window.location.href = \"/Inicio\";\r\n } else {\r\n console.log(\"si tiene token\");\r\n var token = ruta.split(\"token=\")[1];\r\n console.log(\"el token es: \" + token);\r\n this.state.datosUsuario.token = token;\r\n var tokendecode = jwt(token);\r\n console.log(tokendecode);\r\n var exp = tokendecode[\"exp\"];\r\n this.state.datosUsuario.nombres = tokendecode[\"Nombres\"];\r\n this.state.datosUsuario.apellidos = tokendecode[\"Apellidos\"];\r\n this.state.datosUsuario.identificacion = tokendecode[\"Identificacion\"];\r\n var fe1 = new Date(exp * 1000);\r\n var fe2 = new Date();\r\n if (fe1 < fe2) {\r\n window.location.href = \"/Inicio\";\r\n };\r\n\r\n //validar que no haya firmado el acuerdo\r\n this.setState({ navigateCas: false }, () => {\r\n this.validarfirma(tokendecode[\"Identificacion\"]);\r\n });\r\n\r\n }\r\n } catch (exception){\r\n this.setState({ navigateCas: true });\r\n } \r\n };\r\n\r\n \r\n\r\n validarfirma(identificacion) {\r\n console.log(identificacion);\r\n axios.get(`${process.env.REACT_APP_API}api/PersonaDago/IsAgreementSign/${identificacion}`)\r\n .then(resp => {\r\n console.log(resp.data.data);\r\n if (resp.data.data.Aceptodatospers == \"si\" && resp.data.data.estado == \"1\") {\r\n this.setState({ IsFirmado: true });\r\n }\r\n //this.activebuttonf1();\r\n //this.abrirModalNoAcepACGeneralPrev();\r\n }).catch(error => {\r\n /*this.setState({\r\n modalErrorAcuerdoGen: {\r\n show: true,\r\n titulo: \"Error al guardar el registro de la firma\",\r\n mensaje: error.response.data,\r\n imagen: equis,\r\n }\r\n });\r\n this.activebuttonf1();*/\r\n })\r\n }\r\n\r\n\r\n render() {\r\n console.log(this.state.navigateCas);\r\n\r\n return (\r\n !this.state.navigateCas ?\r\n this.state.IsFirmado ?\r\n (\r\n
\r\n \"Error\"\r\n
\r\n

Estimado usuario, usted ya ha firmado el acuerdo de tratamiento de datos personales para aspirantes a estudiantes de la ESPOL.

\r\n

\r\n En el caso de existir un error, puede comunicarse con la unidad de Admisiones ESPOL.

\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Atención: Lunes a Viernes de 08:30 a 16:00
Correo: admision@espol.edu.ec
\r\n
\r\n\r\n
)\r\n :\r\n (\r\n )\r\n \r\n :\r\n this.state.modalError &&\r\n \r\n

Error al cargar el acuerdo de admisiones ESPOL

\r\n
\r\n \"Error\"\r\n
\r\n

Existe un problema en el token generado.

\r\n
\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default FormAcuerdoAdmisiones\r\n","import React, { Component } from 'react';\r\nimport Modal from './Modal';\r\nimport check from \"../../assets/check.png\";\r\nimport equis from \"../../assets/eliminar.png\"\r\nimport ComponenteContrasenia from './ComponenteContrasenia';\r\nimport '../../css/FormCambiarContrasenia.css';\r\nimport axios from 'axios';\r\nimport Cookies from 'js-cookie';\r\nimport Header from '../components/Header.js'\r\nimport Footer from '../components/Footer.js'\r\nimport anuncioico from \"../../assets/AnuncioICO.svg\";\r\nimport jwt from 'jwt-decode'\r\nimport { Spinner } from 'react-bootstrap';\r\n\r\n\r\nexport class FormCambiarContrasenia extends Component {\r\n\r\n \r\n\r\n constructor(props){\r\n super(props);\r\n\r\n this.state = {\r\n nombresRegla:\"\",\r\n modalIsOpen:false,\r\n verBoton:true,\r\n datosUsuario:{\r\n token: \"\",\r\n id: \"\",\r\n nombres: \"\",\r\n apellidos: \"\",\r\n username: \"\",\r\n correo: \"\",\r\n },\r\n contra:{\r\n contrasena: \"\",\n contrasenaactual: \"\",\r\n contrasenaCumple:false,\r\n repetirContraCumple:false,\r\n },\r\n expresiones:{\r\n contrasena:/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d@*._-]{10,12}$/,\r\n },\r\n navigateCas:true,\r\n modalError: {\r\n show: false,\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen : \"\"\r\n },\r\n activebutton: true,\r\n isUpdateePss:true,\r\n };\r\n\r\n \r\n\r\n this.abrirModalInfo=this.abrirModalInfo.bind(this);\r\n this.cerrarModalInfo=this.cerrarModalInfo.bind(this);\r\n\t\r\n this.cambiarEstado=this.cambiarEstado.bind(this)\r\n\r\n this.abrirModalError=this.abrirModalError.bind(this);\r\n this.cerrarModalError = this.cerrarModalError.bind(this);\r\n\r\n \r\n\r\n }\r\n\r\n\r\n abrirModalError() {\r\n this.setState({\r\n modalError: {\r\n ...this.state.modalError,\r\n show: true\r\n }\r\n });\r\n }\r\n\r\n cerrarModalError() {\r\n this.setState({\r\n modalError: {\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\",\r\n show: false\r\n }\r\n });\r\n //console.log(\"cerrar modal \" + this.state.modalError);\r\n }\r\n \r\n\r\n\r\n\r\n abrirModalInfo(){\r\n this.setState({modalIsOpen:true});\r\n }\r\n\r\n cerrarModalInfo(){\r\n this.setState({ modalIsOpen: false });\r\n this.activarNavigateLogin();\r\n }\r\n\r\n activarNavigateLogin() {\r\n window.location.href = \"/Inicio\";\r\n\r\n }\r\n \r\n cambiarEstado(contraActual,valor,contraCumple,repetirContraCumple){\r\n this.setState({\r\n contra:{\r\n ...this.state.contra,\r\n contrasena: valor,\n contrasenaactual: contraActual,\r\n contrasenaCumple:contraCumple,\r\n repetirContraCumple:repetirContraCumple\r\n }\r\n })\r\n //console.log(\"CAMBIAR ESTADO\");\r\n }\r\n\r\n agregarNombresEnRegla() {\r\n var nombreString = \"\";\r\n var nombres = this.state.datosUsuario.nombres.split(\" \");\r\n // var nombres_temp = nombres.split(\" \");\r\n var apellidos = this.state.datosUsuario.apellidos.split(\" \");\r\n // var apellidos_temp = apellidos.split(\" \");\r\n\r\n var nombreCompleto = nombres.concat(apellidos);\r\n\r\n for (var i = 0; i < nombreCompleto.length; i++) {\r\n if (i == nombreCompleto.length - 1) {\r\n nombreString = nombreString.concat(nombreCompleto[i]);\r\n } else {\r\n nombreString = nombreString.concat(nombreCompleto[i] + \", \");\r\n }\r\n }\r\n this.setState({\r\n nombresRegla: nombreString\r\n })\r\n }\r\n\r\n validarCAS() {\r\n if (Cookies.get(\"DatosPersonalesGIA.CAS\") === undefined) {\r\n /*Aquí hay que verificar el token enviado por paramatro en el URL \r\n * y ver si todavia es valido; sin token, entonces le pedimos \r\n * que se logge usando el Cas\r\n */\r\n\r\n var ruta = window.location.href;\r\n if (ruta.split(\"token=\")[1] === undefined) {\r\n window.location.href = \"/account/loginChaPass\";\r\n } else {\n console.log(\"enlace con token\");\r\n var token = ruta.split(\"token=\")[1];\r\n this.state.datosUsuario.token = token;\n this.state.isUpdateePss = false;\r\n var tokendecode = jwt(token);\r\n var exp = tokendecode[\"exp\"];\r\n this.state.datosUsuario.nombres = tokendecode[\"Nombres\"];\r\n this.state.datosUsuario.apellidos = tokendecode[\"Apellidos\"];\r\n this.agregarNombresEnRegla();\r\n this.state.datosUsuario.username = tokendecode[\"User\"];\r\n var fe1 = new Date(exp * 1000);\r\n var fe2 = new Date();\r\n if (fe1 < fe2) {\r\n window.location.href = \"/Inicio\";\r\n } else {\r\n this.setState({ navigateCas: false })\r\n }\r\n }\r\n } else {\r\n var token = Cookies.get(\"token\");\r\n var tokenCAs = Cookies.get(\"cas\");\r\n console.log(token);\n console.log(tokenCAs);\n\r\n this.state.datosUsuario.token = token;\r\n var tokendecode = jwt(token);\r\n var exp = tokendecode[\"exp\"];\r\n this.state.datosUsuario.nombres = tokendecode[\"Nombres\"];\r\n this.state.datosUsuario.apellidos = tokendecode[\"Apellidos\"];\r\n this.agregarNombresEnRegla();\r\n\r\n this.state.datosUsuario.username = tokendecode[\"User\"];\r\n\r\n this.setState({ navigateCas: false });\r\n } \r\n \r\n return (\r\n null\r\n )\r\n };\r\n\r\n componentWillMount() {\r\n this.useEffect();\r\n }\r\n\r\n useEffect = () => {\r\n const loadScriptByURL = (id, url, callback) => {\r\n const isScriptExist = document.getElementById(id);\r\n\r\n if (!isScriptExist) {\r\n var script = document.createElement(\"script\");\r\n script.type = \"text/javascript\";\r\n script.src = url;\r\n script.id = id;\r\n script.onload = function () {\r\n if (callback) callback();\r\n };\r\n document.body.appendChild(script);\r\n }\r\n\r\n if (isScriptExist && callback) callback();\r\n }\r\n //console.log(`${process.env.REACT_APP_CAPTCHAKEY}`);\r\n // load the script by passing the URL\r\n loadScriptByURL(\"recaptcha-key\", `https://www.google.com/recaptcha/api.js?render=${process.env.REACT_APP_CAPTCHAKEY}`, function () {\r\n //console.log(\"Script loaded!\");\r\n });\r\n };\r\n\r\n postCambiarContrasena = async () => {\r\n this.props.callTagManager(\"click-btn-guardar-cambiar-contrasena\");\r\n this.setState({ activebutton: false });\r\n\r\n window.grecaptcha.ready(() => {\r\n window.grecaptcha.execute(process.env.REACT_APP_CAPTCHAKEY, { action: 'submit' }).then(token => {\r\n /* var datos = {\r\n personaId: this.state.getDatos.id,\r\n correo: this.state.datosUsuario.correoIngresado,\r\n tokencapt: token\r\n }*/\r\n var tipoDeCambio = \"\"; //Actualizar o Restaurar\n if (this.state.isUpdateePss) {\n tipoDeCambio = \"Actualizar\"\r\n } else {\n tipoDeCambio = \"Restaurar\"\r\n }\r\n\r\n var cambiarContra = {\r\n password: this.state.contra.contrasena,\n passwordActual: this.state.contra.contrasenaactual,\r\n correo: this.state.datosUsuario.correo,\r\n token: this.state.datosUsuario.token,\r\n tokencapt: token,\n tipoCambio: tipoDeCambio\r\n }\r\n console.log(cambiarContra);\r\n \r\n axios.post(`${process.env.REACT_APP_API}api/CuentaUsuario/change`, cambiarContra, {\r\n headers: { Authorization: this.state.datosUsuario.token && `Bearer ${this.state.datosUsuario.token}` }\r\n })\r\n .then(resp => {\r\n //console.log(resp)\r\n if (resp.status === 200) {\r\n if (resp.data.message === \"Contraseña cambia exitosamente\") {\r\n this.abrirModalInfo();\r\n //console.log(\"contraseña cambiada\");\r\n //console.log(cambiarContra);\r\n }\r\n }\r\n this.setState({ activebutton: true });\r\n\r\n }).catch(error => {\r\n //this.abrirModalError();\r\n \r\n if (error.request.response === \"\" || error.request.response === \" \") {\r\n this.setState({\r\n modalError: {\r\n show: true,\r\n imagen: equis,\r\n titulo: \"Error en la solicitud\",\r\n mensaje: \"Error en la solicitud, intentelo mas tarde\"\r\n }\r\n })\r\n } else {\r\n this.setState({\r\n modalError: {\r\n show: true,\r\n imagen: equis,\r\n titulo: \"Error en la solicitud\",\r\n mensaje: error.response.data.message\r\n }\r\n })\r\n }\r\n\r\n this.setState({ activebutton: true });\r\n\r\n })\r\n\r\n\r\n\r\n });\r\n });\r\n\r\n\r\n\r\n\r\n \r\n } \r\n\r\n \r\n render() {\r\n\r\n\r\n var nombresCompletos = `${this.state.datosUsuario.nombres} ${this.state.datosUsuario.apellidos}`\r\n var username = `${this.state.datosUsuario.username}`\r\n return (\r\n\r\n this.state.navigateCas ? this.validarCAS() :\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

CAMBIO DE CONTRASEÑA

\r\n
\r\n
\r\n

Hola {nombresCompletos}:

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"crearcuenta\"\r\n
\r\n
\r\n

PARA SU CONOCIMIENTO

\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Es importante que su contraseña cumpla con las siguientes reglas:\r\n

\r\n
    \r\n
  • Tener mínimo 10 caracteres y máximo 12.
  • \r\n
  • Tener al menos una letra minúscula.
  • \r\n
  • Tener al menos una letra mayúscula.
  • \r\n
  • Tener al menos un número.
  • \r\n
  • Solo permite lo siguientes caracteres especiales: @ , * , . , _ , -
  • \r\n
  • La contraseña no puede ser similar al usuario: {username}.
  • \r\n
  • La contraseña no puede contener las siguientes palabras: {this.state.nombresRegla }.
  • \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n\r\n
\r\n
\r\n
\r\n
\n\n \n\n\n\n \r\n \r\n \r\n
\r\n GUARDAR\r\n {!this.state.activebutton ?\r\n\r\n \r\n \r\n : null}\r\n
\r\n {/*
*/}\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n {this.state.modalIsOpen&& \r\n \r\n

Contraseña cambiada exitosamente

\r\n
\r\n \"Exitoso\"\r\n
\r\n\r\n

¡Gracias por finalizar el formulario!

\r\n

Ahora puede iniciar sesión

\r\n \r\n
\r\n }\r\n\r\n {this.state.modalError.show &&\r\n \r\n

{this.state.modalError.titulo}

\r\n
\r\n \"Exitoso\"\r\n
\r\n\r\n

{this.state.modalError.mensaje}

\r\n
\r\n }\r\n\t\t\t\t\r\n\r\n
\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default FormCambiarContrasenia\r\n","import React, { Component } from 'react';\r\n// import logo from \"../assets/logo_espol_blanco.svg\";\r\nimport logo from \"../assets/logo_espol_interno.svg\";\r\n\r\nimport \"../css/CambiarContrasenia.css\"\r\nimport FormCambiarContrasenia from './components/FormCambiarContrasenia';\r\nimport axios from 'axios';\r\nimport {Alert} from 'react-bootstrap';\r\nimport Modal from '././components/Modal';\r\nimport equis from \"../assets/eliminar.png\"\r\n\r\n\r\n\r\nexport class CambiarContrasenia extends Component {\r\n\r\n constructor(props){\r\n super(props);\r\n\r\n this.state={\r\n btnSiguiente:false,\r\n datosUsuario:{\r\n correo: \"\",\r\n password: \"\"\r\n },\r\n getDatos:{\r\n token:\"\",\r\n username:\"\",\r\n id:\"\",\r\n rol:\"\",\r\n nombres:\"\",\r\n apellidos:\"\",\r\n correoAlterno:\"\"\r\n },\r\n alert:{\r\n show:false,\r\n titulo:\"\",\r\n mensaje:\"\",\r\n variante:\"\"\r\n },\r\n\t\t\tmodal:{\r\n show:false,\r\n titulo:\"\",\r\n mensaje:\"\",\r\n imagen:\"\"\r\n },\r\n expresiones:{\r\n correo:/^(\\w+[/./-]?){1,}@[a-z]+[/.]\\w{2,}([/.]\\w{2,})?$/,\r\n },\r\n errorSolicitud:{\r\n correo:\"\",\r\n password:\"\",\r\n },\r\n };\r\n \r\n this.cambiarEstadoBoton=this.cambiarEstadoBoton.bind(this);\r\n this.cerrarAlert=this.cerrarAlert.bind(this);\r\n\t\t this.abrirModal=this.abrirModal.bind(this);\r\n this.cerrarModal=this.cerrarModal.bind(this);\r\n\r\n }\r\n\r\n\t\r\n\tabrirModal(){\r\n this.setState({\r\n modal:{\r\n ...this.state.modal,\r\n show:true\r\n }\r\n });\r\n }\r\n\r\n cerrarModal(){\r\n this.setState({\r\n modal:{\r\n titulo:\"\",\r\n mensaje:\"\",\r\n imagen:\"\",\r\n show:false\r\n }\r\n });\r\n //console.log(\"cerrar modal \"+this.state.modal);\r\n }\r\n\r\n cambiarEstadoBoton(){\r\n this.setState({btnSiguiente:true});\r\n //console.log(this.state.btnSiguiente);\r\n }\r\n\r\n handlerLogin=async(e)=>{\r\n await this.setState({\r\n datosUsuario:{\r\n ...this.state.datosUsuario,\r\n [e.target.name]:e.target.value,\r\n }\r\n })\r\n //console.log(this.state.datosUsuario);\r\n this.handlerOnBlur();\r\n\r\n }\r\n\r\n handlerOnBlur=async()=>{\r\n\r\n /*if(this.state.datosUsuario.correo===\"\"){\r\n await this.setState({errorSolicitud:{\r\n ...this.state.errorSolicitud,\r\n correo: \"El campo 'Correo' es requerido\"\r\n }})\r\n }else */\r\n if(!this.state.expresiones.correo.test(this.state.datosUsuario.correo)){\r\n await this.setState({errorSolicitud:{\r\n ...this.state.errorSolicitud,\r\n correo: \"El campo 'Correo' no tiene formato correcto\"\r\n }})\r\n }else{\r\n this.setState({errorSolicitud:{\r\n ...this.state.errorSolicitud,\r\n correo:\"\"\r\n }})\r\n }\r\n\r\n if(this.state.datosUsuario.password===\"\"){\r\n await this.setState({errorSolicitud:{\r\n ...this.state.errorSolicitud,\r\n password: \"El campo 'Contraseña' es requerido\"\r\n }})\r\n }else{\r\n this.setState({errorSolicitud:{\r\n ...this.state.errorSolicitud,\r\n password:\"\"\r\n }})\r\n }\r\n\r\n }\r\n\r\n\r\n \r\n iniciarSesion=async(e)=>{\r\n e.preventDefault();\r\n\r\n let credenciales ={\r\n username:this.state.datosUsuario.correo.split(\"@\")[0],\r\n password:this.state.datosUsuario.password,\r\n correo:this.state.datosUsuario.correo\r\n } \r\n\r\n //console.log(credenciales);\r\n\r\n if(this.state.datosUsuario.correo===\"\"||this.state.datosUsuario.password===\"\"){\r\n this.setState({\r\n alert:{\r\n show:true,\r\n titulo:\"Error en la solicitud\",\r\n mensaje:\"Campos vacios\",\r\n variante:\"danger\"\r\n } \r\n })\r\n //console.log(\"alerta vacios\");\r\n }else{\r\n\r\n await axios.post(`${process.env.REACT_APP_API}api/CuentaUsuario/login`,credenciales)\r\n .then(r=>{\r\n if(r.status===200){\r\n this.setState({\r\n getDatos:{\r\n token:r.data.token,\r\n username:r.data.username,\r\n id:r.data.id,\r\n rol:r.data.persona.rol,\r\n nombres:r.data.persona.nombres,\r\n apellidos:r.data.persona.apellidos,\r\n correoAlterno:r.data.persona.correoAlterno\r\n }\r\n })\r\n this.setearHeader();\r\n this.cambiarEstadoBoton();\r\n\r\n }\r\n //console.log(\"iniciando sesion\");\r\n //console.log(this.state.getDatos);\r\n })\r\n .catch(error=>{\r\n this.setState({\r\n modal:{\r\n show:true,\r\n titulo:\"Error en la solicitud\",\r\n mensaje:\"correo o contraseña ingresada son incorrectos\",\r\n imagen:equis\r\n } \r\n })\r\n console.log(error.message);\r\n })\r\n }\r\n \r\n }\r\n\r\n setearHeader(){\r\n //console.log(\"setear header\");\r\n var token = this.state.getDatos.token;\r\n if (token) {\r\n axios.defaults.headers.common['Authorization'] = `Bearer ${token}`;\r\n } else {\r\n axios.defaults.headers.common['Authorization'] = null;\r\n }\r\n }\r\n\r\n cerrarAlert(){\r\n this.setState({\r\n alert:{\r\n show:false,\r\n titulo:\"\",\r\n mensaje:\"\"}\r\n });\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n\r\n
\r\n {\r\n this.state.alert.show&&\r\n \r\n {this.state.alert.titulo}\r\n

\r\n {this.state.alert.mensaje}\r\n

\r\n
\r\n }\r\n\r\n {this.state.btnSiguiente?\r\n \r\n\r\n :(\r\n
\r\n
\r\n
\r\n \"Logo\r\n\t\t\t\t\t\t\t

Cambio de Contraseña

\r\n
\r\n
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t

Recuerde

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • » Para realizar el cambio de contraseña ingrese su correo y contraseña de la cuenta electrónica de ESPOL.
  • \r\n\t\t\t\t\t\t\t\t
  • » Si usted ha olvidado su contraseña ingrese a ¿Olvidó su contraseña?
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{this.state.modal.show&& \r\n \r\n

{this.state.modal.titulo}

\r\n
\r\n \"Error\"\r\n
\r\n\r\n

{this.state.modal.mensaje}

\r\n \r\n
}\r\n
\r\n\r\n
\r\n
)}\r\n
\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default CambiarContrasenia\r\n","import React, { Component } from 'react'\r\nimport \"../css/OlvidoContrasenia.css\";\r\nimport equis from \"../assets/eliminar.png\"\r\nimport check from '../assets/check.png';\r\n\r\nimport Modal from '././components/Modal';\r\nimport ModalXL from \"././components/ModalXL\";\r\nimport { useEffect, useState } from 'react';\r\n\r\nimport axios from 'axios';\r\nimport Header from '../pages/components/Header.js'\r\nimport Footer from '../pages/components/Footer.js'\r\nimport { Navigate } from 'react-router-dom';\r\n\r\nexport class OlvidoContrasenia extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n verFormOlvidoContra: false,\r\n verModalOlvidoContra: false,\r\n modalCheck: false,\r\n loading: false,\r\n activebutton: true,\r\n datosUsuario: {\r\n identificacion: \"\",\r\n correoIngresado: \"\",\r\n\r\n },\r\n modalMessage: {\r\n show: false,\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\"\r\n },\r\n\r\n getDatos: {\r\n id: 0,\r\n nombres: \"\",\r\n apellidos: \"\",\r\n correoAlterno: \"\",\r\n\r\n },\r\n modal: {\r\n show: false,\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\"\r\n },\r\n correoOculto: \"\",\r\n expresiones: {\r\n /*cedula:/^[\\d]{10}$/,*/\r\n cedula: /^[a-zA-Z0-9._]{4,10}$/,\r\n\r\n },\r\n errorDatosUsuario: {\r\n },\r\n errorCorreoIngresado: {\r\n },\r\n renderNavigateLogin: false,\r\n };\r\n\r\n //this.renderFormOlvidoContra=this.renderFormOlvidoContra.bind(this);\r\n\r\n this.abrirModal = this.abrirModal.bind(this);\r\n this.cerrarModal = this.cerrarModal.bind(this);\r\n\r\n this.abrirModalError = this.abrirModalError.bind(this);\r\n this.cerrarModalError = this.cerrarModalError.bind(this);\r\n\r\n this.abrirModalOlvidoContra = this.abrirModalOlvidoContra.bind(this);\r\n this.cerrarModalOlvidoContra = this.cerrarModalOlvidoContra.bind(this);\r\n\r\n this.abrirModaCheck = this.abrirModaCheck.bind(this);\r\n this.cerrarModalCheck = this.cerrarModalCheck.bind(this);\r\n\r\n this.setonloading = this.setonloading.bind(this);\r\n this.setoffloading = this.setoffloading.bind(this);\r\n\r\n }\r\n\r\n setonloading() {\r\n this.setState({ loading: true });\r\n }\r\n\r\n\r\n setoffloading() {\r\n this.setState({ loading: false });\r\n }\r\n\r\n abrirModalError() {\r\n this.setState({\r\n modalMessage: {\r\n ...this.state.modalMessage,\r\n show: true\r\n }\r\n });\r\n }\r\n\r\n cerrarModalError() {\r\n this.setState({\r\n modalMessage: {\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\",\r\n show: false\r\n }\r\n });\r\n //console.log(\"cerrar modal \" + this.state.modalMessage);\r\n }\r\n\r\n\r\n abrirModaCheck() {\r\n this.setState({ modalCheck: true });\r\n }\r\n\r\n cerrarModalCheck() {\r\n this.setState({ modalCheck: false });\r\n this.setState({ renderNavigateLogin: true })\r\n }\r\n\r\n abrirModalOlvidoContra() {\r\n this.setState({ verModalOlvidoContra: true });\r\n\r\n }\r\n\r\n cerrarModalOlvidoContra() {\r\n this.props.callTagManager(\"click-btn-cancelar-sol-olvido-contrasena\");\r\n this.setState({ verModalOlvidoContra: false });\r\n\r\n }\r\n\r\n abrirModal() {\r\n this.setState({\r\n modal: {\r\n ...this.state.modal,\r\n show: true\r\n }\r\n });\r\n }\r\n\r\n cerrarModal() {\r\n this.setState({\r\n modal: {\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\",\r\n show: false\r\n }\r\n });\r\n //console.log(\"cerrar modal \"+this.state.modal);\r\n }\r\n\r\n postEnviarCorreo = async () => {\r\n this.props.callTagManager(\"click-btn-enviar-sol-olvido-contrasena\");\r\n this.setonloading();\r\n this.setState({ activebutton: false });\r\n\r\n\r\n window.grecaptcha.ready(() => {\r\n window.grecaptcha.execute(process.env.REACT_APP_CAPTCHAKEY, { action: 'submit' }).then(token => {\r\n var datos = {\r\n personaId: this.state.getDatos.id,\r\n correo: this.state.datosUsuario.correoIngresado,\r\n tokencapt: token\r\n }\r\n axios.post(`${process.env.REACT_APP_API}api/CuentaUsuario/verificaremail`, datos)\r\n .then(resp => {\r\n if (resp.status === 200) {\r\n this.abrirModaCheck();\r\n //console.log(\"pots enviar correo\");\r\n }\r\n\r\n }).catch(error => {\r\n this.setState({\r\n modalMessage: {\r\n show: true,\r\n titulo: \"Error en la solicitud\",\r\n mensaje: error.response.data.errorMessage,\r\n imagen: equis\r\n }\r\n })\r\n })\r\n this.setoffloading();\r\n this.setState({ activebutton: true });\r\n });\r\n });\r\n\r\n\r\n\r\n\r\n /*var datos = {\r\n personaId: this.state.getDatos.id,\r\n correo: this.state.datosUsuario.correoIngresado\r\n }*/\r\n\r\n \r\n }\r\n\r\n\r\n\r\n componentWillMount() {\r\n this.useEffect();\r\n }\r\n\r\n useEffect = () => {\r\n const loadScriptByURL = (id, url, callback) => {\r\n const isScriptExist = document.getElementById(id);\r\n\r\n if (!isScriptExist) {\r\n var script = document.createElement(\"script\");\r\n script.type = \"text/javascript\";\r\n script.src = url;\r\n script.id = id;\r\n script.onload = function () {\r\n if (callback) callback();\r\n };\r\n document.body.appendChild(script);\r\n }\r\n\r\n if (isScriptExist && callback) callback();\r\n }\r\n //console.log(`${process.env.REACT_APP_CAPTCHAKEY}`);\r\n // load the script by passing the URL\r\n loadScriptByURL(\"recaptcha-key\", `https://www.google.com/recaptcha/api.js?render=${process.env.REACT_APP_CAPTCHAKEY}`, function () {\r\n //console.log(\"Script loaded!\");\r\n });\r\n };\r\n\r\n renderFormOlvidoContra = async (e) => {\r\n this.props.callTagManager(\"click-btn-verificar-olvido-contrasena\");\r\n this.setonloading();\r\n this.setState({ activebutton: false });\r\n\r\n e.preventDefault();\r\n //var identificacion = this.state.datosUsuario.identificacion;\r\n // console.log(window.grecaptcha);\r\n window.grecaptcha.ready(() => {\r\n window.grecaptcha.execute(process.env.REACT_APP_CAPTCHAKEY, { action: 'submit' }).then(token => {\r\n var datos = {\r\n identificacion: this.state.datosUsuario.identificacion,\r\n tokencapt: token\r\n }\r\n axios.post(`${process.env.REACT_APP_API}api/Persona/cuenta`, datos)\r\n .then(resp => {\r\n if (resp.data.success) {\r\n let correoAlterno_temp = resp.data.persona.correoalterno;\r\n if (correoAlterno_temp == \"0\" || correoAlterno_temp == \"\") {\r\n this.setState({\r\n modal: {\r\n show: true,\r\n titulo: \"Error en la solicitud\",\r\n mensaje: En caso de NO tener actualizado el correo alterno o los datos presentados son incorrectos, puede comunicarse de lunes a viernes de 8h00 a 16h00 al teléfono (+593) 42269256 o escribir al siguiente correo:\r\n gerenciatecnologia@espol.edu.ec\r\n ,\r\n imagen: equis\r\n }\r\n });\r\n } else {\r\n this.setState({\r\n getDatos: {\r\n id: resp.data.persona.idsccepersona,\r\n nombres: resp.data.persona.nombres,\r\n apellidos: resp.data.persona.apellidos,\r\n correoAlterno: resp.data.persona.correoalterno,\r\n }\r\n });\r\n this.ocultarCorreo();\r\n this.setState({ verModalOlvidoContra: true });\r\n\r\n\r\n }\r\n } else {\r\n //console.log(\"no entra\");\r\n\r\n this.setState({\r\n modal: {\r\n show: true,\r\n titulo: \"Error en la solicitud\",\r\n mensaje: \"Usuario no tiene una cuenta creada.\",\r\n imagen: equis\r\n }\r\n })\r\n }\r\n //console.log(\"fuera\");\r\n this.setoffloading();\r\n this.setState({ activebutton: true });\r\n\r\n\r\n }).catch(error => {\r\n //console.log(error.message);\r\n this.setState({\r\n modal: {\r\n show: true,\r\n titulo: \"Error en la solicitud\",\r\n mensaje: error.response.data.errorMessage,\r\n imagen: equis\r\n }\r\n })\r\n this.setoffloading();\r\n this.setState({ activebutton: true });\r\n\r\n })\r\n\r\n\r\n\r\n });\r\n });\r\n\r\n \r\n\r\n }\r\n\r\n ocultarCorreo() {\r\n var correo = this.state.getDatos.correoAlterno;\r\n var username = correo.split(\"@\")[0];\r\n var dominiocomp = correo.split(\"@\")[1];\n var dominio_nomb = dominiocomp.split(\".\")[0];\n var dominio_ext = dominiocomp.split(\".\")[1];\n\r\n var tamano_username = username.length;\r\n var asteriscos = \"*\".repeat(tamano_username - 3)\n\n var tamano_dominio_nomb = dominio_nomb.length;\n var tamano_dominio_nombult = dominio_nomb.length-1;\r\n\r\n var asteriscos_dominio = \"*\".repeat(tamano_dominio_nomb - 2)\n\r\n //console.log(`${username.substring(0,3)}${asteriscos}`);\r\n var correoOculto = `${username.substring(0, 3)}${asteriscos}@${dominiocomp}`;\r\n\n //var correoOculto = `${username.substring(0, 3)}${asteriscos}@${tamano_dominio_nomb.substring(0, 1)}${asteriscos_dominio}${tamano_dominio_nomb.substring({ tamano_dominio_nombult })}.${dominio_ext}`;\n this.setState({ correoOculto: correoOculto })\r\n\r\n\r\n\r\n }\r\n\r\n handlerDatos = async (e) => {\r\n await this.setState({\r\n datosUsuario: {\r\n ...this.state.datosUsuario,\r\n [e.target.name]: e.target.value,\r\n }\r\n })\r\n //console.log(this.state.datosUsuario);\r\n\r\n this.handlerOnBlur();\r\n this.handleCorreIngresado();\r\n }\r\n\r\n\r\n handleCorreIngresado = async () => {\r\n //console.log(this.state.datosUsuario.correoIngresado);\r\n //console.log(this.state.getDatos.correoAlterno);\r\n if (this.state.datosUsuario.correoIngresado != this.state.getDatos.correoAlterno) {\r\n await this.setState({\r\n errorCorreoIngresado: {\r\n ...this.state.errorCorreoIngresado,\r\n correoIngresado: \"El correo debe coincidir con el correo oculto\"\r\n }\r\n })\r\n } else {\r\n this.setState({\r\n errorCorreoIngresado: {\r\n ...this.state.errorCorreoIngresado,\r\n correoIngresado: \"\"\r\n }\r\n })\r\n }\r\n }\r\n\r\n handlerOnBlur = async () => {\r\n\r\n if (!this.state.expresiones.cedula.test(this.state.datosUsuario.identificacion)) {\r\n await this.setState({\r\n errorDatosUsuario: {\r\n ...this.state.errorDatosUsuario,\r\n identificacion: \"Identificacion debe tener al menos 4 caracteres\"\r\n }\r\n })\r\n } else {\r\n this.setState({\r\n errorDatosUsuario: {\r\n ...this.state.errorDatosUsuario,\r\n identificacion: \"\"\r\n }\r\n })\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n this.state.renderNavigateLogin ? :\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Olvidó su contraseña

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n {this.state.errorDatosUsuario.identificacion &&\r\n

{this.state.errorDatosUsuario.identificacion}

\r\n }\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n VERIFICAR\r\n \r\n {!this.state.activebutton ?\r\n \r\n : null}\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {this.state.verModalOlvidoContra &&\r\n \r\n

Hola {this.state.getDatos.nombres} {this.state.getDatos.apellidos}

\r\n

En caso de no tener actualizado el correo alterno o los datos presentados son incorrectos, puede comunicarse de lunes a viernes de 8h00 a 16h00 al teléfono (+593) 42269256 o escribir al siguiente correo:\r\n gerenciatecnologia@espol.edu.ec\r\n

\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n {this.state.errorCorreoIngresado.correoIngresado &&\r\n

{this.state.errorCorreoIngresado.correoIngresado}

\r\n }\r\n\r\n

Verificar su nueva contraseña en su correo electrónico para culminar el proceso

\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n {!this.state.activebutton ?\r\n
\r\n\r\n \r\n
\r\n : null}\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n
}\r\n {this.state.modal.show &&\r\n \r\n

{this.state.modal.titulo}

\r\n
\r\n \"Error\"\r\n
\r\n\r\n

{this.state.modal.mensaje}

\r\n\r\n\r\n
\r\n }\r\n {this.state.modalMessage.show &&\r\n \r\n

{this.state.modalMessage.titulo}

\r\n
\r\n \"Exitoso\"\r\n
\r\n\r\n

{this.state.modalMessage.mensaje}

\r\n
}\r\n\r\n\r\n {this.state.modalCheck && \r\n

Formulario enviado

\r\n
\r\n \"Exitoso\"\r\n
\r\n
\r\n\r\n

¡Gracias por finalizar el formulario!

\r\n

Le llegará a su correo alterno mayor información para continuar con el proceso del reinicio de su contraseña.

\r\n
\r\n }\r\n\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default OlvidoContrasenia\r\n","import React, { Component } from 'react'\r\n//import avatar from \"../../assets/avatar.png\";\r\nimport {Link} from \"react-router-dom\";\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faUserCircle, faUsersCog, faUserFriends } from '@fortawesome/free-solid-svg-icons';\r\nimport \"../../css/admin/SideBar.css\";\r\nimport { memo } from 'react';\r\n\r\nexport class SideBar extends Component {\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n {/*\"Avatar\"*/}\r\n
\r\n

{this.props.nombres}

\r\n

{this.props.cedula}

\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n Usuario\r\n
  • \r\n
  • \r\n \r\n Solicitudes
  • \r\n
  • \r\n \r\n Grupos
  • \r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default memo(SideBar);\r\n","import React, { Component } from 'react';\r\n\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faWindowClose,faTimesCircle, faCheckCircle } from '@fortawesome/free-solid-svg-icons';\r\nimport \"../../css/admin/ModalAdminEliminar.css\";\r\n\r\nexport class ModalAdminEliminar extends Component {\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n {this.props.children}\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default ModalAdminEliminar\r\n","import React, { Component } from 'react'\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faWindowClose,faTimesCircle, faCheckCircle } from '@fortawesome/free-solid-svg-icons';\r\nimport logo from \"../../assets/logo_espol_interno.svg\";\r\nimport \"../../css/admin/ModalUserForm.css\";\r\n\r\nexport class ModalUserForm extends Component {\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \"Logo\r\n \r\n

{this.props.tituloHeader}

\r\n
\r\n
\r\n \r\n {this.props.children}\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default ModalUserForm\r\n","export default __webpack_public_path__ + \"static/media/logo_espol_blanco_mr.29b9d02d.svg\";","import React, { Component } from 'react';\r\nimport '../../css/admin/HeaderAdmin.css';\r\nimport logo from \"../../assets/logo_espol_blanco_mr.svg\";\r\nimport { memo } from 'react';\r\n\r\nexport class HeaderAdmin extends Component {\r\n render() {\r\n //console.log(\"render de headeradmin\"); \r\n\r\n return (\r\n
\r\n
\r\n
\r\n \"Logo\r\n
\r\n
\r\n
\r\n {this.props.nombresCompletos}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default memo(HeaderAdmin);\r\n","export default __webpack_public_path__ + \"static/media/acceso.023b0637.svg\";","export default __webpack_public_path__ + \"static/media/home.ab563052.svg\";","import React, { Component } from 'react';\r\nimport acceso from \"../../assets/acceso.svg\";\r\nimport home from \"../../assets/home.svg\";\r\nimport cerrar from \"../../assets/cerrarSesion.svg\";\r\nimport '../../css/admin/NavBarInfo.css';\r\nimport { memo } from 'react';\r\n\r\nexport class NavBarInfo extends Component {\r\n\r\n constructor(props){\r\n super(props);\r\n \r\n this.state={\r\n inicioSesion:\"\",\r\n }\r\n this.fechaActual=this.fechaActual.bind(this);\r\n\r\n }\r\n\r\n fechaActual(){\r\n var tiempoTranscurrido = Date.now()\r\n var hoy = new Date(tiempoTranscurrido)\r\n this.setState({inicioSesion: hoy.toLocaleDateString()});\r\n }\r\n\r\n componentDidMount(){\r\n this.fechaActual();\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default memo(NavBarInfo);\r\n","import React, { Component } from 'react';\r\nimport '../../css/admin/ComponenteSpinner.css';\r\nimport {Spinner} from 'react-bootstrap';\r\nimport { memo } from 'react';\r\n\r\nexport class ComponenteSpinner extends Component {\r\n render() {\r\n\r\n return (\r\n
\r\n \r\n \r\n Cargando...\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default memo(ComponenteSpinner);\r\n","import React, { Component } from 'react'\r\nimport \"../css/admin/AdminUsuarios.css\";\r\nimport equis from \"../assets/eliminar.png\"\r\nimport check from \"../assets/check.png\";\r\nimport axios from \"axios\";\r\nimport SideBar from './adminComponents/SideBar';\r\nimport Modal from './components/Modal';\r\nimport ModalAdminEliminar from './adminComponents/ModalAdminEliminar';\r\nimport ModalUserForm from './adminComponents/ModalUserForm';\r\nimport HeaderAdmin from './adminComponents/HeaderAdmin';\r\nimport { Navigate } from 'react-router-dom';\r\nimport Cookies from 'js-cookie';\r\nimport NavBarInfo from './adminComponents/NavBarInfo';\r\nimport { ComponenteSpinner } from './adminComponents/ComponenteSpinner';\r\nimport jwt from 'jwt-decode'\r\n/*import MaterialTable, { MaterialTableProps } from 'material-table';*/\r\nimport MaterialTable, { Column } from \"@material-table/core\";\r\n\r\n\r\nexport class AdminUsuarios extends Component {\r\n\r\n constructor(props){\r\n super(props);\r\n \r\n this.state={\r\n modalIsOpen:false,\r\n modalEliminar:false,\r\n modalVer:false,\r\n usuarios:[],\r\n datosUsuario:{\r\n nombres:\"\",\r\n apellidos:\"\",\r\n identificacion:\"\",\r\n rol:\"\"\r\n },\r\n columnas:[\r\n {\r\n title:\"#\",\r\n field:\"idsccecuentausuario\",\r\n },\r\n {\r\n title:\"Nombres\",\r\n field:\"idsccepersonaNavigation.nombres\",\r\n },\r\n {\r\n title:\"Apellidos\",\r\n field:\"idsccepersonaNavigation.apellidos\",\r\n \r\n },\r\n {\r\n title:\"Usuarios\",\r\n field:\"username\",\r\n \r\n },\r\n {\r\n title:\"Correo\",\r\n field:\"idsccepersonaNavigation.correoalterno\",\r\n \r\n }\r\n ],\r\n acciones:[\r\n rowData=> ({\r\n icon:'edit',\r\n iconProps: { style: {color: \"#767E9F\" } },\r\n onClick: (event, rowData) => this.abrirModalEditarPersona(rowData)\r\n }),\r\n rowData=> ({\r\n icon:'delete',\r\n iconProps: { style: {color: \"#767E9F\" } },\r\n onClick: (event, rowData) => this.abrirModalEliminarPersona(rowData)\r\n\r\n })\r\n \r\n ],\r\n editarUsuario:{\r\n id:0,\r\n nombres:\"\",\r\n apellidos:\"\",\r\n usuario:\"\",\r\n telefono:\"\",\r\n correoAlterno:\"\",\r\n rol:\"\",\r\n unidad:\"\",\r\n alias:\"\",\r\n estado:1\r\n },\r\n modal:{\r\n show:false,\r\n titulo:\"\",\r\n mensaje:\"\",\r\n imagen:\"\"\r\n },\r\n cerrarSesion:false,\r\n loading:true,\r\n };\r\n\r\n this.abrirModalEditarPersona=this.abrirModalEditarPersona.bind(this);\r\n this.cerrarModalEditarPersona=this.cerrarModalEditarPersona.bind(this);\r\n this.handlerEditarPersona=this.handlerEditarPersona.bind(this);\r\n this.abrirModalEliminarPersona=this.abrirModalEliminarPersona.bind(this);\r\n this.cerrarModalEliminarPersona=this.cerrarModalEliminarPersona.bind(this);\r\n this.abrirModal=this.abrirModal.bind(this);\r\n this.cerrarModal=this.cerrarModal.bind(this);\r\n }\r\n\r\n abrirModal(){\r\n this.setState({\r\n modal:{\r\n ...this.state.modal,\r\n show:true\r\n }\r\n });\r\n }\r\n\r\n cerrarModal(){\r\n this.setState({\r\n modal:{\r\n titulo:\"\",\r\n mensaje:\"\",\r\n imagen:\"\",\r\n show:false\r\n }\r\n });\r\n //console.log(\"cerrar modal \"+this.state.modal);\r\n }\r\n\r\n abrirModalEditarPersona(rowData){\r\n this.traerDatosPersona(rowData);\r\n this.setState({modalIsOpen:true});\r\n }\r\n\r\n cerrarModalEditarPersona(){\r\n this.setState({modalIsOpen:false});\r\n // console.log(\"cerrar modal \"+this.state.modalIsOpen);\r\n }\r\n\r\n abrirModalEliminarPersona(rowData){\r\n this.setState({modalEliminar:true});\r\n this.traerDatosEliminarPersona(rowData);\r\n }\r\n\r\n cerrarModalEliminarPersona(){\r\n this.setState({modalEliminar:false});\r\n // console.log(\"cerrar modal eliminar\"+this.state.modalEliminar);\r\n }\r\n\r\n traerDatosPersona = async (rowData) => {\r\n \r\n await this.setState({\r\n editarUsuario:{\r\n ...this.state.editarUsuario,\r\n id:rowData.idsccepersonaNavigation.idsccepersona,\r\n nombres: rowData.idsccepersonaNavigation.nombres,\r\n apellidos: rowData.idsccepersonaNavigation.apellidos,\r\n telefono: rowData.idsccepersonaNavigation.telefono,\r\n usuario:rowData.username,\r\n correoAlterno: rowData.idsccepersonaNavigation.correoalterno,\r\n rol: rowData.idsccepersonaNavigation.rol,\r\n unidad: rowData.idsccepersonaNavigation.unidad,\r\n alias: rowData.alias,\r\n identificacion: rowData.idsccepersonaNavigation.identificacion,\r\n }\r\n })\r\n //console.log(\"traer datos\");\r\n //console.log(this.state.editarUsuario);\r\n }\r\n \r\n handlerEditarPersona=async(e)=>{\r\n //e.persist();\r\n await this.setState({\r\n editarUsuario:{\r\n ...this.state.editarUsuario,\r\n [e.target.name]:e.target.value\r\n }\r\n })\r\n //console.log(this.state.editarUsuario);\r\n }\r\n\r\n postEditarPersona=async(e)=>{\r\n e.preventDefault()\r\n\r\n var editarPersona= {\r\n ...this.state.editarUsuario,\r\n //identificacion:this.state.datosUsuario.identificacion\r\n }\r\n\r\n /*console.log(\"editar persona\");\r\n console.log(editarPersona);*/\r\n await axios.put(`${process.env.REACT_APP_API}api/Persona/${editarPersona.id}`,editarPersona)\r\n .then(resp=>{\r\n if(resp.status===200){\r\n this.getUsuarios();\r\n this.cerrarModalEditarPersona();\r\n this.setState({\r\n modal:{\r\n show:true,\r\n titulo:\"Usuario modificado\",\r\n mensaje:\"Usuario editado con éxito.\",\r\n imagen:check\r\n }\r\n })\r\n }\r\n }).catch(error=>{\r\n this.setState({\r\n modal: {\r\n show: true,\r\n titulo: \"Error al guardar la solicitud\",\r\n mensaje: \"Existe un problema al guardara la solicitud. Por favor, intentarlo mas tarde.\",\r\n imagen: equis,\r\n }\r\n });\r\n\r\n })\r\n }\r\n\r\n traerDatosEliminarPersona=async(rowData)=>{\r\n await this.setState({\r\n editarUsuario:{\r\n id: rowData.idsccecuentausuario,\r\n nombres: rowData.idsccepersonaNavigation.nombres,\r\n apellidos: rowData.idsccepersonaNavigation.apellidos,\r\n telefono: rowData.idsccepersonaNavigation.telefono,\r\n usuario:rowData.username,\r\n correoAlterno: rowData.idsccepersonaNavigation.correoalterno,\r\n rol: rowData.idsccepersonaNavigation.rol,\r\n unidad: rowData.idsccepersonaNavigation.unidad,\r\n alias:rowData.alias,\r\n estado:0\r\n }\r\n })\r\n //console.log(\"traer datos eliminar persona\");\r\n //console.log(this.state.editarUsuario);\r\n }\r\n\r\n postEliminarPersona=async(e)=>{\r\n e.preventDefault()\r\n \r\n var eliminarPersona = {\r\n username:this.state.editarUsuario.usuario,\r\n alias:this.state.editarUsuario.alias,\r\n isActive:false,\r\n }\r\n var id=this.state.editarUsuario.id;\r\n \r\n await axios.put(`${process.env.REACT_APP_API}api/CuentaUsuario/${id}`,eliminarPersona)\r\n .then(resp=>{\r\n if(resp.status===200){\r\n this.getUsuarios();\r\n this.cerrarModalEliminarPersona();\r\n this.setState({\r\n modal:{\r\n show:true,\r\n titulo:\"Usuario eliminado\",\r\n mensaje:\"Usuario eliminado con éxito.\",\r\n imagen:check\r\n }\r\n })\r\n }\r\n }).catch(error=>{\r\n // console.log(error.message);\r\n })\r\n }\r\n\r\n getUsuarios=async()=>{\r\n \r\n await axios.get(`${process.env.REACT_APP_API}api/CuentaUsuario`)\r\n .then(response=>{\r\n this.setState({\r\n usuarios: response.data,\r\n loading: false\r\n });\r\n }).catch(error=>{\r\n //console.log(error.message);\r\n })\r\n //console.log(this.state.usuarios);\r\n }\r\n\r\n \r\n cerrarSesion=async()=>{\r\n this.props.setValue(false);\r\n Cookies.remove(\"nombres\");\r\n Cookies.remove(\"apellidos\");\r\n Cookies.remove(\"identificacion\");\r\n Cookies.remove(\"token\");\r\n Cookies.remove(\"rol\");\r\n Cookies.remove(\"username\");\r\n Cookies.remove(\"DatosPersonalesGIA.CAS\");\r\n Cookies.remove(\"id\");\r\n Cookies.remove(\"correoAlterno\");\r\n Cookies.remove(\"Nombre\");\r\n\r\n\r\n this.setState({cerrarSesion:true});\r\n //console.log(\"cerrando sesion\");\r\n }\r\n\r\n componentDidMount() {\r\n var token = Cookies.get(\"token\");\r\n var tokendecode = jwt(token);\r\n this.state.datosUsuario.nombres = tokendecode[\"Nombres\"];\r\n this.state.datosUsuario.apellidos = tokendecode[\"Apellidos\"];\r\n\r\n this.setState({\r\n datosUsuario:{\r\n nombres: tokendecode[\"Nombres\"],\r\n apellidos: tokendecode[\"Apellidos\"],\r\n \r\n }\r\n });\r\n this.setearHeader();\r\n //this.fechaActual();\r\n this.getUsuarios();\r\n }\r\n\r\n setearHeader(){\r\n //console.log(\"setear header\");\r\n var token = Cookies.get(\"token\")\r\n if (token) {\r\n axios.defaults.headers.common['Authorization'] = `Bearer ${token}`;\r\n } else {\r\n axios.defaults.headers.common['Authorization'] = null;\r\n \r\n }\r\n }\r\n\r\n render() {\r\n var nombresCompletos=`${this.state.datosUsuario.nombres} ${this.state.datosUsuario.apellidos}`\r\n var identificacion=this.state.datosUsuario.identificacion;\r\n\r\n return (\r\n this.state.cerrarSesion? :\r\n this.state.loading ? \r\n :\r\n (
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n

Usuario

\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {this.state.modalIsOpen&&\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
}\r\n\r\n {this.state.modalEliminar&&\r\n \r\n

Desactivar cuenta

\r\n
\r\n \"Eliminar\"\r\n
\r\n \r\n

¿Está seguro que desea desactivar esta cuenta?

\r\n

Esta acción no podrá deshacerse

\r\n \r\n
\r\n }\r\n\r\n {this.state.modal.show&& \r\n \r\n

{this.state.modal.titulo}

\r\n
\r\n \"Error\"\r\n
\r\n\r\n

{this.state.modal.mensaje}

\r\n \r\n
\r\n }\r\n\r\n \r\n
\r\n )\r\n )\r\n }\r\n \r\n}\r\n\r\nexport default AdminUsuarios\r\n","\r\n\r\nimport WebCam from \"react-webcam\"\r\nimport React, { useRef, useState, useEffect, Component, createRef } from \"react\"\r\nimport \"../css/Camara.css\"\r\nimport axios from 'axios';\r\nimport equis from \"../assets/eliminar.png\"\r\nimport { Spinner } from 'react-bootstrap';\r\n\r\n\r\nclass camara extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n imgSrc: \"\",\r\n showImg: false,\r\n showerr: false,\r\n loading: false,\r\n\r\n }\r\n this.captureImage = this.captureImage.bind(this);\r\n this.Volver = this.Volver.bind(this);\r\n this.Guardar = this.Guardar.bind(this);\r\n this.setonloading = this.setonloading.bind(this);\r\n this.setoffloading = this.setoffloading.bind(this);\r\n }\r\n\r\n\r\n setonloading() {\r\n this.setState({ loading: true });\r\n }\r\n\r\n\r\n setoffloading() {\r\n this.setState({ loading: false });\r\n }\r\n\r\n componentDidMount() {\r\n this.getStream().then(this.getDevices).then(this.gotDevices)\r\n }\r\n\r\n componentDidUpdate() {\r\n if (!this.state.showImg && !this.state.showerr) {\r\n\r\n this.getStream().then(this.getDevices).then(this.gotDevices)\r\n }\r\n }\r\n\r\n getDevices = async () => {\r\n return await navigator.mediaDevices.enumerateDevices();\r\n }\r\n\r\n gotDevices(deviceInfos) {\r\n var videoSelect = document.getElementById('videoSource');\r\n try {\r\n window.deviceInfos = deviceInfos; // make available to console\r\n console.log('Available input and output devices:', deviceInfos);\r\n for (const deviceInfo of deviceInfos) {\r\n const option = document.createElement('option');\r\n option.value = deviceInfo.deviceId;\r\n if (deviceInfo.kind === 'videoinput') {\r\n option.text = deviceInfo.label || `Camera ${videoSelect.length + 1}`;\r\n videoSelect.appendChild(option);\r\n\r\n\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n\r\n }\r\n \r\n }\r\n\r\n getStream() {\r\n \r\n var videoSelect = document.getElementById('videoSource');\r\n if (window.stream) {\r\n window.stream.getTracks().forEach(track => {\r\n track.stop();\r\n });\r\n }\r\n const videoSource = videoSelect.value;\r\n const constraints = {\r\n video: { deviceId: videoSource ? { exact: videoSource } : undefined }\r\n };\r\n return navigator.mediaDevices.getUserMedia(constraints).\r\n then(this.gotStream).catch(this.handleError);\r\n \r\n \r\n }\r\n\r\n gotStream(stream) {\r\n try {\r\n var videoSelect = document.getElementById('videoSource');\r\n var videoElement = document.getElementById('videoCam')\r\n\r\n window.stream = stream; // make stream available to console\r\n videoSelect.selectedIndex = [...videoSelect.options].\r\n findIndex(option => option.text === stream.getVideoTracks()[0].label);\r\n videoElement.srcObject = stream;\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n \r\n\r\n }\r\n\r\n handleError(error) {\r\n console.error('Error: ', error);\r\n }\r\n\r\n captureImage() {\r\n\r\n var videoElement = document.getElementById('videoCam')\r\n let canvas = document.createElement('canvas');\r\n\r\n canvas.width = 1920;\r\n canvas.height = 1080;\r\n let ctx = canvas.getContext('2d');\r\n ctx.drawImage(videoElement, 0, 0, canvas.width, canvas.height);\r\n let image = canvas.toDataURL('image/jpeg');\r\n this.setState({ imgSrc: image })\r\n this.setState({ showImg: true })\r\n this.setState({ showerr: false })\r\n //this.setState({ showImg: true })\r\n }\r\n\r\n Volver() {\r\n this.setState({ showImg: false });\r\n this.setState({ setshowerr: false });\r\n }\r\n\r\n Guardar() {\r\n this.setonloading();\r\n var solicitud = {\r\n foto: this.state.imgSrc,\r\n }\r\n\r\n axios.post(`${process.env.REACT_APP_API}api/Solicitud/imagen/rostro`, solicitud).then(res => {\r\n if (res.status == 200) {\r\n this.props.imgRostro(this.state.imgSrc);\r\n this.setoffloading();\r\n\r\n }\r\n }).catch(error => {\r\n\r\n this.setState({ imgSrc: null })\r\n this.setState({ showImg: false })\r\n this.setState({ showerr: true })\r\n this.setoffloading();\r\n\r\n //this.props.imgRostro(this.state.imgSrc);\r\n //this.setState({ imgSrc: image })\r\n //this.setState({ showImg: true })\r\n })\r\n\r\n //this.setState({ showImg: false })\r\n //this.setState({ setshowerr: false })\r\n //\r\n }\r\n\r\n \r\n \r\n\r\n render() {\r\n return (\r\n\r\n this.state.showImg && !this.state.showerr ?\r\n
\r\n
\r\n

Foto Tomada

\r\n
\r\n

¿Está de acuerdo con la fotografía tomada?

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {this.state.loading ?\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n Cargando...\r\n\r\n
\r\n
\r\n
\r\n :
\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n
\r\n Cargando...\r\n\r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n : !this.state.showImg && !this.state.showerr ?\r\n
\r\n\r\n
\r\n

Foto del Rostro

\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n\r\n

*Procure tomar la fotografia en un lugar iluminado

\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n :!this.state.showImg && this.state.showerr ?\r\n
\r\n

Error en la Solicitud

\r\n
\r\n \"Error\"\r\n
\r\n

La fotografia tomada no es aceptable, procure que se vea el rostro completo.

\r\n
: null\r\n\r\n \r\n )\r\n }\r\n\r\n}\r\n\r\nexport default camara;\r\n\r\n\r\n\r\n\r\n","import \"../../css/admin/ModalAdmin.css\";\r\nimport React, { Component } from 'react'\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faWindowClose,faTimesCircle, faCheckCircle } from '@fortawesome/free-solid-svg-icons';\r\nimport logo from \"../../assets/logo_espol_interno.svg\";\r\n\r\n\r\nexport class ModalAdmin extends Component {\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \"Logo\r\n \r\n

{this.props.tituloHeader}

\r\n
\r\n
\r\n \r\n {this.props.children}\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default ModalAdmin\r\n","import React, { Component } from 'react'\r\nimport \"../css/admin/AdminGrupos.css\";\r\nimport equis from \"../assets/eliminar.png\";\r\nimport check from \"../assets/check.png\";\r\nimport ModalAdmin from './adminComponents/ModalAdmin';\r\nimport SideBar from './adminComponents/SideBar';\r\nimport Modal from './components/Modal';\r\nimport HeaderAdmin from './adminComponents/HeaderAdmin';\r\nimport NavBarInfo from './adminComponents/NavBarInfo';\r\nimport { ComponenteSpinner } from './adminComponents/ComponenteSpinner';\r\nimport { Navigate } from 'react-router-dom';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faUsers } from '@fortawesome/free-solid-svg-icons';\r\nimport Select from 'react-select';\r\nimport Cookies from 'js-cookie';\r\n/*import MaterialTable from \"material-table\";*/\r\nimport MaterialTable, { Column } from \"@material-table/core\";\r\n\r\nimport axios from \"axios\";\r\nimport jwt from 'jwt-decode'\r\n\r\n\r\nexport class AdminGrupos extends Component {\r\n constructor(props){\r\n super(props);\r\n this.state={\r\n arrayGetGrupos:[],\r\n gruposSelect:[],\r\n gruposModalDefault:[],\r\n modalEditar:false,\r\n modalEliminar:false,\r\n modalCrear:false,\r\n modalGrupoCreado:false,\r\n modalError:false,\r\n usuarios:[],\r\n datosUsuario:{\r\n nombres:\"\",\r\n apellidos:\"\",\r\n identificacion:\"\",\r\n rol:\"\"\r\n },\r\n columnas:[\r\n {\r\n title:\"#\",\r\n field:\"idsccecuentausuario\",\r\n },\r\n {\r\n title:\"Nombres\",\r\n field:\"idsccepersonaNavigation.nombres\",\r\n },\r\n {\r\n title:\"Apellidos\",\r\n field:\"idsccepersonaNavigation.apellidos\",\r\n },\r\n {\r\n title:\"Grupo\",\r\n field: \"usuarioGrupo\",\r\n //tScceGrupoUsuarios\r\n render: rowData => rowData.tScceGrupoUsuarios.map((g)=>{\r\n return (
{g.idsccegrupoNavigation.nombre}
);\r\n }),\r\n \r\n },\r\n {\r\n title:\"Correo\",\r\n field:\"alias\",\r\n render: rowData=> {return(`${rowData.alias}@espol.edu.ec`)},\r\n \r\n }\r\n ],\r\n acciones:[\r\n rowData=> ({\r\n icon:'edit',\r\n iconProps: { style: {color: \"#767E9F\" } },\r\n onClick: (event, rowData) => this.abrirModalEditarGrupo(rowData)\r\n\r\n }),\r\n ],\r\n crearGrupo:{\r\n nombre:\"\",\r\n },\r\n editarGrupo:{\r\n id:0,\r\n nombres:\"\",\r\n apellidos:\"\",\r\n usuarioGrupo:[],\r\n gruposSeleccionados:[],\r\n correo:\"\",\r\n },\r\n loading:true,\r\n cerrarSesion:false,\r\n\r\n };\r\n this.abrirModalEditarGrupo=this.abrirModalEditarGrupo.bind(this);\r\n this.cerrarModalEditarGrupo=this.cerrarModalEditarGrupo.bind(this);\r\n this.traerDatosGrupo=this.traerDatosGrupo.bind(this);\r\n this.onChangeMultiSelect=this.onChangeMultiSelect.bind(this);\r\n this.abrirModalCrearGrupo=this.abrirModalCrearGrupo.bind(this);\r\n this.cerrarModalCrearGrupo=this.cerrarModalCrearGrupo.bind(this);\r\n \r\n this.abrirModalInfoGrupoCreado=this.abrirModalInfoGrupoCreado.bind(this);\r\n this.cerrarModalInfoGrupoCreado=this.cerrarModalInfoGrupoCreado.bind(this);\r\n\r\n this.abrirModalInfoGrupoCreado=this.abrirModalInfoGrupoCreado.bind(this);\r\n this.cerrarModalInfoGrupoEditado=this.cerrarModalInfoGrupoEditado.bind(this);\r\n\r\n this.abrirModalError=this.abrirModalError.bind(this);\r\n this.cerrarModalError=this.cerrarModalError.bind(this);\r\n\r\n this.cerrarSesion=this.cerrarSesion.bind(this);\r\n\r\n }\r\n\r\n abrirModalInfoGrupoCreado(){\r\n this.setState({modalGrupoCreado:true});\r\n }\r\n\r\n cerrarModalInfoGrupoCreado(){\r\n this.setState({modalGrupoCreado:false})\r\n }\r\n\r\n abrirModalInfoGrupoEditado(){\r\n this.setState({modalGrupoEditado:true});\r\n }\r\n\r\n cerrarModalInfoGrupoEditado(){\r\n this.setState({modalGrupoEditado:false})\r\n }\r\n\r\n abrirModalError(){\r\n this.setState({modalError:true});\r\n }\r\n\r\n cerrarModalError(){\r\n this.setState({modalError:false})\r\n }\r\n\r\n\r\n /*EDITAR GRUPO */\r\n abrirModalEditarGrupo(rowData){\r\n this.setState({modalEditar:true});\r\n this.traerDatosGrupo(rowData)\r\n }\r\n\r\n cerrarModalEditarGrupo(){\r\n this.setState({modalEditar:false});\r\n this.setState({gruposModalDefault:[]});\r\n //console.log(\"cerrar modal grupo \"+this.state.modalEditar);\r\n }\r\n\r\n traerDatosGrupo = async (rowData) => {\r\n //console.log(rowData);\r\n await rowData.tScceGrupoUsuarios.forEach((g)=>{\r\n this.state.gruposModalDefault.push({\r\n value: g.idsccegrupoNavigation.idsccegrupo,\r\n label: g.idsccegrupoNavigation.nombre\r\n })\r\n })\r\n this.setState({\r\n editarGrupo:{\r\n ...this.state.editarGrupo,\r\n id: rowData.idsccecuentausuario,\r\n nombres: rowData.idsccepersonaNavigation.nombres,\r\n apellidos: rowData.idsccepersonaNavigation.apellidos,\r\n usuarioGrupo:rowData.usuarioGrupo,\r\n correo:rowData.username\r\n }\r\n })\r\n\r\n //console.log(\"traer datos\");\r\n //console.log(this.state.editarGrupo);\r\n }\r\n \r\n \r\n onChangeMultiSelect=async(e)=>{\r\n const gruposSeleccionados=[];\r\n await e.forEach((g)=>{\r\n gruposSeleccionados.push({\r\n id:g.value,\r\n nombre:g.label\r\n })\r\n })\r\n this.setState({\r\n editarGrupo:{\r\n ...this.state.editarGrupo,\r\n gruposSeleccionados:gruposSeleccionados\r\n }\r\n })\r\n // console.log(\"change multiselect\");\r\n // console.log(this.state.editarGrupo);\r\n \r\n }\r\n\r\n getGrupos=async()=>{\r\n //cargar los grupos a la lista arrayGetGrupos hacer un for y setear el estado\r\n //se deberia hacer dentro del dismount \r\n await axios.get(`${process.env.REACT_APP_API}api/Grupo`)\r\n \r\n .then(response => {\r\n //console.log(response.data);\r\n this.setState({arrayGetGrupos:response.data});\r\n })\r\n this.state.arrayGetGrupos.forEach((grupos)=>{\r\n this.state.gruposSelect.push({\r\n value:grupos.idsccegrupo,\r\n label:grupos.nombre\r\n })\r\n })\r\n //console.log(\"get grupos\");\r\n }\r\n\r\n getUsuariosPorGrupo = async () => {\r\n await axios.get(`${process.env.REACT_APP_API}api/CuentaUsuario`)\r\n .then(response=>{\r\n this.setState({usuarios:response.data});\r\n })\r\n //console.log(this.state.usuarios);\r\n //console.log(\"get usuarios\");\r\n }\r\n\r\n postEditarGrupo=async()=>{\r\n var gruposIds=[];\r\n this.state.editarGrupo.gruposSeleccionados.forEach((g)=>{\r\n gruposIds.push(g.id);\r\n })\r\n var postEditarGrupos={\r\n cuentaUsuarioId:this.state.editarGrupo.id,\r\n gruposIds:gruposIds\r\n };\r\n\r\n await axios.put(`${process.env.REACT_APP_API}api/UsuarioGrupo/editar`,postEditarGrupos)\r\n .then(resp=>{\r\n if(resp.status===200){\r\n \r\n //console.log(\"post editar grupo\");\r\n //console.log(postEditarGrupos);\r\n this.cerrarModalEditarGrupo();\r\n this.getUsuariosPorGrupo();\r\n this.abrirModalInfoGrupoEditado();\r\n \r\n }\r\n else{\r\n this.abrirModalError();\r\n }\r\n \r\n\r\n }).catch(error=>{\r\n this.abrirModalError();\r\n //console.log(error.message);\r\n })\r\n }\r\n\r\n /*CREAR GRUPO */\r\n abrirModalCrearGrupo(){\r\n this.setState({modalCrear:true});\r\n }\r\n\r\n cerrarModalCrearGrupo(){\r\n this.setState({modalCrear:false});\r\n //console.log(\"cerrar modal CREAR GRUPO\"+this.state.modalCrear);\r\n }\r\n\r\n handlerCrearGrupo=async(e)=>{\r\n //e.persist();\r\n await this.setState({\r\n crearGrupo:{\r\n ...this.state.crearGrupo,\r\n [e.target.name]:e.target.value\r\n }\r\n })\r\n //console.log(this.state.crearGrupo);\r\n }\r\n\r\n postCrearGrupo=async()=>{\r\n \r\n var crearGrupo={\r\n nombre:this.state.crearGrupo.nombre,\r\n }\r\n await axios.post(`${process.env.REACT_APP_API}api/Grupo`, crearGrupo)\r\n .then(resp=>{\r\n if(resp.status===200){\r\n this.cerrarModalCrearGrupo();\r\n this.getGrupos();\r\n this.abrirModalInfoGrupoCreado();\r\n //console.log(crearGrupo);\r\n //console.log(\"grupo creado\");\r\n \r\n }else{\r\n this.abrirModalError();\r\n }\r\n \r\n }).catch(error=>{\r\n this.setState({modalError:true});\r\n this.abrirModalError();\r\n })\r\n }\r\n\r\n cerrarSesion(){\r\n this.props.setValue(false);\r\n Cookies.remove(\"nombres\");\r\n Cookies.remove(\"apellidos\");\r\n Cookies.remove(\"identificacion\");\r\n Cookies.remove(\"token\");\r\n Cookies.remove(\"rol\");\r\n Cookies.remove(\"username\");\r\n Cookies.remove(\"DatosPersonalesGIA.CAS\");\r\n Cookies.remove(\"id\");\r\n Cookies.remove(\"correoAlterno\");\r\n Cookies.remove(\"Nombre\");\r\n this.setState({cerrarSesion:true});\r\n //console.log(\"cerrando sesion\");\r\n }\r\n\r\n setearHeader(){\r\n //console.log(\"setear header\");\r\n var token = Cookies.get(\"token\")\r\n if (token) {\r\n axios.defaults.headers.common['Authorization'] = `Bearer ${token}`;\r\n } else {\r\n axios.defaults.headers.common['Authorization'] = null;\r\n }\r\n }\r\n\r\n getDatosBackEnd=async()=>{\r\n await this.getUsuariosPorGrupo();\r\n await this.getGrupos();\r\n this.setState({loading:false})\r\n }\r\n\r\n componentDidMount(){\r\n var token = Cookies.get(\"token\");\r\n var tokendecode = jwt(token);\r\n this.state.datosUsuario.nombres = tokendecode[\"Nombres\"];\r\n this.state.datosUsuario.apellidos = tokendecode[\"Apellidos\"];\r\n\r\n this.setState({\r\n datosUsuario: {\r\n nombres: tokendecode[\"Nombres\"],\r\n apellidos: tokendecode[\"Apellidos\"],\r\n\r\n }\r\n });\r\n this.setearHeader();\r\n this.getDatosBackEnd();\r\n }\r\n\r\n render() {\r\n\r\n var nombresCompletos=`${this.state.datosUsuario.nombres} ${this.state.datosUsuario.apellidos}`\r\n var identificacion=this.state.datosUsuario.identificacion;\r\n\r\n return (\r\n\r\n this.state.cerrarSesion? :\r\n this.state.loading ? \r\n :\r\n (
\r\n \r\n \r\n
\r\n \r\n
\r\n

Grupos

\r\n
\r\n \r\n

Crear nuevo grupo

\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n {this.state.modalCrear&&\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
}\r\n\r\n {this.state.modalEditar&&\r\n \r\n

¿A qué grupo desea cambiar al usuario {this.state.editarGrupo.correo}?

\r\n \r\n \r\n
}\r\n\r\n\r\n {this.state.modalGrupoCreado&& \r\n \r\n

Grupo creado

\r\n
\r\n \"Exitoso\"\r\n
\r\n\r\n

¡Grupo creado de forma existosa!

\r\n \r\n
}\r\n\r\n {this.state.modalGrupoEditado&& \r\n \r\n

Grupo modificado

\r\n
\r\n \"Exitoso\"\r\n
\r\n\r\n

¡Grupo modificado de forma existosa!

\r\n \r\n
}\r\n\r\n {this.state.modalError&& \r\n \r\n

Error en la Solicitud

\r\n
\r\n \"Error\"\r\n
\r\n\r\n

Ha ocurrido un error durante la solicitud, por favor intente de nuevo.

\r\n \r\n
}\r\n \r\n
)\r\n )\r\n }\r\n}\r\n\r\nexport default AdminGrupos\r\n","export default __webpack_public_path__ + \"static/media/eye-fill.9fcb37b7.svg\";","import React, { Component } from 'react';\r\nimport \"../../css/admin/ModalSolicitudes.css\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faWindowClose, faTimesCircle, faCheckCircle,faToggleOff } from '@fortawesome/free-solid-svg-icons';\r\nimport logo from \"../../assets/logo_espol_interno.svg\";\r\nimport Face from '@material-ui/icons/Face'\r\nimport FileCopyIcon from '@material-ui/icons/FileCopy';\r\nimport { memo } from 'react';\r\n\r\nexport class ModalSolicitudes extends Component {\r\n\r\n\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \"Logo\r\n \r\n

{this.props.tituloHeader}

\r\n
\r\n
\r\n {this.props.children}\r\n
\r\n
\r\n \r\n \r\n \r\n {this.props.txtBtnSubmit}\r\n \r\n\r\n \r\n \r\n {this.props.txtBtnCancel}\r\n \r\n {this.props.estado===\"Rechazado CC\" &&\r\n \r\n \r\n {this.props.txtBtnEnable}\r\n \r\n }\r\n\r\n\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default memo(ModalSolicitudes);\r\n","import React, { Component } from 'react';\r\nimport '../../css/admin/ComponenteSpinner.css';\r\nimport { memo } from 'react';\r\n/*import MaterialTable, { MaterialTableProps } from 'material-table';*/\r\nimport MaterialTable, { Column } from \"@material-table/core\";\r\n\r\nexport class MaterialTableAdmin extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n inicioSesion: \"\",\r\n }\r\n\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default memo(MaterialTableAdmin);\r\n","import React, { Component } from 'react';\r\nimport { memo } from 'react';\r\n\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faWindowClose,faTimesCircle, faCheckCircle } from '@fortawesome/free-solid-svg-icons';\r\nimport \"../../css/admin/ModalAdminEliminar.css\";\r\nexport class ModalAdminEliminar extends Component {\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n {this.props.children}\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default memo(ModalAdminEliminar);\r\n","import React, { Component, useState } from 'react'\r\n\r\nimport \"../css/admin/AdminUsuarios.css\";\r\nimport check from \"../assets/check.png\";\r\nimport changeView from \"../assets/eye-fill.svg\";\r\nimport equis from \"../assets/eliminar.png\"\r\nimport SideBar from './adminComponents/SideBar';\r\nimport ModalSolicitudes from './adminComponents/ModalSolicitudes';\r\nimport HeaderAdmin from './adminComponents/HeaderAdmin';\r\nimport NavBarInfo from './adminComponents/NavBarInfo';\r\nimport Modal from './components/Modal';\r\nimport { ComponenteSpinner } from './adminComponents/ComponenteSpinner';\r\nimport { Navigate } from 'react-router-dom';\r\nimport axios from \"axios\";\r\n/*import MaterialTable from \"material-table\";*/\r\nimport MaterialTableAdmin from './components/MaterialTableAdmin';\r\nimport Cookies from 'js-cookie';\r\nimport ModalAdminMensaje from './adminComponents/ModalAdminMensaje';\r\nimport jwt from 'jwt-decode'\r\nimport Visualizarpdf from \"./components/Visualizarpdf\";\r\nimport ModalXL from './components/ModalXL';\r\nimport Face from '@material-ui/icons/Face'\r\nimport Document from '@material-ui/icons/Description'\r\nimport BrandingWatermark from '@material-ui/icons/BrandingWatermark'\r\nimport Description from '@material-ui/icons/Description';\r\nimport FileCopyIcon from '@material-ui/icons/FileCopy';\r\nimport { memo } from 'react';\r\n\r\n\r\n\r\nexport class AdminSolicitudes extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n valor_fitro:\"no revisado\",\r\n motivo: \"\",\r\n showmodalCopy:false,\r\n modalIsOpen: false,\r\n modalExitoso: {\r\n show: false,\r\n titulo: \"\",\r\n mensaje: \"\"\r\n },\r\n vistaImg:true,\r\n solicitudes: [],\r\n datosUsuario: {\r\n nombres: \"\",\r\n apellidos: \"\",\r\n identificacion: \"\",\r\n rol: \"\"\r\n },\r\n columnas: [\r\n {\r\n title: \"#\",\r\n field: \"idsccesolicitud\",\r\n },\r\n {\r\n title: \"Solicitante\",\r\n field:\"infosolicitud\",\r\n render: rowData => {\r\n var infoSolicitud = JSON.parse(rowData.infosolicitud)\r\n return (`${infoSolicitud.nombres.split(\" \")[0]} ${infoSolicitud.apellidos}`)\r\n },\r\n },\r\n {\r\n title: \"Estado\",\r\n field: \"estado\",\r\n\r\n },\r\n {\r\n title: \"Motivo\",\r\n field: \"motivo\",\r\n\r\n }\r\n ],\r\n acciones: [\r\n rowData => ({\r\n icon: 'visibility',\r\n iconProps: { style: { color: \"#767E9F\" } },\r\n onClick: (event, rowData) => this.abrirModalVerSolicitud(rowData)\r\n })\r\n ],\r\n verSolicitud: {\r\n id: 0,\r\n nombres: \"\",\r\n correo: \"\",\r\n identificacion: \"\",\r\n actividad: \"\",\r\n unidad: \"\",\r\n telefono: \"\",\r\n usuario_sugerido: \"\",\r\n alias_sugerido: \"\",\r\n estado: \"\"\r\n\r\n },\r\n loading: true,\r\n cerrarSesion: false,\r\n modalMensaje: false,\r\n mensajerechazo: \"\",\r\n showImgRostronCedula: {\r\n show: false,\r\n srcImg: \"\",\r\n isFace: false,\r\n },\r\n showImgAcuerdo: \"\",\r\n modalshowPdf: {\r\n show: false,\r\n srcPdf: \"\",\r\n },\r\n IsValid: {\r\n isValidRostro: 1,\r\n isValidCedula: 1,\r\n isValidAcuerdo: 1\r\n },\r\n activebuttonAcept:true,\r\n tipoArchivoCedula: \"imagen\",\r\n };\r\n\r\n this.abrirModalVerSolicitud = this.abrirModalVerSolicitud.bind(this);\r\n this.cerrarModalVerSolicitud = this.cerrarModalVerSolicitud.bind(this);\r\n\r\n this.abrirshowmodalCopy = this.abrirshowmodalCopy.bind(this);\r\n this.cerrarshowmodalCopy = this.cerrarshowmodalCopy.bind(this);\r\n\r\n this.abrirModalExitoso = this.abrirModalExitoso.bind(this);\r\n this.cerrarModalExitoso = this.cerrarModalExitoso.bind(this);\r\n\r\n this.abrirModalMensaje = this.abrirModalMensaje.bind(this);\r\n this.cerrarModalMensaje = this.cerrarModalMensaje.bind(this);\r\n\r\n this.abrirModalRostronCedula = this.abrirModalRostronCedula.bind(this);\r\n this.cerrarModalRostronCedula = this.cerrarModalRostronCedula.bind(this);\r\n\r\n this.abrirModalPdf = this.abrirModalPdf.bind(this);\r\n this.cerrarModalPdf = this.cerrarModalPdf.bind(this);\r\n\r\n this.abrirModalAcuerdo = this.abrirModalAcuerdo.bind(this);\r\n this.cerrarModalAcuerdo = this.cerrarModalAcuerdo.bind(this);\r\n\r\n this.activebuttonAcept = this.activebuttonAcept.bind(this);\r\n this.disabledbuttonAcept = this.disabledbuttonAcept.bind(this);\r\n\r\n this.mensajeChange = this.mensajeChange.bind(this);\r\n }\r\n\r\n activebuttonAcept() {\r\n this.setState({ activebuttonAcept: true });\r\n }\r\n\r\n disabledbuttonAcept() {\r\n this.setState({ activebuttonAcept: false });\r\n }\r\n\r\n abrirshowmodalCopy() {\r\n this.setState({ showmodalCopy: true });\r\n }\r\n\r\n cerrarshowmodalCopy() {\r\n this.setState({ showmodalCopy: false });\r\n }\r\n\r\n mensajeChange(event) {\r\n this.setState({ mensajerechazo: event.target.value });\r\n }\r\n\r\n abrirModalMensaje() {\r\n this.setState({\r\n modalMensaje: true,\r\n });\r\n \r\n }\r\n\r\n cerrarModalMensaje() {\r\n this.setState({\r\n modalMensaje: false,\r\n IsValid: {\r\n isValidRostro: 1,\r\n isValidCedula: 1,\r\n isValidAcuerdo: 1\r\n },\r\n });\r\n\r\n\r\n }\r\n\r\n abrirModalPdf(valor) {\r\n this.setState({\r\n modalshowPdf: {\r\n ...this.state.modalshowPdf,\r\n show: true,\r\n srcPdf: valor,\r\n }\r\n });\r\n }\r\n\r\n cerrarModalPdf() {\r\n this.setState({\r\n modalshowPdf: {\r\n srcPdf: \"\",\r\n show: false\r\n }\r\n });\r\n //console.log(\"cerrar modal \" + this.state.modalExitoso);\r\n }\r\n\r\n typeOfDocument () {\r\n axios.get(`https://wsarchivos.espol.edu.ec/api/DspaceFile/GetMetadatos/${this.state.verSolicitud.codimgtarjeta}`)\r\n .then(response => {\r\n // console.log(this.state.vistaImg);\r\n if (response.data.mimeType == \"application/pdf\") {\r\n ///console.log(\"pdf\");\r\n this.setState({\r\n vistaImg: false\r\n }, () => {\r\n //console.log(this.state.vistaImg);\r\n })\r\n } else {\r\n // console.log(this.state.vistaImg);\r\n\r\n }\r\n })\r\n }\r\n\r\n\r\n abrirModalRostronCedula(valor, isface) {\r\n //console.log(this.state.verSolicitud.codimgtarjeta);\r\n\r\n this.typeOfDocument();\r\n\r\n this.setState({\r\n showImgRostronCedula: {\r\n ...this.state.showImgRostronCedula,\r\n show: true,\r\n srcImg: valor,\r\n isFace: isface\r\n }\r\n });\r\n // console.log(\"presentar modal\");\r\n }\r\n\r\n cerrarModalRostronCedula() {\r\n this.setState({\r\n showImgRostronCedula: {\r\n srcImg: \"\",\r\n show: false,\r\n },\r\n vistaImg: true,\r\n });\r\n //console.log(\"cerrar modal \" + this.state.modalExitoso);\r\n }\r\n\r\n\r\n\r\n abrirModalAcuerdo() {\r\n this.setState({ showImgAcuerdo: true });\r\n }\r\n\r\n cerrarModalAcuerdo() {\r\n this.setState({ showImgAcuerdo: false });\r\n }\r\n\r\n\r\n\r\n\r\n abrirModalExitoso() {\r\n this.setState({\r\n modalExitoso: {\r\n ...this.state.modalExitoso,\r\n show: true\r\n }\r\n });\r\n }\r\n\r\n cerrarModalExitoso() {\r\n this.setState({\r\n modalExitoso: {\r\n titulo: \"\",\r\n mensaje: \"\",\r\n imagen: \"\",\r\n show: false\r\n }\r\n });\r\n // console.log(\"cerrar modal \" + this.state.modalExitoso);\r\n }\r\n\r\n abrirModalVerSolicitud(rowData) {\r\n this.setState({ modalIsOpen: true });\r\n this.traerDatosSolicitud(rowData)\r\n }\r\n\r\n cerrarModalVerSolicitud() {\r\n this.setState({ modalIsOpen: false });\r\n // console.log(\"cerrar modal \" + this.state.modalIsOpen);\r\n }\r\n\r\n traerDatosSolicitud = async (rowData) => {\r\n var infoSolicitud = JSON.parse(rowData.infosolicitud);\r\n // console.log(infoSolicitud);\r\n // console.log(rowData);\r\n await this.setState({\r\n verSolicitud: {\r\n id: rowData.idsccesolicitud,\r\n nombres: infoSolicitud.nombres,\r\n apellidos: infoSolicitud.apellidos,\r\n correo: infoSolicitud.correo,\r\n identificacion: infoSolicitud.identificacion,\r\n actividad: infoSolicitud.actividad,\r\n unidad: infoSolicitud.unidad,\r\n telefono: infoSolicitud.telefono,\r\n usuario_sugerido: infoSolicitud.usuario_sugerido,\r\n alias_sugerido: infoSolicitud.alias_sugerido,\r\n estado: rowData.estado,\r\n codimgcontrato: rowData.codimgcontrato,\r\n codimgpersona: rowData.codimgpersona,\r\n codimgtarjeta: rowData.codimgtarjeta,\r\n tipoacuerdo: rowData.tipoacuerdo,\r\n },\r\n motivo:rowData.motivo, \r\n })\r\n //console.log(this.state.verSolicitud);\r\n }\r\n\r\n getSolicitudes = async () => {\r\n\r\n /*await axios.get(`${process.env.REACT_APP_API}api/Solicitud`)\r\n .then(response => {\r\n this.setState({ solicitudes: response.data });\r\n this.setState({ loading: false });\r\n })\r\n // console.log(this.state.solicitudes); \r\n */\r\n await axios.get(`${process.env.REACT_APP_API}api/Solicitud/getsolicitudFiltro/${this.state.valor_fitro}`)\r\n .then(response => {\r\n //console.log(\"se ejecuta get solicitudes. Response.data:\");\r\n //console.log(response.data);\r\n this.setState(\r\n {\r\n solicitudes: response.data,\r\n loading: false\r\n }\r\n )\r\n })\r\n }\r\n\r\n\r\n\r\n HabilitarCuentaSA = async (e) => {\r\n // console.log(\"habilitar en cas\");\r\n e.preventDefault();\r\n var identificacion = this.state.verSolicitud.identificacion;\r\n // console.log(identificacion);\r\n //console.log(this.state.verSolicitud.id);\r\n await axios.post(`${process.env.REACT_APP_API}api/Persona/enableaccountSA/${identificacion}/${this.state.verSolicitud.id}`)\r\n .then(resp => {\r\n //console.log(resp);\r\n if(resp.data==\"Se habilito la cuenta\"){\r\n this.cerrarModalVerSolicitud();\r\n this.setState({\r\n modalExitoso: {\r\n show: true,\r\n imagen: check,\r\n titulo: \"Cuenta Habilitada\",\r\n mensaje: `La cuenta ${this.state.verSolicitud.usuario_sugerido} del servicio activo ha sido habilitada.`\r\n }\r\n });\r\n this.getSolicitudes();\r\n }\r\n }).catch(error => {\r\n //console.log(error.request);\r\n this.setState({\r\n modalExitoso: {\r\n show: true,\r\n imagen: equis,\r\n titulo: \"Error en la solicitud\",\r\n mensaje: error.request.response\r\n }\r\n })\r\n \r\n });\r\n }\r\n\r\n rostrostatus = (e) => {\r\n var i = 0;\r\n if (!e.target.checked) {\r\n i = 1;\r\n }\r\n this.setState({\r\n IsValid: {\r\n ...this.state.IsValid,\r\n isValidRostro: i,\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n cedulatatus = (e) => {\r\n var i = 0;\r\n if (!e.target.checked) {\r\n i = 1;\r\n }\r\n this.setState({\r\n IsValid: {\r\n ...this.state.IsValid,\r\n isValidCedula: i,\r\n }\r\n })\r\n }\r\n\r\n acuerdostatus = (e) => {\r\n var i = 0;\r\n if (!e.target.checked) {\r\n i = 1;\r\n }\r\n this.setState({\r\n IsValid: {\r\n ...this.state.IsValid,\r\n isValidAcuerdo: i,\r\n }\r\n })\r\n }\r\n\r\n \r\n\r\n postAceptarSolicitud = async (e) => {\r\n\r\n e.preventDefault();\r\n var idSolicitud = this.state.verSolicitud.id;\r\n var infoSolicitud = this.state.verSolicitud;\r\n //console.log(this.state.verSolicitud.estado);\r\n //this.state.verSolicitud.codimgcontrato\r\n if (this.state.verSolicitud.estado == \"No Revisado CC\") {\r\n const inicio = performance.now();\r\n\r\n // console.log(\"solicitud no revisada cc\");\r\n /*await this.setState({\r\n verSolicitud: {\r\n ...this.state.verSolicitud,\r\n estado: \"Aceptado\"\r\n }\r\n });*/\r\n // var estado = this.state.verSolicitud.estado;\r\n\r\n var solicitud = {\r\n estado: \"Aceptado\",\r\n infoSolicitud: JSON.stringify(infoSolicitud),\r\n Motivo: \"Solicitud CC aceptada de manera manual por el Administrador.\",\r\n Identificacion: this.state.verSolicitud.identificacion,\r\n isvalidcontrato: 1,\r\n isvalidimgpersona: 1,\r\n isvalidimgtarjeta:1\r\n }\r\n //console.log(solicitud);\r\n const inicio1 = performance.now();\r\n await axios.put(`${process.env.REACT_APP_API}api/Solicitud/putasynccc/${idSolicitud}`, solicitud)\r\n .then(resp => {\r\n this.cerrarModalVerSolicitud();\r\n this.setState({\r\n modalExitoso: {\r\n show: true,\r\n imagen: check,\r\n titulo: \"Solicitud Aceptada\",\r\n mensaje: \"La solicitud ha sido aceptada de forma exitosa\"\r\n }\r\n })\r\n // this.getSolicitudes();\r\n //onsole.log(this.state.solicitudes);\r\n const nuevoArreglo = this.state.solicitudes.filter(objeto => objeto.identificacion !== this.state.verSolicitud.identificacion);\r\n this.setState({ solicitudes: nuevoArreglo });\r\n // console.log(\"actualización de solicitudes\");\r\n }).catch(error => {\r\n if (error.request.response === \"\") {\r\n this.setState({\r\n modalExitoso: {\r\n show: true,\r\n imagen: equis,\r\n titulo: \"Error en la solicitud\",\r\n mensaje: \"Error en la solicitud, intentelo mas tarde\"\r\n }\r\n })\r\n } else {\r\n this.setState({\r\n modalExitoso: {\r\n show: true,\r\n imagen: equis,\r\n titulo: \"Error en la solicitud\",\r\n mensaje: error.response.data.errorMessage\r\n }\r\n })\r\n }\r\n\r\n });\r\n const fin1 = performance.now();\r\n const tiempoTranscurrido1 = fin1 - inicio1;\r\n //console.log(\"tiempo solo del endpoint> \"+tiempoTranscurrido1);\r\n const fin = performance.now();\r\n const tiempoTranscurrido = fin - inicio;\r\n //console.log(\"tiempo de la funcion dentro del if> \" + tiempoTranscurrido);\r\n } else {\r\n await this.setState({\r\n verSolicitud: {\r\n ...this.state.verSolicitud,\r\n estado: \"Aceptado\"\r\n }\r\n });\r\n var estado = this.state.verSolicitud.estado;\r\n\r\n var solicitud = {\r\n estado: estado,\r\n infoSolicitud: JSON.stringify(infoSolicitud),\r\n Motivo: \"Solicitud aceptada de manera manual por el Administrador.\",\r\n Identificacion: this.state.verSolicitud.identificacion\r\n }\r\n\r\n\r\n \r\n await axios.put(`${process.env.REACT_APP_API}api/Solicitud/${idSolicitud}`, solicitud) //PutAsync\r\n .then(resp => {\r\n this.cerrarModalVerSolicitud();\r\n this.setState({\r\n modalExitoso: {\r\n show: true,\r\n imagen: check,\r\n titulo: \"Solicitud Aceptada\",\r\n mensaje: \"La solicitud ha sido aceptada de forma exitosa\"\r\n }\r\n })\r\n //this.getSolicitudes();\r\n /*console.log(this.state.solicitudes);\r\n const nuevoArreglo = this.state.solicitudes.filter(objeto => objeto.identificacion !== this.state.verSolicitud.identificacion);\r\n this.setState({ solicitudes: nuevoArreglo });*/\r\n }).catch(error => {\r\n\r\n if (error.request.response === \"\") {\r\n this.setState({\r\n modalExitoso: {\r\n show: true,\r\n imagen: equis,\r\n titulo: \"Error en la solicitud\",\r\n mensaje: \"Error en la solicitud, intentelo mas tarde\"\r\n }\r\n })\r\n } else {\r\n if (error.response.data.errorMessage === \"Esta identificacion ya se encuentra registrada\") {\r\n this.setState({\r\n modalExitoso: {\r\n show: true,\r\n imagen: equis,\r\n titulo: \"Error en la solicitud\",\r\n mensaje: error.response.data.errorMessage\r\n }\r\n })\r\n } else if (error.response.data.errorMessage === \"Nombres de usuario o alias ya existentes\") {\r\n this.setState({\r\n modalExitoso: {\r\n show: true,\r\n imagen: equis,\r\n titulo: \"Error en la solicitud\",\r\n mensaje: error.response.data.errorMessage\r\n }\r\n })\r\n } else {\r\n this.setState({\r\n modalExitoso: {\r\n show: true,\r\n imagen: equis,\r\n titulo: \"Error en la solicitud\",\r\n mensaje: error.response.data.errorMessage\r\n }\r\n })\r\n }\r\n }\r\n });\r\n }\r\n \r\n\r\n }\r\n\r\n\r\n copyToClipboard = () => {\r\n axios.get(`${process.env.REACT_APP_API}api/Solicitud/getTokenToReplaceDocs/${this.state.verSolicitud.usuario_sugerido}/${this.state.verSolicitud.nombres}/${this.state.verSolicitud.apellidos}/${this.state.verSolicitud.actividad}`)\r\n .then(r => {\r\n if (r.status == 200) {\r\n this.setState({\r\n url_clipboard: r.data \r\n }, () => {\r\n navigator.clipboard.writeText(r.data);\r\n this.abrirshowmodalCopy();\r\n })\r\n }\r\n })\r\n .catch(error => {\r\n\r\n })\r\n }\r\n\r\n\r\n postRechazarSolicitud = async (e) => { \r\n e.preventDefault();\r\n this.disabledbuttonAcept();\r\n this.abrirModalMensaje();\r\n \r\n var idSolicitud = this.state.verSolicitud.id;\r\n var infoSolicitud = this.state.verSolicitud;\r\n //console.log(this.state.verSolicitud.estado);\r\n if (this.state.verSolicitud.estado == \"No Revisado CC\" || this.state.verSolicitud.estado == \"Rechazado CC\") {\r\n await this.setState({\r\n verSolicitud: {\r\n ...this.state.verSolicitud,\r\n estado: \"Rechazado CC\"\r\n }\r\n });\r\n var estado = this.state.verSolicitud.estado;\r\n var solicitud = {\r\n estado: estado,\r\n infoSolicitud: JSON.stringify(infoSolicitud),\r\n Motivo: this.state.mensajerechazo,\r\n Identificacion: this.state.verSolicitud.identificacion,\r\n isvalidimgpersona: this.state.IsValid.isValidRostro,\r\n isvalidimgtarjeta: this.state.IsValid.isValidCedula,\r\n isvalidcontrato: this.state.IsValid.isValidAcuerdo, \r\n }\r\n //console.log(\"rechazo cc\", solicitud);\r\n await axios.put(`${process.env.REACT_APP_API}api/Solicitud/putasynccc/${idSolicitud}`, solicitud)\r\n .then(resp => {\r\n this.activebuttonAcept();\r\n\r\n //console.log(\"post solicitud rechazada y se bloquea la cuenta\");\r\n //console.log(solicitud);\r\n this.cerrarModalVerSolicitud();\r\n this.cerrarModalMensaje();\r\n this.setState({\r\n modalExitoso: {\r\n show: true,\r\n imagen: check,\r\n titulo: \"Solicitud Rechazada\",\r\n mensaje: \"La solicitud ha sido rechazada de forma exitosa\"\r\n }\r\n })\r\n this.getSolicitudes();\r\n }).catch(error => {\r\n this.disabledbuttonAcept();\r\n // console.log(error.message);\r\n })\r\n } else {\r\n await this.setState({\r\n verSolicitud: {\r\n ...this.state.verSolicitud,\r\n estado: \"Rechazado\"\r\n }\r\n })\r\n var estado = this.state.verSolicitud.estado;\r\n var solicitud = {\r\n estado: estado,\r\n infoSolicitud: JSON.stringify(infoSolicitud),\r\n Motivo: this.state.mensajerechazo,\r\n Identificacion: this.state.verSolicitud.identificacion,\r\n }\r\n\r\n await axios.put(`${process.env.REACT_APP_API}api/Solicitud/${idSolicitud}`, solicitud)\r\n .then(resp => {\r\n // console.log(\"post solicitud rechazada\");\r\n //console.log(solicitud);\r\n this.cerrarModalVerSolicitud();\r\n this.cerrarModalMensaje();\r\n this.setState({\r\n modalExitoso: {\r\n show: true,\r\n imagen: check,\r\n titulo: \"Solicitud Rechazada\",\r\n mensaje: \"La solicitud ha sido rechazada de forma exitosa\"\r\n }\r\n })\r\n this.getSolicitudes();\r\n }).catch(error => {\r\n console.log(error.message);\r\n })\r\n\r\n\r\n }\r\n\r\n }\r\n\r\n cerrarSesion = async () => {\r\n this.props.setValue(false);\r\n Cookies.remove(\"nombres\");\r\n Cookies.remove(\"apellidos\");\r\n Cookies.remove(\"identificacion\");\r\n Cookies.remove(\"token\");\r\n Cookies.remove(\"rol\");\r\n Cookies.remove(\"username\");\r\n Cookies.remove(\"DatosPersonalesGIA.CAS\");\r\n Cookies.remove(\"id\");\r\n Cookies.remove(\"correoAlterno\");\r\n Cookies.remove(\"Nombre\");\r\n this.setState({ cerrarSesion: true });\r\n // console.log(\"cerrando sesion\");\r\n }\r\n\r\n\r\n setearHeader() {\r\n //console.log(\"setear header\");\r\n var token = Cookies.get(\"token\")\r\n if (token) {\r\n axios.defaults.headers.common['Authorization'] = `Bearer ${token}`;\r\n } else {\r\n axios.defaults.headers.common['Authorization'] = null;\r\n }\r\n }\r\n\r\n\r\n componentDidMount() {\r\n var token = Cookies.get(\"token\");\r\n var tokendecode = jwt(token);\r\n this.state.datosUsuario.nombres = tokendecode[\"Nombres\"];\r\n this.state.datosUsuario.apellidos = tokendecode[\"Apellidos\"];\r\n\r\n this.setState({\r\n datosUsuario: {\r\n nombres: tokendecode[\"Nombres\"],\r\n apellidos: tokendecode[\"Apellidos\"],\r\n }\r\n });\r\n this.setearHeader();\r\n this.getSolicitudes();\r\n }\r\n\r\n change_filter_solicitud (filtro) {\r\n // console.log(filtro); \r\n this.setState({\r\n valor_fitro: filtro\r\n }, () => { this.getSolicitudes() })\r\n }\r\n\r\n render() {\r\n //console.log(\"render de admin solicitudes\"); \r\n\r\n var nombresCompletos = `${this.state.datosUsuario.nombres} ${this.state.datosUsuario.apellidos}`\r\n var identificacion = this.state.datosUsuario.identificacion;\r\n return (\r\n this.state.cerrarSesion ? :\r\n this.state.loading ?\r\n :\r\n (
\r\n \r\n \r\n
\r\n \r\n
\r\n

Solicitudes

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {/** \r\n \r\n **/}\r\n \r\n
\r\n
\r\n\r\n\r\n {this.state.modalIsOpen &&\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n\r\n\r\n\r\n\r\n {this.state.verSolicitud.codimgpersona && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n {this.state.verSolicitud.codimgtarjeta && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n {this.state.verSolicitud.codimgcontrato && this.state.verSolicitud.codimgtarjeta && (\r\n\r\n
\r\n \r\n
\r\n )}\r\n {this.state.verSolicitud.codimgcontrato && !this.state.verSolicitud.codimgtarjeta && (\r\n\r\n
\r\n \r\n
\r\n )}\r\n {this.state.verSolicitud.estado == \"Rechazado CC\" &&\r\n
\r\n \r\n
\r\n\r\n }\r\n
\r\n\r\n
\r\n }\r\n\r\n {this.state.modalMensaje &&\r\n \r\n \r\n

Solicitud Rechazada

\r\n
\r\n \"Eliminar\"\r\n
\r\n

Ingrese la razón del Rechazo

\r\n \r\n

*Esta acción no podrá deshacerse

\r\n\r\n

¿Qué documento está incorrecto?

\r\n
\r\n
\r\n

ROSTRO

\r\n
\r\n
\r\n

CÉDULA

\r\n
\r\n
\r\n

ACUERDO

\r\n
\r\n
\r\n\r\n\r\n \r\n }\r\n\r\n {this.state.modalExitoso.show &&\r\n \r\n

{this.state.modalExitoso.titulo}

\r\n
\r\n \"Exitoso\"\r\n
\r\n\r\n

{this.state.modalExitoso.mensaje}

\r\n
}\r\n\r\n {this.state.modalExitoso.show &&\r\n \r\n

{this.state.modalExitoso.titulo}

\r\n
\r\n \"Exitoso\"\r\n
\r\n\r\n

{this.state.modalExitoso.mensaje}

\r\n
}\r\n\r\n {this.state.showImgRostronCedula.show &&\r\n \r\n {this.state.showImgRostronCedula.isFace ?\r\n <>\r\n

Foto del Rostro

\r\n
\r\n \"Exitoso\"\r\n
\r\n \r\n :\r\n <>\r\n

Foto de la Cédula

\r\n {this.state.vistaImg &&\r\n
\r\n \"Exitoso\"\r\n
\r\n }\r\n {!this.state.vistaImg &&\r\n \r\n }\r\n \r\n }\r\n\r\n\r\n
\r\n {/**/}\r\n
\r\n
\r\n }\r\n {\r\n this.state.modalshowPdf.show &&\r\n \r\n \r\n
\r\n {/**/}\r\n
\r\n
\r\n }\r\n\r\n {this.state.showmodalCopy &&\r\n \r\n
\r\n

Se copio el enlace para que el usuario suba los documentos con errores.

\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n }\r\n\r\n\r\n
)\r\n )\r\n }\r\n}\r\n\r\nexport default memo(AdminSolicitudes)\r\n","import React from 'react'\r\nimport { Navigate, Outlet } from 'react-router-dom';\r\nimport Cookies from 'js-cookie';\r\n\r\nexport default function PrivateRoute(props) {\r\n\r\n \r\n \r\n\r\n return props.value ? : ;\r\n\r\n\r\n}\r\n","import React from 'react'\r\nimport { Navigate, Outlet } from 'react-router-dom';\r\n\r\nexport default function PrivateHome(props) {\r\n\r\n //console.log(\"private Home\");\r\n //console.log(props.value);\r\n return !props.value ? : ;\r\n \r\n}\r\n","import React from 'react'\r\nimport { Navigate, Outlet } from 'react-router-dom';\r\nimport Cookies from 'js-cookie';\r\n\r\nexport default function Admin() {\r\n\r\n\r\n /* return (!(rol === \"Admin\") ? window.location.href = \"/account/loginAdmin\" : );*/\r\n window.location.href = \"/account/loginAdmin\"\r\n}\r\n","import React, {Component} from 'react';\r\nimport { BrowserRouter, Routes, Route, Navigate, redirect} from \"react-router-dom\";\r\nimport CrearCuenta from \"../pages/CrearCuenta\";\r\nimport Inicio from \"../pages/Inicio\";\r\n/*NO BORRAR LOGIN PORQUE ES EL QUE TRAE EL DISE�O DEL FONDO*/\r\nimport { Login } from \"../pages/Login\";\r\n/*fin*/\r\nimport FormSolicitud from \"../pages/components/FormSolicitud\";\r\nimport ActualizarArchSolicitud from \"../pages/components/ActualizarArchSolicitud\";\r\n\r\n\r\nimport FormAcuerdoGeneral from \"../pages/components/FormAcuerdoGeneral\";\r\nimport FormAcuerdoAlumni from \"../pages/components/FormAcuerdoAlumni\";\r\nimport FormAcuerdoAdmisiones from \"../pages/components/FormAcuerdoAdmisiones\";\r\nimport Acuerdo from \"../pages/components/Acuerdo\";\r\n/*import VisualizarAcuerdo from \"../pages/components/VisualizarAcuerdo\";*/\r\nimport Visualizarpdf from \"../pages/components/Visualizarpdf\";\r\nimport CambiarContrasenia from \"../pages/CambiarContrasenia\";\r\nimport OlvidoContrasenia from \"../pages/OlvidoContrasenia\";\r\nimport AdminUsuarios from \"../pages/AdminUsuarios\";\r\nimport PruebaCamara from \"../pages/PruebaCamara\";\r\nimport AdminGrupos from \"../pages/AdminGrupos\";\r\nimport AdminSolicitudes from \"../pages/AdminSolicitudes\";\r\nimport PrivateRoute from \"./PrivateRoute\";\r\nimport PrivateHome from \"./PrivateHome\";\r\nimport Cookies from 'js-cookie';\r\nimport FormCambiarContrasenia from '../pages/components/FormCambiarContrasenia';\r\n//import PageView from '../pages/components/PageView';\r\n\r\nimport Admin from \"./Admin\";\r\nimport jwt from 'jwt-decode'\r\nimport Renderpdf from \"../pages/components/renderPDF\";\r\n\r\n//intentemos hacerlo clase y pasar desde el una variable auth boolean\r\n//para cambiar su estado en Login, y usarlo en las Private\r\n\r\nexport default class App extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n\r\n isAuth: false\r\n\r\n };\r\n\r\n this.setAuth = this.setAuth.bind(this);\r\n\r\n }\r\n\r\n setAuth(valor) {\r\n this.setState({ isAuth: valor });\r\n }\r\n\r\n readCookie(){\r\n if (Cookies.get(\"token\") !== undefined) {\r\n var token = Cookies.get(\"token\");\r\n var tokendecode = jwt(token);\r\n var admin = tokendecode[\"Rol\"];\r\n\r\n if (admin === \"Admin\") {\r\n this.setAuth(true);\r\n }\r\n }\r\n\r\n }\r\n \r\n componentDidMount(){\r\n this.readCookie();\r\n }\r\n\r\n\r\n callTagManager(nombre_evento) {\r\n //console.log(nombre_evento);\r\n window.dataLayer.push({\r\n event: nombre_evento,\r\n });\r\n }\r\n\r\n useEffect = () => {\r\n const loadScriptByURL = (id, url, callback) => {\r\n const isScriptExist = document.getElementById(id);\r\n\r\n if (!isScriptExist) {\r\n var script = document.createElement(\"script\");\r\n script.type = \"text/javascript\";\r\n script.src = url;\r\n script.id = id;\r\n script.onload = function () {\r\n if (callback) callback();\r\n };\r\n document.body.appendChild(script);\r\n }\r\n\r\n if (isScriptExist && callback) callback();\r\n }\r\n //console.log(`${process.env.REACT_APP_CAPTCHAKEY}`);\r\n // load the script by passing the URL\r\n loadScriptByURL(\"recaptcha-key\", `https://www.google.com/recaptcha/api.js?render=${process.env.REACT_APP_CAPTCHAKEY}`, function () {\r\n //console.log(\"Script loaded!\");\r\n });\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n }>\r\n } />\r\n \r\n }>\r\n } />\r\n } />\r\n } />\r\n \r\n {/*Navigate al CASadmin*/}\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n\r\n {/* } />*/}\r\n {/*} />*/}\r\n {/*} />*/}\r\n {/*} /> */}\r\n {/*} */}\r\n {/* } />*/}\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport App from './routes/App';\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport \"./css/index.css\";\r\nimport TagManager from 'react-gtm-module';\r\n\r\nconst tagManagerArgs = {\r\n gtmId: process.env.REACT_APP_GTMID\r\n}\r\n\r\nTagManager.initialize(tagManagerArgs);\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n\r\n\r\n"],"sourceRoot":""}