{"version":3,"sources":["api/index.js","api/urls.js","helpers/notification.js","containers/App/App.jsx","containers/App/ScrollToTop.jsx","containers/Layout/topbar/TopbarSidebarButton.jsx","containers/Layout/topbar/TopbarMenuLink.jsx","containers/Layout/topbar/TopbarMenuButton.jsx","containers/Layout/topbar/TopbarProfile.jsx","containers/Layout/topbar/Topbar.jsx","containers/Layout/sidebar/SidebarLink.jsx","containers/Layout/sidebar/SidebarCategory.jsx","containers/Layout/sidebar/SidebarContent.jsx","shared/prop-types/ReducerProps.js","containers/Layout/sidebar/Sidebar.jsx","containers/Layout/index.jsx","containers/Layout/bottombar/Bottombar.jsx","containers/App/MainWrapper.jsx","shared/components/form/CheckBox.jsx","helpers/setPropsAsInitialValues.jsx","shared/components/form/TextBox.jsx","shared/components/Confirm.jsx","containers/LogIn/components/validate.js","containers/LogIn/components/LogInForm.jsx","containers/LogIn/index.jsx","containers/FirstLogIn/components/validate.js","containers/FirstLogIn/components/FirstLogInForm.jsx","containers/FirstLogIn/index.jsx","shared/components/pagination/Pagination.jsx","shared/components/form/DatePicker.jsx","shared/components/form/Select.jsx","shared/components/DataTable.jsx","shared/components/TooltipItem.jsx","shared/components/LoadingSpinner.jsx","helpers/dateFormat.js","containers/Users/index.jsx","shared/components/form/RadioButton.jsx","containers/Users/Edit/validate.js","containers/Users/Edit/UserForm.jsx","constants/enums.js","containers/Users/Edit/index.jsx","redux/actions/studentsActions.js","containers/Students/Index.jsx","redux/actions/studentSubjectsActions.js","redux/actions/materiaPeriodoActions.js","containers/Students/Tasks/index.jsx","containers/Profesor/PlaneamientoForm/components/HorariosTable.jsx","redux/actions/assistanceActions.js","containers/Students/Assistance/index.jsx","containers/Students/StudentData.jsx","containers/Students/Dashboard.jsx","containers/Students/Edit/validate.js","containers/Students/Edit/StudentForm.jsx","containers/Students/Edit/index.jsx","containers/StudentSubjects/InscriptionForm/validate.js","containers/StudentSubjects/InscriptionForm/InscriptionForm.jsx","containers/StudentSubjects/InscriptionForm/index.jsx","redux/actions/periodoActions.js","containers/StudentSubjects/index.jsx","containers/StudentSubjects/Inscription/validate.js","containers/StudentSubjects/Inscription/InscriptionForm.jsx","containers/StudentSubjects/Inscription/index.jsx","redux/actions/examActions.js","helpers/storage.js","containers/Exams/index.jsx","redux/actions/inscripcionExamenActions.js","containers/Exams/StudentExams.jsx","containers/Exams/StudentExamInscription.jsx","containers/Exams/ExamForm/InscripcionExamen/validate.js","containers/Exams/ExamForm/InscripcionExamen/InscriptionForm.jsx","containers/Exams/ExamForm/InscripcionExamen/index.jsx","containers/Exams/ExamForm/InscripcionExamen/AddInscriptionForm.jsx","helpers/debounce.js","containers/Exams/ExamForm/InscripcionExamen/AddIndex.jsx","containers/Exams/ExamForm/validate.js","containers/Exams/ExamForm/ExamForm.jsx","containers/Exams/ExamForm/index.jsx","containers/Exams/ExamForm/PrintView.jsx","containers/Example/components/ExampleCard.jsx","containers/Example/index.jsx","containers/ExampleTwo/components/ExampleCard.jsx","containers/ExampleTwo/index.jsx","containers/MateriasPeriodo/index.jsx","containers/Profesor/PlaneamientoForm/components/ObjetivosMateriaTable.jsx","containers/Profesor/PlaneamientoForm/components/CronogramaClasesTable.jsx","containers/Profesor/PlaneamientoForm/components/PracticaLaboratorioTable.jsx","containers/Profesor/PlaneamientoForm/components/ProyectoTrabajoPracticoTable.jsx","containers/Profesor/PlaneamientoForm/components/ActividadComplementariaTable.jsx","containers/Profesor/PlaneamientoForm/validate.js","containers/Profesor/PlaneamientoForm/components/form.jsx","containers/Profesor/PlaneamientoForm/index.jsx","redux/actions/planningActions.js","containers/MateriasPeriodo/EditForm/validate.js","containers/MateriasPeriodo/EditForm/MateriaPeriodoForm.jsx","containers/MateriasPeriodo/EditForm/index.jsx","containers/Profesor/Dashboard.jsx","redux/actions/professorActions.js","containers/Profesor/index.jsx","containers/MateriasPeriodo/Homework/HomeworkForm/validate.js","containers/MateriasPeriodo/Homework/HomeworkForm/StudentsScoresTable.jsx","containers/MateriasPeriodo/Homework/HomeworkForm/form.jsx","containers/MateriasPeriodo/Homework/HomeworkForm/index.jsx","containers/MateriasPeriodo/Homework/index.jsx","containers/Assistance/Form/validate.js","shared/components/form/ToggleButton.jsx","containers/Assistance/Form/studentAssistancesTable.jsx","containers/Assistance/Form/form.jsx","containers/Assistance/Form/index.jsx","containers/Assistance/Form/formModal.jsx","containers/Assistance/index.jsx","containers/Profesor/EditarNotasDialog.jsx","containers/Profesor/ProfessorData.jsx","containers/ReporteInscripcion/index.jsx","containers/ReporteAlumnosPorMateria/validate.js","containers/ReporteAlumnosPorMateria/FilterForm.jsx","containers/ReporteAlumnosPorMateria/index.jsx","containers/ReporteAlumnos/FilterForm.jsx","containers/ReporteAlumnos/index.jsx","containers/ReporteAlumnos/AcademicStatus/AcademicStatusForm.jsx","containers/ReporteAlumnos/AcademicStatus/index.jsx","containers/Periodos/index.jsx","containers/Periodos/PeriodoForm/validate.js","containers/Periodos/PeriodoForm/PeriodoForm.jsx","containers/Periodos/PeriodoForm/index.jsx","containers/Periodos/PeriodoForm/EditarMaterias/validate.js","containers/Periodos/PeriodoForm/EditarMaterias/EditarMateriasForm.jsx","containers/Periodos/PeriodoForm/EditarMaterias/index.jsx","containers/Periodos/PeriodoForm/MateriaPeriodo/validate.js","containers/Periodos/PeriodoForm/MateriaPeriodo/MateriaPeriodoForm.jsx","containers/Periodos/PeriodoForm/MateriaPeriodo/index.jsx","containers/Mallas/index.jsx","redux/actions/mallaActions.js","shared/components/form/Modal.jsx","containers/Mallas/MallaForm/validate.js","containers/Mallas/MallaForm/MallaForm.jsx","containers/Mallas/MallaForm/index.jsx","redux/actions/materiaMallaActions.js","containers/AuditLog/index.jsx","containers/App/Router.jsx","index.jsx","redux/actions/userActions.js","redux/actions/loginActions.js","redux/actions/sidebarActions.js","redux/actions/usersActions.js","redux/reducers/themeReducer.js","redux/reducers/sidebarReducer.js","redux/actions/rtlActions.js","redux/reducers/rtlReducer.js","redux/reducers/loginReducer.js","redux/reducers/userReducer.js","redux/reducers/usersReducer.js","containers/App/store.js","redux/actions/themeActions.js"],"names":["authParams","method","data","currentUser","JSON","parse","localStorage","getItem","params","body","stringify","headers","Content-Type","Authorization","concat","token","checkResults","result","ok","status","json","then","error","Object","C_DATA_Development_Fiuni_IntegralFull_code_IntegralSolution_Integral_ClientApp_node_modules_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__","checkDownloadResults","blob","apiGet","url","fetch","apiDownload","apiDownloadPost","apiPost","apiPut","id","apiDelete","__webpack_require__","d","__webpack_exports__","urlUsers","urlStudents","urlAssistances","urlStudentSubjects","urlExams","urlPeriodos","urlMateriasPeriodo","urlPlanning","urlInscripcionExamen","urlMallas","urlProfessors","createSuccessMessage","createWarningMessage","createErrorMessage","react_notifications__WEBPACK_IMPORTED_MODULE_0__","createNotification","type","text","NotificationManager","info","success","warning","App","_this","C_DATA_Development_Fiuni_IntegralFull_code_IntegralSolution_Integral_ClientApp_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__","this","C_DATA_Development_Fiuni_IntegralFull_code_IntegralSolution_Integral_ClientApp_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__","C_DATA_Development_Fiuni_IntegralFull_code_IntegralSolution_Integral_ClientApp_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__","call","state","loading","loaded","_this2","caches","keys","names","forEach","name","delete","console","log","e","window","addEventListener","setState","setTimeout","path","location","pathname","store","dispatch","verifyUserToken","onError","href","_this$state","react__WEBPACK_IMPORTED_MODULE_5___default","a","createElement","react_redux__WEBPACK_IMPORTED_MODULE_7__","react_router_dom__WEBPACK_IMPORTED_MODULE_8__","_ScrollToTop__WEBPACK_IMPORTED_MODULE_19__","react__WEBPACK_IMPORTED_MODULE_5__","className","fill","_Router__WEBPACK_IMPORTED_MODULE_17__","props","react_notifications__WEBPACK_IMPORTED_MODULE_9__","Component","hot","module","ScrollToTop","prevProps","scrollTo","children","PureComponent","withRouter","icon","process","TopbarSidebarButton","_this$props","changeMobileSidebarVisibility","changeSidebarVisibility","react_default","onClick","src","alt","TopbarMenuLinks","title","Link","to","TopbarMenuButton","Ava","TopbarProfile","classCallCheck","possibleConstructorReturn","getPrototypeOf","toggle","prevState","collapse","onLogoutClick","history","changeUserViewAs","logout","push","LoggedUser","fullName","AnonimousUser","isAuthenticated","ChevronDownIcon_default","Collapse","isOpen","TopbarMenuLink_TopbarMenuLinks","TopbarMenuButton_TopbarMenuButton","Topbar","changeUserView","viewPageAs","appEnvironment","topbar_TopbarSidebarButton","roles","length","value","onChange","Number","currentTarget","map","role","key","Alert","color","style","backgroundColor","label","topbar_TopbarProfile","SidebarLink","_ref","newLink","route","NavLink","activeClassName","Badge","defaultProps","SidebarCategory","isNew","categoryClass","classNames","sidebar__category-wrap","sidebar__category-wrap--open","SidebarContent","hideSidebar","showAdminMenu","show","Fragment","SidebarCategory_SidebarCategory","sidebar_SidebarLink","showStudentMenu","showProfessorMenu","showReportMenu","changeToDark","changeToLight","user","isAdminMenu","isProfessorMenu","esProfesor","esFuncionario","esAlumno","esAdmin","isStudentMenu","isReportMenu","string","PropTypes","shape","Sidebar","bool","direction","email","password","sidebar","sidebarClass","sidebar--show","sidebar--collapse","react_smooth_scrollbar_default","sidebar_SidebarContent","Layout","changeThemeToDark","changeThemeToLight","userType","_this$props2","layoutClass","layout","layout--collapse","topbar_Topbar","sidebar_Sidebar","connect","Bottombar","publicSettings","appName","appVersion","MainWrapper","theme","rtl","dir","CheckBoxField","disabled","defaultChecked","labelStyle","CheckboxClass","checkbox-btn","checked","checkedClass","labelClass","htmlFor","background","borderColor","CheckIcon_default","CloseIcon_default","renderCheckBoxField","input","_props$meta","meta","touched","CheckBox_CheckBoxField","assign","setPropsAsInitialValues","WrappedComponent","_PureComponent","_class","apply","arguments","inherits","createClass","initialValues","TextBox","placeholder","maxLength","min","max","step","_ref$meta","readOnly","onKeyPress","objectSpread","autoComplete","model","forceValidation","pattern","Confirm","question","yesLabel","otherLabel","noLabel","onConfirm","onCancel","onOther","confirmAlert","customUI","_ref2","onClose","Modal","size","modalClassName","ButtonToolbar","Button","validate","values","attrs","errors","test","isValid","LogIn","showPassword","preventDefault","handleChange","event","defineProperty","target","resetUserPassword","valid","onSuccess","resetPassword","handleSubmit","showSpinner","Spinner","width","height","showLoging","submitting","pristine","AccountOutlineIcon_default","Field","component","KeyVariantIcon_default","EyeIcon_default","aria-hidden","showResetPassword","loggingIn","onSubmit","reduxForm","form","validateForm","LogInContainer","loginAction","login","changeFormValue","onFirstLogin","components_LogInForm","FacebookIcon_default","GooglePlusIcon_default","bindActionCreators","change","newPassword","newPasswordConfirmation","FirstLogIn","showNewPassword","showNewPasswordConfirmation","tabIndex","FirstLogInContainer","submit","firstLogin","resetForm","components_FirstLogInForm","reset","CustomPagination","setPage","page","itemsCount","itemsToShow","onChangePage","totalPages","Math","ceil","render4Pages","pageOfItems","pages","i","dinamicPages","pagesToShow","from","floor","Pagination","PaginationItem","PaginationLink","ChevronDoubleLeftIcon_default","ChevronLeftIcon_default","active","ChevronRightIcon_default","ChevronDoubleRightIcon_default","render9Pages","_this$props3","React","DatePickerField","bind","assertThisInitialized","date","dateFormat","showTimeInput","react_datepicker_min_default","minDate","Date","getFullYear","selected","placeholderText","timeInputLabel","dropDownMode","showYearDropdown","showTimeSelect","CalendarBlankIcon_default","renderDatePickerField","DatePicker_DatePickerField","SelectField","selectedOption","defaultValue","options","isMulti","isClearable","isSearchable","menuIsOpen","isDisabled","styles","option","base","padding","alignTtems","display","boxSizing","multiValue","isFixed","multiValueLabel","fontWeight","paddingRight","multiValueRemove","menu","css","objectWithoutProperties","react_select_browser_esm","menuPlacement","clearable","classNamePrefix","undefined","renderSelectField","opts","slice","find","o","unshift","Select_SelectField","RenderDataTableInput","column","row","onAutoSave","editable","attributes","isNaN","inputStyle","searchProps","item","changed","onKeyDown","which","onBlur","onFocus","select","RenderSearchField","_props$searchProps","DatePicker","fontSize","DataTable","toggleSearch","showSearch","toggleAutoHide","autoHideSearch","visible","col","columns","items","getGridActions","onClearFilters","pageSize","totalItemsCount","searchable","filter","s","search","showForm","Col","md","lg","Card","CardBody","Row","xs","Form","h","Table","responsive","u","uIndex","hIndex","callback","format","actions","RenderDataTableAction","Pagination_CustomPagination","DataTableForm","TooltipItem","_useState","useState","_useState2","slicedToArray","tooltipOpen","setTooltipOpen","Tooltip","placement","LoadingSpinner","justifyContent","locales","Intl","DateTimeFormat","dateStyle","dateMMFormat","month","substring","dateDDFormat","day","dateTimeFormat","timeStyle","dateTimeString","toLocaleDateString","year","split","reverse","join","toLocaleTimeString","UsersContainer","fetchDatasList","fetchFormDatas","updateUserTable","filters","fetchUsers","pageInfo","r","deleteUser","userName","nombre","apellido","editUser","_this$state2","onDataTableSubmit","onDataTableClearFilters","getRoles","getColor","c","categoriasProfesores","rol","components_TooltipItem","some","arancelCero","fechaFinArancelCero","_this$state3","_this$state4","Container","components_LoadingSpinner","components_DataTable","enableReinitialize","RadioButtonField","radioValue","RadioButtonClass","radio-btn","renderRadioButtonField","RadioButton_RadioButtonField","showProfile","numeroDocumento","nacionalidad","domicilioTelefono","trabajoTelefono","emergenciaNumero","emergenciaContacto","materias","removed","materia","_ref$materia","duplicate","mat","index","m","indexOf","_error","escalafon","notas","TrueFalseValues","EditUser","showHideOtherData","showOtherData","showHideCategoriaProfesor","showCategoriaProfesor","categoriaProfesorTable","_ref2$fields","fields","_ref2$meta","submitFailed","onAddItemArray","onDeleteItemArray","onChangeText","onChangeSelect","colSpan","marginBottom","scope","categoriaProfesor","v","outline","provenienteDePuebloOriginario","saludPoseeOtraDiscapacidad","resetPasswordHandler","onBack","genero","grupoSanguineo","estadoCivil","saludPoseeDiscapacidadVisual","saludPoseeDiscapacidadAuditiva","saludPoseeDiscapacidadMotora","saludPoseeDiscapacidadCognitiva","onFilterChanges","age","paises","onRadioChanges","gruposSanguineos","estadosCiviles","generos","fechaNacimiento","_this$props$categoria","otherDataBtnClass","otherDataClass","categoriaProfesorDataClass","editMainInfo","birdDate","moment","requiredNameClass","requiredPhoneClass","g","renderRadioField","FieldArray","GruposSanguineos","Roles","Alumno","Profesor","Funcionario","Admin","EstadosCiviles","Generos","Calificaciones","desciption","EditUserContainer","escalafonDocente","mapPaises","p","nacionalidadPaisId","domicilioPaisId","trabajoPaisId","saveUser","message","handleOnBack","goBack","handleOnFilterChange","objectKey","idKey","_this$setState","handleAddCategoriasProfesores","toConsumableArray","parentId","handleRemoveCategoriasProfesores","_this$state$categoria","newArray","handleChangeText","newCategoriasProfesores","trim","handleChangeSelect","_data","handleRadioChanges","fetchUser","dto","nacionalidadPais","domicilioPais","trabajoPais","_this$state2$categori","UserForm","reporteAlumnosFormData","res","catch","fetchStudent","StudentsContainer","updateStudentsTable","handleDeleteStudent","student","handleViewAcademicStatusStudent","editStudent","actualizarNotas","inscripcion","obtenerMisDerechos","_ref3","_ref3$pageInfo","get","_ref5","save","obj","remove","_ref11","fetchSubjectsScheduleBySubjectPeriodId","_ref13","subjectId","getSubjectStudents","downloadSubjectStudentsScore","_ref16","URL","createObjectURL","link","document","download","appendChild","click","HomeworkContainer","updateTable","filterMyHomework","materiaPeriodoId","utilizaPorcentajePesoMateria","puntajeObtenido","puntajeTotal","HorariosTable","_ref$items","_ref$profesores","profesores","_ref$codigoClassroom","codigoClassroom","_ref$materiaPeriodo","materiaPeriodo","_ref$esAlumno","_materiaPeriodo$preRe","preRequisitos","horasSemanales","horasTeoriaSemanal","horasPracticaSemanal","horasLaboratorioSemanal","totalHorasSemanal","overflowX","lx","profesor","_ref4","dia","tipoActividadAcademicaHorario","horaInicio","horaFin","canEditarPlaneamiento","gap","semestreNro","updatePresenceStundent","_ref6","assistanceId","payload","AssistanceContainer","refreshTable","criteria","_criteria$page","_criteria$pageSize","_criteria$totalItemsC","_criteria$filters","logContent","fetchTable","subjectPeriodId","_ref2$pageInfo","fetchMy","assists","studentAssists","handleHideForm","nextPage","_this$state3$students","students","currentStudentId","findIndex","studentId","previousPage","_this$state4$students","assistanceButtons","assistanceValue","onPreviousPage","onNextPage","onPresent","onAbsent","pointerStudent","loadingAssists","columnGap","justifyItems","textAlign","description","dataTable","_this$state5","canEditTask","groupByAssistance","reference","assistanceByStudents","present","assistanceLength","attendancePerc","_ref7","reduce","_ref8","assistanceHeaders","flexDirection","_ref9","assistanceByStudent","as","aria-label","_ref10","pill","_ref12","round","_this$state6","StudentDataContainer","getMateriaPeriodo","fetchMySubject","tab","activeTab","isInteger","paddingLeft","seccion","marginTop","sm","carrera","semestre","anho","components_HorariosTable","horarios","porcentajePP","porcentajeAsistencia","Nav","tabs","NavItem","marginRight","TabContent","TabPane","tabId","Tasks","Assistance","StudentsDashboardContainer","loadFormData","verMateria","handleSubmitCard","colors","es_Form","flexWrap","xl","estado","semestreNroOrden","usuario","malla","numeroLegajo","fechaIngreso","StudentForm","users","mallas","EditStudentContainer","fetchCurrentStudent","mallaId","usuarioId","fetchUserList","fetchAllUsers","fetchMallaList","Edit_StudentForm","perfilAlumnoId","InscriptionForm","subjects","onChangeStudent","onInscriptionChanges","inscripto","InscriptionContainer","fetchStudentData","fetchSubjectList","fetchStudentList","evt","materiasModificadas","subject","_this$state$students","_this$state$subjects","StudentSubjects_InscriptionForm_InscriptionForm","StudentSubjectsContainer","periodos","updateSubjectsTable","getViewPageAs","showStarIcon","viewAsAlumno","showNombre","viewAsAllowedUser","includes","_filters$periodo","periodo","_filters$numeroSemest","numeroSemestre","periodoId","showAll","endpoint","fetchStudentSubjects","enableInscription","handleDeleteSubject","inscription","codigoMateria","nombreMateria","editStudentSubject","adminInscripcion","disabledCss","infoCss","onAddToFavoritesSubmit","newState","mostrarEnTablero","getPeriodos","_this$state$periodos","nombreMalla","nombreCarrera","_ref2$cantidadTareas","cantidadTareas","alumno","_this$props$mallas","_this$props$semesters","semesters","_this$props$subjects","nombreAlumno","apellidoAlumno","_this$props$alumnos","alumnos","SubjectsInscriptionContainer","fetchCurrentStudentSubject","fetchStudentSubject","fetchAllSubjects","studentSubject","mallaNombre","semestreId","semestreNombre","materiaId","materiaCodigo","materiaNombre","fetchFormData","new","viewModel","getInscriptionAllSubjects","_ref$subjects","filterSubjects","_this$state$mallaId","_this$state$semestreI","_this$state2$mallas","_this$state2$semester","_this$state2$students","Inscription_InscriptionForm","deleteExam","anhoLectivoId","downloadAcademicStatusStudent","materiaName","tableFilters","tableKey","sessionStorage","set","setItem","ExamsContainer","periodosExamen","estadoExamen","updateExamsTable","_ref2$page","_ref2$pageSize","_ref2$filters","handleDeleteExam","examen","fecha","dateFormated","handleStampExam","exam","handleShowPreviewExam","nroActa","_materia$replace$repl","replace","it","_materia$replace$repl2","carreraName","confirmData","editExam","addButton","getSubjectColor","getStates","getPeriodosExamen","tblFilters","cantidadInscriptos","showEdit","titleEdit","tbl","_this$state7","getFormData","idExamen","loadStudents","fetchMyExams","loadMisDerechos","derechos","codigo","codMateria","fechaExamen","fechaInscripcion","instancia","calificacion","calificacionObj","_this$state4$derechos","StudentExamInscriptionContainer","inscribirme","examenId","getDate","getInstanciaColor","getParametroColor","_ref2$item","pp","asis","parametro","fechaInscripcionMateria","motivo","validatePercentage","parseFloat","alumnoObj","porcentajePF","porcentajePC","ca","InscriptionFormContainer","showOnlyEnrolled","fetchInscriptionExamen","getInscripcionExamen","anioInscripcion","toLocaleString","_values$alumnoObj","handleOnStudentChange","InscripcionExamen_InscriptionForm","onAlumnoChanges","AddInscriptionForm","getShowQuantities","onStudentEnrollmentChanges","handleFilterChangeText","filterValue","Label","paddingTop","paddingBottom","for","doc","debounce","mainFunction","delay","timer","_len","args","Array","_key","clearTimeout","AddInscriptionFormContainer","_ref$loadStudents","_ref$filterValue","_ref2$alumnos","_values$alumnos","inscripcionExamenSaves","alumnosToShow","alignItems","editedStudentEnrollments","newAlumnos","elementsIndex","studentEnrollment","_this$state$alumnos","transformText","normalize","toLowerCase","getAlumnos","_this$state2$filterVa","sortColumn","sortType","_this$state2$alumnos","tma","sort","b","localeCompare","onShowOnlyEnrolledChanges","debouncedHandleFilterChangeText","_this$state3$examen","_examen$materia","InscripcionExamen_AddInscriptionForm","interventor","interventorAuxiliar","ExamForm","showScore","autoguardarNota","trow","inscriptos","_row$key","inscripcionId","handleActualizarNotasProfesor","editExamInscription","addExamInscription","deleteExamInscription","handleDeleteInscription","_this$props$estado","_materia$label$replac","_materia$label$replac2","scoreInputStyle","canEdit","score","_this$props3$profesor","carreras","onSubjectChanges","periodosLectivos","_this$props3$carrera","_this$props3$periodo","_this$props3$periodoL","periodoLectivo","_this$props3$materia","_this$props3$interven","_this$props3$interven2","ExamFormContainer","fetchCurrentExam","toISOString","fetchExam","interventorId","interventorAuxiliarId","carreraId","periodoLectivoId","aula","newInscriptos","_objectSpread2","_objectSpread3","profesorId","_objectSpread4","filtrarMaterias","handleOnSubjectChange","_objectSpread5","_this$state$carreras","Exams_ExamForm_ExamForm","PreviewFormContainer","fetchExamPrintPreview","getCalificacionText","print","fontFamily","lang","align","marginLeft","textIndent","face","lineHeight","fontSze","toUpperCase","pageBreakAfter","fontVariant","hour","minute","second","timeFormat","cellPadding","cellSpacing","valign","rowSpan","textTransform","ExampleCard","MateriasPage","components_ExampleCard","MallaPage","ExampleTwo_components_ExampleCard","MateriaPeriodoContainer","_ref$pageInfo","handleDeleteAction","record","edit","tieneHorario","UncontrolledPopover","trigger","PopoverHeader","PopoverBody","ObjetivosMateriaTable","_ref$fields","deleted","maxHeight","objetivo","minHeight","autofocus","CronogramaClasesTable","_","newValue","PracticaLaboratorioTable","multiple","sx","ProyectoTrabajoPracticoTable","duracionActividad","ActividadComplementariaTable","val","contribucionMateria","fundamentacionMateria","valoresContemplados","metodologiaEnsenhanza","estrategiasEvauacion","objetivosMaterias","bibliografiaBasica","cronogramaClases","practicasLaboratorios","proyectosTrabajosPracticos","contenidos","profesorMateria","unidad","actividad","descripcion","duracion","evaluacion","actividadesComplementarias","descripcionActividad","beneficiarios","fechas","cantidadHoras","PlaneamientoForm","buttonToolbar","createPlanning","loadingPage","finEditarPlaneamiento","showPlanning","listProfesores","page1","page2","page3","page4","page5","page6","page7","page8","page9","_this$props3$horarios","_this$props3$preRequi","_this$props4","_this$props5","_this$props6","_this$props7","_this$props7$cronogra","_this$props8","_this$props8$practica","_this$props8$duracion","_this$props9","_this$props9$proyecto","_this$props9$duracion","_this$props10","_this$props10$activid","_this$props11","_this$props12","_this$props12$horario","_this$props12$profeso","onDownload","IndexContainer","handleDownload","planningId","fetchCurrentRecord","getPlanning","planning","setPlanning","DuracionActividad","handleAddItemArray","newIndex","handleDeleteItemArray","_ref5$index","prev","_values$cronogramaCla","paylaod","savePlanning","entries","flatMap","_planning$objetivosMa","_planning$cronogramaC","_planning$practicasLa","_planning$proyectosTr","_planning$actividades","_planning$profesores","oldPlanning","components_form","profesorAuxiliar1","profesorAuxiliar2","profesorAuxiliar3","MateriaPeriodoForm","getOptionsTipoActividadAcademica","tipoActividadAcademica","tipoActividadAcademicaHorarios","taa","onGetAlumnosMateria","getProfesoresMateria","renderHorarios","_ref$tipoActividadAca","_ref$diasSemana","diasSemana","_ref$horarios","onAddSubjectsSchedule","onDeleteSubjectSchedule","profesoresMateria","horario","onInputChange","handleInputChange","planeamientoForm","Profesor_PlaneamientoForm","calculatePPFromTasks","cols","editarNotas","onDownloadAlumnosMateriaNotas","editarAsistencias","loadingAlumnosMateria","inline","showAssistPercentageInScores","downloadAlumnosMateriaNotas","materiaMalla","updateAlumnosMateria","handleAddSubjectsSchedule","_this$state$horarios","handleDeleteSubjectSchedule","_this$state$horarios2","fetchSubjects","meshId","fetchSubjectsByMeshId","materiaMallaId","profesorAuxiliar1Id","profesorAuxiliar2Id","profesorAuxiliar3Id","handleOnFilterChanges","updateSubjectsScheduleTable","newHorarios","horarioChanged","getTime","EditForm_MateriaPeriodoForm","ProfesorDashboardContainer","ProfesorSubjectsContainer","viewAsProfesor","viewAsAdmin","getSubjects","editRow","_onError","asyncToGenerator","regenerator_default","mark","_callee","wrap","_context","next","stop","_x","t0","t1","sent","_ref$descripcion","_ref$puntajeTotal","_ref$fechaEntrega","fechaEntrega","StudentsScoresTable","onSort","editScore","tarea","HomeworkForm","handleSort","tareaMateriaAlumnos","finCalificarTareas","FormGroup","getHomework","porcentajePesoMateria","tareaId","onHideForm","debouncedAutoSaveScore","getTareaMateriaAlumnos","_this$state$filterVal","_this$state$tarea$tar","autoSaveScore","scoreStudent","inscripcionMateriaId","tareaMateriaId","HomeworkForm_form","filterHomework","recordId","Homework_HomeworkForm","margin","_ref$date","ToggleButtonField","renderToggleButtonField","ToggleButton_ToggleButtonField","StudentAssistancesTable","onChangeChecked","checkBoxLabelStyle","thStyle","surname","AssistanceForm","logContents","room","AssistanceFormContainer","getAssistance","_ref2$students","assistance","_values$logContent","_values$present","logContentId","_ref3$payload","handleChangeChecked","_ref4$target","debouncedAutoSavePresent","getStudents","_this$state$assistanc","autoSavePresent","assistanceForm","Form_form","FormModal","_props$onCancel","getState","maxWidth","es","react","AssistValues","OwnerPopover","onGetAssistance","onGetCurrentStudent","_React$useState","_React$useState2","open","setOpen","_React$useState3","_React$useState4","setAssistance","Popover","flip","handlePresent","handleAbsent","_ref7$students","refreshFormDatas","fetchAll","showFormModal","editAssistance","_ref11$id","_this$state5$students","getCurrentStudent","_this$state6$students","studentIndex","rowGap","_students$studentInde","_students$studentInde2","_AssistValues$filter","studentAssistanceForm","_this$state8","Assistance_Form","studentAssistanceFormModal","_this$state9","_this$state10","_ref14","_ref17","_ref18","_ref19","_ref20","_ref15","_ref21","_ref22","_ref23","_this$state11","EditarNotasDialog","inscripcionMateria","onValueChanges","_inscripcionMateria$p","_inscripcionMateria$p2","persist","getElementById","textContent","noValidate","required","ProfessorDataContainer","refreshTables","updateMateriaPeriodo","handleChangeUtilizaPorcentajePesoMateria","allow","tareas","currentInscription","downloadAlumnosMateria","downloadSubjectStudents","columnsStudents","scores","t","_ref3$calificaciones","calificaciones","puntaje","Homework","containers_Assistance","periods","getPeriods","downloadAlumnos","downloadStudentsInscriptos","StudentSubjectFilterForm","semestres","onFilter","formData","distinctMaterias","self","x","todasLasMaterias","_this$setState2","handleOnFilter","descargarReporteAlumnosPorMaterias","FilterForm","StudentFilterForm","downloadStudents","ReporteAlumnos_FilterForm","AcademicStatusForm","getScoreName","pop","getScoreSubject","semester","calificacionesMaterias","verticalAlign","getScoreDetails","direccion","calificacionesSemestres","xm","borderless","parseInt","NumberFormat","se","bordered","AcademicStatusContainer","_this$props$id","reporteAcademicStatusStudent","AcademicStatus_AcademicStatusForm","PeriodosContainer","updatePeriodosTable","handleDeletePeriodo","editPeriodo","columnStyle","activo","inicioClases","finClases","inicioPeriodoInscripcion","finPeriodoInscripcion","esSemestrePar","anhoLectivo","PeriodoForm","agregarOquitarMaterias","editMateriaPeriodo","deleteMateriaPeriodo","handleDeleteMateriaPeriodo","onCarreraChanges","filterMaterias","getCarreras","aniosLectivos","PeriodoFormContainer","removeMateriaPeriodo","Periodos_PeriodoForm_PeriodoForm","onMateriaPeriodoChanges","fetchEditSubjectsFormData","EditarMateriasForm","idPeriodo","MateriaPeriodo_MateriaPeriodoForm","MallasContainer","updateMallasTable","handleDeleteMalla","editMalla","fechaVigencia","usarPorDefecto","ModalComponent","getIcon","modal","btn","colored","header","modalClass","modal-dialog--colored","modal-dialog--header","MallaForm","editMateriaMalla","deleteMateriaMalla","handleDeleteMateriaMalla","handleOkModal","handleCancelModal","MallaFormContainer","Mallas_MallaForm_MallaForm","AuditLogContainer","fetchAllUAuditLog","auditTypes","getAuditTypes","showData","tipo","userId","getUrlId","match","getUrlIdDetail","idDetail","Pages","Switch","Route","exact","render","Edit","Students_Edit","StudentSubjects","StudentData","StudentSubjects_InscriptionForm","Inscription","StudentsDashboard","StudentExamInscription","MyExamsContainer","AddIndex","InscripcionExamen","Exams_ExamForm","PrintView","ExamplePageOne","ExamplePageTwo","MateriasPeriodo","EditForm","PeriodoContainer","Periodos_PeriodoForm","MateriaPeriodo","EditarMaterias","MallaContainer","Mallas_MallaForm","ProfesorDashboard","ProfesorSubjects","ProfessorData","ReporteInscripcion","ReporteAlumnos","AcademicStatus","ReporteAlumnosPorMaterias","wrappedRoutes","containers_Layout","bottombar_Bottombar","Router","App_MainWrapper","innerProps","containers_LogIn","containers_FirstLogIn","react__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_0___default","n","react_dom__WEBPACK_IMPORTED_MODULE_1__","_containers_App_App__WEBPACK_IMPORTED_MODULE_2__","CREATE_NEW_USER","SET_USER_VALUE","FETCH_USER_LOADING","FETCH_USER_SUCCESS","FETCH_USER_FAILED","POST_USER_LOADING","POST_USER_SUCCESS","POST_USER_FAILED","_api_index__WEBPACK_IMPORTED_MODULE_0__","_api_urls__WEBPACK_IMPORTED_MODULE_1__","currentUserSubject","BehaviorSubject","SET_LOGIN_VALUE","LOGIN_LOADING","LOGIN_SUCCESS","LOGIN_FAILED","LOGOUT","loginLoading","loginSuccess","loginFailed","getLoginData","storeUserLogin","loginData","removeItem","response","CHANGE_SIDEBAR_VISIBILITY","CHANGE_MOBILE_SIDEBAR_VISIBILITY","CHANGE_USER_VIEW_AS","FETCH_USERS_LOADING","FETCH_USERS_SUCCESS","FETCH_USERS_FAILED","initialState","themeReducer","CHANGE_THEME_TO_DARK","CHANGE_THEME_TO_LIGHT","defaultView","sidebarReducer","action","CHANGE_DIRECTION_TO_LTR","CHANGE_DIRECTION_TO_RTL","rtlReducer","loginReducer","initialValue","userReducer","usersReducer","createStore","combineReducers","reducers","composeWithDevTools","applyMiddleware","thunk"],"mappings":"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","file":"static/js/main.4a59749e.chunk.js","sourcesContent":["const authParams = (method, data) => {\r\n const currentUser = JSON.parse(localStorage.getItem('currentUser')) || {};\r\n const params = {\r\n method,\r\n };\r\n if (data) {\r\n params.body = JSON.stringify(data);\r\n }\r\n if (currentUser) {\r\n params.headers = {\r\n 'Content-Type': 'application/json',\r\n Authorization: `Bearer ${currentUser.token}`,\r\n };\r\n }\r\n return params;\r\n};\r\n\r\nconst checkResults = (result) => {\r\n if (result.ok) {\r\n return result.status === 204 ? {} : result.json();\r\n } if (result.status === 400) {\r\n return result.json().then((error) => {\r\n const ex = {\r\n ...error,\r\n status: result.status,\r\n };\r\n\r\n throw ex;\r\n });\r\n }\r\n throw result;\r\n};\r\n\r\nconst checkDownloadResults = (result) => {\r\n if (result.ok) {\r\n return result.blob();\r\n } if (result.status === 400) {\r\n return result.json().then((error) => {\r\n throw error;\r\n });\r\n }\r\n throw result;\r\n};\r\n\r\nexport const apiGet = url => fetch(url, authParams('GET', null)).then(checkResults);\r\nexport const apiDownload = url => fetch(url, authParams('GET', null)).then(checkDownloadResults);\r\nexport const apiDownloadPost = (url, data) => fetch(url, authParams('POST', data)).then(checkDownloadResults);\r\nexport const apiPost = (url, data) => fetch(url, authParams('POST', data)).then(checkResults);\r\nexport const apiPut = (url, id, data) => fetch(`${url}/${id}`, authParams('PUT', data)).then(checkResults);\r\nexport const apiDelete = url => fetch(url, authParams('DELETE', null)).then(checkResults);\r\n","export const urlBase = '/api';\r\nexport const urlUsers = `${urlBase}/usuarios`;\r\nexport const urlStudents = `${urlBase}/students`;\r\nexport const urlAssistances = `${urlBase}/assistances`;\r\nexport const urlStudentSubjects = `${urlBase}/studentsubjects`;\r\nexport const urlExams = `${urlBase}/exams`;\r\nexport const urlPeriodos = `${urlBase}/Periodos`;\r\nexport const urlMateriasPeriodo = `${urlBase}/MateriasPeriodo`;\r\nexport const urlPlanning = `${urlBase}/planning`;\r\nexport const urlInscripcionExamen = `${urlBase}/inscripcionexamen`;\r\nexport const urlFacultades = `${urlBase}/facultades`;\r\nexport const urlCarreras = `${urlBase}/carreras`;\r\nexport const urlMaterias = `${urlBase}/materias`;\r\nexport const urlMallas = `${urlBase}/mallas`;\r\nexport const urlProfessors = `${urlBase}/Professors`;\r\n","import { NotificationManager } from 'react-notifications';\r\n\r\nexport const NOTIFY_INFO = 'info';\r\nexport const NOTIFY_SUCCESS = 'success';\r\nexport const NOTIFY_WARNING = 'warning';\r\nexport const NOTIFY_ERROR = 'error';\r\n/**\r\n * Creates a notification\r\n */\r\nexport const createNotification = (type, text) => {\r\n switch (type) {\r\n case NOTIFY_INFO:\r\n NotificationManager.info('Info', text || '');\r\n break;\r\n case NOTIFY_SUCCESS:\r\n NotificationManager.success('', text || '');\r\n break;\r\n case NOTIFY_WARNING:\r\n NotificationManager.warning('Advertencia', text || '');\r\n break;\r\n case NOTIFY_ERROR:\r\n NotificationManager.error('Error', text || 'Ha ocurrido un error, por favor intenta de nuevo.');\r\n break;\r\n default:\r\n break;\r\n }\r\n};\r\n\r\nexport const createInfoMessage = text => createNotification(NOTIFY_INFO, text);\r\nexport const createSuccessMessage = text => createNotification(NOTIFY_SUCCESS, text);\r\nexport const createWarningMessage = text => createNotification(NOTIFY_WARNING, text);\r\nexport const createErrorMessage = text => createNotification(NOTIFY_ERROR, text);\r\n","import React, { Component, Fragment } from 'react';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { hot } from 'react-hot-loader';\r\nimport { Provider } from 'react-redux';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport { NotificationContainer } from 'react-notifications';\r\nimport 'bootstrap/dist/css/bootstrap.css';\r\nimport 'react-datepicker/dist/react-datepicker.css';\r\nimport 'react-notifications/lib/notifications.css';\r\nimport 'react-confirm-alert/src/react-confirm-alert.css';\r\nimport 'react-data-grid/dist/react-data-grid.css';\r\nimport 'font-awesome/css/font-awesome.css';\r\nimport '../../scss/app.scss';\r\nimport Router from './Router';\r\nimport store from './store';\r\nimport ScrollToTop from './ScrollToTop';\r\nimport { verifyUserToken } from '../../redux/actions/loginActions';\r\nimport { createSuccessMessage } from '../../helpers/notification';\r\n\r\nclass App extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n loading: true,\r\n loaded: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n try {\r\n caches.keys().then((names) => {\r\n names.forEach((name) => {\r\n caches.delete(name);\r\n });\r\n });\r\n\r\n console.log('Complete Cache Cleared');\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n this.setState({ loading: false });\r\n setTimeout(() => this.setState({ loaded: true }), 500);\r\n });\r\n const { location: { pathname: path } } = window;\r\n if (!(path === '' || path === '/' || path === '/log_in')) {\r\n store.dispatch(verifyUserToken({\r\n onError: () => {\r\n createSuccessMessage('Error');\r\n window.location.href = ('/');\r\n },\r\n }));\r\n }\r\n }\r\n\r\n render() {\r\n const { loaded, loading } = this.state;\r\n return (\r\n \r\n \r\n \r\n \r\n {!loaded\r\n && (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\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 hot(module)(App);\r\n","import { PureComponent } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport PropTypes from 'prop-types';\n\nclass ScrollToTop extends PureComponent {\n static propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string,\n }).isRequired,\n children: PropTypes.element.isRequired,\n };\n\n componentDidUpdate(prevProps) {\n const { location } = this.props;\n if (location.pathname !== prevProps.location.pathname) {\n window.scrollTo(0, 0);\n }\n }\n\n render() {\n const { children } = this.props;\n return children;\n }\n}\n\nexport default withRouter(ScrollToTop);\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\n\nconst icon = `${process.env.PUBLIC_URL}/img/burger.svg`;\n\nclass TopbarSidebarButton extends PureComponent {\n static propTypes = {\n changeMobileSidebarVisibility: PropTypes.func.isRequired,\n changeSidebarVisibility: PropTypes.func.isRequired,\n };\n\n render() {\n const { changeMobileSidebarVisibility, changeSidebarVisibility } = this.props;\n\n return (\n
\n \n \n
\n );\n }\n}\n\nexport default TopbarSidebarButton;\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from 'react-router-dom';\n\nexport default class TopbarMenuLinks extends PureComponent {\n static propTypes = {\n title: PropTypes.string.isRequired,\n icon: PropTypes.string.isRequired,\n path: PropTypes.string.isRequired,\n };\n\n render() {\n const { title, icon, path } = this.props;\n\n return (\n \n \n

{title}

\n \n );\n }\n}\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nexport default class TopbarMenuButton extends PureComponent {\r\n static propTypes = {\r\n title: PropTypes.string.isRequired,\r\n icon: PropTypes.string.isRequired,\r\n onClick: PropTypes.func.isRequired,\r\n };\r\n\r\n render() {\r\n const { title, icon, onClick } = this.props;\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import React, { PureComponent } from 'react';\r\nimport DownIcon from 'mdi-react/ChevronDownIcon';\r\nimport PropTypes from 'prop-types';\r\nimport { withRouter } from 'react-router';\r\nimport { Collapse } from 'reactstrap';\r\nimport TopbarMenuLink from './TopbarMenuLink';\r\nimport TopbarMenuButton from './TopbarMenuButton';\r\nimport store from '../../App/store';\r\nimport { logout } from '../../../redux/actions/loginActions';\r\nimport { changeUserViewAs } from '../../../redux/actions/sidebarActions';\r\n\r\nconst Ava = `${process.env.PUBLIC_URL}/img/avatar.png`;\r\n\r\nclass TopbarProfile extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n };\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n collapse: false,\r\n };\r\n }\r\n\r\n toggle = () => {\r\n this.setState(prevState => ({ collapse: !prevState.collapse }));\r\n };\r\n\r\n onLogoutClick = () => {\r\n const { history } = this.props;\r\n store.dispatch(changeUserViewAs(0));\r\n store.dispatch(logout());\r\n history.push('/');\r\n };\r\n\r\n render() {\r\n const { collapse } = this.state;\r\n\r\n const currentUser = JSON.parse(localStorage.getItem('currentUser')) || {};\r\n const LoggedUser = (\r\n

{currentUser.fullName}

\r\n );\r\n const AnonimousUser = (\r\n

Usuario anónimo

\r\n );\r\n\r\n return (\r\n
\r\n \r\n {collapse && \r\n \r\n
    \r\n
    \r\n {children}\r\n
    \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport SidebarLink from './SidebarLink';\r\nimport SidebarCategory from './SidebarCategory';\r\n\r\nclass SidebarContent extends Component {\r\n static propTypes = {\r\n changeToDark: PropTypes.func.isRequired,\r\n changeToLight: PropTypes.func.isRequired,\r\n onClick: PropTypes.func.isRequired,\r\n viewPageAs: PropTypes.number.isRequired,\r\n };\r\n\r\n hideSidebar = () => {\r\n const { onClick } = this.props;\r\n onClick();\r\n };\r\n\r\n showAdminMenu = show => (\r\n show ? (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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\r\n showStudentMenu = show => (\r\n show ? (\r\n <>\r\n \r\n \r\n \r\n \r\n ) : null\r\n );\r\n\r\n showProfessorMenu = show => (\r\n show ? (\r\n <>\r\n \r\n\r\n \r\n\r\n \r\n \r\n ) : null\r\n );\r\n\r\n showReportMenu = show => (\r\n show ? (\r\n <>\r\n \r\n \r\n \r\n \r\n ) : null\r\n );\r\n\r\n render() {\r\n const { changeToDark, changeToLight, viewPageAs } = this.props;\r\n const user = JSON.parse(localStorage.getItem('currentUser')) || {};\r\n\r\n const isAdminMenu = viewPageAs === 2 || viewPageAs === 3;\r\n\r\n const isProfessorMenu = user.esProfesor\r\n && (viewPageAs === 1 || (user.esProfesor && !user.esFuncionario && !user.esAlumno && !user.esAdmin));\r\n\r\n const isStudentMenu = user.esAlumno\r\n && (viewPageAs === 0 || (user.esAlumno && !user.esFuncionario && !user.esProfesor && !user.esAdmin));\r\n\r\n const isReportMenu = isStudentMenu || isAdminMenu;\r\n\r\n return (\r\n
\r\n
    \r\n \r\n \r\n \r\n \r\n
\r\n
    \r\n {this.showAdminMenu(isAdminMenu)}\r\n {this.showStudentMenu(isStudentMenu)}\r\n {this.showProfessorMenu(isProfessorMenu)}\r\n {this.showReportMenu(isReportMenu)}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default SidebarContent;\r\n","import PropTypes from 'prop-types';\r\n\r\nconst {\r\n string, shape,\r\n} = PropTypes;\r\n\r\nexport const SidebarProps = shape({\r\n show: PropTypes.bool,\r\n collapse: PropTypes.bool,\r\n});\r\n\r\nexport const ThemeProps = shape({\r\n className: string,\r\n});\r\n\r\nexport const RTLProps = shape({\r\n direction: string,\r\n});\r\n\r\nexport const LoginProps = shape({\r\n email: string,\r\n password: string,\r\n});\r\n","import React from 'react';\r\nimport Scrollbar from 'react-smooth-scrollbar';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport SidebarContent from './SidebarContent';\r\nimport { SidebarProps } from '../../../shared/prop-types/ReducerProps';\r\n\r\nconst Sidebar = ({\r\n changeToDark, changeToLight, changeMobileSidebarVisibility, sidebar, viewPageAs,\r\n}) => {\r\n const sidebarClass = classNames({\r\n sidebar: true,\r\n 'sidebar--show': sidebar.show,\r\n 'sidebar--collapse': sidebar.collapse,\r\n });\r\n\r\n return (\r\n
\r\n
\r\n );\r\n};\r\n\r\nSidebar.propTypes = {\r\n sidebar: SidebarProps.isRequired,\r\n changeToDark: PropTypes.func.isRequired,\r\n changeToLight: PropTypes.func.isRequired,\r\n changeMobileSidebarVisibility: PropTypes.func.isRequired,\r\n viewPageAs: PropTypes.number.isRequired,\r\n};\r\n\r\nexport default Sidebar;\r\n","import React, { Component } from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport Topbar from './topbar/Topbar';\r\nimport Sidebar from './sidebar/Sidebar';\r\n\r\nimport { changeThemeToDark, changeThemeToLight } from '../../redux/actions/themeActions';\r\nimport {\r\n changeMobileSidebarVisibility,\r\n changeSidebarVisibility,\r\n changeUserViewAs,\r\n} from '../../redux/actions/sidebarActions';\r\nimport { SidebarProps } from '../../shared/prop-types/ReducerProps';\r\n\r\nclass Layout extends Component {\r\n static propTypes = {\r\n dispatch: PropTypes.func.isRequired,\r\n sidebar: SidebarProps.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n appEnvironment: PropTypes.shape({}).isRequired,\r\n };\r\n\r\n changeSidebarVisibility = () => {\r\n const { dispatch } = this.props;\r\n dispatch(changeSidebarVisibility());\r\n };\r\n\r\n changeMobileSidebarVisibility = () => {\r\n const { dispatch } = this.props;\r\n dispatch(changeMobileSidebarVisibility());\r\n };\r\n\r\n changeToDark = () => {\r\n const { dispatch } = this.props;\r\n dispatch(changeThemeToDark());\r\n };\r\n\r\n changeToLight = () => {\r\n const { dispatch } = this.props;\r\n dispatch(changeThemeToLight());\r\n };\r\n\r\n changeUserView = (userType) => {\r\n const { dispatch, history } = this.props;\r\n dispatch(changeUserViewAs(userType));\r\n const user = JSON.parse(localStorage.getItem('currentUser')) || {};\r\n if (userType === 0 && user.esAlumno) {\r\n history.push('/pages/student-dashboard');\r\n } else if (userType === 1 && user.esProfesor) {\r\n history.push('/pages/profesor-dashboard');\r\n } else {\r\n history.push('/pages/one');\r\n }\r\n };\r\n\r\n render() {\r\n const { sidebar, appEnvironment } = this.props;\r\n const { viewPageAs } = sidebar;\r\n const layoutClass = classNames({\r\n layout: true,\r\n 'layout--collapse': sidebar.collapse,\r\n });\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(state => ({\r\n sidebar: state.sidebar,\r\n}))(Layout));\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Link } from 'react-router-dom';\r\n\r\nconst Bottombar = ({ publicSettings }) => {\r\n const { appName, appVersion } = publicSettings;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {appName} 2021-2023 - Build # {appVersion}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nBottombar.propTypes = {\r\n publicSettings: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default Bottombar;\r\n","import React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\nimport { withRouter } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport { ThemeProps, RTLProps } from '../../shared/prop-types/ReducerProps';\n\nclass MainWrapper extends PureComponent {\n static propTypes = {\n theme: ThemeProps.isRequired,\n rtl: RTLProps.isRequired,\n children: PropTypes.element.isRequired,\n location: PropTypes.shape({}).isRequired,\n };\n\n render() {\n const {\n theme, children, rtl, location,\n } = this.props;\n\n const direction = location.pathname === '/' ? 'ltr' : rtl.direction;\n\n return (\n
\n
\n {children}\n
\n
\n );\n }\n}\n\nexport default withRouter(connect(state => ({\n theme: state.theme,\n rtl: state.rtl,\n}))(MainWrapper));\n","/* eslint-disable jsx-a11y/label-has-for */\r\nimport React, { PureComponent } from 'react';\r\nimport CheckIcon from 'mdi-react/CheckIcon';\r\nimport CloseIcon from 'mdi-react/CloseIcon';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\n\r\nclass CheckBoxField extends PureComponent {\r\n static propTypes = {\r\n onChange: PropTypes.func.isRequired,\r\n name: PropTypes.string.isRequired,\r\n value: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.bool,\r\n ]).isRequired,\r\n label: PropTypes.string,\r\n defaultChecked: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n className: PropTypes.string,\r\n style: PropTypes.shape({}),\r\n labelStyle: PropTypes.shape({}),\r\n color: PropTypes.string,\r\n };\r\n\r\n static defaultProps = {\r\n label: '',\r\n defaultChecked: false,\r\n disabled: false,\r\n className: '',\r\n style: {},\r\n labelStyle: {},\r\n color: '',\r\n };\r\n\r\n componentDidMount() {\r\n // const { onChange, defaultChecked } = this.props;\r\n // onChange(defaultChecked);\r\n }\r\n\r\n render() {\r\n const {\r\n disabled,\r\n className,\r\n name,\r\n value,\r\n onChange,\r\n label,\r\n color,\r\n defaultChecked,\r\n style,\r\n labelStyle,\r\n } = this.props;\r\n\r\n const CheckboxClass = classNames({\r\n 'checkbox-btn': true,\r\n disabled,\r\n });\r\n\r\n const checked = value !== '' ? value : defaultChecked;\r\n const checkedClass = checked ? 'checkbox-btn--checked' : '';\r\n const labelClass = `${CheckboxClass} ${checkedClass} ${className ? `checkbox-btn--${className}` : ''}`;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n
\r\n {className === 'button'\r\n ? (\r\n \r\n \r\n \r\n \r\n ) : ''}\r\n \r\n {label}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst renderCheckBoxField = (props) => {\r\n const {\r\n input,\r\n label,\r\n defaultChecked,\r\n disabled,\r\n className,\r\n color,\r\n style,\r\n labelStyle,\r\n meta: {\r\n touched, error,\r\n },\r\n } = props;\r\n\r\n return (\r\n
\r\n \r\n {touched && error && {error}}\r\n
\r\n );\r\n};\r\n\r\nrenderCheckBoxField.propTypes = {\r\n input: PropTypes.shape({\r\n onChange: PropTypes.func,\r\n name: PropTypes.string,\r\n value: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.bool,\r\n ]),\r\n }).isRequired,\r\n label: PropTypes.string,\r\n defaultChecked: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n style: PropTypes.shape({}),\r\n labelStyle: PropTypes.shape({}),\r\n className: PropTypes.string,\r\n color: PropTypes.string,\r\n meta: PropTypes.shape({\r\n touched: PropTypes.bool,\r\n error: PropTypes.any,\r\n }),\r\n};\r\n\r\nrenderCheckBoxField.defaultProps = {\r\n label: '',\r\n defaultChecked: false,\r\n disabled: false,\r\n style: {},\r\n labelStyle: {},\r\n className: '',\r\n color: '',\r\n meta: {},\r\n};\r\n\r\nexport default renderCheckBoxField;\r\n","import React, { PureComponent } from 'react';\r\n\r\nconst setPropsAsInitialValues = WrappedComponent => (\r\n class extends PureComponent {\r\n render() {\r\n return ;\r\n }\r\n }\r\n);\r\n\r\nexport default setPropsAsInitialValues;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst TextBox = ({\r\n input,\r\n placeholder,\r\n type,\r\n maxLength,\r\n min,\r\n max,\r\n step,\r\n meta: { touched, error },\r\n readOnly,\r\n disabled,\r\n className,\r\n style,\r\n onKeyPress,\r\n}) => {\r\n const props = {\r\n ...input,\r\n };\r\n\r\n if (type === 'number') {\r\n props.step = step;\r\n\r\n if (min) {\r\n props.min = min;\r\n }\r\n if (max) {\r\n props.max = max <= 999999999999 ? max : 999999999999;\r\n }\r\n }\r\n\r\n if (type === 'textarea') {\r\n return (\r\n
\r\n \r\n {touched && error && {error}}\r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n \r\n {touched && error && {error}}\r\n
\r\n );\r\n};\r\n\r\nTextBox.propTypes = {\r\n input: PropTypes.shape({}).isRequired,\r\n style: PropTypes.shape({}),\r\n placeholder: PropTypes.string,\r\n type: PropTypes.string,\r\n min: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n max: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n step: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n maxLength: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n model: PropTypes.string,\r\n forceValidation: PropTypes.bool,\r\n readOnly: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n className: PropTypes.string,\r\n pattern: PropTypes.string,\r\n meta: PropTypes.shape({\r\n touched: PropTypes.bool,\r\n error: PropTypes.any,\r\n }),\r\n onKeyPress: PropTypes.func,\r\n};\r\n\r\nTextBox.defaultProps = {\r\n style: {},\r\n placeholder: '',\r\n meta: {},\r\n type: 'text',\r\n min: '',\r\n max: '',\r\n step: '',\r\n maxLength: '',\r\n model: '',\r\n forceValidation: false,\r\n readOnly: false,\r\n disabled: false,\r\n className: '',\r\n pattern: '',\r\n onKeyPress: () => false,\r\n};\r\n\r\nexport default TextBox;\r\n","import React from 'react';\r\nimport { confirmAlert } from 'react-confirm-alert';\r\nimport { Button, ButtonToolbar, Modal } from 'reactstrap';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst Confirm = ({\r\n title,\r\n question,\r\n yesLabel,\r\n otherLabel,\r\n noLabel,\r\n onConfirm,\r\n onCancel,\r\n onOther,\r\n color,\r\n}) => {\r\n const modalClass = 'modal-dialog--header';\r\n\r\n Confirm.propTypes = {\r\n title: PropTypes.string.isRequired,\r\n question: PropTypes.string.isRequired,\r\n yesLabel: PropTypes.string,\r\n otherLabel: PropTypes.string,\r\n noLabel: PropTypes.string,\r\n onConfirm: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func,\r\n onOther: PropTypes.func.isRequired,\r\n color: PropTypes.string,\r\n };\r\n\r\n Confirm.defaultProps = {\r\n yesLabel: 'Si',\r\n noLabel: 'No, Volver',\r\n color: 'warning',\r\n onCancel: () => { },\r\n };\r\n\r\n const customUI = ({ onClose }) => (\r\n
\r\n \r\n
\r\n

{title}

\r\n
\r\n
\r\n {question}\r\n
\r\n \r\n {\r\n if (onCancel) {\r\n onCancel();\r\n }\r\n onClose();\r\n }}\r\n >\r\n {noLabel}\r\n \r\n {\r\n otherLabel && (\r\n {\r\n onOther();\r\n onClose();\r\n }}\r\n >\r\n {otherLabel}\r\n \r\n )\r\n }\r\n {\r\n onConfirm();\r\n onClose();\r\n }}\r\n >\r\n {yesLabel}\r\n \r\n \r\n \r\n
\r\n );\r\n\r\n customUI.propTypes = {\r\n onClose: PropTypes.func.isRequired,\r\n };\r\n\r\n confirmAlert({\r\n customUI,\r\n });\r\n};\r\n\r\nexport default Confirm;\r\n","const validate = (values) => {\r\n const attrs = values || {};\r\n const errors = {};\r\n if (!attrs.email) {\r\n errors.email = 'Debe ingresar el correo electrónico.';\r\n } else if (!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i.test(attrs.email)) {\r\n errors.email = 'El correo electronico no es valido.';\r\n }\r\n if (!attrs.password) {\r\n errors.password = 'Debe ingresar la contraseña';\r\n }\r\n errors.isValid = Object.keys(errors).length === 0;\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport { Field, reduxForm } from 'redux-form';\r\nimport { Spinner, Button } from 'reactstrap';\r\nimport EyeIcon from 'mdi-react/EyeIcon';\r\nimport KeyVariantIcon from 'mdi-react/KeyVariantIcon';\r\nimport AccountOutlineIcon from 'mdi-react/AccountOutlineIcon';\r\nimport PropTypes from 'prop-types';\r\nimport { resetUserPassword } from '../../../redux/actions/userActions';\r\nimport renderCheckBoxField from '../../../shared/components/form/CheckBox';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport { createErrorMessage, createSuccessMessage } from '../../../helpers/notification';\r\nimport TextBox from '../../../shared/components/form/TextBox';\r\nimport Confirm from '../../../shared/components/Confirm';\r\nimport validateForm from './validate';\r\n\r\nclass LogIn extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool.isRequired,\r\n pristine: PropTypes.bool.isRequired,\r\n loggingIn: PropTypes.bool.isRequired,\r\n };\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n showPassword: false,\r\n email: false,\r\n resetPassword: false,\r\n };\r\n }\r\n\r\n showPassword = (e) => {\r\n e.preventDefault();\r\n this.setState(prevState => ({ showPassword: !prevState.showPassword }));\r\n }\r\n\r\n handleChange = (event) => {\r\n this.setState({ [event.target.name]: event.target.value });\r\n };\r\n\r\n resetUserPassword = (props) => {\r\n const { valid } = props;\r\n if (!valid) {\r\n return;\r\n }\r\n\r\n const { email } = this.state;\r\n\r\n Confirm({\r\n title: 'Restablecer contrase\\xF1a',\r\n question: `Est\\xE1s seguro que deseas restablecer la contrase\\xF1a de ${email}?`,\r\n yesLabel: 'Si, Restablecer',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n resetUserPassword(email, {\r\n onSuccess: () => {\r\n const msg = 'Contrase\\xF1a restablecida exitosamente.';\r\n createSuccessMessage(`${msg} Se ha enviado un correo con la contrase\\xF1a temporal.`);\r\n this.setState({ resetPassword: false });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El usuario no existe');\r\n } else {\r\n createErrorMessage('Error al intentar restablecer contrase\\xF1a');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n handleSubmit = (values) => {\r\n const { handleSubmit } = this.props;\r\n return handleSubmit(values);\r\n }\r\n\r\n showSpinner = () => (\r\n
\r\n \r\n
\r\n );\r\n\r\n showLoging = (showPassword, submitting, pristine) => (\r\n <>\r\n
\r\n Usuario\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Contraseña\r\n
\r\n
\r\n \r\n
\r\n \r\n this.showPassword(e)}\r\n type=\"button\"\r\n >\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Ingresar\r\n \r\n this.setState({ resetPassword: true })}\r\n >\r\n ¿Olvidaste tu Contraseña?\r\n \r\n \r\n );\r\n\r\n showResetPassword = () => (\r\n <>\r\n
\r\n Usuario\r\n
\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.resetUserPassword(this.props)}\r\n >Restablecer\r\n \r\n this.setState({ resetPassword: false })}\r\n >Cancelar\r\n \r\n \r\n );\r\n\r\n render() {\r\n const { showPassword, resetPassword } = this.state;\r\n const { submitting, pristine, loggingIn } = this.props;\r\n\r\n if (resetPassword) {\r\n return (\r\n
this.handleSubmit(values)}>\r\n {\r\n this.showResetPassword()\r\n }\r\n
\r\n );\r\n }\r\n\r\n return (\r\n
this.handleSubmit(values)}>\r\n {\r\n !loggingIn ? this.showLoging(showPassword) : this.showSpinner(submitting, pristine)\r\n }\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst LogInForm = reduxForm({\r\n form: 'LogInForm',\r\n validate: validateForm,\r\n})(LogIn);\r\n\r\nexport default setPropsAsInitialValues(LogInForm);\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter, Link } from 'react-router-dom';\r\nimport { change } from 'redux-form';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport FacebookIcon from 'mdi-react/FacebookIcon';\r\nimport GooglePlusIcon from 'mdi-react/GooglePlusIcon';\r\nimport LogInForm from './components/LogInForm';\r\nimport { login, logout } from '../../redux/actions/loginActions';\r\nimport { changeUserViewAs } from '../../redux/actions/sidebarActions';\r\nimport { createWarningMessage } from '../../helpers/notification';\r\n\r\nclass LogInContainer extends PureComponent {\r\n constructor() {\r\n super();\r\n this.state = {\r\n loggingIn: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n // const { logout: logoutAction } = this.props;\r\n // logoutAction();\r\n }\r\n\r\n handleSubmit = (values) => {\r\n this.setState(prevState => ({ loggingIn: !prevState.loggingIn }));\r\n\r\n const { login: loginAction, history, changeFormValue } = this.props;\r\n changeFormValue('LogInForm', 'password', '***************');\r\n return loginAction(values, {\r\n onSuccess: () => {\r\n const currentUser = JSON.parse(localStorage.getItem('currentUser')) || {};\r\n if (currentUser.esAlumno) {\r\n this.changeUserView(0);\r\n history.push('/pages/student-dashboard');\r\n return;\r\n }\r\n\r\n if (currentUser.esProfesor) {\r\n this.changeUserView(1);\r\n history.push('/pages/profesor-dashboard');\r\n return;\r\n }\r\n\r\n history.push('/pages/one');\r\n },\r\n onFirstLogin: () => {\r\n history.push('/first_log_in');\r\n },\r\n onError: () => {\r\n createWarningMessage('Usuario y/o contraseña incorrecto');\r\n this.setState(prevState => ({ loggingIn: !prevState.loggingIn }));\r\n },\r\n });\r\n }\r\n\r\n changeUserView = (userType) => {\r\n const { dispatch } = this.props;\r\n dispatch(changeUserViewAs(userType));\r\n }\r\n\r\n render() {\r\n const { loggingIn } = this.state;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

Bienvenido a\r\n Integral\r\n FIUNI\r\n \r\n

\r\n

Facultad de Ingeniería

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

Or Easily Using

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nLogInContainer.propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n login: PropTypes.func.isRequired,\r\n changeFormValue: PropTypes.func.isRequired,\r\n dispatch: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapStateToProps = () => ({});\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n login,\r\n logout,\r\n changeFormValue: change,\r\n dispatch,\r\n}, dispatch);\r\n\r\nexport default withRouter(connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(LogInContainer));\r\n","const validate = (values) => {\r\n const attrs = values || {};\r\n const errors = {};\r\n if (!attrs.email) {\r\n errors.email = 'Debe ingresar el correo electrónico.';\r\n } else if (!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i.test(attrs.email)) {\r\n errors.email = 'El correo electronico no es valido.';\r\n }\r\n if (!attrs.password) {\r\n errors.password = 'Debe ingresar la contraseña actual';\r\n }\r\n if (!attrs.newPassword) {\r\n errors.newPassword = 'Debe ingresar la nueva contraseña';\r\n }\r\n if (attrs.newPassword && attrs.newPasswordConfirmation === attrs.password) {\r\n errors.newPassword = 'La nueva contraseña no puede ser igual a la contraseña actual';\r\n }\r\n if (!attrs.newPasswordConfirmation) {\r\n errors.newPasswordConfirmation = 'Debe confirmar la nueva contraseña';\r\n }\r\n if (attrs.newPasswordConfirmation && attrs.newPasswordConfirmation !== attrs.newPassword) {\r\n errors.newPasswordConfirmation = 'La confirmación de la nueva contraseña no es igual a la nueva contraseña';\r\n }\r\n errors.isValid = Object.keys(errors).length === 0;\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport { Field, reduxForm } from 'redux-form';\r\nimport EyeIcon from 'mdi-react/EyeIcon';\r\nimport KeyVariantIcon from 'mdi-react/KeyVariantIcon';\r\nimport AccountOutlineIcon from 'mdi-react/AccountOutlineIcon';\r\nimport PropTypes from 'prop-types';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport TextBox from '../../../shared/components/form/TextBox';\r\nimport validate from './validate';\r\n\r\nclass FirstLogIn extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool.isRequired,\r\n pristine: PropTypes.bool.isRequired,\r\n };\r\n\r\n constructor() {\r\n super();\r\n this.state = { showPassword: false };\r\n }\r\n\r\n showPassword = (e) => {\r\n e.preventDefault();\r\n const { currentTarget: { id } } = e;\r\n this.setState(prevState => ({ [id]: !prevState[id] }));\r\n }\r\n\r\n render() {\r\n const { showPassword, showNewPassword, showNewPasswordConfirmation } = this.state;\r\n const { handleSubmit, submitting, pristine } = this.props;\r\n const currentUser = JSON.parse(localStorage.getItem('currentUser')) || {};\r\n return (\r\n
\r\n
\r\n Usuario\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Contraseña actual\r\n
\r\n
\r\n \r\n
\r\n \r\n this.showPassword(e)}\r\n type=\"button\"\r\n tabIndex={0}\r\n >\r\n \r\n
\r\n
\r\n
\r\n Contraseña nueva\r\n
\r\n
\r\n \r\n
\r\n \r\n this.showPassword(e)}\r\n type=\"button\"\r\n tabIndex={0}\r\n >\r\n \r\n
\r\n
\r\n
\r\n Confirmación de ontraseña nueva\r\n
\r\n
\r\n \r\n
\r\n \r\n this.showPassword(e)}\r\n type=\"button\"\r\n >\r\n \r\n
\r\n
\r\n Establecer nueva contraseña\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst FirstLogInForm = reduxForm({\r\n form: 'LogInForm',\r\n validate,\r\n})(FirstLogIn);\r\n\r\nexport default setPropsAsInitialValues(FirstLogInForm);\r\n","import React, { PureComponent } from 'react';\r\nimport { reset } from 'redux-form';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { Link } from 'react-router-dom';\r\nimport FacebookIcon from 'mdi-react/FacebookIcon';\r\nimport GooglePlusIcon from 'mdi-react/GooglePlusIcon';\r\nimport FirstLogInForm from './components/FirstLogInForm';\r\nimport { firstLogin } from '../../redux/actions/loginActions';\r\nimport { createWarningMessage, createSuccessMessage } from '../../helpers/notification';\r\n\r\nclass FirstLogInContainer extends PureComponent {\r\n handleSubmit = (values) => {\r\n const { firstLogin: submit, history, resetForm } = this.props;\r\n resetForm('LogInForm');\r\n return submit(values,\r\n {\r\n onSuccess: () => {\r\n createSuccessMessage('Nueva contraseña establecidad con éxito');\r\n history.push('/pages/users');\r\n },\r\n onError: () => {\r\n createWarningMessage('Usuario y/o contraseña incorrecto');\r\n },\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

Establecer nueva contraseña

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

Or Easily Using

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nFirstLogInContainer.propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n firstLogin: PropTypes.func.isRequired,\r\n resetForm: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapStateToProps = () => ({});\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n firstLogin,\r\n resetForm: reset,\r\n}, dispatch);\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(FirstLogInContainer);\r\n","import React from 'react';\r\nimport { Pagination, PaginationItem, PaginationLink } from 'reactstrap';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport ChevronRightIcon from 'mdi-react/ChevronRightIcon';\r\nimport ChevronDoubleRightIcon from 'mdi-react/ChevronDoubleRightIcon';\r\n\r\nimport ChevronLeftIcon from 'mdi-react/ChevronLeftIcon';\r\nimport ChevronDoubleLeftIcon from 'mdi-react/ChevronDoubleLeftIcon';\r\n\r\nexport default class CustomPagination extends React.Component {\r\n static propTypes = {\r\n onChangePage: PropTypes.func.isRequired,\r\n itemsCount: PropTypes.number.isRequired,\r\n itemsToShow: PropTypes.number.isRequired,\r\n pageOfItems: PropTypes.number.isRequired,\r\n };\r\n\r\n setPage = (page) => {\r\n const { itemsCount, itemsToShow, onChangePage } = this.props;\r\n\r\n // calculate total pages\r\n const totalPages = Math.ceil(itemsCount / itemsToShow);\r\n\r\n if (page < 1 || page > totalPages) {\r\n return;\r\n }\r\n\r\n // call change page function in parent component\r\n onChangePage(page);\r\n };\r\n\r\n render4Pages = () => {\r\n const { itemsCount, itemsToShow, pageOfItems } = this.props;\r\n\r\n const pagesToShow = 4;\r\n const pages = [];\r\n const totalPages = Math.ceil(itemsCount / itemsToShow);\r\n\r\n if (totalPages <= pagesToShow) {\r\n for (let i = 1; i <= totalPages; i += 1) {\r\n pages.push(i);\r\n }\r\n } else {\r\n // 1 ... 5 6 7 .... 20 Paginantion impl\r\n pages.push(1);\r\n const currentPageSpace = pagesToShow === 1 || pagesToShow === totalPages ? 0 : 1;\r\n const dinamicPages = pagesToShow - 2 - currentPageSpace; // First, current and last\r\n if (totalPages / 2 < pageOfItems) {\r\n const to = Math.min(pageOfItems + Math.ceil(dinamicPages / 2), totalPages - 1);\r\n const from = Math.max(pageOfItems - (dinamicPages - (to - pageOfItems)), 2);\r\n if (from > 2) pages.push(0); // Separator\r\n for (let i = from; i <= to; i += 1) {\r\n pages.push(i);\r\n }\r\n if (to < (totalPages - 1)) pages.push(0); // Separator\r\n } else {\r\n const from = Math.max(pageOfItems - Math.floor(dinamicPages / 2), 2);\r\n const to = Math.min(pageOfItems + (dinamicPages - (pageOfItems - from)), totalPages - 1);\r\n if (from > 2) pages.push(0); // Separator\r\n for (let i = from; i <= to; i += 1) {\r\n pages.push(i);\r\n }\r\n if (to < (totalPages - 1)) pages.push(0); // Separator\r\n }\r\n pages.push(totalPages);\r\n }\r\n\r\n return itemsCount ? (\r\n
\r\n {(itemsCount <= 1) ? ''\r\n : (\r\n \r\n \r\n this.setPage(1)}\r\n >\r\n \r\n \r\n \r\n \r\n this.setPage(pageOfItems - 1)}\r\n >\r\n \r\n \r\n \r\n {pages.map(page => (\r\n page > 0\r\n ? (\r\n \r\n this.setPage(page)}\r\n >\r\n {page}\r\n \r\n \r\n )\r\n : (\r\n \r\n \r\n ...\r\n \r\n \r\n )\r\n ))\r\n }\r\n itemsCount}>\r\n this.setPage(pageOfItems + 1)}\r\n >\r\n \r\n \r\n \r\n itemsCount}>\r\n this.setPage(Math.ceil(itemsCount / itemsToShow))}\r\n >\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n
\r\n \r\n Resultado {`${(itemsToShow * (pageOfItems - 1)) + 1} - `}\r\n {\r\n itemsToShow * pageOfItems > itemsCount ? itemsCount : itemsToShow * pageOfItems\r\n }\r\n {` de ${itemsCount} registros`}\r\n \r\n
\r\n
\r\n ) :
;\r\n }\r\n\r\n render9Pages = () => {\r\n const { itemsCount, itemsToShow, pageOfItems } = this.props;\r\n\r\n const pagesToShow = 4;\r\n const pages = [];\r\n const totalPages = Math.ceil(itemsCount / itemsToShow);\r\n\r\n if (totalPages <= pagesToShow) {\r\n for (let i = 1; i <= totalPages; i += 1) {\r\n pages.push(i);\r\n }\r\n } else {\r\n // 1 ... 5 6 7 .... 20 Paginantion impl\r\n pages.push(1);\r\n const currentPageSpace = pagesToShow === 1 || pagesToShow === totalPages ? 0 : 1;\r\n const dinamicPages = pagesToShow - 2 - currentPageSpace; // First, current and last\r\n if (totalPages / 2 < pageOfItems) {\r\n const to = Math.min(pageOfItems + Math.ceil(dinamicPages / 2), totalPages - 1);\r\n const from = Math.max(pageOfItems - (dinamicPages - (to - pageOfItems)), 2);\r\n if (from > 2) pages.push(0); // Separator\r\n for (let i = from; i <= to; i += 1) {\r\n pages.push(i);\r\n }\r\n if (to < (totalPages - 1)) pages.push(0); // Separator\r\n } else {\r\n const from = Math.max(pageOfItems - Math.floor(dinamicPages / 2), 2);\r\n const to = Math.min(pageOfItems + (dinamicPages - (pageOfItems - from)), totalPages - 1);\r\n if (from > 2) pages.push(0); // Separator\r\n for (let i = from; i <= to; i += 1) {\r\n pages.push(i);\r\n }\r\n if (to < (totalPages - 1)) pages.push(0); // Separator\r\n }\r\n pages.push(totalPages);\r\n }\r\n\r\n return itemsCount ? (\r\n
\r\n {(itemsCount <= 1) ? ''\r\n : (\r\n \r\n \r\n this.setPage(1)}\r\n >\r\n \r\n \r\n \r\n \r\n this.setPage(pageOfItems - 1)}\r\n >\r\n \r\n \r\n \r\n {pages.map(page => (\r\n page > 0\r\n ? (\r\n \r\n this.setPage(page)}\r\n >\r\n {page}\r\n \r\n \r\n )\r\n : (\r\n \r\n \r\n ...\r\n \r\n \r\n )\r\n ))\r\n }\r\n itemsCount}>\r\n this.setPage(pageOfItems + 1)}\r\n >\r\n \r\n \r\n \r\n itemsCount}>\r\n this.setPage(Math.ceil(itemsCount / itemsToShow))}\r\n >\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n
\r\n \r\n Resultado {`${(itemsToShow * (pageOfItems - 1)) + 1} - `}\r\n {\r\n itemsToShow * pageOfItems > itemsCount ? itemsCount : itemsToShow * pageOfItems\r\n }\r\n {` de ${itemsCount} registros`}\r\n \r\n
\r\n
\r\n ) :
;\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n {this.render4Pages()}\r\n {this.render9Pages()}\r\n \r\n );\r\n }\r\n}\r\n","import React, { PureComponent } from 'react';\r\nimport DatePicker from 'react-datepicker';\r\nimport CalendarBlankIcon from 'mdi-react/CalendarBlankIcon';\r\nimport PropTypes from 'prop-types';\r\n\r\nclass DatePickerField extends PureComponent {\r\n static propTypes = {\r\n onChange: PropTypes.func.isRequired,\r\n value: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.instanceOf(Date),\r\n ]),\r\n placeholder: PropTypes.string,\r\n meta: PropTypes.shape({\r\n touched: PropTypes.bool,\r\n error: PropTypes.string,\r\n }),\r\n dateFormat: PropTypes.string,\r\n showTimeInput: PropTypes.bool,\r\n };\r\n\r\n static defaultProps = {\r\n value: '',\r\n placeholder: '',\r\n meta: null,\r\n dateFormat: 'dd/MM/yyyy',\r\n showTimeInput: false,\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n this.handleChange = this.handleChange.bind(this);\r\n }\r\n\r\n handleChange(date) {\r\n const { onChange } = this.props;\r\n onChange(date);\r\n }\r\n\r\n render() {\r\n const {\r\n value,\r\n placeholder,\r\n meta,\r\n dateFormat,\r\n showTimeInput,\r\n } = this.props;\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 {meta.touched && meta.error && {meta.error}}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst renderDatePickerField = (props) => {\r\n const { input } = props;\r\n return (\r\n \r\n );\r\n};\r\n\r\nrenderDatePickerField.propTypes = {\r\n input: PropTypes.shape({\r\n onChange: PropTypes.func,\r\n name: PropTypes.string,\r\n }).isRequired,\r\n};\r\n\r\nexport default renderDatePickerField;\r\n","import React, { PureComponent } from 'react';\r\nimport Select from 'react-select';\r\nimport PropTypes from 'prop-types';\r\n\r\nclass SelectField extends PureComponent {\r\n static propTypes = {\r\n onChange: PropTypes.func.isRequired,\r\n name: PropTypes.string.isRequired,\r\n placeholder: PropTypes.string,\r\n options: PropTypes.arrayOf(PropTypes.shape({\r\n value: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number,\r\n ]),\r\n label: PropTypes.string,\r\n })),\r\n value: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.shape({\r\n value: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number,\r\n ]),\r\n label: PropTypes.string,\r\n }),\r\n PropTypes.arrayOf(PropTypes.shape({\r\n value: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number,\r\n ]),\r\n label: PropTypes.string,\r\n })),\r\n ]).isRequired,\r\n defaultValue: PropTypes.number,\r\n isMulti: PropTypes.bool,\r\n isClearable: PropTypes.bool,\r\n isSearchable: PropTypes.string,\r\n menuIsOpen: PropTypes.bool,\r\n isDisabled: PropTypes.bool,\r\n };\r\n\r\n static defaultProps = {\r\n placeholder: '',\r\n defaultValue: 0,\r\n options: [],\r\n isMulti: false,\r\n isClearable: false,\r\n isSearchable: 'true',\r\n menuIsOpen: undefined,\r\n isDisabled: false,\r\n };\r\n\r\n handleChange = (selectedOption) => {\r\n const { onChange } = this.props;\r\n onChange(selectedOption);\r\n };\r\n\r\n render() {\r\n const {\r\n value, defaultValue, name, placeholder, options, isMulti,\r\n isClearable,\r\n isSearchable,\r\n menuIsOpen,\r\n isDisabled,\r\n } = this.props;\r\n\r\n const styles = {\r\n option: base => ({\r\n ...base,\r\n // borderBottom: `1px dotted ${'white'}`,\r\n padding: '8px 2px',\r\n alignTtems: 'center;',\r\n display: 'flex;',\r\n boxSizing: 'content-box',\r\n }),\r\n multiValue: (base, state) => (state.data.isFixed ? { ...base, backgroundColor: 'gray' } : base),\r\n multiValueLabel: (base, state) => (\r\n state.data.isFixed\r\n ? {\r\n ...base,\r\n fontWeight: 'bold',\r\n color: 'white',\r\n paddingRight: 6,\r\n }\r\n : base\r\n ),\r\n multiValueRemove: (base, state) => (\r\n state.data.isFixed ? { ...base, display: 'none' } : base\r\n ),\r\n menu: ({ width, ...css }) => ({\r\n ...css,\r\n // width: '200px',\r\n }),\r\n };\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nconst renderSelectField = (props) => {\r\n const {\r\n input, meta, options, placeholder, defaultValue, className, isMulti,\r\n isClearable,\r\n isSearchable,\r\n menuIsOpen,\r\n isDisabled,\r\n } = props;\r\n\r\n const opts = (typeof options === 'function' ? options() : options).slice();\r\n if (!opts.find(o => o.value === 0)) {\r\n opts.unshift({ value: 0, label: '-' });\r\n }\r\n\r\n return (\r\n
\r\n \r\n {meta.touched && meta.error && {meta.error}}\r\n
\r\n );\r\n};\r\n\r\nrenderSelectField.propTypes = {\r\n input: PropTypes.shape({\r\n onChange: PropTypes.func,\r\n name: PropTypes.string,\r\n }).isRequired,\r\n meta: PropTypes.shape({\r\n touched: PropTypes.bool,\r\n error: PropTypes.string,\r\n }),\r\n options: PropTypes.arrayOf(PropTypes.shape({\r\n value: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number,\r\n ]),\r\n label: PropTypes.string,\r\n })),\r\n placeholder: PropTypes.string,\r\n defaultValue: PropTypes.number,\r\n className: PropTypes.string,\r\n isMulti: PropTypes.bool,\r\n isClearable: PropTypes.bool,\r\n isSearchable: PropTypes.string,\r\n menuIsOpen: PropTypes.bool,\r\n isDisabled: PropTypes.bool,\r\n};\r\n\r\nrenderSelectField.defaultProps = {\r\n meta: null,\r\n options: [],\r\n placeholder: '',\r\n defaultValue: 0,\r\n className: '',\r\n isMulti: false,\r\n isClearable: false,\r\n isSearchable: 'true',\r\n menuIsOpen: undefined,\r\n isDisabled: false,\r\n};\r\n\r\nexport default renderSelectField;\r\n","import React, { PureComponent } from 'react';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Row, Col, Card, CardBody, Table,\r\n} from 'reactstrap';\r\n\r\nimport CalendarBlankIcon from 'mdi-react/CalendarBlankIcon';\r\n\r\nimport TextBox from './form/TextBox';\r\nimport renderCheckBoxField from './form/CheckBox';\r\nimport Pagination from './pagination/Pagination';\r\nimport DatePicker from './form/DatePicker';\r\nimport renderSelectField from './form/Select';\r\n\r\nconst RenderDataTableAction = (actions, row) => {\r\n if (!(actions && actions.length)) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {actions.map(a => (\r\n \r\n a.callback && a.callback(row)}\r\n type=\"button\"\r\n className=\"action-button\"\r\n tabIndex=\"-1\"\r\n >\r\n {typeof a.icon === 'function' ? a.icon(row) : a.icon}\r\n \r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nconst RenderDataTableIcon = (col, row, key) => {\r\n if (!col.icon) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n col.icon.callback && col.icon.callback(row)}\r\n type=\"button\"\r\n className=\"action-button\"\r\n tabIndex=\"-1\"\r\n >\r\n {col.icon.component(row)}\r\n \r\n \r\n );\r\n};\r\n\r\nconst RenderDataTableInput = (column, row, onAutoSave) => {\r\n if (!column.editable) {\r\n return null;\r\n }\r\n\r\n const attributes = {\r\n className: 'form-control',\r\n };\r\n\r\n if (column.type === 'number') {\r\n attributes.className = `${attributes.className}`;\r\n\r\n if (!Number.isNaN(+column.max)) {\r\n attributes.max = +column.max;\r\n }\r\n if (!Number.isNaN(+column.min)) {\r\n attributes.min = +column.min;\r\n }\r\n }\r\n\r\n if (column.type === 'select') {\r\n attributes.className = `${attributes.className}`;\r\n return (\r\n {\r\n onAutoSave(row, column.key, item.value);\r\n }}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n \r\n {\r\n e.preventDefault();\r\n\r\n const { value } = e.currentTarget;\r\n if (column.type === 'number' && (+value < +column.min || +value > +column.max)) {\r\n e.preventDefault();\r\n e.currentTarget.value = +row[column.key];\r\n return;\r\n }\r\n e.currentTarget.changed = true;\r\n }}\r\n onKeyDown={(e) => {\r\n if (e.currentTarget.changed && e.which === 13) {\r\n onAutoSave(row, column.key, e.currentTarget.value);\r\n e.currentTarget.changed = false;\r\n }\r\n }}\r\n onBlur={(e) => {\r\n if (e.currentTarget.changed) {\r\n onAutoSave(row, column.key, e.currentTarget.value);\r\n e.currentTarget.changed = false;\r\n }\r\n }}\r\n onFocus={e => e.currentTarget.select()}\r\n />\r\n \r\n );\r\n};\r\n\r\nconst RenderSearchField = (props) => {\r\n const {\r\n key, name, type, searchProps = {},\r\n } = props;\r\n\r\n if (type === 'date') {\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 if (type === 'number') {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (type === 'select') {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst RenderSearchForm = (props) => {\r\n const { key, name } = props;\r\n return (\r\n
\r\n {name}\r\n
\r\n {RenderSearchField(props)}\r\n
\r\n
\r\n );\r\n};\r\n\r\nRenderDataTableInput.propTypes = {\r\n key: PropTypes.string.isRequired,\r\n name: PropTypes.string.isRequired,\r\n type: PropTypes.string,\r\n min: PropTypes.string,\r\n max: PropTypes.string,\r\n inputStyle: PropTypes.shape({}),\r\n};\r\nRenderDataTableInput.defaultProps = {\r\n type: 'text',\r\n min: '',\r\n max: '',\r\n inputStyle: { fontSize: '1.6rem' },\r\n};\r\nRenderSearchField.propTypes = {\r\n key: PropTypes.string.isRequired,\r\n name: PropTypes.string.isRequired,\r\n type: PropTypes.string,\r\n min: PropTypes.string,\r\n max: PropTypes.string,\r\n searchProps: PropTypes.shape({}),\r\n};\r\nRenderSearchField.defaultProps = {\r\n type: 'text',\r\n searchProps: {},\r\n min: '',\r\n max: '',\r\n};\r\n\r\nRenderSearchForm.propTypes = {\r\n key: PropTypes.string.isRequired,\r\n name: PropTypes.string.isRequired,\r\n};\r\n\r\nclass DataTable extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n const { autoHideSearch } = props;\r\n this.state = {\r\n showSearch: false,\r\n autoHideSearch,\r\n };\r\n }\r\n\r\n toggleSearch = (e) => {\r\n e.preventDefault();\r\n this.setState(prevState => ({ showSearch: !prevState.showSearch }));\r\n }\r\n\r\n toggleAutoHide = (e) => {\r\n e.preventDefault();\r\n this.setState(prevState => ({ autoHideSearch: !prevState.autoHideSearch }));\r\n }\r\n\r\n visible = (col) => {\r\n if (typeof col.visible === 'undefined') return true;\r\n return col.visible;\r\n }\r\n\r\n render() {\r\n const {\r\n title,\r\n columns,\r\n items,\r\n getGridActions,\r\n onChangePage,\r\n handleSubmit,\r\n onClearFilters,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n onAutoSave,\r\n } = this.props;\r\n\r\n const { showSearch, submitting, autoHideSearch } = this.state;\r\n const searchable = columns.filter(s => s.search === true).length > 0;\r\n const showForm = showSearch || !autoHideSearch;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
{title}
\r\n \r\n \r\n {searchable && (\r\n this.toggleSearch(e)}\r\n >\r\n Búsqueda \r\n \r\n \r\n )}\r\n \r\n
\r\n
\r\n
\r\n {showForm && columns.map(h => h.search && RenderSearchForm(h))}\r\n {showForm\r\n && (\r\n
\r\n
\r\n Buscar\r\n \r\n Limpiar filtros\r\n \r\n
\r\n this.toggleAutoHide(e)}\r\n />\r\n
\r\n
\r\n
\r\n )\r\n }\r\n
\r\n \r\n \r\n \r\n {columns.map(h => this.visible(h) && (\r\n \r\n ))}\r\n \r\n \r\n \r\n {items.length > 0 ? (\r\n items.map((u, uIndex) => (\r\n \r\n {columns.map((h, hIndex) => this.visible(h) && (\r\n \r\n ))}\r\n \r\n )))\r\n : (\r\n \r\n \r\n \r\n )\r\n }\r\n \r\n
\r\n {h.name}\r\n
\r\n {\r\n !h.editable && (\r\n \r\n {RenderDataTableIcon(h, u, `${u.id || uIndex}_${h.id || hIndex}`)}\r\n {h.format ? h.format(u) : u[h.key]}\r\n \r\n )\r\n }\r\n {RenderDataTableAction(getGridActions(h.key, u), u)}\r\n {RenderDataTableInput(h, u, onAutoSave)}\r\n
\r\n
No se encontraron resultados
\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nDataTable.propTypes = {\r\n title: PropTypes.string,\r\n columns: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape([])).isRequired,\r\n getGridActions: PropTypes.func,\r\n handleSubmit: PropTypes.func,\r\n onClearFilters: PropTypes.func,\r\n onChangePage: PropTypes.func,\r\n onAutoSave: PropTypes.func,\r\n page: PropTypes.number.isRequired,\r\n pageSize: PropTypes.number,\r\n totalItemsCount: PropTypes.number,\r\n autoHideSearch: PropTypes.bool,\r\n};\r\n\r\nDataTable.defaultProps = {\r\n title: '',\r\n pageSize: 25,\r\n getGridActions: () => [],\r\n handleSubmit: () => null,\r\n onClearFilters: () => null,\r\n onChangePage: () => null,\r\n onAutoSave: () => null,\r\n autoHideSearch: true,\r\n totalItemsCount: 0,\r\n};\r\n\r\nconst DataTableForm = reduxForm({\r\n form: 'SearchUserForm',\r\n})(DataTable);\r\n\r\nexport default DataTableForm;\r\n","import React, { useState } from 'react';\r\nimport {\r\n Badge, Tooltip,\r\n} from 'reactstrap';\r\n\r\nimport PropTypes from 'prop-types';\r\n\r\nconst TooltipItem = ({\r\n id,\r\n value,\r\n label,\r\n color,\r\n}) => {\r\n const [tooltipOpen, setTooltipOpen] = useState(false);\r\n\r\n const toggle = () => setTooltipOpen(!tooltipOpen);\r\n\r\n return (\r\n

\r\n \r\n {value}\r\n \r\n {\r\n label ? (\r\n \r\n {label}\r\n \r\n ) : null\r\n }\r\n

\r\n );\r\n};\r\n\r\nTooltipItem.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n value: PropTypes.string.isRequired,\r\n label: PropTypes.string.isRequired,\r\n color: PropTypes.string,\r\n};\r\n\r\n\r\nTooltipItem.defaultProps = {\r\n color: 'warning',\r\n};\r\n\r\n\r\nexport default TooltipItem;\r\n","import React from 'react';\r\nimport { Spinner } from 'reactstrap';\r\n\r\nconst LoadingSpinner = () => (\r\n

\r\n \r\n

\r\n);\r\n\r\nexport default LoadingSpinner;\r\n","export const dateFormat = (value, locales = 'en-GB') => {\r\n const style = {\r\n dateStyle: 'short',\r\n };\r\n\r\n return new Intl.DateTimeFormat(locales, style).format(new Date(value));\r\n};\r\n\r\nexport const dateDDMMFormat = (value, locales = 'en-GB') => {\r\n const style = {\r\n day: '2-digit', month: '2-digit',\r\n };\r\n\r\n return new Intl.DateTimeFormat(locales, style).format(new Date(value));\r\n};\r\n\r\nexport const dateMMFormat = (value, locales = 'es-PE') => {\r\n const style = {\r\n month: 'short',\r\n };\r\n\r\n return new Intl.DateTimeFormat(locales, style).format(new Date(value)).substring(0, 3);\r\n};\r\n\r\nexport const dateDDFormat = (value, locales = 'en-GB') => {\r\n const style = {\r\n day: '2-digit',\r\n };\r\n\r\n return new Intl.DateTimeFormat(locales, style).format(new Date(value));\r\n};\r\n\r\n\r\nexport const dateTimeFormat = (value, locales = 'en-GB') => {\r\n const style = {\r\n dateStyle: 'short',\r\n timeStyle: 'short',\r\n };\r\n\r\n return new Intl.DateTimeFormat(locales, style).format(new Date(value));\r\n};\r\n\r\nexport const timeFormat = (value, locales = 'en-GB') => {\r\n const style = {\r\n hour: 'numeric', minute: 'numeric', second: 'numeric',\r\n };\r\n\r\n return new Intl.DateTimeFormat(locales, style).format(new Date(value));\r\n};\r\n\r\nexport const dateTimeString = (date) => {\r\n if (typeof date === 'string') {\r\n return date;\r\n }\r\n\r\n return `${date.toLocaleDateString('en-GB', {\r\n year: 'numeric',\r\n month: '2-digit',\r\n day: '2-digit',\r\n }).split('/').reverse().join('-')}T${date.toLocaleTimeString('en-GB')}`;\r\n};\r\n","import React, { PureComponent } from 'react';\r\n\r\nimport { withRouter } from 'react-router';\r\nimport { Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col, Container, Row,\r\n} from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport TooltipItem from '../../shared/components/TooltipItem';\r\nimport { fetchUsers, fetchFormDatas } from '../../redux/actions/usersActions';\r\nimport { deleteUser, resetUserPassword } from '../../redux/actions/userActions';\r\nimport Confirm from '../../shared/components/Confirm';\r\nimport { createErrorMessage, createSuccessMessage } from '../../helpers/notification';\r\nimport LoadingSpinner from '../../shared/components/LoadingSpinner';\r\nimport { dateFormat } from '../../helpers/dateFormat';\r\n\r\nclass UsersContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n loading: true,\r\n items: [],\r\n filters: { id: 20 },\r\n roles: [],\r\n };\r\n\r\n this.columns = [\r\n { key: 'id', name: '#', width: '60px' },\r\n {\r\n key: 'numeroDocumento',\r\n name: 'Número de documento',\r\n search: true,\r\n type: 'number',\r\n width: '80px',\r\n },\r\n {\r\n key: 'roles',\r\n name: 'Roles',\r\n search: true,\r\n type: 'select',\r\n searchProps: {\r\n options: this.getRoles,\r\n isMulti: true,\r\n },\r\n width: '110px',\r\n format: (row) => {\r\n const { id, roles, categoriasProfesores } = row;\r\n\r\n return (\r\n \r\n {\r\n roles.map(rol => (\r\n \r\n ))\r\n }\r\n {\r\n roles.some(rol => rol.value === 'P') ? (\r\n \r\n ) : null\r\n }\r\n \r\n );\r\n },\r\n },\r\n { key: 'nombre', name: 'Nombre', search: true },\r\n { key: 'apellido', name: 'Apellido', search: true },\r\n { key: 'email', name: 'Email', search: true },\r\n { key: 'domicilioTelefono', name: 'Teléfono Celular', search: true },\r\n {\r\n key: 'arancelCero',\r\n name: 'Arancel Cero',\r\n search: true,\r\n format: ({ id, arancelCero, fechaFinArancelCero }) => (\r\n \r\n ),\r\n },\r\n { key: 'actions', name: 'Accion', width: '105px' },\r\n ];\r\n this.actions = [\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (user) => {\r\n this.editUser(user);\r\n },\r\n },\r\n {\r\n key: 'reset_password',\r\n icon: ,\r\n callback: (user) => {\r\n this.resetUserPassword(user);\r\n },\r\n },\r\n {\r\n key: 'delete',\r\n icon: ,\r\n /* callback: (user) => {\r\n this.deleteUser(user);\r\n },\r\n */\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDatasList();\r\n\r\n const { page, pageSize } = this.state;\r\n this.updateUserTable(page, pageSize);\r\n }\r\n\r\n fetchDatasList = () => {\r\n fetchFormDatas({\r\n onSuccess: (d) => {\r\n this.setState({\r\n roles: d.roles,\r\n });\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n updateUserTable = (page, pageSize, filters) => {\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n });\r\n\r\n fetchUsers({\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters: {\r\n ...filters,\r\n roles: filters && (filters.roles || []).map(r => r.value),\r\n },\r\n },\r\n onSuccess: (pageInfo) => {\r\n this.setState({\r\n loading: false,\r\n items: pageInfo.items,\r\n totalItemsCount: pageInfo.totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de usuarios');\r\n },\r\n });\r\n }\r\n\r\n deleteUser = (user) => {\r\n const userName = `${user.nombre} ${user.apellido}`;\r\n Confirm({\r\n title: 'Borrar usuario',\r\n question: `Estás seguro que deseas eliminar a ${userName}?`,\r\n yesLabel: 'Si, Borrar usuario',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n deleteUser(user.id, {\r\n onSuccess: () => {\r\n createSuccessMessage('Usuario borrado exitosamente');\r\n const { page, pageSize } = this.state;\r\n this.updateUserTable(page, pageSize);\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El usuario no existe');\r\n } else {\r\n createErrorMessage('Error al intentar borrar el usuario');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n resetUserPassword = (user) => {\r\n const userName = `${user.nombre} ${user.apellido}`;\r\n Confirm({\r\n title: 'Restablecer contraseña',\r\n question: `Estás seguro que deseas restablecer la contraseña de ${userName}?`,\r\n yesLabel: 'Si, Restablecer',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n resetUserPassword(user.email, {\r\n onSuccess: () => {\r\n const msg = 'Contraseña restablecida exitosamente. Se ha enviado un correo con la contraseña temporal.';\r\n createSuccessMessage(msg);\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El usuario no existe');\r\n } else {\r\n createErrorMessage('Error al intentar restablecer contraseña');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n editUser = (user) => {\r\n const { history } = this.props;\r\n history.push(`/pages/users/edit/${user.id}`);\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateUserTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateUserTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateUserTable(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n getRoles = () => {\r\n const { roles } = this.state;\r\n return roles;\r\n };\r\n\r\n getColor = (value) => {\r\n const colors = [\r\n {\r\n value: 'A', color: 'info',\r\n },\r\n {\r\n value: 'P', color: 'success',\r\n },\r\n {\r\n value: 'F', color: 'primary',\r\n },\r\n {\r\n value: 'S', color: 'warning',\r\n },\r\n ];\r\n\r\n const { color } = colors.find(c => c.value === value);\r\n\r\n return color;\r\n };\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

Usuarios del Sistema

\r\n
\r\n \r\n Agregar nuevo usuario\r\n \r\n
\r\n \r\n
\r\n \r\n {loading\r\n ? \r\n : (\r\n this.getGridActions(key)}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n )\r\n }\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(UsersContainer);\r\n","/* eslint-disable jsx-a11y/label-has-for */\r\nimport React, { PureComponent } from 'react';\r\nimport CheckIcon from 'mdi-react/CheckIcon';\r\nimport CloseIcon from 'mdi-react/CloseIcon';\r\nimport * as PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\n\r\nclass RadioButtonField extends PureComponent {\r\n static propTypes = {\r\n onChange: PropTypes.func.isRequired,\r\n name: PropTypes.string.isRequired,\r\n value: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]).isRequired,\r\n label: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\r\n defaultChecked: PropTypes.bool,\r\n radioValue: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\r\n disabled: PropTypes.bool,\r\n className: PropTypes.string,\r\n };\r\n\r\n static defaultProps = {\r\n label: '',\r\n defaultChecked: false,\r\n radioValue: '',\r\n disabled: false,\r\n className: '',\r\n };\r\n\r\n componentDidMount() {\r\n const { defaultChecked, onChange, radioValue } = this.props;\r\n if (defaultChecked) {\r\n onChange(radioValue);\r\n }\r\n }\r\n\r\n onChange = () => {\r\n const { onChange, radioValue } = this.props;\r\n onChange(radioValue);\r\n };\r\n\r\n render() {\r\n const {\r\n disabled, className, name, label, radioValue, value,\r\n } = this.props;\r\n const RadioButtonClass = classNames({\r\n 'radio-btn': true,\r\n disabled,\r\n });\r\n\r\n return (\r\n // eslint-disable-next-line jsx-a11y/label-has-associated-control\r\n \r\n \r\n \r\n {className === 'button'\r\n ? (\r\n \r\n \r\n \r\n \r\n ) : ''}\r\n {label}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst renderRadioButtonField = (props) => {\r\n const {\r\n input, label, defaultChecked, disabled, className, radioValue,\r\n } = props;\r\n return (\r\n \r\n );\r\n};\r\n\r\nrenderRadioButtonField.propTypes = {\r\n input: PropTypes.shape({\r\n onChange: PropTypes.func,\r\n name: PropTypes.string,\r\n }).isRequired,\r\n label: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\r\n defaultChecked: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n radioValue: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\r\n className: PropTypes.string,\r\n};\r\n\r\nrenderRadioButtonField.defaultProps = {\r\n label: '',\r\n defaultChecked: false,\r\n disabled: false,\r\n radioValue: '',\r\n className: '',\r\n};\r\n\r\nexport default renderRadioButtonField;\r\n","const validate = (attrs) => {\r\n const errors = {};\r\n if (!attrs.showProfile) {\r\n if (!attrs.nombre) {\r\n errors.nombre = 'Debe ingresar el nombre';\r\n }\r\n if (!attrs.apellido) {\r\n errors.apellido = 'Debe ingresar el apellido';\r\n }\r\n if (!(attrs.numeroDocumento\r\n && attrs.numeroDocumento.length >= 6\r\n && /^[0-9]*$/i.test(attrs.numeroDocumento))) {\r\n errors.numeroDocumento = 'El número de documento no es correcto';\r\n }\r\n }\r\n\r\n if (!(attrs.nacionalidad && attrs.nacionalidad.value)) {\r\n errors.nacionalidad = 'Debe ingresar el país de nacimiento';\r\n }\r\n\r\n if (!attrs.domicilioTelefono || attrs.domicilioTelefono.length < 6\r\n || !(/^[+]{0,1}[(]{0,1}[0-9]{1,6}[)|-]{0,1}[ ]{0,1}[/0-9]*$/i.test(attrs.domicilioTelefono))) {\r\n errors.domicilioTelefono = 'El número de teléfono no es correcto';\r\n }\r\n\r\n if (attrs.trabajoTelefono\r\n && !(attrs.trabajoTelefono.length >= 6\r\n && /^[+]{0,1}[(]{0,1}[0-9]{1,6}[)|-]{0,1}[ ]{0,1}[/0-9]*$/i.test(attrs.trabajoTelefono))) {\r\n errors.trabajoTelefono = 'El número de teléfono no es correcto';\r\n }\r\n\r\n if (!attrs.email) {\r\n errors.email = 'Debe ingresar el correo electrónico.';\r\n } else if (!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i.test(attrs.email)) {\r\n errors.email = 'El correo electronico no es valido.';\r\n }\r\n\r\n if (attrs.showProfile) {\r\n if (!attrs.emergenciaNumero || attrs.emergenciaNumero.length < 6\r\n || !(/^[+]{0,1}[(]{0,1}[0-9]{1,6}[)|-]{0,1}[ ]{0,1}[/0-9]*$/i.test(attrs.emergenciaNumero))) {\r\n errors.emergenciaNumero = 'El número de teléfono no es correcto';\r\n }\r\n if (!attrs.emergenciaContacto) {\r\n errors.emergenciaContacto = 'Debe ingresar el nombre del contacto';\r\n }\r\n } else if (!(attrs.esAdmin || attrs.esProfesor || attrs.esFuncionario || attrs.esAlumno)) {\r\n errors.esAdmin = 'Debe seleccionar al menos un rol';\r\n }\r\n\r\n if (attrs.esProfesor && attrs.categoriasProfesores && attrs.categoriasProfesores.length > 0) {\r\n const materias = attrs.categoriasProfesores.filter(o => !o.removed && o.materia.value > 0)\r\n .map(({ materia: { value, label } }) => ({ value, label }));\r\n\r\n const duplicate = materias.find((mat, index) => index !== materias.map(m => m.value).indexOf(mat.value));\r\n if (duplicate) {\r\n errors.categoriasProfesores = { _error: `La materia ${duplicate.label} ya fue agregada.` };\r\n } else {\r\n attrs.categoriasProfesores.filter(o => !o.removed).forEach(({ materia, escalafon, notas }, index) => {\r\n const error = {};\r\n if (!materia || !materia.value) {\r\n error.materia = 'Debe ingresar una materia';\r\n }\r\n if (!escalafon || !escalafon.value) {\r\n error.escalafon = 'Debe ingresar un escalafón';\r\n }\r\n if (!notas || !notas) {\r\n error.notas = 'Debe ingresar una nota';\r\n }\r\n\r\n if (Object.keys(error).length) {\r\n if (!errors.categoriasProfesores) {\r\n errors.categoriasProfesores = [];\r\n }\r\n\r\n errors.categoriasProfesores[index] = error;\r\n }\r\n });\r\n }\r\n }\r\n\r\n errors.isValid = Object.keys(errors).length === 0;\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form, Field, reduxForm, FieldArray,\r\n} from 'redux-form';\r\nimport {\r\n Card, CardBody, Col, Row, Button,\r\n} from 'reactstrap';\r\nimport moment from 'moment';\r\nimport renderSelectField from '../../../shared/components/form/Select';\r\nimport renderCheckBoxField from '../../../shared/components/form/CheckBox';\r\nimport renderRadioField from '../../../shared/components/form/RadioButton';\r\nimport TextBox from '../../../shared/components/form/TextBox';\r\nimport DatePicker from '../../../shared/components/form/DatePicker';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport validate from './validate';\r\n\r\nconst TrueFalseValues = [\r\n { value: true, label: 'Si' },\r\n { value: false, label: 'No' },\r\n];\r\n\r\nclass EditUser extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n onFilterChanges: PropTypes.func.isRequired,\r\n resetPasswordHandler: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool,\r\n esAdmin: PropTypes.bool,\r\n esProfesor: PropTypes.bool,\r\n esFuncionario: PropTypes.bool,\r\n esAlumno: PropTypes.bool,\r\n provenienteDePuebloOriginario: PropTypes.bool,\r\n saludPoseeDiscapacidadVisual: PropTypes.bool,\r\n saludPoseeDiscapacidadAuditiva: PropTypes.bool,\r\n saludPoseeDiscapacidadMotora: PropTypes.bool,\r\n saludPoseeDiscapacidadCognitiva: PropTypes.bool,\r\n saludPoseeOtraDiscapacidad: PropTypes.bool,\r\n id: PropTypes.number,\r\n genero: PropTypes.number,\r\n age: PropTypes.number,\r\n estadoCivil: PropTypes.number,\r\n arancelCero: PropTypes.bool,\r\n grupoSanguineo: PropTypes.string,\r\n categoriasProfesores: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n paises: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n escalafon: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n materias: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n gruposSanguineos: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n estadosCiviles: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n generos: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n showProfile: PropTypes.bool,\r\n nombre: PropTypes.string,\r\n apellido: PropTypes.string,\r\n numeroDocumento: PropTypes.string,\r\n fechaNacimiento: PropTypes.string,\r\n onAddItemArray: PropTypes.func.isRequired,\r\n onDeleteItemArray: PropTypes.func.isRequired,\r\n onChangeText: PropTypes.func.isRequired,\r\n onChangeSelect: PropTypes.func.isRequired,\r\n onRadioChanges: PropTypes.func.isRequired,\r\n }\r\n\r\n static defaultProps = {\r\n submitting: false,\r\n esAdmin: false,\r\n esProfesor: false,\r\n esFuncionario: false,\r\n esAlumno: false,\r\n provenienteDePuebloOriginario: false,\r\n saludPoseeDiscapacidadVisual: false,\r\n saludPoseeDiscapacidadAuditiva: false,\r\n saludPoseeDiscapacidadMotora: false,\r\n saludPoseeDiscapacidadCognitiva: false,\r\n saludPoseeOtraDiscapacidad: false,\r\n id: 0,\r\n genero: 0,\r\n age: 0,\r\n estadoCivil: 0,\r\n arancelCero: false,\r\n grupoSanguineo: '',\r\n showProfile: false,\r\n nombre: '',\r\n apellido: '',\r\n numeroDocumento: '',\r\n fechaNacimiento: '',\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n const {\r\n provenienteDePuebloOriginario,\r\n saludPoseeOtraDiscapacidad,\r\n esProfesor,\r\n } = props;\r\n\r\n this.state = {\r\n provenienteDePuebloOriginario,\r\n saludPoseeOtraDiscapacidad,\r\n showOtherData: false,\r\n showCategoriaProfesor: esProfesor,\r\n };\r\n }\r\n\r\n showHideOtherData = () => {\r\n const { showOtherData } = this.state;\r\n this.setState({ showOtherData: !showOtherData });\r\n }\r\n\r\n showHideCategoriaProfesor = ({ target }) => {\r\n this.setState({ showCategoriaProfesor: target.checked });\r\n }\r\n\r\n categoriaProfesorTable = ({\r\n fields = {},\r\n categoriasProfesores,\r\n meta: { error, submitFailed },\r\n onAddItemArray,\r\n onDeleteItemArray,\r\n onChangeText,\r\n onChangeSelect,\r\n materias,\r\n escalafon,\r\n }) => (\r\n <>\r\n \r\n \r\n \r\n \r\n

Categoría docente

\r\n \r\n \r\n {fields.length <= 20\r\n ? (\r\n \r\n \r\n {' '}\r\n Agregar\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 \r\n \r\n \r\n \r\n \r\n {fields.map((categoriaProfesor, index) => (\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n ))}\r\n \r\n
\r\n
\r\n \r\n
#MateriaEscalafónNotas{' '}
\r\n
\r\n

{index + 1}

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n onChangeSelect({ option: props, name: 'materia', index })}\r\n />\r\n {' '}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n onChangeSelect({ option: props, name: 'escalafon', index })}\r\n />\r\n {' '}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n onChangeText(v, index)}\r\n />\r\n {' '}\r\n
\r\n
\r\n
\r\n
\r\n onDeleteItemArray(index)}\r\n size=\"sm\"\r\n outline\r\n color=\"danger\"\r\n style={{ marginBottom: '0px' }}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n \r\n
\r\n {\r\n submitFailed && error && (\r\n
\r\n \r\n *\r\n {error}\r\n \r\n
\r\n )\r\n }\r\n \r\n );\r\n\r\n render() {\r\n const {\r\n provenienteDePuebloOriginario,\r\n saludPoseeOtraDiscapacidad,\r\n showOtherData,\r\n showCategoriaProfesor,\r\n } = this.state;\r\n\r\n const {\r\n esAdmin,\r\n esProfesor,\r\n esFuncionario,\r\n esAlumno,\r\n submitting,\r\n handleSubmit,\r\n resetPasswordHandler,\r\n onBack,\r\n genero,\r\n grupoSanguineo,\r\n estadoCivil,\r\n arancelCero,\r\n saludPoseeDiscapacidadVisual,\r\n saludPoseeDiscapacidadAuditiva,\r\n saludPoseeDiscapacidadMotora,\r\n saludPoseeDiscapacidadCognitiva,\r\n onFilterChanges,\r\n age,\r\n paises,\r\n escalafon,\r\n materias,\r\n\r\n onAddItemArray,\r\n onDeleteItemArray,\r\n onChangeText,\r\n onChangeSelect,\r\n onRadioChanges,\r\n\r\n gruposSanguineos,\r\n estadosCiviles,\r\n generos,\r\n showProfile,\r\n nombre,\r\n apellido,\r\n numeroDocumento,\r\n fechaNacimiento,\r\n id,\r\n categoriasProfesores = [],\r\n } = this.props;\r\n\r\n const otherDataBtnClass = showOtherData ? 'fa fa-angle-down collapse-btn' : 'fa fa-angle-right collapse-btn';\r\n\r\n const otherDataClass = showProfile || showOtherData ? '' : 'hidden';\r\n const categoriaProfesorDataClass = showCategoriaProfesor ? '' : 'hidden';\r\n\r\n const currentUser = JSON.parse(localStorage.getItem('currentUser')) || {};\r\n const editMainInfo = currentUser.esAdmin || currentUser.esFuncionario;\r\n const birdDate = fechaNacimiento ? moment(fechaNacimiento).format('DD/MM/YYYY') : '';\r\n\r\n const requiredNameClass = `form__form-group-label ${!showProfile ? 'required' : ''}`;\r\n const requiredPhoneClass = `form__form-group-label ${showProfile ? 'required' : ''}`;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
Información personal
\r\n
\r\n \r\n \r\n
\r\n Nombre\r\n
\r\n {editMainInfo\r\n ? (\r\n \r\n )\r\n : (\r\n \r\n )\r\n }\r\n
\r\n
\r\n\r\n
\r\n Apellido\r\n
\r\n {editMainInfo\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úmero de documento\r\n
\r\n {editMainInfo\r\n ? (\r\n \r\n )\r\n : (\r\n \r\n )\r\n }\r\n
\r\n
\r\n\r\n
\r\n Fecha de nacimiento\r\n {editMainInfo\r\n ? (\r\n
\r\n \r\n
\r\n )\r\n : (\r\n
\r\n \r\n
\r\n )\r\n }\r\n
\r\n\r\n
\r\n Lugar de nacimiento\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n Nacionalidad\r\n
\r\n onFilterChanges('nacionalidad', 'nacionalidadPaisId', v)}\r\n />\r\n
\r\n
\r\n\r\n
\r\n Proveniente de Pueblos originarios\r\n
\r\n\r\n
\r\n
\r\n {TrueFalseValues.map(g => (\r\n onRadioChanges('provenienteDePuebloOriginario', v)}\r\n />\r\n ))}\r\n
\r\n
\r\n\r\n
\r\n Nombre de pueblo originario\r\n
\r\n {provenienteDePuebloOriginario\r\n ? (\r\n \r\n )\r\n : (\r\n \r\n )\r\n }\r\n
\r\n
\r\n \r\n {/* ///////////////////////////////////////////////////////////////// START SECTION CONTACT-ADDRESS */}\r\n \r\n\r\n
\r\n Género\r\n
\r\n {generos.map(g => (\r\n \r\n ))}\r\n
\r\n
\r\n\r\n
\r\n Edad\r\n
\r\n 0 ? age : ''}\r\n placeholder=\"Edad (automático)\"\r\n disabled=\"disabled\"\r\n />\r\n
\r\n
\r\n\r\n
\r\n Grupo sanguíneo\r\n
\r\n {gruposSanguineos.map(g => (\r\n \r\n ))}\r\n
\r\n
\r\n\r\n
\r\n Email\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n Estado Civil\r\n
\r\n {estadosCiviles.map(g => (\r\n \r\n ))}\r\n
\r\n
\r\n\r\n
\r\n Arancel Cero\r\n
\r\n {TrueFalseValues.map(g => (\r\n onRadioChanges('arancelCero', value)}\r\n />\r\n ))}\r\n
\r\n {\r\n arancelCero ? (\r\n <>\r\n Fecha fin Arancel Cero\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
Domicilio particular
\r\n
\r\n \r\n \r\n
\r\n Calle\r\n
\r\n \r\n
\r\n
\r\n
\r\n Número\r\n
\r\n \r\n
\r\n
\r\n
\r\n Localidad\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Teléfono Celular\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n Pais\r\n
\r\n onFilterChanges('domicilioPais', 'domicilioPaisId', v)}\r\n />\r\n
\r\n
\r\n \r\n {/* ///////////////////////////////////////////////////////////////// END SECTION CONTACT-ADDRESS */}\r\n {/* ///////////////////////////////////////////////////////////////// START SECTION WORK EMPLOYMENT */}\r\n \r\n {showOtherData ? 'Ocultar' : 'Mostrar'} datos adicionales...\r\n
\r\n \r\n \r\n
\r\n
Domicilio Laboral
\r\n
\r\n
\r\n Nombre de la empresa\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Calle\r\n
\r\n \r\n
\r\n
\r\n
\r\n Número\r\n
\r\n \r\n
\r\n
\r\n
\r\n Localidad\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Teléfono\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n Pais\r\n
\r\n onFilterChanges('trabajoPais', 'trabajoPaisId', v)}\r\n />\r\n
\r\n
\r\n
\r\n Horario laboral\r\n
\r\n \r\n
\r\n
\r\n \r\n {/* ///////////////////////////////////////////////////////////////// END SECTION EMPLOYMENT */}\r\n {/* ///////////////////////////////////////////////////////////////// OTHER DATA */}\r\n \r\n
\r\n
Otros Datos Personales
\r\n
\r\n \r\n \r\n
\r\n Padece alguna enfermedad? (Especificar)\r\n
\r\n \r\n
\r\n
\r\n
\r\n Toma algún medicamento? (Especificar)\r\n
\r\n \r\n
\r\n
\r\n
\r\n Alérgico a\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n Teléfono de contacto en caso de emergencia\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Nombre de contacto de emergencia\r\n
\r\n \r\n
\r\n
\r\n
\r\n Relación parentesca de contacto\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n\r\n
\r\n Padece discapacidad visual\r\n
\r\n {TrueFalseValues.map(g => (\r\n \r\n ))}\r\n
\r\n
\r\n\r\n
\r\n Padece discapacidad auditiva\r\n
\r\n {TrueFalseValues.map(g => (\r\n \r\n ))}\r\n
\r\n
\r\n\r\n
\r\n Padece discapacidad motora\r\n
\r\n {TrueFalseValues.map(g => (\r\n \r\n ))}\r\n
\r\n
\r\n\r\n
\r\n Padece discapacidad cognitiva\r\n
\r\n {TrueFalseValues.map(g => (\r\n \r\n ))}\r\n
\r\n
\r\n\r\n
\r\n Padece otra discapacidad\r\n
\r\n {TrueFalseValues.map(g => (\r\n onRadioChanges('saludPoseeOtraDiscapacidad', v)}\r\n />\r\n ))}\r\n
\r\n
\r\n
\r\n Especificar otra discapacidad\r\n
\r\n {saludPoseeOtraDiscapacidad\r\n ? (\r\n \r\n )\r\n : (\r\n \r\n )\r\n }\r\n
\r\n
\r\n \r\n {/* ///////////////////////////////////////////////////////////////// END OTHER DATA */}\r\n\r\n \r\n
\r\n
Rol de usuario
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n {id > 0 && editMainInfo && (\r\n
\r\n Restablecer contraseña\r\n \r\n
\r\n )}\r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst EditUserForm = reduxForm({\r\n form: 'EditUserForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(EditUser);\r\n\r\nexport default setPropsAsInitialValues(EditUserForm);\r\n","export const GruposSanguineos = [\r\n { value: '0-', label: '0-' },\r\n { value: '0+', label: '0+' },\r\n { value: 'A-', label: 'A-' },\r\n { value: 'A+', label: 'A+' },\r\n { value: 'B-', label: 'B-' },\r\n { value: 'B+', label: 'B+' },\r\n { value: 'AB-', label: 'AB-' },\r\n { value: 'AB+', label: 'AB+' },\r\n];\r\n\r\nexport const Roles = {\r\n Alumno: 0,\r\n Profesor: 1,\r\n Funcionario: 2,\r\n Admin: 3,\r\n};\r\n\r\nexport const EstadosCiviles = [\r\n { value: 0, label: 'Soltero' },\r\n { value: 1, label: 'Casado' },\r\n { value: 2, label: 'Union libre' },\r\n { value: 3, label: 'Viudo' },\r\n];\r\n\r\nexport const Generos = [\r\n { value: 0, label: 'No especificar' },\r\n { value: 1, label: 'Hombre' },\r\n { value: 2, label: 'Mujer' },\r\n];\r\n\r\nexport const Calificaciones = [\r\n {\r\n value: undefined, label: '-', desciption: '-', color: 'dark',\r\n },\r\n {\r\n value: null, label: '-', desciption: '-', color: 'dark',\r\n },\r\n {\r\n value: 0, label: 'Ausente', desciption: 'Ausente', color: 'dark',\r\n },\r\n {\r\n value: 1, label: '1: Uno', desciption: 'Uno', color: 'warning',\r\n },\r\n {\r\n value: 2, label: '2: Dos', desciption: 'Dos', color: 'secondary',\r\n },\r\n {\r\n value: 3, label: '3: Tres', desciption: 'Tres', color: 'info',\r\n },\r\n {\r\n value: 4, label: '4: Cuatro', desciption: 'Cuatro', color: 'primary',\r\n },\r\n {\r\n value: 5, label: '5: Cinco', desciption: 'Cinco', color: 'success',\r\n },\r\n];\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport EditUserForm from './UserForm';\r\nimport Confirm from '../../../shared/components/Confirm';\r\nimport {\r\n fetchUser,\r\n saveUser,\r\n fetchFormDatas,\r\n resetUserPassword,\r\n} from '../../../redux/actions/userActions';\r\n\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../helpers/notification';\r\n\r\nimport {\r\n GruposSanguineos,\r\n EstadosCiviles,\r\n Generos,\r\n} from '../../../constants/enums';\r\n\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\n\r\nclass EditUserContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n user: null,\r\n categoriasProfesores: [],\r\n };\r\n\r\n this.handleOnFilterChange = this.handleOnFilterChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDatasList();\r\n\r\n const {\r\n id, history,\r\n } = this.props;\r\n\r\n if (!id) {\r\n this.setState({\r\n user: {\r\n id: 0,\r\n arancelCero: false,\r\n },\r\n categoriasProfesores: [],\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n fetchUser(id, {\r\n onSuccess: (dto) => {\r\n const {\r\n arancelCero, nacionalidadPais, domicilioPais, trabajoPais,\r\n } = dto;\r\n const categoriasProfesores = dto.categoriasProfesores.map((h, index) => ({ ...h, index }));\r\n\r\n const user = {\r\n ...dto,\r\n arancelCero,\r\n nacionalidad: {\r\n value: dto.nacionalidadPaisId,\r\n label: `${nacionalidadPais}`,\r\n },\r\n domicilioPais: {\r\n value: dto.domicilioPaisId,\r\n label: `${domicilioPais}`,\r\n },\r\n trabajoPais: {\r\n value: dto.trabajoPaisId,\r\n label: `${trabajoPais}`,\r\n },\r\n };\r\n\r\n this.setState({\r\n loading: false,\r\n user,\r\n arancelCero,\r\n categoriasProfesores,\r\n nacionalidadPaisId: dto.nacionalidadPaisId,\r\n domicilioPaisId: dto.domicilioPaisId,\r\n trabajoPaisId: dto.trabajoPaisId,\r\n });\r\n },\r\n onError: (error) => {\r\n this.setState({\r\n loading: false,\r\n });\r\n if (error && error.status === 404) {\r\n createErrorMessage('El usuario no existe');\r\n history.push('/pages/users');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos del usuario');\r\n }\r\n },\r\n });\r\n }\r\n\r\n fetchDatasList = () => {\r\n fetchFormDatas({\r\n onSuccess: ({ paises, escalafonDocente, materias }) => {\r\n const mapPaises = paises.map(p => ({\r\n value: p.id, label: p.nombre,\r\n }));\r\n\r\n this.setState({\r\n paises: mapPaises,\r\n escalafon: escalafonDocente,\r\n materias,\r\n });\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n handleSubmit = (values) => {\r\n const { history } = this.props;\r\n const {\r\n nacionalidadPaisId,\r\n domicilioPaisId,\r\n trabajoPaisId,\r\n } = this.state;\r\n\r\n const data = {\r\n ...values,\r\n nacionalidadPaisId,\r\n domicilioPaisId,\r\n trabajoPaisId,\r\n };\r\n\r\n saveUser(data, {\r\n onSuccess: () => {\r\n createSuccessMessage('Usuario guardado exitosamente');\r\n const { showProfile } = this.props;\r\n if (!showProfile) history.push('/pages/users');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar el usuario');\r\n }\r\n },\r\n });\r\n }\r\n\r\n resetPasswordHandler = () => {\r\n const {\r\n user,\r\n } = this.state;\r\n const userName = `${user.nombre} ${user.apellido}`;\r\n Confirm({\r\n title: 'Restablecer contraseña',\r\n question: `Estás seguro que deseas restablecer la contraseña para ${userName}?`,\r\n yesLabel: 'Si, Restablecer contraseña',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n resetUserPassword(user.email,\r\n {\r\n onSuccess: () => {\r\n const title = 'Contraseña restablecida exitosamente!';\r\n const msg = 'Se ha enviado un correo al usuario con información de su nueva contraseña.';\r\n createSuccessMessage(title, msg);\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El usuario no existe');\r\n } else {\r\n createErrorMessage('Error al intentar restablecer la contraseña');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n }\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n handleOnFilterChange = (objectKey, idKey, value) => {\r\n const { user } = this.state;\r\n this.setState({\r\n [idKey]: value.value,\r\n user: {\r\n ...user,\r\n [objectKey]: value,\r\n },\r\n });\r\n }\r\n\r\n handleAddCategoriasProfesores = () => {\r\n const { categoriasProfesores } = this.state;\r\n\r\n const index = categoriasProfesores.length === 0\r\n ? 0\r\n : (Math.max(...categoriasProfesores.map(item => item.index)) + 1);\r\n\r\n this.setState(prevState => ({\r\n categoriasProfesores: [\r\n ...prevState.categoriasProfesores,\r\n {\r\n id: 0,\r\n index,\r\n escalafon: {\r\n value: 0,\r\n label: '-',\r\n parentId: 0,\r\n item: null,\r\n },\r\n materia: {\r\n value: 0,\r\n label: '',\r\n parentId: 0,\r\n item: null,\r\n },\r\n notas: '',\r\n removed: false,\r\n },\r\n ],\r\n }));\r\n };\r\n\r\n handleRemoveCategoriasProfesores = (index) => {\r\n const { categoriasProfesores = [] } = this.state;\r\n const newArray = categoriasProfesores.map(h => ({\r\n ...h,\r\n removed: h.removed || h.index === index,\r\n }));\r\n\r\n this.setState({ categoriasProfesores: newArray });\r\n };\r\n\r\n handleChangeText = (e, index) => {\r\n const { categoriasProfesores } = this.state;\r\n const newCategoriasProfesores = [...categoriasProfesores];\r\n\r\n const value = e.target.type === 'number' ? Number(e.target.value) : `${e.target.value}`.trim();\r\n\r\n newCategoriasProfesores[index] = {\r\n ...newCategoriasProfesores[index],\r\n ...{\r\n [e.target.name.split('.')[1]]: value,\r\n },\r\n };\r\n\r\n this.setState({\r\n categoriasProfesores: newCategoriasProfesores,\r\n });\r\n };\r\n\r\n handleChangeSelect = ({ option, name, index }) => {\r\n this.setState({ loading: true });\r\n\r\n const { categoriasProfesores } = this.state;\r\n const newCategoriasProfesores = [...categoriasProfesores];\r\n const data = {\r\n [name]: option,\r\n index,\r\n };\r\n\r\n newCategoriasProfesores[index] = {\r\n ...newCategoriasProfesores[index],\r\n ...data,\r\n };\r\n\r\n this.setState({\r\n categoriasProfesores: newCategoriasProfesores,\r\n loading: false,\r\n });\r\n };\r\n\r\n handleRadioChanges = (key, value) => {\r\n this.setState({ [key]: value });\r\n }\r\n\r\n render() {\r\n const {\r\n user,\r\n categoriasProfesores = [],\r\n paises,\r\n escalafon,\r\n materias,\r\n loading,\r\n arancelCero,\r\n } = this.state;\r\n const {\r\n id,\r\n history,\r\n showProfile,\r\n } = this.props;\r\n\r\n if (loading || !user || !paises) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n {id ? 'Editar' : 'Nuevo'} usuario\r\n

\r\n

\r\n {id ? 'Modificar ' : 'Ingresa '}\r\n la información del usuario\r\n

\r\n \r\n
\r\n \r\n (\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nEditUserContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n showProfile: PropTypes.bool,\r\n};\r\nEditUserContainer.defaultProps = {\r\n showProfile: false,\r\n};\r\n\r\nexport default EditUserContainer;\r\n","import { urlStudents } from '../../api/urls';\r\nimport {\r\n apiGet,\r\n apiPost,\r\n apiDelete,\r\n apiDownloadPost,\r\n} from '../../api/index';\r\n\r\nexport function fetchStudents(params) {\r\n const pageInfo = params && params.pageInfo\r\n ? params.pageInfo\r\n : { page: 1, pageSize: 15 };\r\n return apiPost(`${urlStudents}/all`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function reporteInscriptos(params) {\r\n const pageInfo = params && params.pageInfo\r\n ? params.pageInfo\r\n : { page: 1, pageSize: 15 };\r\n return apiPost(`${urlStudents}/reporte_inscriptos`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\n\r\nexport function reporteAlumnosFormData(params) {\r\n return apiGet(`${urlStudents}/reporte_alumnos`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function reporteAlumnos(params) {\r\n const pageInfo = params && params.pageInfo\r\n ? params.pageInfo\r\n : { page: 1, pageSize: 15 };\r\n return apiPost(`${urlStudents}/reporte_alumnos`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function reporteAcademicStatusStudent(id = '', params) {\r\n return apiGet(`${urlStudents}/reporte-academic-status-student/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function downloadAcademicStatusStudent(id = '', params) {\r\n return apiDownloadPost(`${urlStudents}/download-reporte-academic-status-student/${id}`)\r\n .then((blob) => {\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = 'Reporte Estado Academico.xlsx';\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n if (params && params.onSuccess) params.onSuccess(blob);\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function downloadStudents(params) {\r\n const filters = params.filters || {};\r\n return apiDownloadPost(`${urlStudents}/reporte_alumnos_download`, filters)\r\n .then((blob) => {\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = 'Alumnos.xlsx';\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n if (params && params.onSuccess) params.onSuccess(blob);\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function downloadStudentsInscriptos(params) {\r\n const filters = params.filters || {};\r\n return apiDownloadPost(`${urlStudents}/reporte_inscriptos_download`, filters)\r\n .then((blob) => {\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = 'Alumnos-Inscriptos.xlsx';\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n if (params && params.onSuccess) params.onSuccess(blob);\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchSelectStudentValues(callback) {\r\n return apiGet(`${urlStudents}/select_values`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchSelectStudentValuesPorCarrera(idCarrera, callback) {\r\n return apiGet(`${urlStudents}/select_values_por_carrera/${idCarrera}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\n\r\nexport function fetchStudent(id, callback) {\r\n return apiGet(`${urlStudents}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function saveStudent(user, callback) {\r\n return apiPost(`${urlStudents}`, user)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function deleteStudent(id, callback) {\r\n return apiDelete(`${urlStudents}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchAllMallas(params) {\r\n return apiGet(`${urlStudents}/mallas`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport { Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport {\r\n fetchStudents,\r\n deleteStudent,\r\n} from '../../redux/actions/studentsActions';\r\nimport Confirm from '../../shared/components/Confirm';\r\nimport { createErrorMessage, createSuccessMessage } from '../../helpers/notification';\r\n\r\nclass StudentsContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n loading: true,\r\n items: [],\r\n filters: { id: 20 },\r\n };\r\n this.columns = [\r\n {\r\n key: 'numeroLegajo',\r\n name: '# Legajo',\r\n width: '80px',\r\n search: true,\r\n type: 'number',\r\n },\r\n {\r\n key: 'numeroDocumento',\r\n name: '# Documento',\r\n search: true,\r\n type: 'number',\r\n width: '110px',\r\n },\r\n { key: 'nombre', name: 'Nombre', search: true },\r\n { key: 'apellido', name: 'Apellido', search: true },\r\n { key: 'malla', name: 'Malla', search: true },\r\n { key: 'carrera', name: 'Carrera', search: true },\r\n { key: 'actions', name: 'Accion', width: '85px' },\r\n ];\r\n this.actions = [\r\n {\r\n key: 'viewAcademicStatus',\r\n icon: ,\r\n callback: (student) => {\r\n this.handleViewAcademicStatusStudent(student);\r\n },\r\n },\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (student) => {\r\n this.editStudent(student);\r\n },\r\n },\r\n {\r\n key: 'delete',\r\n icon: ,\r\n callback: (student) => {\r\n this.handleDeleteStudent(student);\r\n },\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n const { page, pageSize } = this.state;\r\n this.updateStudentsTable(page, pageSize);\r\n }\r\n\r\n updateStudentsTable = (page, pageSize, filters) => {\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n });\r\n fetchStudents({\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters,\r\n },\r\n onSuccess: (pageInfo) => {\r\n this.setState({\r\n loading: false,\r\n items: pageInfo.items,\r\n totalItemsCount: pageInfo.totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de alumnos');\r\n },\r\n });\r\n }\r\n\r\n handleDeleteStudent = (student) => {\r\n const name = `${student.nombre} ${student.apellido}`;\r\n Confirm({\r\n title: 'Borrar alumno',\r\n question: `Estás seguro que deseas eliminar a ${name}?`,\r\n yesLabel: 'Si, Borrar alumno',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n deleteStudent(student.id,\r\n {\r\n onSuccess: () => {\r\n createSuccessMessage('Alumno borrado exitosamente');\r\n const { page, pageSize } = this.state;\r\n this.updateStudentsTable(page, pageSize);\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El alumno no existe');\r\n } else {\r\n createErrorMessage('Error al intentar borrar el alumno');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n handleViewAcademicStatusStudent = (student) => {\r\n const { history } = this.props;\r\n history.push(`/pages/reporte-alumnos/academic-status/${student.id}`);\r\n };\r\n\r\n editStudent = (student) => {\r\n const { history } = this.props;\r\n history.push(`/pages/students/edit/${student.id}`);\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateStudentsTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateStudentsTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateStudentsTable(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

Alumnos del Sistema

\r\n
\r\n \r\n Agregar nuevo alumno\r\n \r\n
\r\n \r\n
\r\n \r\n {loading ?

Cargando...

\r\n : (\r\n this.getGridActions(key)}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n )\r\n }\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(StudentsContainer);\r\n","import {\r\n apiGet,\r\n apiPost,\r\n apiDelete,\r\n apiDownloadPost,\r\n} from '../../api/index';\r\nimport { urlStudentSubjects } from '../../api/urls';\r\n\r\nexport function fetchStudentSubjects(showAll, params) {\r\n const pageInfo = params && params.pageInfo\r\n ? params.pageInfo\r\n : { page: 1, pageSize: 15 };\r\n const endpoint = showAll ? 'all' : 'all-my-subjects';\r\n return apiPost(`${urlStudentSubjects}/${endpoint}`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchMySubject({ id, onSuccess, onError }) {\r\n return apiGet(`${urlStudentSubjects}/my/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\nexport function fetchStudentSubject(id, callback) {\r\n return apiGet(`${urlStudentSubjects}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function saveStudentSubject(data, callback) {\r\n return apiPost(`${urlStudentSubjects}`, data)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function saveStudentSubjects(data, callback) {\r\n return apiPost(`${urlStudentSubjects}/save_inscription`, data)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\n\r\nexport function deleteStudentSubject(id, callback) {\r\n return apiDelete(`${urlStudentSubjects}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchAllMallas(params) {\r\n return apiGet(`${urlStudentSubjects}/active-mallas`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchAllSemesters(params) {\r\n return apiGet(`${urlStudentSubjects}/active-semesters`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchAllSubjects(params) {\r\n return apiGet(`${urlStudentSubjects}/subjects`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function getFormDatas(params) {\r\n const method = params.new ? 'new-inscription-form-data' : 'inscription-form-data';\r\n return apiGet(`${urlStudentSubjects}/${method}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function getInscriptionAllSubjects({ onSuccess, onError, mallaId }) {\r\n return apiGet(`${urlStudentSubjects}/inscription-all-subjects/${mallaId}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function fetchAllSubjectsBySemesters(params) {\r\n return apiGet(`${urlStudentSubjects}/subjects_by_semesters/${params.perfilAlumnoId}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function actualizarNotas(inscripcion, callback) {\r\n return apiPost(`${urlStudentSubjects}/actualizar_notas`, inscripcion)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function reporteAlumnosPorMateria(params) {\r\n const pageInfo = params && params.pageInfo\r\n ? params.pageInfo\r\n : { page: 1, pageSize: 15 };\r\n return apiPost(`${urlStudentSubjects}/reporte_alumnos_por_materia`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function descargarReporteAlumnosPorMaterias(params) {\r\n const filters = params.filters || {};\r\n return apiDownloadPost(`${urlStudentSubjects}/reporte_alumnos_por_materia_download`, filters)\r\n .then((blob) => {\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = 'Reporte de Asistencia y PP.xlsx';\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n if (params && params.onSuccess) params.onSuccess(blob);\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function obtenerMisDerechos({\r\n pageInfo = ({ page: 1, pageSize: 15 }),\r\n onSuccess,\r\n onError,\r\n}) {\r\n return apiPost(`${urlStudentSubjects}/mis_derechos_a_examenes`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function addToFavorites(inscripcion, callback) {\r\n return apiPost(`${urlStudentSubjects}/add_subject_dashboard`, inscripcion)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n","import {\r\n apiGet,\r\n apiPost,\r\n apiDelete,\r\n apiDownload,\r\n apiPut,\r\n} from '../../api/index';\r\nimport { urlMateriasPeriodo } from '../../api/urls';\r\n\r\nexport function filter({ pageInfo = { page: 1, pageSize: 15 }, onSuccess, onError }) {\r\n return apiPost(`${urlMateriasPeriodo}/all`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function filterHomework({\r\n materiaPeriodoId,\r\n pageInfo = { page: 1, pageSize: 15 },\r\n onSuccess,\r\n onError,\r\n}) {\r\n return apiPost(`${urlMateriasPeriodo}/${materiaPeriodoId}/homework/all`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function filterMyHomework({\r\n subjectId,\r\n pageInfo = { page: 1, pageSize: 15 },\r\n onSuccess,\r\n onError,\r\n}) {\r\n return apiPost(`${urlMateriasPeriodo}/${subjectId}/homework/my`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function getHomework({ id, onSuccess, onError }) {\r\n return apiGet(`${urlMateriasPeriodo}/homework/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function get({ id, onSuccess, onError }) {\r\n return apiGet(`${urlMateriasPeriodo}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function getPlanning({\r\n id, page, onSuccess, onError,\r\n}) {\r\n return apiGet(`${urlMateriasPeriodo}/planning/${id}/page-${page}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function save(obj, callback) {\r\n return apiPost(`${urlMateriasPeriodo}`, obj)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function saveHomework({ paylaod, onSuccess, onError }) {\r\n return apiPost(`${urlMateriasPeriodo}/homework`, paylaod)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function changeUtilizaPorcentajePesoMateria({ payload, onSuccess, onError }) {\r\n return apiPut(`${urlMateriasPeriodo}/uses-percent-weight`, payload.id, payload)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function updateScoreHomework(scoreStudent, callback) {\r\n return apiPost(`${urlMateriasPeriodo}/homework/update-score`, scoreStudent)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function savePlanning({\r\n page, paylaod, onSuccess, onError,\r\n}) {\r\n return apiPost(`${urlMateriasPeriodo}/planning/${page}`, paylaod)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function fetchPlanningFormData({ onSuccess, onError }) {\r\n return apiGet(`${urlMateriasPeriodo}/planning/form-data`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function remove(id, callback) {\r\n return apiDelete(`${urlMateriasPeriodo}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function removeHomework(id, callback) {\r\n return apiDelete(`${urlMateriasPeriodo}/homework/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchFormDatas({ onSuccess, onError }) {\r\n return apiGet(`${urlMateriasPeriodo}/form_data`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function fetchSubjectsByMeshId({ meshId, onSuccess, onError }) {\r\n return apiGet(`${urlMateriasPeriodo}/subjects/${meshId}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function fetchSubjectsScheduleBySubjectPeriodId({\r\n subjectId, onSuccess, onError,\r\n}) {\r\n return apiGet(`${urlMateriasPeriodo}/subjects-schedule/${subjectId}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function fetchSubjectsObjectivesBySubjectPeriodId({\r\n planningId, onSuccess, onError,\r\n}) {\r\n return apiGet(`${urlMateriasPeriodo}/subjects-objectives/${planningId}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function AllSubjectsDashboardByStudent(params) {\r\n return apiGet(`${urlMateriasPeriodo}/materias-tablero-alumno`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function getSubjectStudents(params) {\r\n const filters = params ? params.filters || {} : {};\r\n return apiPut(`${urlMateriasPeriodo}/alumnos-materia`, params.id, filters)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function downloadSubjectStudents({ id, onSuccess, onError }) {\r\n return apiDownload(`${urlMateriasPeriodo}/alumnos-materia-download/${id}`)\r\n .then((blob) => {\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = 'Alumnos.xlsx';\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n if (onSuccess) onSuccess(blob);\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\n\r\nexport function downloadSubjectStudentsScore({ id, onSuccess, onError }) {\r\n return apiDownload(`${urlMateriasPeriodo}/alumnos-materia-notas-download/${id}`)\r\n .then((blob) => {\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = 'Alumnos.xlsx';\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n if (onSuccess) onSuccess(blob);\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Container,\r\n Badge,\r\n} from 'reactstrap';\r\nimport DataTable from '../../../shared/components/DataTable';\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\nimport {\r\n filterMyHomework,\r\n} from '../../../redux/actions/materiaPeriodoActions';\r\nimport { createErrorMessage } from '../../../helpers/notification';\r\n\r\nclass HomeworkContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n materiaPeriodoId: PropTypes.string.isRequired,\r\n utilizaPorcentajePesoMateria: PropTypes.bool.isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n loading: true,\r\n items: [],\r\n filters: { id: 10 },\r\n };\r\n\r\n this.columns = utilizaPorcentajePesoMateria => [\r\n { key: 'id', name: '#', width: '85px' },\r\n {\r\n key: 'tarea', name: 'Tarea', width: '85px', search: false,\r\n },\r\n {\r\n key: 'puntajeObtenido',\r\n name: 'Puntaje Obtenido',\r\n width: '85px',\r\n className: 'text-center',\r\n format: row => `${row.puntajeObtenido}`,\r\n },\r\n {\r\n key: 'puntajeTotal',\r\n name: 'Puntaje Total',\r\n width: '85px',\r\n className: 'text-center',\r\n format: row => `${row.puntajeTotal}`,\r\n },\r\n {\r\n key: 'porcentajePesoMateria',\r\n visible: utilizaPorcentajePesoMateria,\r\n name: 'Porcentaje Peso Materia',\r\n width: '85px',\r\n className: 'text-center',\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n const { page, pageSize } = this.state;\r\n this.updateTable(page, pageSize);\r\n }\r\n\r\n updateTable = (page, pageSize, filters) => {\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n });\r\n const { materiaPeriodoId: subjectId } = this.props;\r\n filterMyHomework({\r\n subjectId,\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters,\r\n },\r\n onSuccess: ({ items, totalItemsCount }) => {\r\n this.setState({\r\n loading: false,\r\n items,\r\n totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de tareas');\r\n },\r\n });\r\n }\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateTable(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n format = value => (\r\n

\r\n \r\n {value}\r\n \r\n

\r\n );\r\n\r\n render() {\r\n const {\r\n loading,\r\n } = this.state;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n const {\r\n utilizaPorcentajePesoMateria,\r\n } = this.props;\r\n\r\n const {\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n return (\r\n \r\n this.getGridActions(key)}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(HomeworkContainer);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Badge,\r\n Col,\r\n Row,\r\n} from 'reactstrap';\r\nimport {\r\n Field,\r\n} from 'redux-form';\r\nimport TextBox from '../../../../shared/components/form/TextBox';\r\n\r\nconst HorariosTable = ({\r\n items = [],\r\n profesores = [],\r\n codigoClassroom = '',\r\n onChangeText,\r\n materiaPeriodo = {},\r\n esAlumno = false,\r\n}) => {\r\n const format = escalafon => (\r\n

\r\n \r\n {escalafon.value === 0 ? '' : 'Prof. '}{escalafon.label}\r\n \r\n

\r\n );\r\n\r\n const { preRequisitos = [] } = materiaPeriodo;\r\n const horasSemanales = [\r\n {\r\n name: <>TEÓRICAS: Hs., value: materiaPeriodo.horasTeoriaSemanal,\r\n },\r\n { name: <>PRÁ CTICAS: Hs., value: materiaPeriodo.horasPracticaSemanal },\r\n { name: <>LABORATORIO. Hs., value: materiaPeriodo.horasLaboratorioSemanal },\r\n { name: <>TOTAL:, value: materiaPeriodo.totalHorasSemanal },\r\n ];\r\n\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 {profesores.map(({\r\n id,\r\n profesor,\r\n escalafon,\r\n }, index) => (\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
DOCENTESCATEGORÍA
\r\n
\r\n {`${index + 1}.- ${profesor}`}\r\n
\r\n
\r\n
\r\n {format(escalafon)}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {horasSemanales.map(({\r\n name,\r\n value,\r\n }, index) => (\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
HORAS SEMANALES:
\r\n
\r\n {name}\r\n
\r\n
\r\n
\r\n {value}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {items.map(({\r\n id,\r\n dia,\r\n tipoActividadAcademicaHorario,\r\n horaInicio,\r\n horaFin,\r\n }) => (\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
HORARIO DE CLASES: DÍA/HORA
\r\n
\r\n {tipoActividadAcademicaHorario.label}\r\n
\r\n
\r\n
\r\n {dia.label}: {horaInicio}-{horaFin}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {\r\n esAlumno || !materiaPeriodo.canEditarPlaneamiento ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n {preRequisitos.map(({\r\n materia, semestreNro,\r\n }) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n
\r\n CODIGO DEL CLASSROOM: \r\n {codigoClassroom}\r\n
\r\n
\r\n
\r\n CODIGO DEL CLASSROOM:\r\n
\r\n \r\n
\r\n
\r\n
PRE-REQUISITOS:
\r\n
\r\n {materia}\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nHorariosTable.propTypes = {\r\n profesores: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n meta: PropTypes.shape({}),\r\n materiaPeriodo: PropTypes.shape({}).isRequired,\r\n codigoClassroom: PropTypes.string,\r\n onChangeText: PropTypes.func.isRequired,\r\n esAlumno: PropTypes.bool,\r\n};\r\n\r\nHorariosTable.defaultProps = {\r\n meta: {},\r\n codigoClassroom: '',\r\n esAlumno: false,\r\n};\r\n\r\nexport default HorariosTable;\r\n","import { urlAssistances } from '../../api/urls';\r\nimport {\r\n apiGet,\r\n apiPost,\r\n apiDelete,\r\n} from '../../api/index';\r\n\r\nexport function fetchAll({\r\n subjectPeriodId,\r\n pageInfo = ({ page: 1, pageSize: 15 }),\r\n onSuccess,\r\n onError,\r\n}) {\r\n return apiPost(`${urlAssistances}/${subjectPeriodId}/all`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function fetchMy({\r\n subjectPeriodId,\r\n pageInfo = ({ page: 1, pageSize: 15 }),\r\n onSuccess,\r\n onError,\r\n}) {\r\n return apiPost(`${urlAssistances}/${subjectPeriodId}/my`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function fetch({ id, onSuccess, onError }) {\r\n return apiGet(`${urlAssistances}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n\r\n if (onSuccess) onSuccess(res);\r\n\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function fetchFormDatas({ subjectPeriodId, onSuccess, onError }) {\r\n return apiGet(`${urlAssistances}/form-data/${subjectPeriodId}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function saveAssistance({ payload, onSuccess, onError }) {\r\n return apiPost(`${urlAssistances}`, payload)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n\r\n if (onSuccess) onSuccess(res);\r\n\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function updatePresenceStundent({\r\n assistanceId, payload, onSuccess, onError,\r\n}) {\r\n return apiPost(`${urlAssistances}/${assistanceId}/update-presence`, payload)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n\r\n if (onSuccess) onSuccess(res);\r\n\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function deleteAssistance(id, callback) {\r\n return apiDelete(`${urlAssistances}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n reduxForm,\r\n} from 'redux-form';\r\nimport {\r\n Badge,\r\n Container,\r\n} from 'reactstrap';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport DataTable from '../../../shared/components/DataTable';\r\nimport TooltipItem from '../../../shared/components/TooltipItem';\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\nimport {\r\n fetchMy,\r\n} from '../../../redux/actions/assistanceActions';\r\nimport {\r\n dateMMFormat,\r\n dateDDFormat,\r\n} from '../../../helpers/dateFormat';\r\nimport {\r\n createErrorMessage,\r\n} from '../../../helpers/notification';\r\n\r\nclass AssistanceContainer extends PureComponent {\r\n static propTypes = {\r\n subjectPeriodId: PropTypes.number.isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n loading: true,\r\n loadingAssists: false,\r\n items: [],\r\n assists: [],\r\n studentAssists: [],\r\n filters: { id: 10 },\r\n showForm: false,\r\n students: [],\r\n currentStudentId: 0,\r\n };\r\n\r\n this.columns = ({ assists, studentAssists, canEditTask }) => {\r\n const cols = [];\r\n\r\n const groupByAssistance = assists.map(({ id, date, reference }) => ({ assistanceId: id, date, reference }));\r\n\r\n const assistanceByStudents = studentAssists\r\n .map(({ assistanceId, studentId, present }) => ({ assistanceId, studentId, present }));\r\n const assistanceLength = groupByAssistance.length;\r\n const attendancePerc = [];\r\n\r\n studentAssists\r\n .map(({ studentId, present }) => ({ studentId, present }))\r\n .reduce((res, { studentId, present }) => {\r\n if (!res[studentId]) {\r\n res[studentId] = { studentId, ok: 0 };\r\n attendancePerc.push(res[studentId]);\r\n }\r\n\r\n res[studentId].ok += present ? 1 : 0;\r\n\r\n return res;\r\n }, {});\r\n\r\n const assistanceHeaders = groupByAssistance.map(a => ({\r\n key: `assistance${a.assistanceId}`,\r\n name: (\r\n
\r\n
{dateDDFormat(a.date)}{a.reference ? `-${a.reference}` : ''}
\r\n \r\n
\r\n ),\r\n width: '75px',\r\n className: 'text-center',\r\n format: ({ studentId }) => {\r\n const assistanceByStudent = assistanceByStudents\r\n .find(as => as.assistanceId === a.assistanceId && as.studentId === studentId);\r\n\r\n if (!assistanceByStudent || assistanceByStudent.present === null) {\r\n return ​➖;\r\n }\r\n\r\n if (assistanceByStudent.present === false) {\r\n return (\r\n ​❌\r\n );\r\n }\r\n\r\n return (\r\n ✔️\r\n );\r\n },\r\n }));\r\n\r\n return [\r\n ...cols,\r\n ...[\r\n {\r\n key: 'assistPerc',\r\n name: '% Asistencia',\r\n editable: canEditTask,\r\n width: '110px',\r\n className: 'text-center',\r\n inputStyle: this.inputStyle,\r\n format: ({ studentId: id }) => (\r\n \r\n {\r\n attendancePerc.filter(({ studentId }) => id === studentId)\r\n .map(({ ok }) => Math.round((ok / assistanceLength) * 100))[0]\r\n || 0\r\n }\r\n \r\n ),\r\n },\r\n ],\r\n ...assistanceHeaders,\r\n ];\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.refreshTable();\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n const {\r\n page, pageSize, totalItemsCount, filters,\r\n } = this.state;\r\n const state = { filters };\r\n\r\n // Typical usage (don't forget to compare props):\r\n if (page !== prevState.page) {\r\n state.page = page;\r\n }\r\n\r\n if (pageSize !== prevState.pageSize) {\r\n state.pageSize = pageSize;\r\n }\r\n\r\n if (totalItemsCount !== prevState.totalItemsCount) {\r\n state.totalItemsCount = totalItemsCount;\r\n }\r\n }\r\n\r\n refreshTable = (criteria = {}) => {\r\n const {\r\n page = 1, pageSize = 25, totalItemsCount = 0, filters = {},\r\n } = criteria;\r\n\r\n const state = {\r\n filters: filters || { logContent: [] },\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n };\r\n\r\n this.fetchTable({ ...state });\r\n }\r\n\r\n fetchTable = ({ page, pageSize, filters }) => {\r\n const {\r\n subjectPeriodId,\r\n } = this.props;\r\n\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n });\r\n\r\n fetchMy({\r\n subjectPeriodId,\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters,\r\n },\r\n onSuccess: ({ pageInfo, assists, studentAssists }) => {\r\n const { items, totalItemsCount } = pageInfo;\r\n this.setState({\r\n loading: false,\r\n items,\r\n totalItemsCount,\r\n assists,\r\n studentAssists,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de materias por periodo');\r\n },\r\n });\r\n }\r\n\r\n handleHideForm = () => {\r\n this.setState({\r\n showForm: false,\r\n });\r\n\r\n this.refreshTable();\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.refreshTable({ page, pageSize, filters });\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.refreshTable({ page: 1, pageSize, values });\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize, filters } = this.state;\r\n const { autoHideSearch } = filters;\r\n this.refreshTable({ page: 1, pageSize, filters: { autoHideSearch } });\r\n };\r\n\r\n nextPage = () => {\r\n const { students = [], currentStudentId } = this.state;\r\n\r\n const index = students.findIndex(s => s.studentId === currentStudentId);\r\n const newIndex = index + 1 === students.length ? 0 : index + 1;\r\n\r\n const student = students[newIndex];\r\n\r\n this.setState({ currentStudentId: student.studentId });\r\n };\r\n\r\n previousPage = () => {\r\n const { students = [], currentStudentId } = this.state;\r\n\r\n const index = students.findIndex(s => s.studentId === currentStudentId);\r\n const { studentId } = students[index === 0 ? students.length - 1 : index - 1];\r\n\r\n this.setState({ currentStudentId: studentId });\r\n };\r\n\r\n assistanceButtons = ({\r\n assistanceId,\r\n currentStudentId,\r\n assistanceValue,\r\n onPreviousPage,\r\n onNextPage,\r\n onPresent,\r\n onAbsent,\r\n pointerStudent,\r\n }) => {\r\n const { loadingAssists } = this.state;\r\n if (loadingAssists) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
{pointerStudent}
\r\n \r\n {assistanceValue.description}\r\n \r\n
\r\n onPresent({ assistanceId, studentId: currentStudentId })}\r\n >\r\n \r\n \r\n onAbsent({ assistanceId, studentId: currentStudentId })}\r\n >\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n };\r\n\r\n dataTable = () => {\r\n const {\r\n showForm,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n assists,\r\n studentAssists,\r\n } = this.state;\r\n\r\n if (showForm) {\r\n return null;\r\n }\r\n\r\n return (\r\n this.getGridActions(key, row)}\r\n itemsToShow={items.length}\r\n page={page}\r\n pageSize={pageSize}\r\n autoHideSearch={filters.autoHideSearch}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n );\r\n };\r\n\r\n render() {\r\n const {\r\n loading,\r\n } = this.state;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n {this.dataTable()}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxAssistanceContainer = reduxForm({\r\n form: 'AssistanceContainer',\r\n enableReinitialize: true,\r\n})(AssistanceContainer);\r\n\r\nexport default setPropsAsInitialValues(ReduxAssistanceContainer);\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n Nav,\r\n NavItem,\r\n TabPane,\r\n TabContent,\r\n Button,\r\n Badge,\r\n} from 'reactstrap';\r\n\r\nimport LoadingSpinner from '../../shared/components/LoadingSpinner';\r\n\r\nimport {\r\n createErrorMessage,\r\n // createWarningMessage,\r\n} from '../../helpers/notification';\r\nimport {\r\n fetchMySubject,\r\n} from '../../redux/actions/studentSubjectsActions';\r\nimport Homework from './Tasks';\r\nimport HorariosTable from '../Profesor/PlaneamientoForm/components/HorariosTable';\r\nimport Assistance from './Assistance/index';\r\n\r\nclass StudentDataContainer extends PureComponent {\r\n static propTypes = {\r\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n activeTab: '1',\r\n materiaPeriodo: null,\r\n };\r\n\r\n this.inputStyle = {\r\n fontSize: '18px',\r\n height: '36px',\r\n color: 'greenyellow',\r\n textAlign: 'center',\r\n fontWeight: 'bold',\r\n backgroundColor: '#232329',\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.getMateriaPeriodo();\r\n }\r\n\r\n getMateriaPeriodo = () => {\r\n const { id } = this.props;\r\n this.setState({ loading: true });\r\n fetchMySubject({\r\n id,\r\n onSuccess: (materiaPeriodo) => {\r\n this.setState({\r\n materiaPeriodo, loading: false,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({\r\n materiaPeriodo: {}, loading: false,\r\n });\r\n createErrorMessage('Error al intentar cargar los datos de la materia');\r\n },\r\n });\r\n }\r\n\r\n toggle = (tab) => {\r\n const { activeTab } = this.state;\r\n if (activeTab !== tab) {\r\n this.setState({ activeTab: tab });\r\n }\r\n };\r\n\r\n goBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n format = value => (\r\n \r\n {value}{!Number.isInteger(value) ? '' : '%'}\r\n \r\n );\r\n\r\n render() {\r\n const {\r\n materiaPeriodo,\r\n loading,\r\n activeTab,\r\n } = this.state;\r\n\r\n if (loading || !materiaPeriodo) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n {materiaPeriodo.materia}\r\n

{materiaPeriodo.seccion}

\r\n \r\n\r\n
\r\n \r\n
\r\n
Carrera:{' '}
\r\n
{materiaPeriodo.carrera}
\r\n
\r\n \r\n \r\n
\r\n
Semestre:{' '}
\r\n
{materiaPeriodo.semestre}
\r\n
\r\n \r\n \r\n
\r\n
Año:{' '}
\r\n
{materiaPeriodo.anho}
\r\n
\r\n \r\n \r\n
\r\n
Horas Semanales
\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n\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.format('PP:')}{' '}\r\n {this.format(Math.round(materiaPeriodo.porcentajePP))}\r\n
\r\n \r\n \r\n
\r\n {this.format('Asistencias:')}{' '}\r\n {this.format(Math.round(materiaPeriodo.porcentajeAsistencia))}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n Volver\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(StudentDataContainer);\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n Form,\r\n Col,\r\n Container,\r\n Row,\r\n Card,\r\n CardBody,\r\n Alert,\r\n Badge,\r\n} from 'reactstrap';\r\n\r\nimport {\r\n AllSubjectsDashboardByStudent,\r\n} from '../../redux/actions/materiaPeriodoActions';\r\nimport LoadingSpinner from '../../shared/components/LoadingSpinner';\r\n\r\nimport { createErrorMessage } from '../../helpers/notification';\r\n\r\nclass StudentsDashboardContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n items: [],\r\n };\r\n\r\n this.colors = [\r\n {\r\n value: 0, color: 'secondary',\r\n },\r\n {\r\n value: 1, color: 'info',\r\n },\r\n {\r\n value: 2, color: 'success',\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n const { page, pageSize } = this.state;\r\n this.loadFormData(page, pageSize);\r\n }\r\n\r\n loadFormData = () => {\r\n AllSubjectsDashboardByStudent({\r\n onSuccess: (items) => {\r\n this.setState({\r\n loading: false,\r\n items,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de materias');\r\n },\r\n });\r\n }\r\n\r\n verMateria = (id) => {\r\n const { history } = this.props;\r\n history.push(`/pages/student-subjects/${id}`);\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.loadFormData(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n handleSubmitCard = (e) => {\r\n e.preventDefault();\r\n }\r\n\r\n getColor = ({ value }) => {\r\n const item = this.colors.find(c => c.value === value);\r\n if (!item) {\r\n return this.colors[0].color;\r\n }\r\n\r\n return item.color;\r\n };\r\n\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n } = this.state;\r\n\r\n if (loading) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n Tablero\r\n

\r\n \r\n
\r\n \r\n \r\n {(!items || !items.length) && (\r\n

\r\n \r\n
\r\n No tienes materias marcadas para ver en el Tablero.\r\n
\r\n
\r\n Puedes marcar las estrellas{' '}\r\n \r\n {\r\n ' en tu listado de \"Mis Materias\" para mostrarlas en el Tablero.'\r\n }\r\n
\r\n
\r\n

\r\n )\r\n }\r\n {items && items.length && (\r\n \r\n \r\n
\r\n
\r\n

\r\n {'Lista de materias favoritas '}\r\n \r\n

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

Estados:

\r\n \r\n Preliminar\r\n \r\n \r\n Publicado\r\n \r\n \r\n Sellado\r\n \r\n
\r\n \r\n
\r\n \r\n {items.map(g => (\r\n \r\n this.verMateria(g.id)}\r\n className=\"link-card card-subject pb-0\"\r\n >\r\n \r\n
\r\n

\r\n {g.materia}\r\n

\r\n \r\n {g.seccion}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {g.carrera}\r\n \r\n \r\n {g.semestreNroOrden}{' º Semestre '}{g.anho}\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n
\r\n Asis.: \r\n \r\n {Math.round(g.porcentajeAsistencia)} %\r\n \r\n
\r\n
\r\n PP: \r\n \r\n {Math.round(g.porcentajePP)} %\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n ))\r\n }\r\n \r\n \r\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 withRouter(StudentsDashboardContainer);\r\n","const validate = (values) => {\r\n const attrs = values || {};\r\n const errors = {};\r\n if (!attrs.usuario || !attrs.usuario.value) {\r\n errors.usuario = 'Debe seleccioanr el alumno';\r\n }\r\n if (!attrs.malla || !attrs.malla.value) {\r\n errors.malla = 'Debe seleccioanr la malla';\r\n }\r\n if (!(attrs.numeroLegajo && attrs.numeroLegajo > 0)) {\r\n errors.numeroLegajo = 'El número de legajo no es correcto';\r\n }\r\n\r\n if (!attrs.fechaIngreso) {\r\n errors.fechaIngreso = 'Debe ingresar la fecha de ingreso';\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport { Card, CardBody, Col } from 'reactstrap';\r\nimport TextBox from '../../../shared/components/form/TextBox';\r\nimport renderSelectField from '../../../shared/components/form/Select';\r\nimport renderDatePickerField from '../../../shared/components/form/DatePicker';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport validate from './validate';\r\n\r\nclass StudentForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool,\r\n users: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n mallas: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n }\r\n\r\n static defaultProps = {\r\n submitting: false,\r\n }\r\n\r\n render() {\r\n const {\r\n submitting,\r\n handleSubmit,\r\n onBack,\r\n users,\r\n mallas,\r\n } = this.props;\r\n return (\r\n \r\n \r\n \r\n
\r\n
\r\n
Datos del alumno
\r\n
\r\n\r\n
\r\n Número de Legajo\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n Alumno\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n Malla - Carrera\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n Fecha de ingreso\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst StudentFormForm = reduxForm({\r\n form: 'StudentFormForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(StudentForm);\r\n\r\nexport default setPropsAsInitialValues(StudentFormForm);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport StudentForm from './StudentForm';\r\nimport {\r\n fetchStudent,\r\n saveStudent,\r\n fetchAllMallas,\r\n} from '../../../redux/actions/studentsActions';\r\nimport { fetchAllUsers } from '../../../redux/actions/usersActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../helpers/notification';\r\n\r\nclass EditStudentContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = { loaded: false };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchUserList();\r\n this.fetchMallaList();\r\n this.fetchCurrentStudent();\r\n }\r\n\r\n fetchCurrentStudent = () => {\r\n const { id, history } = this.props;\r\n if (id) {\r\n fetchStudent(id,\r\n {\r\n onSuccess: (dto) => {\r\n const {\r\n mallaId,\r\n malla,\r\n carrera,\r\n usuarioId,\r\n nombre,\r\n apellido,\r\n } = dto;\r\n const student = {\r\n ...dto,\r\n malla: {\r\n value: mallaId,\r\n label: `${malla} - ${carrera}`,\r\n },\r\n usuario: {\r\n value: usuarioId,\r\n label: `${nombre} ${apellido}`,\r\n },\r\n };\r\n this.setState({ student, loaded: true });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El alumno no existe');\r\n history.push('/pages/students');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos del alumno');\r\n }\r\n },\r\n });\r\n } else {\r\n this.setState({\r\n student: {\r\n id: 0,\r\n numeroLegajo: 0,\r\n },\r\n });\r\n this.setState({ loaded: true });\r\n }\r\n }\r\n\r\n fetchUserList = () => {\r\n fetchAllUsers({\r\n onSuccess: (users) => {\r\n this.setState({ users });\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar los datos de usuarios');\r\n },\r\n });\r\n }\r\n\r\n fetchMallaList = () => {\r\n fetchAllMallas({\r\n onSuccess: (mallas) => {\r\n this.setState({ mallas });\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar los datos de mallas');\r\n },\r\n });\r\n }\r\n\r\n handleSubmit = (values) => {\r\n const { malla, usuario, numeroLegajo } = values;\r\n const { value: mallaId } = malla;\r\n const { value: usuarioId } = usuario;\r\n const params = {\r\n ...values,\r\n usuarioId,\r\n mallaId,\r\n numeroLegajo: +numeroLegajo,\r\n };\r\n const { history } = this.props;\r\n saveStudent(params,\r\n {\r\n onSuccess: () => {\r\n createSuccessMessage('Alumno guardado exitosamente');\r\n history.push('/pages/students');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar el alumno');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n render() {\r\n const { id, history } = this.props;\r\n const {\r\n student,\r\n loaded,\r\n users,\r\n mallas,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n {id ? 'Editar' : 'Nuevo'} alumno\r\n

\r\n

\r\n {id ? 'Modificar ' : 'Ingresa '}\r\n la información del alumno\r\n

\r\n \r\n
\r\n \r\n \r\n {!(loaded && users && mallas)\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\nEditStudentContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default EditStudentContainer;\r\n","const validate = (values) => {\r\n const attrs = values || {};\r\n const errors = {};\r\n if (!attrs.student || !attrs.student.perfilAlumnoId) {\r\n errors.usuario = 'Debe seleccioanr el alumno';\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport {\r\n Card,\r\n CardBody,\r\n Col,\r\n Row,\r\n Container,\r\n} from 'reactstrap';\r\nimport renderSelectField from '../../../shared/components/form/Select';\r\nimport renderCheckBoxField from '../../../shared/components/form/CheckBox';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport validate from './validate';\r\n\r\nclass InscriptionForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onChangeStudent: PropTypes.func.isRequired,\r\n onInscriptionChanges: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool,\r\n viewPageAs: PropTypes.number,\r\n students: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n subjects: PropTypes.arrayOf(PropTypes.shape({})),\r\n student: PropTypes.shape({}),\r\n }\r\n\r\n static defaultProps = {\r\n submitting: false,\r\n student: {},\r\n subjects: [],\r\n viewPageAs: 0,\r\n }\r\n\r\n\r\n render() {\r\n const {\r\n submitting,\r\n handleSubmit,\r\n onBack,\r\n student,\r\n students,\r\n subjects,\r\n onChangeStudent,\r\n onInscriptionChanges,\r\n viewPageAs,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n
\r\n
Inscripción a materias
\r\n
\r\n\r\n
\r\n Alumno\r\n
\r\n {(viewPageAs === 2 || viewPageAs === 3) && (\r\n onChangeStudent(v.value)}\r\n />\r\n )}\r\n {(viewPageAs === 0) && (\r\n \r\n )}\r\n
\r\n
\r\n\r\n \r\n \r\n {subjects && subjects.map(g => (\r\n \r\n \r\n \r\n
\r\n

{g.nombre}

\r\n
\r\n {g.materias.map(m => (\r\n
\r\n onInscriptionChanges(m.materiaPeriodoId, v)}\r\n />\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n \r\n ))}\r\n
\r\n
\r\n\r\n
\r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst InscriptionFormForm = reduxForm({\r\n form: 'InscriptionFormForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(InscriptionForm);\r\n\r\nexport default setPropsAsInitialValues(InscriptionFormForm);\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport InscriptionForm from './InscriptionForm';\r\nimport {\r\n fetchStudent,\r\n fetchSelectStudentValues,\r\n} from '../../../redux/actions/studentsActions';\r\nimport {\r\n fetchAllSubjectsBySemesters,\r\n saveStudentSubjects,\r\n} from '../../../redux/actions/studentSubjectsActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../helpers/notification';\r\nimport { SidebarProps } from '../../../shared/prop-types/ReducerProps';\r\n\r\nclass InscriptionContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = { loaded: false, materiasModificadas: [] };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchStudentList();\r\n const { sidebar: { viewPageAs } } = this.props;\r\n if (viewPageAs === 0) {\r\n this.fetchCurrentStudent();\r\n }\r\n }\r\n\r\n fetchCurrentStudent = () => {\r\n this.fetchStudentData(0);\r\n this.fetchSubjectList(0);\r\n }\r\n\r\n fetchStudentData = (perfilAlumnoId) => {\r\n const { history } = this.props;\r\n fetchStudent(perfilAlumnoId,\r\n {\r\n onSuccess: (dto) => {\r\n const {\r\n id,\r\n numeroLegajo,\r\n nombre,\r\n apellido,\r\n } = dto;\r\n const student = {\r\n ...dto,\r\n perfilAlumnoId,\r\n value: id,\r\n label: `${numeroLegajo}: ${nombre} ${apellido}`,\r\n };\r\n this.setState({ student, loaded: true });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El alumno no existe');\r\n history.push('/pages/student-subjects');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos del alumno');\r\n }\r\n },\r\n });\r\n }\r\n\r\n fetchStudentList = () => {\r\n fetchSelectStudentValues({\r\n onSuccess: (students) => {\r\n this.setState({ students, loaded: true });\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar los datos de alumnos');\r\n },\r\n });\r\n }\r\n\r\n fetchSubjectList = (perfilAlumnoId) => {\r\n fetchAllSubjectsBySemesters({\r\n perfilAlumnoId,\r\n onSuccess: (subjects) => {\r\n this.setState({ subjects });\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar las materias');\r\n },\r\n });\r\n }\r\n\r\n\r\n onInscriptionChanges = (id, evt) => {\r\n if (evt.target) {\r\n const { materiasModificadas } = this.state;\r\n const subject = materiasModificadas.find(i => i.materiaPeriodoId === id);\r\n if (!subject) {\r\n materiasModificadas.push({\r\n materiaPeriodoId: id,\r\n inscripto: evt.target.checked,\r\n });\r\n this.setState({ materiasModificadas });\r\n } else {\r\n subject.inscripto = evt.target.checked;\r\n this.setState({ materiasModificadas });\r\n }\r\n }\r\n }\r\n\r\n handleSubmit = (values) => {\r\n const { student: { value: perfilAlumnoId } } = values;\r\n const { materiasModificadas } = this.state;\r\n const params = { materiasModificadas, perfilAlumnoId };\r\n const { history } = this.props;\r\n saveStudentSubjects(params,\r\n {\r\n onSuccess: () => {\r\n createSuccessMessage('Inscripción guardada exitosamente');\r\n history.push('/pages/student-subjects');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la inscripción');\r\n }\r\n },\r\n });\r\n }\r\n\r\n\r\n onChangeStudent = (id) => {\r\n this.fetchStudentData(id);\r\n this.fetchSubjectList(id);\r\n }\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n render() {\r\n const { id, history } = this.props;\r\n const { sidebar: { viewPageAs } } = this.props;\r\n const {\r\n student,\r\n loaded,\r\n students = [],\r\n subjects = [],\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n Inscripción a materias\r\n

\r\n

\r\n {id ? 'Modifica ' : 'Ingresa '}\r\n la información de materias del alumno\r\n

\r\n \r\n
\r\n \r\n \r\n {!(loaded && student && students && subjects)\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\nInscriptionContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n sidebar: SidebarProps.isRequired,\r\n};\r\n\r\nexport default withRouter(connect(state => ({\r\n sidebar: state.sidebar,\r\n}))(InscriptionContainer));\r\n","import { apiGet, apiPost, apiDelete } from '../../api/index';\r\nimport { urlPeriodos } from '../../api/urls';\r\n\r\nexport function filter(params) {\r\n const pageInfo = params && params.pageInfo\r\n ? params.pageInfo\r\n : { page: 1, pageSize: 15 };\r\n return apiPost(`${urlPeriodos}/all`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function get(id, callback) {\r\n return apiGet(`${urlPeriodos}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function save(obj, callback) {\r\n return apiPost(`${urlPeriodos}`, obj)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function remove(id, callback) {\r\n return apiDelete(`${urlPeriodos}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchFormDatas(params) {\r\n return apiGet(`${urlPeriodos}/form_data`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchEditSubjectsFormData(periodoId, params) {\r\n return apiGet(`${urlPeriodos}/form_data_edit_subjects/${periodoId}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\n\r\nexport function fetchAllSubjectsBySemesters(params) {\r\n return apiGet(`${urlPeriodos}/subjects_by_semesters/${params.periodoId}/${params.carreraId}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function saveSubjects(data, callback) {\r\n return apiPost(`${urlPeriodos}/save_subjects`, data)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport { connect } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n} from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport LoadingSpinner from '../../shared/components/LoadingSpinner';\r\nimport {\r\n fetchStudentSubjects,\r\n deleteStudentSubject,\r\n addToFavorites,\r\n} from '../../redux/actions/studentSubjectsActions';\r\nimport { fetchFormDatas } from '../../redux/actions/periodoActions';\r\nimport { SidebarProps } from '../../shared/prop-types/ReducerProps';\r\nimport Confirm from '../../shared/components/Confirm';\r\nimport {\r\n createErrorMessage,\r\n createWarningMessage,\r\n createSuccessMessage,\r\n} from '../../helpers/notification';\r\nimport { Roles } from '../../constants/enums';\r\n\r\nclass StudentSubjectsContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n const user = JSON.parse(localStorage.getItem('currentUser')) || {};\r\n // const adminInscripcion = user.esFuncionario || user.esAdmin;\r\n const adminInscripcion = user.esAdmin;\r\n this.state = {\r\n adminInscripcion,\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n loading: true,\r\n items: [],\r\n filters: { id: 20 },\r\n periodos: [],\r\n };\r\n this.columns = [\r\n {\r\n key: 'mostrarEnTablero',\r\n name: 'Tablero',\r\n width: '80px',\r\n search: false,\r\n visible: this.showStarIcon(user),\r\n icon: {\r\n callback: row => (this.onAddToFavoritesSubmit(row)),\r\n component: row => (\r\n \r\n ),\r\n },\r\n },\r\n {\r\n key: 'nombreAlumno',\r\n name: 'Alumno',\r\n search: false,\r\n visible: this.showNombre(user),\r\n },\r\n {\r\n key: 'nombre',\r\n name: 'Nombre del alumno',\r\n search: this.showNombre(user),\r\n visible: false,\r\n },\r\n {\r\n key: 'apellido',\r\n name: 'Apellido del alumno',\r\n search: this.showNombre(user),\r\n visible: false,\r\n },\r\n {\r\n key: 'codigoMateria',\r\n name: 'Codigo Materia',\r\n search: true,\r\n visible: false,\r\n },\r\n {\r\n key: 'periodo',\r\n name: 'Periodo',\r\n search: true,\r\n visible: true,\r\n className: 'text-center',\r\n width: '260px',\r\n type: 'select',\r\n searchProps: {\r\n options: this.getPeriodos,\r\n },\r\n format: row => `${row.periodo ? row.periodo.label : '-'}`,\r\n },\r\n {\r\n key: 'nombreMateria',\r\n name: 'Materia',\r\n format: row => `${row.codigoMateria} - ${row.nombreMateria}-${row.seccion}`,\r\n search: false,\r\n width: '300px',\r\n },\r\n {\r\n key: 'materia',\r\n name: 'Materia',\r\n search: true,\r\n visible: false,\r\n },\r\n {\r\n key: 'malla',\r\n name: 'Malla',\r\n width: '160px',\r\n search: true,\r\n format: row => row.nombreMalla,\r\n },\r\n {\r\n key: 'carrera',\r\n name: 'Carrera',\r\n width: '160px',\r\n search: true,\r\n visible: false,\r\n format: row => row.nombreCarrera,\r\n },\r\n {\r\n key: 'numeroSemestre',\r\n name: 'Semestre',\r\n type: 'number',\r\n search: true,\r\n format: row => `${row.numeroSemestre}º`,\r\n width: '70px',\r\n className: 'text-center',\r\n },\r\n {\r\n key: 'porcentajeAsistencia',\r\n name: '% Asistencia',\r\n width: '110px',\r\n className: 'text-center',\r\n },\r\n {\r\n key: 'porcentajePP',\r\n name: '% PP',\r\n width: '80px',\r\n className: 'text-center',\r\n },\r\n {\r\n key: 'tareasPendientes',\r\n name: 'Tareas',\r\n type: 'number',\r\n search: false,\r\n format: ({ id, cantidadTareas = 0 }) => {\r\n if (!id) {\r\n return <>;\r\n }\r\n\r\n return (\r\n

\r\n 0 ? 'primary' : 'secondary'}`}\r\n to={`/pages/student-tasks/${id}`}\r\n >\r\n {cantidadTareas}\r\n \r\n

\r\n );\r\n },\r\n width: '70px',\r\n className: 'text-center',\r\n },\r\n {\r\n key: 'actions',\r\n name: 'Accion',\r\n width: '85px',\r\n visible: true,\r\n className: 'text-center',\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDatasList({ periodo: {} });\r\n }\r\n\r\n fetchDatasList = (filters) => {\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n fetchFormDatas({\r\n onSuccess: ({ periodos }) => {\r\n this.setState({\r\n periodos,\r\n loading: false,\r\n });\r\n\r\n const { page, pageSize } = this.state;\r\n this.updateSubjectsTable(page, pageSize, filters);\r\n },\r\n onError: (error) => {\r\n console.log(error);\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n getViewPageAs = () => {\r\n const { sidebar: { viewPageAs } } = this.props;\r\n return viewPageAs;\r\n }\r\n\r\n showStarIcon = (user) => {\r\n const viewAsAlumno = this.getViewPageAs() === Roles.Alumno;\r\n return (user.esAlumno && !user.esAdmin) || (user.esAlumno && user.esAdmin && viewAsAlumno);\r\n }\r\n\r\n showNombre = (user) => {\r\n const viewAsAllowedUser = [Roles.Admin, Roles.Funcionario].includes(this.getViewPageAs());\r\n return (user.esAdmin || user.esFuncionario) && viewAsAllowedUser;\r\n }\r\n\r\n updateSubjectsTable = (page, pageSize, filters) => {\r\n const {\r\n periodo = { value: 0, label: '-' },\r\n numeroSemestre = 0,\r\n } = filters;\r\n\r\n const params = {\r\n ...filters,\r\n numeroSemestre: Number(numeroSemestre),\r\n periodoId: periodo.value,\r\n };\r\n\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: params,\r\n });\r\n\r\n const { sidebar: { viewPageAs } } = this.props;\r\n fetchStudentSubjects(\r\n viewPageAs !== 0,\r\n {\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters: params,\r\n },\r\n onSuccess: (pageInfo) => {\r\n this.setState({\r\n loading: false,\r\n items: pageInfo.items,\r\n totalItemsCount: pageInfo.totalItemsCount,\r\n enableInscription: pageInfo.enableInscription,\r\n });\r\n },\r\n onError: (error) => {\r\n if (error && error.type === 'warning') {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Error al intentar cargar la lista de materias');\r\n }\r\n\r\n this.setState({ items: [], loading: false });\r\n },\r\n },\r\n );\r\n }\r\n\r\n handleDeleteSubject = (inscription) => {\r\n const name = `${inscription.codigoMateria}- ${inscription.nombreMateria}`;\r\n Confirm({\r\n title: 'Borrar inscripción',\r\n question: `Estás seguro que deseas eliminar la inscripción a ${name}?`,\r\n yesLabel: 'Si, Borrar inscripción',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n deleteStudentSubject(inscription.id,\r\n {\r\n onSuccess: () => {\r\n createSuccessMessage('Inscripción borrada exitosamente');\r\n const { page, pageSize } = this.state;\r\n this.updateSubjectsTable(page, pageSize);\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Error al intentar borrar la inscripción');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n editStudentSubject = (student) => {\r\n const { history } = this.props;\r\n history.push(`/pages/student-subjects/edit/${student.id}`);\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateSubjectsTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateSubjectsTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateSubjectsTable(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key, obj) => {\r\n const { adminInscripcion } = this.state;\r\n const { enableInscription } = obj;\r\n if (!(key === 'actions')) return null;\r\n const title = enableInscription ? '(Periodo cerrado)' : '';\r\n let disabledCss = '';\r\n\r\n if (!enableInscription) {\r\n disabledCss = adminInscripcion ? 'semi-disabled' : 'disabled';\r\n }\r\n\r\n const actions = [\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (student) => {\r\n if (enableInscription || adminInscripcion) this.editStudentSubject(student);\r\n },\r\n },\r\n {\r\n key: 'delete',\r\n icon: ,\r\n callback: (student) => {\r\n if (enableInscription || adminInscripcion) this.handleDeleteSubject(student);\r\n },\r\n },\r\n ];\r\n\r\n if (!enableInscription) {\r\n const infoCss = adminInscripcion ? 'fa fa-warning' : 'fa fa-lock';\r\n actions.push({\r\n key: 'lock-icon',\r\n icon: ,\r\n callback: () => false,\r\n });\r\n }\r\n\r\n return actions;\r\n }\r\n\r\n onAddToFavoritesSubmit = (inscription) => {\r\n if (inscription) {\r\n addToFavorites(inscription.id, {\r\n onSuccess: () => {\r\n const { items } = this.state;\r\n\r\n const newState = items.map(item => (\r\n item.id === inscription.id ? { ...item, mostrarEnTablero: !inscription.mostrarEnTablero } : item\r\n ));\r\n\r\n this.setState({\r\n items: newState,\r\n });\r\n\r\n createSuccessMessage(\r\n `Materia ${(!inscription.mostrarEnTablero ? 'agregada al' : 'quitada del')} tablero exitosamente`,\r\n );\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Error al intentar quitar la materia del tablero ');\r\n }\r\n },\r\n });\r\n }\r\n };\r\n\r\n getPeriodos = () => {\r\n const { periodos = [] } = this.state;\r\n\r\n return periodos;\r\n };\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n enableInscription,\r\n adminInscripcion,\r\n } = this.state;\r\n const { sidebar: { viewPageAs } } = this.props;\r\n\r\n if (loading) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n

Inscripciones a materias

\r\n
\r\n {viewPageAs === 0 && enableInscription\r\n && (\r\n \r\n Inscribase Aquí\r\n \r\n )}\r\n {!(viewPageAs === 0 && enableInscription) && !loading && adminInscripcion\r\n && (\r\n \r\n Nueva inscripción\r\n \r\n )}\r\n
\r\n \r\n
\r\n \r\n this.getGridActions(key, obj)}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nStudentSubjectsContainer.propTypes = {\r\n sidebar: SidebarProps.isRequired,\r\n};\r\n\r\nexport default withRouter(connect(state => ({\r\n sidebar: state.sidebar,\r\n}))(StudentSubjectsContainer));\r\n","const validate = (values) => {\r\n const attrs = values || {};\r\n const errors = {};\r\n\r\n if (!attrs.alumno || !attrs.alumno.value) {\r\n errors.alumno = 'Debe seleccioanr el alumno';\r\n }\r\n if (!attrs.malla || !attrs.malla.value) {\r\n errors.malla = 'Debe seleccioanr la malla';\r\n }\r\n if (!attrs.semestre || !attrs.semestre.value) {\r\n errors.semestre = 'Debe ingresar un semestre';\r\n }\r\n if (!attrs.materia || !attrs.materia.value) {\r\n errors.materia = 'Debe ingresar una materia';\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport { Card, CardBody, Col } from 'reactstrap';\r\nimport renderSelectField from '../../../shared/components/form/Select';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport validate from './validate';\r\n\r\nclass InscriptionForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n onFilterChanges: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool,\r\n mallas: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n semesters: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n subjects: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n alumnos: PropTypes.arrayOf(PropTypes.shape({})),\r\n nombreAlumno: PropTypes.string,\r\n apellidoAlumno: PropTypes.string,\r\n numeroLegajo: PropTypes.number,\r\n }\r\n\r\n static defaultProps = {\r\n submitting: false,\r\n nombreAlumno: '',\r\n apellidoAlumno: '',\r\n numeroLegajo: 0,\r\n alumnos: [],\r\n }\r\n\r\n render() {\r\n const {\r\n submitting,\r\n handleSubmit,\r\n onBack,\r\n mallas = [],\r\n semesters = [],\r\n subjects = [],\r\n onFilterChanges,\r\n nombreAlumno,\r\n apellidoAlumno,\r\n numeroLegajo,\r\n alumnos = [],\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n
\r\n
Datos de la inscripción
\r\n
\r\n {numeroLegajo > 0\r\n && (\r\n
\r\n Alumno\r\n
\r\n \r\n
\r\n
\r\n )\r\n }\r\n {numeroLegajo <= 0 && (\r\n
\r\n Alumno\r\n
\r\n onFilterChanges('alumno', 'perfilAlumnoId', v)}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n Malla\r\n
\r\n onFilterChanges('malla', 'mallaId', v)}\r\n />\r\n
\r\n
\r\n
\r\n Semestre\r\n
\r\n onFilterChanges('semestre', 'semestreId', v)}\r\n />\r\n
\r\n
\r\n\r\n
\r\n Materia\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst InscriptionFormForm = reduxForm({\r\n form: 'InscriptionFormForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(InscriptionForm);\r\n\r\nexport default setPropsAsInitialValues(InscriptionFormForm);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport InscriptionForm from './InscriptionForm';\r\nimport {\r\n fetchStudentSubject,\r\n saveStudentSubject,\r\n getFormDatas,\r\n getInscriptionAllSubjects,\r\n} from '../../../redux/actions/studentSubjectsActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../helpers/notification';\r\n\r\nclass SubjectsInscriptionContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n mallas: [],\r\n semesters: [],\r\n students: [],\r\n subjects: [],\r\n };\r\n this.filterSubjects = this.filterSubjects.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchFormData();\r\n this.fetchCurrentStudentSubject();\r\n }\r\n\r\n fetchCurrentStudentSubject = () => {\r\n const { id, history } = this.props;\r\n if (!id) {\r\n this.setState({ studentSubject: { id: 0 } });\r\n return;\r\n }\r\n\r\n fetchStudentSubject(id, {\r\n onSuccess: (dto) => {\r\n this.fetchAllSubjects(dto.mallaId);\r\n\r\n const studentSubject = {\r\n ...dto,\r\n malla: {\r\n value: dto.mallaId,\r\n label: `${dto.mallaNombre}`,\r\n },\r\n semestre: {\r\n value: dto.semestreId,\r\n label: `${dto.semestreNombre}`,\r\n },\r\n materia: {\r\n value: dto.materiaId,\r\n label: `${dto.materiaCodigo} - ${dto.materiaNombre}`,\r\n },\r\n alumno: {\r\n value: dto.perfilAlumnoId,\r\n label: `${dto.numeroLegajo}: ${dto.nombreAlumno} ${dto.apellidoAlumno}`,\r\n },\r\n };\r\n\r\n this.setState({ studentSubject });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('La inscripción a esta materia no existe');\r\n history.push('/pages/student-subjects');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos de la inscripción');\r\n }\r\n },\r\n });\r\n }\r\n\r\n fetchFormData = () => {\r\n const { id } = this.props;\r\n getFormDatas({\r\n new: !(id > 0),\r\n onSuccess: (viewModel) => {\r\n this.setState({ ...viewModel });\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar los datos de mallas');\r\n },\r\n });\r\n }\r\n\r\n fetchAllSubjects = (mallaId = 0) => {\r\n getInscriptionAllSubjects({\r\n mallaId,\r\n onSuccess: ({ subjects = [] }) => {\r\n this.setState({\r\n subjects,\r\n });\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar los datos de mallas');\r\n },\r\n });\r\n }\r\n\r\n handleSubmit = (values) => {\r\n const {\r\n malla,\r\n semestre,\r\n materia,\r\n alumno,\r\n } = values;\r\n const { value: mallaId } = malla;\r\n const { value: semestreId } = semestre;\r\n const { value: materiaId } = materia;\r\n const { value: perfilAlumnoId } = alumno;\r\n const params = {\r\n ...values,\r\n semestreId,\r\n mallaId,\r\n materiaId,\r\n perfilAlumnoId,\r\n };\r\n const { history } = this.props;\r\n saveStudentSubject(\r\n params,\r\n {\r\n onSuccess: () => {\r\n createSuccessMessage('Inscripción guardada exitosamente');\r\n history.push('/pages/student-subjects');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la inscripción');\r\n }\r\n },\r\n },\r\n );\r\n }\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n handleOnFilterChange = (objectKey, idKey, value) => {\r\n const { studentSubject } = this.state;\r\n\r\n if (objectKey === 'malla') {\r\n this.fetchAllSubjects(value.value || 0);\r\n }\r\n\r\n this.setState({\r\n [idKey]: value.value,\r\n studentSubject: { ...studentSubject, [objectKey]: value },\r\n });\r\n }\r\n\r\n filterSubjects = () => {\r\n const { mallaId = 0, semestreId = 0, subjects } = this.state;\r\n if (!subjects) return [];\r\n\r\n // return subjects\r\n return subjects\r\n .filter(s => s.mallaId === mallaId || mallaId === 0)\r\n .filter(s => s.semestreId === semestreId || semestreId === 0)\r\n .map(({\r\n materiaId, materiaCodigo, materia, seccion,\r\n }) => ({\r\n value: materiaId,\r\n label: `${materiaCodigo} - ${materia} - ${seccion}`,\r\n }));\r\n }\r\n\r\n render() {\r\n const { id, history } = this.props;\r\n\r\n const {\r\n studentSubject,\r\n mallas = [],\r\n semesters = [],\r\n students = [],\r\n } = this.state;\r\n\r\n const subjects = this.filterSubjects();\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n {id ? 'Editar' : 'Nueva'} inscripción\r\n

\r\n

\r\n {id ? 'Modificar ' : 'Ingresa '}\r\n la información de la inscripción\r\n

\r\n \r\n
\r\n \r\n \r\n {!(mallas && semesters && subjects && studentSubject)\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\nSubjectsInscriptionContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default SubjectsInscriptionContainer;\r\n","import {\r\n apiGet,\r\n apiPost,\r\n apiDelete,\r\n apiPut,\r\n apiDownloadPost,\r\n} from '../../api/index';\r\n\r\nimport { urlExams } from '../../api/urls';\r\n\r\nexport function fetchExams(params) {\r\n const pageInfo = params && params.pageInfo\r\n ? params.pageInfo\r\n : { page: 1, pageSize: 15 };\r\n return apiPost(`${urlExams}/all`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchExam(id, callback) {\r\n return apiGet(`${urlExams}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchExamPrintPreview(id, callback) {\r\n return apiGet(`${urlExams}/print-preview/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function saveExam(exam, callback) {\r\n return apiPost(`${urlExams}`, exam)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function deleteExam(id, callback) {\r\n return apiDelete(`${urlExams}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function stampExam(id, exam, callback) {\r\n return apiPut(urlExams, id, exam)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchFormDatas(anhoLectivoId, params) {\r\n return apiGet(`${urlExams}/form_data/${anhoLectivoId}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\n\r\nexport function getExamenesPorCarrera(params) {\r\n return apiGet(`${urlExams}/por_carrera/${params.id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function downloadAcademicStatusStudent({ id, materiaName }, params) {\r\n return apiDownloadPost(`${urlExams}/download-score-report/${id}`)\r\n .then((blob) => {\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = `${materiaName}.xlsx`;\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n if (params && params.onSuccess) params.onSuccess(blob);\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n","export const tableFilters = tableKey => ({\r\n get: () => JSON.parse(sessionStorage.getItem(tableKey)) || {},\r\n set: value => sessionStorage.setItem(tableKey, JSON.stringify(value)),\r\n});\r\n\r\nexport const currentUser = JSON.parse(localStorage.getItem('currentUser')) || {};\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport { Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n Badge,\r\n} from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport {\r\n fetchExams,\r\n deleteExam,\r\n stampExam,\r\n downloadAcademicStatusStudent,\r\n fetchFormDatas,\r\n} from '../../redux/actions/examActions';\r\nimport Confirm from '../../shared/components/Confirm';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../helpers/notification';\r\nimport LoadingSpinner from '../../shared/components/LoadingSpinner';\r\nimport { dateTimeFormat } from '../../helpers/dateFormat';\r\nimport {\r\n currentUser as user, tableFilters,\r\n} from '../../helpers/storage';\r\n\r\nclass ExamsContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.tblFilters = tableFilters('tbl-exams');\r\n\r\n this.state = {\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n filters: {\r\n estado: [],\r\n periodo: [],\r\n },\r\n loading: true,\r\n items: [],\r\n currentUser: user,\r\n estadoExamen: [],\r\n periodosExamen: [],\r\n };\r\n\r\n this.columns = () => [\r\n {\r\n key: 'fecha',\r\n name: 'Fecha',\r\n search: false,\r\n type: 'date',\r\n width: '130px',\r\n format: row => dateTimeFormat(row.fecha),\r\n },\r\n {\r\n key: 'materia',\r\n name: 'Materia',\r\n className: 'text-left',\r\n search: true,\r\n format: ({\r\n id,\r\n materia,\r\n fecha,\r\n estado,\r\n }) => (\r\n \r\n {\r\n \r\n }\r\n \r\n ),\r\n },\r\n {\r\n key: 'periodo',\r\n name: 'Periodo',\r\n search: true,\r\n type: 'select',\r\n searchProps: {\r\n options: this.getPeriodosExamen,\r\n isMulti: true,\r\n },\r\n className: 'text-center',\r\n },\r\n {\r\n key: 'profesor',\r\n name: 'Profesor',\r\n search: false,\r\n },\r\n {\r\n key: 'cantidadInscriptos',\r\n name: 'Inscriptos',\r\n search: false,\r\n className: 'text-center',\r\n format: ({ id, cantidadInscriptos }) => (\r\n \r\n {\r\n \r\n }\r\n \r\n ),\r\n },\r\n {\r\n key: 'estado',\r\n name: 'Estado',\r\n search: true,\r\n type: 'select',\r\n searchProps: {\r\n options: this.getStates,\r\n isMulti: true,\r\n },\r\n className: 'text-center',\r\n format: ({ id, estado }) => (\r\n \r\n {\r\n \r\n }\r\n \r\n ),\r\n },\r\n {\r\n key: 'actions',\r\n name: 'Accion',\r\n width: '100px',\r\n },\r\n ];\r\n\r\n this.actions = (row, addButton) => {\r\n const disabled = row.estado.value === 0 ? '' : 'disabled';\r\n const showEdit = addButton ? 'edit' : 'check-square-o';\r\n const titleEdit = addButton ? 'Editar' : 'Editar nota';\r\n return [\r\n {\r\n key: `${disabled ? 'eye' : 'edit'}`,\r\n icon: (\r\n \r\n ),\r\n callback: row.estado.value !== 0 && row.estado.value !== 1 ? null : (exam) => {\r\n if (exam.estado.value === 0 || exam.estado.value === 1) {\r\n this.editExam(exam);\r\n }\r\n },\r\n },\r\n {\r\n key: disabled || !addButton ? '' : 'stump',\r\n icon: ,\r\n callback: disabled ? null : (exam) => {\r\n if (exam.estado.value === 0) {\r\n this.handleStampExam(exam);\r\n }\r\n },\r\n },\r\n {\r\n key: row.estado.value >= 0 && addButton ? 'print' : '',\r\n icon: ,\r\n callback: (exam) => {\r\n if (exam.estado.value >= 0) {\r\n this.handleShowPreviewExam(exam);\r\n }\r\n },\r\n },\r\n {\r\n key: disabled || !addButton ? '' : 'delete',\r\n icon: ,\r\n callback: disabled ? null : (exam) => {\r\n if (exam.estado.value === 0) {\r\n this.handleDeleteExam(exam);\r\n }\r\n },\r\n },\r\n ];\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const tbl = this.tblFilters.get('tbl-exams');\r\n\r\n const {\r\n page, pageSize, totalItemsCount,\r\n } = this.state;\r\n\r\n const state = {\r\n filters: tbl.filters || {},\r\n page: tbl.page || page,\r\n pageSize: tbl.pageSize || pageSize,\r\n totalItemsCount: tbl.totalItemsCount || totalItemsCount,\r\n };\r\n\r\n this.fetchDatasList();\r\n\r\n this.updateExamsTable({ ...state });\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n const {\r\n page, pageSize, totalItemsCount, filters,\r\n } = this.state;\r\n const state = { filters };\r\n\r\n // Typical usage (don't forget to compare props):\r\n if (page !== prevState.page) {\r\n state.page = page;\r\n }\r\n\r\n if (pageSize !== prevState.pageSize) {\r\n state.pageSize = pageSize;\r\n }\r\n\r\n if (totalItemsCount !== prevState.totalItemsCount) {\r\n state.totalItemsCount = totalItemsCount;\r\n }\r\n\r\n this.tblFilters.set(state);\r\n }\r\n\r\n fetchDatasList = (anhoLectivoId = 0) => {\r\n this.setState({ loading: true });\r\n fetchFormDatas(anhoLectivoId, {\r\n onSuccess: ({\r\n periodosExamen,\r\n estadoExamen,\r\n }) => this.setState({\r\n loading: false,\r\n periodosExamen,\r\n estadoExamen,\r\n }),\r\n onError: () => {\r\n this.setState({ loading: false });\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n updateExamsTable = ({\r\n page = 1,\r\n pageSize = 25,\r\n filters = {},\r\n }) => {\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: {\r\n ...filters,\r\n estado: filters.estado || [],\r\n periodo: filters.periodo || [],\r\n },\r\n });\r\n\r\n fetchExams({\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters: {\r\n ...filters,\r\n estado: filters.estado || [],\r\n periodo: filters.periodo || [],\r\n },\r\n },\r\n onSuccess: (pageInfo) => {\r\n this.setState({\r\n loading: false,\r\n items: pageInfo.items,\r\n totalItemsCount: pageInfo.totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de exámenes');\r\n },\r\n });\r\n }\r\n\r\n handleDeleteExam = (examen) => {\r\n const {\r\n materia,\r\n fecha,\r\n } = examen;\r\n\r\n const style = { dateStyle: 'short' };\r\n const dateFormated = new Intl.DateTimeFormat('en-GB', style).format(new Date(fecha));\r\n\r\n Confirm({\r\n title: 'Borrar examen',\r\n question: `¿Estás seguro que deseas eliminar el examen ${materia} del ${dateFormated}?.`,\r\n yesLabel: 'Si, Borrar examen',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n deleteExam(examen.id, {\r\n onSuccess: () => {\r\n createSuccessMessage('Examen borrado exitosamente');\r\n const { page, pageSize } = this.state;\r\n this.updateExamsTable(page, pageSize);\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El examen no existe');\r\n } else {\r\n createErrorMessage('Error al intentar borrar el examen');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n handleStampExam = (examen) => {\r\n const {\r\n materia,\r\n fecha,\r\n } = examen;\r\n\r\n const style = { dateStyle: 'short' };\r\n const dateFormated = new Intl.DateTimeFormat('en-GB', style).format(new Date(fecha));\r\n\r\n Confirm({\r\n title: 'Sellar examen',\r\n question: `¿Estás seguro que deseas sellar el examen ${materia} del ${dateFormated}?\r\nUna vez sellado ya no será editable.`,\r\n yesLabel: 'Si, Sellar examen',\r\n noLabel: 'No, Volver',\r\n color: 'success',\r\n onConfirm: () => {\r\n stampExam(examen.id, examen, {\r\n onSuccess: () => {\r\n createSuccessMessage('Examen sellado exitosamente');\r\n const { page, pageSize } = this.state;\r\n this.updateExamsTable(page, pageSize);\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El examen no existe');\r\n } else if (error && error.status === 400) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Error al intentar sellar el examen');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n handleShowPreviewExam = (examen) => {\r\n const { history } = this.props;\r\n const {\r\n id,\r\n materia,\r\n fecha,\r\n nroActa,\r\n estado,\r\n } = examen;\r\n\r\n const style = { dateStyle: 'short' };\r\n const dateFormated = new Intl.DateTimeFormat('en-GB', style).format(new Date(fecha));\r\n\r\n const [materiaName, carreraName] = materia\r\n .replace('(', '-')\r\n .replace(')', '')\r\n .split('-')\r\n .map(it => it.trim());\r\n\r\n const confirmData = {\r\n title: `Imprimir Examen ${materiaName} ${carreraName}`,\r\n noLabel: 'No, Volver',\r\n color: 'success',\r\n };\r\n\r\n if (estado.value === 1) {\r\n const question = `¿Imprimir el acta o planilla de calificaciones del examen ${materia} del ${dateFormated}\r\n Acta Nº ${nroActa}?`;\r\n\r\n confirmData.question = question;\r\n confirmData.yesLabel = 'Imprimir Acta';\r\n confirmData.otherLabel = 'Descargar Acta';\r\n\r\n confirmData.onConfirm = () => {\r\n history.push(`/pages/exams/show-report/${id}`);\r\n };\r\n confirmData.onOther = () => {\r\n this.setState({ loading: true });\r\n downloadAcademicStatusStudent({ id: examen.id, materiaName }, {\r\n onSuccess: () => {\r\n this.setState({ loading: false });\r\n createSuccessMessage('Archivo descargado exitosamente');\r\n },\r\n onError: (error) => {\r\n this.setState({ loading: false });\r\n if (error && error.status === 404) {\r\n createErrorMessage('El examen no existe');\r\n } else if (error && error.status === 400) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Error al intentar descargar la planilla de calificaciones del examen');\r\n }\r\n },\r\n });\r\n };\r\n }\r\n\r\n if (estado.value === 0) {\r\n const question = `¿Imprimir planilla de calificaciones del examen ${materia} del ${dateFormated}\r\n Acta Nº ${nroActa}?`;\r\n\r\n confirmData.question = question;\r\n confirmData.yesLabel = 'Descargar Acta';\r\n confirmData.onConfirm = () => {\r\n this.setState({ loading: true });\r\n downloadAcademicStatusStudent({ id: examen.id, materiaName }, {\r\n onSuccess: () => {\r\n this.setState({ loading: false });\r\n createSuccessMessage('Archivo descargado exitosamente');\r\n },\r\n onError: (error) => {\r\n this.setState({ loading: false });\r\n if (error && error.status === 404) {\r\n createErrorMessage('El examen no existe');\r\n } else if (error && error.status === 400) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Error al intentar descargar la planilla de calificaciones del examen');\r\n }\r\n },\r\n });\r\n };\r\n }\r\n\r\n Confirm(confirmData);\r\n };\r\n\r\n editExam = (exam) => {\r\n const { history } = this.props;\r\n history.push(`/pages/exams/edit/${exam.id}`);\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateExamsTable({ page, pageSize, filters });\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateExamsTable({ page: 1, pageSize, filters: values });\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize, filters } = this.state;\r\n const { autoHideSearch } = filters;\r\n\r\n this.updateExamsTable({\r\n page: 1,\r\n pageSize,\r\n filters: {\r\n estado: [],\r\n periodo: [],\r\n autoHideSearch,\r\n },\r\n });\r\n };\r\n\r\n getGridActions = (key, row) => {\r\n if (key !== 'actions') {\r\n return undefined;\r\n }\r\n\r\n const { currentUser } = this.state;\r\n\r\n const addButton = currentUser.esAdmin || currentUser.esFuncionario;\r\n\r\n const actions = {\r\n actions: this.actions(row, addButton).filter(a => a.key),\r\n };\r\n\r\n return actions[key];\r\n }\r\n\r\n getSubjectColor = ({ fecha, estado }) => {\r\n if (estado === 1) {\r\n return 'success';\r\n }\r\n\r\n if (new Date(fecha) > new Date()) {\r\n return 'info';\r\n }\r\n\r\n return 'secondary';\r\n };\r\n\r\n getColor = (value) => {\r\n const colors = [\r\n {\r\n value: 0, color: 'info',\r\n },\r\n {\r\n value: 1, color: 'success',\r\n },\r\n {\r\n value: 2, color: 'secondary',\r\n },\r\n ];\r\n\r\n const { color } = colors.find(c => c.value === value);\r\n\r\n return color;\r\n };\r\n\r\n getStates = () => {\r\n const { estadoExamen } = this.state;\r\n return estadoExamen;\r\n };\r\n\r\n getPeriodosExamen = () => {\r\n const { periodosExamen } = this.state;\r\n return periodosExamen;\r\n };\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n currentUser,\r\n } = this.state;\r\n\r\n const addButton = currentUser.esAdmin || currentUser.esFuncionario;\r\n\r\n return (\r\n \r\n {addButton ? (\r\n \r\n \r\n

Lista de exámenes

\r\n
\r\n \r\n Agregar nuevo examen\r\n \r\n
\r\n \r\n
\r\n ) : null\r\n }\r\n \r\n {loading ? \r\n : (\r\n this.getGridActions(key, row)}\r\n itemsToShow={items.length}\r\n page={page}\r\n pageSize={pageSize}\r\n autoHideSearch={filters.autoHideSearch}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n )\r\n }\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(ExamsContainer);\r\n","import { apiGet, apiPost, apiDelete } from '../../api/index';\r\nimport { urlInscripcionExamen } from '../../api/urls';\r\n\r\n\r\nexport function getFormData({\r\n idExamen, loadStudents, onSuccess, onError,\r\n}) {\r\n return apiGet(`${urlInscripcionExamen}/form_data/${idExamen}/${loadStudents}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function getInscripcionExamen(id, callback) {\r\n return apiGet(`${urlInscripcionExamen}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\n\r\nexport function saveInscripcionExamen(inscripcion, callback) {\r\n return apiPost(`${urlInscripcionExamen}/inscribir`, inscripcion)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function saveInscripcionesExamen(inscripcion, callback) {\r\n return apiPost(`${urlInscripcionExamen}`, inscripcion)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function saveMiInscripcion(inscripcion, callback) {\r\n return apiPost(`${urlInscripcionExamen}/inscribirme`, inscripcion)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function actualizarNotasProfesor(inscripcion, callback) {\r\n return apiPost(`${urlInscripcionExamen}/update-score`, inscripcion)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\n\r\nexport function deleteInscripcionExamen(id, callback) {\r\n return apiDelete(`${urlInscripcionExamen}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchMyExams(params) {\r\n const pageInfo = params && params.pageInfo\r\n ? params.pageInfo\r\n : { page: 1, pageSize: 15 };\r\n return apiPost(`${urlInscripcionExamen}/my-exams`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport { Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col, Container, Row,\r\n} from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport {\r\n deleteExam,\r\n} from '../../redux/actions/examActions';\r\nimport {\r\n fetchMyExams,\r\n} from '../../redux/actions/inscripcionExamenActions';\r\nimport {\r\n obtenerMisDerechos,\r\n} from '../../redux/actions/studentSubjectsActions';\r\nimport Confirm from '../../shared/components/Confirm';\r\nimport { createErrorMessage, createSuccessMessage } from '../../helpers/notification';\r\nimport { Calificaciones } from '../../constants/enums';\r\nimport TooltipItem from '../../shared/components/TooltipItem';\r\nimport LoadingSpinner from '../../shared/components/LoadingSpinner';\r\n\r\nclass ExamsContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n page: 1,\r\n pageSize: 100,\r\n totalItemsCount: 0,\r\n items: [],\r\n derechos: [],\r\n filters: { id: 20 },\r\n };\r\n this.columns = [\r\n {\r\n key: 'materia',\r\n name: 'Materia',\r\n search: true,\r\n format: row => `${row.codMateria}-${row.materia}`,\r\n },\r\n { key: 'carrera', name: 'Carrera', search: true },\r\n {\r\n key: 'semestre',\r\n name: 'Semestre',\r\n search: false,\r\n format: row => `${row.semestre}º`,\r\n },\r\n {\r\n key: 'fechaExamen',\r\n name: 'Fecha Examen',\r\n search: false,\r\n type: 'date',\r\n width: '110px',\r\n format: row => new Date(row.fechaExamen).toLocaleDateString(),\r\n },\r\n {\r\n key: 'fechaInscripcion',\r\n name: 'Inscripción',\r\n search: false,\r\n type: 'date',\r\n width: '110px',\r\n format: row => new Date(row.fechaInscripcion).toLocaleDateString(),\r\n },\r\n {\r\n key: 'esRecuperatorio',\r\n name: 'Instancia',\r\n search: false,\r\n className: 'text-center',\r\n format: ({ id, instancia }) => {\r\n let color = 'danger';\r\n if (instancia.value === 1) {\r\n color = 'info';\r\n }\r\n\r\n if (instancia.value === 0) {\r\n color = 'success';\r\n }\r\n\r\n return (\r\n \r\n {\r\n \r\n }\r\n \r\n );\r\n },\r\n },\r\n { key: 'porcentajePP', name: 'Porcentaje PP', search: false },\r\n { key: 'porcentajePF', name: 'Porcentaje PF', search: false },\r\n { key: 'porcentajePC', name: 'Porcentaje PC', search: false },\r\n {\r\n key: 'calificacion',\r\n name: 'Calificacion',\r\n search: false,\r\n format: (row) => {\r\n if (!row.calificacion) return '-';\r\n const calificacionObj = Calificaciones.find(c => c.value === row.calificacion) || {};\r\n return `${calificacionObj.label}`;\r\n },\r\n },\r\n // { key: 'actions', name: 'Accion', width: '85px' },\r\n ];\r\n this.actions = [];\r\n }\r\n\r\n componentDidMount() {\r\n const { page, pageSize } = this.state;\r\n this.fetchMyExams(page, pageSize);\r\n this.loadMisDerechos();\r\n }\r\n\r\n fetchMyExams = (page, pageSize, filters) => {\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n });\r\n fetchMyExams({\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters,\r\n },\r\n onSuccess: ({ items, totalItemsCount }) => {\r\n this.setState({\r\n loading: false,\r\n items,\r\n totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de exámenes');\r\n },\r\n });\r\n }\r\n\r\n loadMisDerechos = () => {\r\n this.setState({ loading: true });\r\n obtenerMisDerechos({\r\n pageInfo: {\r\n page: 1,\r\n pageSize: 1,\r\n },\r\n onSuccess: ({ items }) => {\r\n this.setState({\r\n loading: false,\r\n derechos: items,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de exámenes disponibles');\r\n },\r\n });\r\n };\r\n\r\n handleDeleteExam = (examen) => {\r\n const name = `${examen.materia.codigo}- ${examen.materia.nombre}`;\r\n Confirm({\r\n title: 'Borrar examen',\r\n question: `Estás seguro que deseas eliminar el examen ${name}?`,\r\n yesLabel: 'Si, Borrar examen',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n this.setState({ loading: true });\r\n\r\n deleteExam(examen.id, {\r\n onSuccess: () => {\r\n this.setState({ loading: false });\r\n createSuccessMessage('Examen borrado exitosamente');\r\n const { page, pageSize } = this.state;\r\n this.fetchMyExams(page, pageSize);\r\n },\r\n onError: (error) => {\r\n this.setState({ loading: false });\r\n if (error && error.status === 404) {\r\n createErrorMessage('El examen no existe');\r\n } else {\r\n createErrorMessage('Error al intentar borrar el examen');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.fetchMyExams(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.fetchMyExams(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.fetchMyExams(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n derechos = [],\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n if (loading) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n

Mis exámenes

\r\n {\r\n derechos.length > 0 && (\r\n
\r\n \r\n Inscripción a examen\r\n \r\n
\r\n )\r\n }\r\n \r\n
\r\n \r\n this.getGridActions(key)}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(ExamsContainer);\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Col,\r\n Container,\r\n Row,\r\n Card,\r\n CardBody,\r\n Badge,\r\n} from 'reactstrap';\r\nimport {\r\n obtenerMisDerechos,\r\n} from '../../redux/actions/studentSubjectsActions';\r\nimport {\r\n saveMiInscripcion,\r\n} from '../../redux/actions/inscripcionExamenActions';\r\nimport Confirm from '../../shared/components/Confirm';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../helpers/notification';\r\nimport LoadingSpinner from '../../shared/components/LoadingSpinner';\r\n\r\nclass StudentExamInscriptionContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n items: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const { page, pageSize } = this.state;\r\n this.loadFormData(page, pageSize);\r\n }\r\n\r\n loadFormData = () => {\r\n this.setState({ loading: true });\r\n obtenerMisDerechos({\r\n onSuccess: (result) => {\r\n this.setState({\r\n loading: false,\r\n items: result.items,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de exámenes disponibles');\r\n },\r\n });\r\n }\r\n\r\n inscribirme = (examen) => {\r\n const { materia, inscripto } = examen;\r\n if (inscripto) return;\r\n Confirm({\r\n title: 'Inscripción a examen',\r\n question: `Estás seguro que deseas inscribirte al examen de \"${materia}\"?`,\r\n yesLabel: 'Si, Inscribirme',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n this.setState({ loading: true });\r\n\r\n const { examenId, studentId } = examen;\r\n const params = {\r\n examenId,\r\n id: 0,\r\n perfilAlumnoId: studentId,\r\n calificacion: 0,\r\n };\r\n\r\n saveMiInscripcion(params, {\r\n onSuccess: () => {\r\n createSuccessMessage('Inscripción realizada exitosamente');\r\n this.loadFormData();\r\n },\r\n onError: (error) => {\r\n this.setState({ loading: false });\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Error al intentar inscribirse al examen');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.loadFormData(1, pageSize, {});\r\n };\r\n\r\n onBack = () => {\r\n const { history } = this.props;\r\n history.push('/pages/student-exams');\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n getDate = date => new Date(date).toLocaleDateString('en-GB');\r\n\r\n getInstanciaColor = ({ value }) => {\r\n if (value === 1) {\r\n return 'info';\r\n }\r\n\r\n if (value === 0) {\r\n return 'success';\r\n }\r\n\r\n return 'danger';\r\n }\r\n\r\n getParametroColor = ({\r\n value,\r\n item: { pp, asis },\r\n parametro,\r\n }) => {\r\n if (value === 3 && parametro === 'PP' && pp) {\r\n return 'danger';\r\n }\r\n\r\n if (value === 3 && parametro === 'Asistencia' && asis) {\r\n return 'danger';\r\n }\r\n\r\n return 'primary';\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n } = this.state;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n loading && ()\r\n }\r\n {\r\n !loading && (\r\n \r\n \r\n
\r\n
\r\n

Lista de mis exámenes

\r\n
\r\n \r\n \r\n {items.length && items.map(g => (\r\n \r\n this.inscribirme(g)}\r\n className={`link-card ${g.inscripto ? 'disabled' : ''}`}\r\n >\r\n \r\n \r\n

\r\n \r\n # {g.examenId}\r\n \r\n {` ${g.materia}`}\r\n

\r\n
\r\n \r\n {g.malla}\r\n {g.semestre}º Semestre\r\n \r\n \r\n Fecha: {new Date(g.fechaExamen).toLocaleDateString('en-GB')}\r\n \r\n Examen{' '}\r\n \r\n {g.instancia.label}\r\n \r\n \r\n \r\n \r\n \r\n Asistencia:\r\n \r\n {g.porcentajeAsistencia}\r\n \r\n %\r\n \r\n PP:\r\n \r\n {g.porcentajePP}\r\n \r\n %\r\n \r\n \r\n \r\n \r\n {\r\n `Inscripto Materia: ${this.getDate(g.fechaInscripcionMateria)}`\r\n }\r\n \r\n \r\n {g.inscripto\r\n ? `Inscripto Examen: ${this.getDate(g.fechaInscripcion)}`\r\n : ''\r\n }\r\n \r\n \r\n {\r\n g.instancia.value === 3 ? (\r\n \r\n {g.instancia.item.motivo}\r\n \r\n ) : null\r\n }\r\n\r\n \r\n \r\n \r\n \r\n ))}\r\n {!items.length && (\r\n \r\n

\r\n No tienes exámenes pendientes\r\n

\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n Cancelar - Volver\r\n \r\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 withRouter(StudentExamInscriptionContainer);\r\n","import { Calificaciones } from '../../../../constants/enums';\r\n\r\nconst validatePercentage = (value = 0) => parseFloat(value) < 0 || parseFloat(value) > 100;\r\n\r\nconst validate = (values) => {\r\n const attrs = values || {};\r\n const errors = {};\r\n\r\n if (!attrs.alumnoObj || !attrs.alumnoObj.value) {\r\n errors.alumnoObj = 'Debe seleccionar el alumno';\r\n }\r\n if (!attrs.fechaInscripcion) {\r\n errors.fechaInscripcion = 'Debe ingresar la fecha';\r\n }\r\n\r\n if (validatePercentage(attrs.porcentajeAsistencia)) {\r\n errors.porcentajeAsistencia = 'Debe ingresar valor en el rango 0 - 100';\r\n }\r\n if (validatePercentage(attrs.porcentajePP)) {\r\n errors.porcentajePP = 'Debe ingresar valor en el rango 0 - 100';\r\n }\r\n if (validatePercentage(attrs.porcentajePF)) {\r\n errors.porcentajePF = 'Debe ingresar valor en el rango 0 - 100';\r\n }\r\n if (validatePercentage(attrs.porcentajePC)) {\r\n errors.porcentajePC = 'Debe ingresar valor en el rango 0 - 100';\r\n }\r\n\r\n if (\r\n !attrs.calificacionObj\r\n || !Number.isInteger(attrs.calificacionObj.value)\r\n || !Calificaciones.some(ca => ca.value === attrs.calificacionObj.value)) {\r\n errors.calificacionObj = 'Valor requerido';\r\n }\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport { Card, CardBody, Col } from 'reactstrap';\r\nimport renderSelectField from '../../../../shared/components/form/Select';\r\nimport setPropsAsInitialValues from '../../../../helpers/setPropsAsInitialValues';\r\nimport TextBox from '../../../../shared/components/form/TextBox';\r\nimport DatePicker from '../../../../shared/components/form/DatePicker';\r\nimport validate from './validate';\r\nimport { Calificaciones } from '../../../../constants/enums';\r\n\r\nclass InscriptionForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool,\r\n id: PropTypes.number,\r\n alumnoObj: PropTypes.shape({}),\r\n examen: PropTypes.shape({}).isRequired,\r\n alumnos: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n }\r\n\r\n static defaultProps = {\r\n id: 0,\r\n submitting: false,\r\n alumnoObj: {},\r\n }\r\n\r\n render() {\r\n const {\r\n id,\r\n submitting,\r\n handleSubmit,\r\n onBack,\r\n examen,\r\n alumnoObj,\r\n alumnos,\r\n } = this.props;\r\n\r\n const { label: nombreAlumno } = alumnoObj;\r\n const { materia } = examen;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
{materia} - Datos de la inscripción o nota de examen
\r\n
\r\n \r\n \r\n {id <= 0 && (\r\n
\r\n Alumno\r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n \r\n {id && (\r\n
\r\n Alumno\r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n \r\n
\r\n Fecha de inscripcion\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Porcentaje de asistencia\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Porcentaje PP\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Porcentaje PF\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Porcentaje PC\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Calificación\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxInscriptionForm = reduxForm({\r\n form: 'InscriptionForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(InscriptionForm);\r\n\r\nexport default setPropsAsInitialValues(ReduxInscriptionForm);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport InscriptionForm from './InscriptionForm';\r\nimport {\r\n saveInscripcionExamen,\r\n getInscripcionExamen,\r\n getFormData,\r\n} from '../../../../redux/actions/inscripcionExamenActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../../helpers/notification';\r\nimport { Calificaciones } from '../../../../constants/enums';\r\n\r\nclass InscriptionFormContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.handleOnStudentChange = this.handleOnStudentChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchFormDatas();\r\n }\r\n\r\n fetchFormDatas = () => {\r\n const { idExamen } = this.props;\r\n\r\n getFormData({\r\n idExamen,\r\n showOnlyEnrolled: true,\r\n onSuccess: ({ examen, alumnos }) => {\r\n this.setState({\r\n examen, alumnos,\r\n });\r\n\r\n this.fetchInscriptionExamen();\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n fetchInscriptionExamen = () => {\r\n const { id, history } = this.props;\r\n if (!id) {\r\n const { examen: { fecha } } = this.state;\r\n this.setState({\r\n inscripcion: {\r\n id: 0,\r\n fechaInscripcion: fecha.toLocaleString(),\r\n porcentajeAsistencia: 0,\r\n porcentajePP: 0,\r\n porcentajePF: 0,\r\n porcentajePC: 0,\r\n },\r\n });\r\n\r\n return;\r\n }\r\n\r\n getInscripcionExamen(id, {\r\n onSuccess: (dto) => {\r\n const {\r\n usuarioId,\r\n studentId,\r\n nombre,\r\n apellido,\r\n anioInscripcion,\r\n calificacion,\r\n } = dto;\r\n\r\n const calificacionObj = Calificaciones.find(c => c.value === calificacion) || {};\r\n\r\n const inscripcion = {\r\n ...dto,\r\n alumnoObj: {\r\n value: studentId,\r\n parentId: usuarioId,\r\n label: `${usuarioId}/${anioInscripcion}: ${nombre} ${apellido}`,\r\n },\r\n calificacionObj,\r\n };\r\n this.setState({ inscripcion });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('La inscripción a examen no existe');\r\n history.goBack();\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos de la inscripción.');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleSubmit = (values) => {\r\n const {\r\n id,\r\n alumnoObj: { value: perfilAlumnoId, parentId: usuarioId },\r\n fechaInscripcion,\r\n porcentajeAsistencia,\r\n porcentajePP,\r\n porcentajePF,\r\n porcentajePC,\r\n calificacionObj: { value: calificacion },\r\n } = values;\r\n\r\n const { examen: { id: examenId } } = this.state;\r\n\r\n const params = {\r\n id,\r\n examenId,\r\n usuarioId,\r\n perfilAlumnoId,\r\n fechaInscripcion,\r\n porcentajeAsistencia: +porcentajeAsistencia,\r\n porcentajePP: +porcentajePP,\r\n porcentajePF: +porcentajePF,\r\n porcentajePC: +porcentajePC,\r\n calificacion,\r\n };\r\n\r\n saveInscripcionExamen(params, {\r\n onSuccess: () => {\r\n const { history } = this.props;\r\n createSuccessMessage('Inscripción a examen guardado exitosamente');\r\n history.goBack();\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la inscripción examen');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n handleOnStudentChange = (value) => {\r\n const { inscripcion } = this.state;\r\n this.setState({\r\n inscripcion: {\r\n ...inscripcion,\r\n alumno: value,\r\n usuarioId: value.parentId,\r\n perfilAlumnoId: value.id,\r\n },\r\n });\r\n }\r\n\r\n render() {\r\n const { id, history } = this.props;\r\n const {\r\n examen,\r\n inscripcion,\r\n alumnos,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n {id ? 'Editar' : 'Nueva'} inscripción y/o nota\r\n

\r\n

\r\n Edita o ingresa la información de la inscripción o notas del alumno\r\n

\r\n \r\n
\r\n \r\n \r\n {!(alumnos)\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\nInscriptionFormContainer.propTypes = {\r\n idExamen: PropTypes.string.isRequired,\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default InscriptionFormContainer;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport {\r\n Card, CardBody, Row, Col, Container, Badge, Label,\r\n} from 'reactstrap';\r\nimport TextBox from '../../../../shared/components/form/TextBox';\r\nimport renderCheckBoxField from '../../../../shared/components/form/CheckBox';\r\nimport LoadingSpinner from '../../../../shared/components/LoadingSpinner';\r\nimport setPropsAsInitialValues from '../../../../helpers/setPropsAsInitialValues';\r\nimport validate from './validate';\r\n\r\nclass AddInscriptionForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n onStudentEnrollmentChanges: PropTypes.func.isRequired,\r\n handleFilterChangeText: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool,\r\n loading: PropTypes.bool,\r\n alumnoObj: PropTypes.shape({}),\r\n examen: PropTypes.shape({}).isRequired,\r\n alumnos: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n filterValue: PropTypes.string,\r\n }\r\n\r\n static defaultProps = {\r\n submitting: false,\r\n loading: false,\r\n alumnoObj: {},\r\n filterValue: '*',\r\n }\r\n\r\n getShowQuantities = () => (\r\n [{\r\n value: 1,\r\n description: 'Cantidad',\r\n checked: true,\r\n }]\r\n );\r\n\r\n render() {\r\n const {\r\n submitting,\r\n handleSubmit,\r\n loading,\r\n onStudentEnrollmentChanges,\r\n handleFilterChangeText,\r\n onBack,\r\n alumnos = [],\r\n filterValue,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n {(\r\n <>\r\n \r\n
\r\n
\r\n No Inscriptos:\r\n \r\n {alumnos.filter(a => !a.selected).length}\r\n \r\n
\r\n
\r\n \r\n \r\n )\r\n }\r\n \r\n \r\n \r\n \r\n Filtrar alumnos:\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {\r\n loading\r\n ? \r\n : (\r\n
\r\n \r\n \r\n {alumnos.map(s => (\r\n \r\n \r\n onStudentEnrollmentChanges(v, s)}\r\n />\r\n \r\n \r\n ))}\r\n \r\n \r\n
\r\n )\r\n }\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxAddInscriptionForm = reduxForm({\r\n form: 'AddInscriptionForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(AddInscriptionForm);\r\n\r\nexport default setPropsAsInitialValues(ReduxAddInscriptionForm);\r\n","const debounce = (mainFunction, delay) => {\r\n // Declare a variable called 'timer' to store the timer ID\r\n let timer;\r\n\r\n // Return an anonymous function that takes in any number of arguments\r\n return (...args) => {\r\n // Clear the previous timer to prevent the execution of 'mainFunction'\r\n clearTimeout(timer);\r\n\r\n // Set a new timer that will execute 'mainFunction' after the specified delay\r\n timer = setTimeout(() => {\r\n mainFunction(...args);\r\n }, delay);\r\n };\r\n};\r\n\r\nexport default debounce;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col, Container, Row, Badge,\r\n} from 'reactstrap';\r\nimport AddInscriptionForm from './AddInscriptionForm';\r\nimport {\r\n saveInscripcionesExamen,\r\n getFormData,\r\n} from '../../../../redux/actions/inscripcionExamenActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../../helpers/notification';\r\nimport LoadingSpinner from '../../../../shared/components/LoadingSpinner';\r\nimport Confirm from '../../../../shared/components/Confirm';\r\nimport debounce from '../../../../helpers/debounce';\r\n\r\nclass AddInscriptionFormContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n filterValue: '',\r\n sortColumn: 'name',\r\n sortType: 'desc',\r\n inscripcion: null,\r\n alumnos: [],\r\n editedStudentEnrollments: [],\r\n };\r\n\r\n this.handleOnStudentChange = this.handleOnStudentChange.bind(this);\r\n this.debouncedHandleFilterChangeText = debounce(this.handleFilterChangeText, 500);\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchFormDatas({});\r\n }\r\n\r\n fetchFormDatas = ({ loadStudents = false, filterValue = '' }) => {\r\n const { idExamen } = this.props;\r\n getFormData({\r\n idExamen,\r\n loadStudents,\r\n onSuccess: ({ examen, alumnos = [] }) => {\r\n if (loadStudents) {\r\n this.setState({\r\n examen,\r\n alumnos,\r\n loading: false,\r\n filterValue,\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.setState({\r\n examen,\r\n alumnos,\r\n loading: false,\r\n filterValue,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({\r\n loading: false,\r\n });\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n handleSubmit = (values) => {\r\n const { examen: { id: examenId } } = this.state;\r\n\r\n const { alumnos = [] } = values;\r\n\r\n const inscripcionExamenSaves = alumnos\r\n .filter(a => a.selected)\r\n .map(a => ({\r\n examenId,\r\n id: 0,\r\n selected: a.selected,\r\n perfilAlumnoId: a.student,\r\n usuarioId: a.user,\r\n }));\r\n\r\n const alumnosToShow = alumnos\r\n .filter(a => a.selected)\r\n .map(({ doc, name }) => (\r\n
\r\n \r\n {doc}\r\n \r\n {' '}{name}\r\n
\r\n ));\r\n\r\n if (inscripcionExamenSaves.length === 0) {\r\n return;\r\n }\r\n\r\n Confirm({\r\n title: 'Agregar alumnos a examen',\r\n question: (\r\n \r\n {`¿Estás seguro que deseas agregar estos alumnos(${inscripcionExamenSaves.length}) al examen?.`}\r\n
\r\n {alumnosToShow}\r\n
\r\n
),\r\n yesLabel: 'Si, agregar alumnos',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n saveInscripcionesExamen({\r\n examenId,\r\n inscripcionExamenSaves,\r\n }, {\r\n onSuccess: () => {\r\n const { history } = this.props;\r\n createSuccessMessage('Inscripciones a examen guardado exitosamente');\r\n\r\n history.push(`/pages/exams/edit/${examenId}`);\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la inscripción examen');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n }\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n handleOnStudentChange = (value) => {\r\n const { inscripcion } = this.state;\r\n this.setState({\r\n inscripcion: {\r\n ...inscripcion,\r\n alumno: value,\r\n usuarioId: value.user,\r\n perfilAlumnoId: value.student,\r\n },\r\n });\r\n }\r\n\r\n onStudentEnrollmentChanges = (evt, student) => {\r\n if (!evt.currentTarget) {\r\n return false;\r\n }\r\n\r\n const id = student.student;\r\n\r\n const {\r\n editedStudentEnrollments,\r\n alumnos,\r\n } = this.state;\r\n\r\n const newAlumnos = [...alumnos];\r\n\r\n const elementsIndex = newAlumnos.findIndex(s => s.student === id);\r\n newAlumnos[elementsIndex] = {\r\n ...newAlumnos[elementsIndex],\r\n selected: !newAlumnos[elementsIndex].selected,\r\n changed: true,\r\n };\r\n\r\n const studentEnrollment = editedStudentEnrollments.find(i => i.studentId === id);\r\n if (!studentEnrollment) {\r\n this.setState({\r\n alumnos: newAlumnos,\r\n editedStudentEnrollments: [\r\n ...editedStudentEnrollments, {\r\n studentId: id,\r\n selected: evt.target.checked,\r\n },\r\n ],\r\n });\r\n } else {\r\n studentEnrollment.selected = evt.target.checked;\r\n this.setState({\r\n alumnos: newAlumnos,\r\n editedStudentEnrollments,\r\n });\r\n }\r\n\r\n return true;\r\n }\r\n\r\n handleFilterChangeText = ({ target: { value } }) => {\r\n const { loading } = this.state;\r\n if (loading) {\r\n this.setState({\r\n filterValue: value,\r\n });\r\n return;\r\n }\r\n\r\n const { alumnos = [] } = this.state;\r\n if (alumnos.length === 0 && value) {\r\n this.fetchFormDatas({ loadStudents: true, filterValue: value });\r\n return;\r\n }\r\n\r\n this.setState({\r\n filterValue: value,\r\n });\r\n };\r\n\r\n transformText = (value = '') => value.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').toLowerCase();\r\n\r\n getAlumnos = () => {\r\n const {\r\n filterValue = '',\r\n sortColumn,\r\n sortType,\r\n alumnos = [],\r\n } = this.state;\r\n\r\n const filter = this.transformText(filterValue);\r\n\r\n const result = alumnos\r\n .filter(tma => (\r\n this.transformText(tma.doc).includes(filter)\r\n || this.transformText(tma.name).includes(filter)\r\n || this.transformText(tma.email).includes(filter)\r\n ))\r\n .sort((a, b) => (\r\n sortType !== 'asc' ? a[sortColumn].localeCompare(b[sortColumn]) : b[sortColumn].localeCompare(a[sortColumn])\r\n ));\r\n\r\n return result;\r\n };\r\n\r\n onShowOnlyEnrolledChanges = (evt) => {\r\n if (!evt.currentTarget) {\r\n return false;\r\n }\r\n\r\n this.fetchFormDatas();\r\n\r\n return true;\r\n }\r\n\r\n render() {\r\n const { history } = this.props;\r\n const {\r\n examen = {},\r\n inscripcion,\r\n loading,\r\n filterValue,\r\n } = this.state;\r\n\r\n const { materia = '' } = examen;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n Seleccionar los alumnos a ser inscriptos al examen {materia}\r\n

\r\n \r\n
\r\n \r\n \r\n {!materia && }\r\n {materia && (\r\n \r\n )}\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nAddInscriptionFormContainer.propTypes = {\r\n idExamen: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default AddInscriptionFormContainer;\r\n","const validate = (values) => {\r\n const attrs = values || {};\r\n const errors = {};\r\n if (!attrs.materia || !attrs.materia.value) {\r\n errors.materia = 'Debe seleccionar una materia';\r\n }\r\n\r\n if (!attrs.interventor || !attrs.interventor.value) {\r\n errors.interventor = 'Debe seleccionar un interventor';\r\n }\r\n\r\n if (attrs.interventorAuxiliar && attrs.interventorAuxiliar.value === attrs.interventor.value) {\r\n // errors.interventor = 'Ya seleccionó a este funcionario este como el interventor principal'\r\n }\r\n\r\n if (!attrs.fecha) {\r\n errors.fecha = 'Debe ingresar la fecha del examen';\r\n }\r\n\r\n if (!attrs.periodo || !attrs.periodo.value) {\r\n errors.periodo = 'Debe ingresar el periodo';\r\n }\r\n\r\n if (!attrs.nroActa) {\r\n errors.nroActa = 'Debe ingresar el número de acta';\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport {\r\n Card, CardBody, Col,\r\n} from 'reactstrap';\r\nimport renderSelectField from '../../../shared/components/form/Select';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\n\r\nimport Confirm from '../../../shared/components/Confirm';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../helpers/notification';\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\nimport TextBox from '../../../shared/components/form/TextBox';\r\nimport DatePicker from '../../../shared/components/form/DatePicker';\r\nimport DataTable from '../../../shared/components/DataTable';\r\nimport TooltipItem from '../../../shared/components/TooltipItem';\r\nimport validate from './validate';\r\nimport { Calificaciones } from '../../../constants/enums';\r\nimport { dateFormat } from '../../../helpers/dateFormat';\r\n\r\nimport {\r\n downloadAcademicStatusStudent,\r\n} from '../../../redux/actions/examActions';\r\n\r\nclass ExamForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n onFilterChanges: PropTypes.func.isRequired,\r\n onSubjectChanges: PropTypes.func.isRequired,\r\n handleDeleteInscription: PropTypes.func.isRequired,\r\n handleActualizarNotasProfesor: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool,\r\n id: PropTypes.number,\r\n profesor: PropTypes.string,\r\n carreras: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n profesores: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n materias: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n periodosExamen: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n periodosLectivos: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n inscriptos: PropTypes.arrayOf(PropTypes.shape({})),\r\n history: PropTypes.shape({}).isRequired,\r\n nroActa: PropTypes.string,\r\n fecha: PropTypes.string.isRequired,\r\n carrera: PropTypes.shape({}),\r\n periodo: PropTypes.shape({}),\r\n periodoLectivo: PropTypes.shape({}),\r\n materia: PropTypes.shape({}),\r\n interventor: PropTypes.shape({}),\r\n interventorAuxiliar: PropTypes.shape({}),\r\n estado: PropTypes.shape({}),\r\n }\r\n\r\n static defaultProps = {\r\n id: 0,\r\n submitting: false,\r\n profesor: '',\r\n nroActa: '',\r\n periodoLectivo: {},\r\n estado: {},\r\n periodo: {},\r\n interventorAuxiliar: {},\r\n interventor: {},\r\n materia: {},\r\n carrera: {},\r\n inscriptos: [],\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.editExamInscription = this.editExamInscription.bind(this);\r\n this.addExamInscription = this.addExamInscription.bind(this);\r\n this.deleteExamInscription = this.deleteExamInscription.bind(this);\r\n\r\n this.state = {\r\n loading: false,\r\n page: 1,\r\n pageSize: 100,\r\n totalItemsCount: 0,\r\n filters: { id: 20 },\r\n currentUser: JSON.parse(localStorage.getItem('currentUser')) || {},\r\n inscriptos: props.inscriptos,\r\n };\r\n\r\n this.inputStyle = {\r\n fontSize: '18px',\r\n width: '100px',\r\n height: '36px',\r\n color: 'greenyellow',\r\n textAlign: 'center',\r\n fontWeight: 'bold',\r\n backgroundColor: '#232329',\r\n };\r\n\r\n this.scoreInputStyle = {\r\n fontSize: '20px',\r\n height: '36px',\r\n color: 'cyan',\r\n textAlign: 'center',\r\n fontWeight: 'bold',\r\n backgroundColor: '#232329',\r\n };\r\n\r\n this.columns = ({ canEdit, addButton }) => [\r\n /* {\r\n key: 'numeroLegajo',\r\n name: '# Legajo',\r\n width: '80px',\r\n search: false,\r\n type: 'number',\r\n }, */\r\n {\r\n key: 'numeroDocumento',\r\n name: '# Documento',\r\n search: false,\r\n type: 'number',\r\n width: '110px',\r\n },\r\n {\r\n key: 'alumno',\r\n name: 'Alumno',\r\n search: false,\r\n format: row => (`${row.apellido}, ${row.nombre}`.trim()),\r\n },\r\n {\r\n key: 'esRecuperatorio',\r\n name: 'Instancia',\r\n search: false,\r\n className: 'text-center',\r\n format: ({ id, instancia }) => {\r\n let color = 'danger';\r\n if (instancia.value === 1) {\r\n color = 'info';\r\n }\r\n\r\n if (instancia.value === 0) {\r\n color = 'success';\r\n }\r\n\r\n return (\r\n \r\n {\r\n \r\n }\r\n \r\n );\r\n },\r\n },\r\n {\r\n key: 'porcentajeAsistencia',\r\n name: 'Porcentaje Asistencia',\r\n search: false,\r\n editable: canEdit,\r\n className: 'text-center',\r\n inputStyle: this.inputStyle,\r\n type: 'number',\r\n min: '0',\r\n max: '100',\r\n },\r\n {\r\n key: 'porcentajePP',\r\n name: 'Porcentaje PP',\r\n search: false,\r\n editable: canEdit,\r\n className: 'text-center',\r\n inputStyle: this.inputStyle,\r\n type: 'number',\r\n min: '0',\r\n max: '100',\r\n },\r\n {\r\n key: 'porcentajePF',\r\n name: 'Porcentaje PF',\r\n search: false,\r\n editable: canEdit,\r\n className: 'text-center',\r\n inputStyle: this.inputStyle,\r\n type: 'number',\r\n min: '0',\r\n max: '100',\r\n },\r\n {\r\n key: 'porcentajePC',\r\n name: 'Porcentaje PC',\r\n search: false,\r\n editable: false,\r\n className: 'text-center',\r\n inputStyle: this.inputStyle,\r\n type: 'number',\r\n min: '0',\r\n max: '100',\r\n format: ({ id, porcentajePC, calificacion }) => {\r\n const score = Calificaciones.find(c => c.value === calificacion) || {};\r\n return (\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: 'calificacion',\r\n name: Calificación,\r\n search: false,\r\n editable: false,\r\n type: 'number',\r\n className: 'text-center',\r\n inputStyle: this.scoreInputStyle,\r\n min: '0',\r\n max: '5',\r\n step: '1',\r\n format: ({ id, calificacion }) => this.showScore({\r\n id,\r\n calificacion: Calificaciones.find(c => c.value === calificacion) || {},\r\n }),\r\n },\r\n {\r\n key: 'actions',\r\n name: 'Accion',\r\n width: '85px',\r\n visible: addButton && canEdit,\r\n },\r\n ];\r\n this.actions = ({ addButton }) => [\r\n {\r\n key: addButton ? 'edit' : '',\r\n icon: ,\r\n callback: (inscription) => {\r\n this.editExamInscription(inscription);\r\n },\r\n },\r\n {\r\n key: addButton ? 'delete' : '',\r\n icon: ,\r\n callback: (inscription) => {\r\n this.deleteExamInscription(inscription);\r\n },\r\n },\r\n ];\r\n }\r\n\r\n showScore = ({ id, calificacion }) => (\r\n \r\n {\r\n \r\n }\r\n \r\n );\r\n\r\n autoguardarNota = (row, key, value) => {\r\n const { inscriptos } = this.state;\r\n const trow = inscriptos.find(r => r.id === row.id);\r\n\r\n if (!trow) return;\r\n trow[key] = +value;\r\n\r\n const {\r\n id: inscripcionId, porcentajeAsistencia, porcentajePC, porcentajePF, porcentajePP, calificacion,\r\n } = {\r\n ...row,\r\n [key]: +value,\r\n };\r\n\r\n const { handleActualizarNotasProfesor } = this.props;\r\n\r\n handleActualizarNotasProfesor({\r\n inscripcionId, porcentajeAsistencia, porcentajePC, porcentajePF, porcentajePP, calificacion,\r\n });\r\n };\r\n\r\n editExamInscription = (inscription) => {\r\n if (inscription) {\r\n const { id, history } = this.props;\r\n history.push(`/pages/exams/inscription/${id}/${inscription.id}`);\r\n }\r\n };\r\n\r\n addExamInscription = () => {\r\n const { id, history } = this.props;\r\n history.push(`/pages/exams/inscription/${id}`);\r\n };\r\n\r\n deleteExamInscription = (inscription) => {\r\n if (inscription) {\r\n const { handleDeleteInscription } = this.props;\r\n handleDeleteInscription(inscription);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateExamsTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateExamsTable(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const { estado = { value: 0 } } = this.props;\r\n const { currentUser } = this.state;\r\n const addButton = currentUser.esAdmin || currentUser.esFuncionario;\r\n\r\n const actions = {\r\n actions: this.actions({ addButton, esProfesor: currentUser.esProfesor }).filter(a => a.key),\r\n };\r\n\r\n return estado.value === 0 && actions[key];\r\n }\r\n\r\n handleShowPreviewExam = (examen) => {\r\n const { history } = this.props;\r\n const {\r\n id,\r\n materia,\r\n fecha,\r\n nroActa,\r\n estado,\r\n } = examen;\r\n\r\n const style = { dateStyle: 'short' };\r\n const dateFormated = new Intl.DateTimeFormat('en-GB', style).format(new Date(fecha));\r\n const [materiaName, carreraName] = materia.label\r\n .replace('(', '-')\r\n .replace(')', '')\r\n .split('-')\r\n .map(it => it.trim());\r\n\r\n\r\n const confirmData = {\r\n title: `Imprimir Examen ${materiaName} ${carreraName}`,\r\n noLabel: 'No, Volver',\r\n color: 'success',\r\n };\r\n\r\n if (estado.value === 1) {\r\n const question = (\r\n <>\r\n ¿{`Imprimir el acta o planilla de calificaciones del examen \r\n ${materia.label} del ${dateFormated} Acta N`}º{` ${nroActa}?`\r\n }\r\n \r\n );\r\n\r\n confirmData.question = question;\r\n confirmData.yesLabel = 'Imprimir Acta';\r\n confirmData.otherLabel = 'Descargar Acta';\r\n\r\n confirmData.onConfirm = () => {\r\n history.push(`/pages/exams/show-report/${id}`);\r\n };\r\n confirmData.onOther = () => {\r\n this.setState({ loading: true });\r\n downloadAcademicStatusStudent({ id: examen.id, materiaName }, {\r\n onSuccess: () => {\r\n this.setState({ loading: false });\r\n createSuccessMessage('Archivo descargado exitosamente');\r\n },\r\n onError: (error) => {\r\n this.setState({ loading: false });\r\n if (error && error.status === 404) {\r\n createErrorMessage('El examen no existe');\r\n } else if (error && error.status === 400) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Error al intentar descargar la planilla de calificaciones del examen');\r\n }\r\n },\r\n });\r\n };\r\n }\r\n\r\n if (estado.value === 0) {\r\n const question = (\r\n <>\r\n ¿{`Imprimir planilla de calificaciones del examen\r\n ${materia.label} del ${dateFormated} Acta N`}º{` ${nroActa}?`\r\n }\r\n \r\n );\r\n\r\n confirmData.question = question;\r\n confirmData.yesLabel = 'Descargar Acta';\r\n confirmData.onConfirm = () => {\r\n this.setState({ loading: true });\r\n downloadAcademicStatusStudent({ id: examen.id, materiaName }, {\r\n onSuccess: () => {\r\n this.setState({ loading: false });\r\n createSuccessMessage('Archivo descargado exitosamente');\r\n },\r\n onError: (error) => {\r\n this.setState({ loading: false });\r\n if (error && error.status === 404) {\r\n createErrorMessage('El examen no existe');\r\n } else if (error && error.status === 400) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Error al intentar descargar la planilla de calificaciones del examen');\r\n }\r\n },\r\n });\r\n };\r\n }\r\n\r\n Confirm(confirmData);\r\n };\r\n\r\n render() {\r\n const {\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n currentUser,\r\n loading,\r\n } = this.state;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n const {\r\n id,\r\n submitting,\r\n handleSubmit,\r\n onBack,\r\n profesores = [],\r\n materias,\r\n carreras,\r\n profesor,\r\n onFilterChanges,\r\n onSubjectChanges,\r\n periodosLectivos,\r\n periodosExamen,\r\n estado,\r\n nroActa,\r\n fecha,\r\n carrera = {},\r\n periodo = {},\r\n periodoLectivo = {},\r\n materia = {},\r\n interventor = {},\r\n interventorAuxiliar = {},\r\n inscriptos,\r\n } = this.props;\r\n\r\n const addButton = currentUser.esAdmin || currentUser.esFuncionario;\r\n\r\n const canEdit = estado.value === 0 && addButton;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
Datos del examen
\r\n
\r\n \r\n \r\n
\r\n Carrera\r\n
\r\n {\r\n canEdit\r\n ? (\r\n onFilterChanges('carrera', 'carreraId', v)}\r\n />\r\n )\r\n : \r\n }\r\n
\r\n
\r\n \r\n \r\n
\r\n Periodo Lectivo\r\n
\r\n {canEdit\r\n ? (\r\n onFilterChanges('periodoLectivo', 'periodoLectivoId', v)}\r\n />\r\n )\r\n : \r\n }\r\n
\r\n
\r\n \r\n \r\n
\r\n Materia\r\n
\r\n {canEdit\r\n ? (\r\n onSubjectChanges('materia', 'materiaPeriodoId', v)}\r\n />\r\n )\r\n : \r\n }\r\n
\r\n
\r\n \r\n \r\n
\r\n Interventor 1\r\n
\r\n {canEdit\r\n ? (\r\n \r\n )\r\n : \r\n }\r\n
\r\n
\r\n \r\n \r\n
\r\n Profesor a cargo\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Interventor 2\r\n
\r\n {canEdit\r\n ? (\r\n \r\n )\r\n : \r\n }\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n Fecha de examen\r\n
\r\n {\r\n canEdit\r\n ? (\r\n \r\n )\r\n : \r\n }\r\n
\r\n
\r\n \r\n \r\n
\r\n Periodo del examen\r\n
\r\n {\r\n canEdit\r\n ? (\r\n \r\n )\r\n : \r\n }\r\n
\r\n
\r\n \r\n \r\n
\r\n Número de acta\r\n
\r\n {\r\n canEdit\r\n ? (\r\n \r\n )\r\n : \r\n }\r\n
\r\n
\r\n \r\n
\r\n
\r\n {canEdit && (\r\n Guardar\r\n \r\n )}\r\n Cancelar - Volver\r\n \r\n\r\n {id ? (\r\n this.handleShowPreviewExam({\r\n id,\r\n materia,\r\n fecha,\r\n nroActa,\r\n estado,\r\n })}\r\n >\r\n \r\n {' '}\r\n Imprimir Acta\r\n \r\n ) : null}\r\n\r\n
\r\n
\r\n {id && (\r\n
\r\n {canEdit && (\r\n <>\r\n this.addExamInscription()}\r\n >\r\n Agregar/Quitar Alumnos\r\n \r\n \r\n )}\r\n this.getGridActions(key)}\r\n onAutoSave={this.autoguardarNota}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n
\r\n )}\r\n
\r\n {canEdit && (\r\n Guardar\r\n \r\n )}\r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxExamForm = reduxForm({\r\n form: 'ExamForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(ExamForm);\r\n\r\nexport default setPropsAsInitialValues(ReduxExamForm);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport ExamForm from './ExamForm';\r\nimport {\r\n fetchExam,\r\n saveExam,\r\n fetchFormDatas,\r\n} from '../../../redux/actions/examActions';\r\nimport {\r\n deleteInscripcionExamen,\r\n actualizarNotasProfesor,\r\n} from '../../../redux/actions/inscripcionExamenActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../helpers/notification';\r\nimport Confirm from '../../../shared/components/Confirm';\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\nimport { dateTimeString } from '../../../helpers/dateFormat';\r\n\r\nclass ExamFormContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n exam: {},\r\n inscriptos: [],\r\n loading: true,\r\n };\r\n\r\n this.handleOnFilterChange = this.handleOnFilterChange.bind(this);\r\n this.handleOnSubjectChange = this.handleOnSubjectChange.bind(this);\r\n this.handleDeleteInscription = this.handleDeleteInscription.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchCurrentExam();\r\n }\r\n\r\n fetchCurrentExam = () => {\r\n const { id, history } = this.props;\r\n\r\n if (!id) {\r\n this.setState({\r\n exam: {\r\n id: 0,\r\n fecha: new Date().toISOString(),\r\n estado: { value: 0 },\r\n },\r\n inscriptos: [],\r\n });\r\n\r\n this.fetchDatasList();\r\n\r\n return;\r\n }\r\n\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n fetchExam(id, {\r\n onSuccess: (dto) => {\r\n const { materia } = dto;\r\n const { interventor, interventorAuxiliar } = dto;\r\n const exam = {\r\n ...dto,\r\n interventor: {\r\n value: dto.interventorId,\r\n label: `${interventor}`,\r\n },\r\n interventorAuxiliar: {\r\n value: dto.interventorAuxiliarId,\r\n label: `${interventorAuxiliar}`,\r\n },\r\n materia: {\r\n value: dto.materiaPeriodoId,\r\n label: `${materia}`,\r\n },\r\n carrera: {\r\n value: dto.carreraId,\r\n label: dto.carrera,\r\n },\r\n periodo: {\r\n value: dto.periodo,\r\n label: dto.periodo,\r\n },\r\n periodoLectivo: {\r\n value: dto.periodoLectivoId,\r\n label: dto.periodoLectivo,\r\n },\r\n };\r\n\r\n const { inscriptos } = dto;\r\n if (exam.inscriptos) {\r\n delete exam.inscriptos;\r\n }\r\n\r\n this.setState({\r\n exam,\r\n inscriptos,\r\n loading: false,\r\n });\r\n\r\n this.fetchDatasList(dto.periodoLectivoId);\r\n },\r\n onError: (error) => {\r\n this.setState({\r\n loading: false,\r\n });\r\n\r\n if (error && error.status === 404) {\r\n createErrorMessage('El examen no existe');\r\n history.push('/pages/exams');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos del examen');\r\n }\r\n },\r\n });\r\n }\r\n\r\n fetchDatasList = (anhoLectivoId = 0) => {\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n fetchFormDatas(anhoLectivoId, {\r\n onSuccess: ({\r\n carreras,\r\n materias,\r\n profesores,\r\n periodosLectivos,\r\n periodosExamen,\r\n }) => this.setState({\r\n carreras,\r\n materias,\r\n profesores,\r\n periodosLectivos,\r\n periodosExamen,\r\n loading: false,\r\n }),\r\n onError: () => {\r\n this.setState({\r\n loading: false,\r\n });\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n handleSubmit = (values) => {\r\n const {\r\n id,\r\n materia,\r\n interventor,\r\n interventorAuxiliar,\r\n fecha,\r\n aula,\r\n nroActa,\r\n } = values;\r\n const { value: materiaPeriodoId } = materia;\r\n const { value: interventorId } = interventor;\r\n const { periodo: { label: periodo } } = values;\r\n const { value: interventorAuxiliarId } = (interventorAuxiliar || {});\r\n\r\n const params = {\r\n id,\r\n fecha: dateTimeString(fecha),\r\n materiaPeriodoId,\r\n interventorId,\r\n interventorAuxiliarId,\r\n periodo,\r\n aula,\r\n nroActa,\r\n };\r\n\r\n const { history } = this.props;\r\n\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n saveExam(params, {\r\n onSuccess: () => {\r\n createSuccessMessage('Examen guardado exitosamente');\r\n history.push('/pages/exams');\r\n },\r\n onError: (error = {}) => {\r\n this.setState({\r\n loading: false,\r\n });\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar el examen');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleDeleteInscription = (inscription) => {\r\n const name = `${inscription.nombre} ${inscription.apellido}`;\r\n Confirm({\r\n title: 'Borrar inscripción de examen',\r\n question: `Estás seguro que deseas eliminar la inscripción de ${name}?`,\r\n yesLabel: 'Si, Borrar',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n this.setState({\r\n loading: true,\r\n });\r\n deleteInscripcionExamen(inscription.id, {\r\n onSuccess: () => {\r\n this.setState({\r\n loading: false,\r\n });\r\n createSuccessMessage('Examen borrado exitosamente');\r\n this.fetchCurrentExam();\r\n },\r\n onError: (error) => {\r\n this.setState({\r\n loading: false,\r\n });\r\n if (error && error.status === 404) {\r\n createErrorMessage('La inscripción de examen no existe');\r\n } else {\r\n createErrorMessage('Error al intentar borrar la inscripción examen');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n handleActualizarNotasProfesor = ({\r\n inscripcionId, porcentajeAsistencia, porcentajePC, porcentajePF, porcentajePP, calificacion,\r\n }) => {\r\n actualizarNotasProfesor({\r\n inscripcionId, porcentajeAsistencia, porcentajePC, porcentajePF, porcentajePP, calificacion,\r\n }, {\r\n onSuccess: (inscription) => {\r\n const { inscriptos } = this.state;\r\n\r\n const newInscriptos = [...inscriptos];\r\n const elementsIndex = newInscriptos.findIndex(s => s.id === inscription.id);\r\n\r\n newInscriptos[elementsIndex] = inscription;\r\n\r\n this.setState({\r\n inscriptos: newInscriptos,\r\n });\r\n\r\n createSuccessMessage('Asistencia y/o notas guardada(s) exitosamente.');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la asistencia y/o nota.');\r\n }\r\n },\r\n });\r\n };\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n handleOnFilterChange = (objectKey, idKey, value) => {\r\n const { exam } = this.state;\r\n if (idKey === 'carreraId') {\r\n this.setState({\r\n exam: {\r\n ...exam,\r\n [idKey]: value.value,\r\n [objectKey]: value,\r\n\r\n materiaPeriodoId: 0,\r\n materia: { value: 0, label: '-' },\r\n\r\n periodoLectivoId: 0,\r\n periodoLectivo: { value: 0, label: '-' },\r\n\r\n interventorId: 0,\r\n interventor: { value: 0, label: '-' },\r\n\r\n profesorId: 0,\r\n profesor: '',\r\n },\r\n });\r\n } else if (idKey === 'periodoLectivoId') {\r\n if (value.value > 0) {\r\n this.setState({\r\n exam: {\r\n ...exam,\r\n [idKey]: value.value,\r\n [objectKey]: value,\r\n\r\n materiaPeriodoId: 0,\r\n materia: { value: 0, label: '-' },\r\n\r\n interventorId: 0,\r\n interventor: { value: 0, label: '-' },\r\n\r\n profesorId: 0,\r\n profesor: '',\r\n },\r\n });\r\n\r\n this.fetchDatasList(value.value);\r\n } else {\r\n this.setState({\r\n exam: {\r\n ...exam,\r\n materiaPeriodoId: 0,\r\n materia: { value: 0, label: '-' },\r\n\r\n periodoLectivoId: 0,\r\n periodoLectivo: { value: 0, label: '-' },\r\n\r\n interventorId: 0,\r\n interventor: { value: 0, label: '-' },\r\n\r\n profesorId: 0,\r\n profesor: '',\r\n },\r\n });\r\n }\r\n } else {\r\n this.setState({\r\n exam: {\r\n ...exam,\r\n [idKey]: value.value,\r\n [objectKey]: value,\r\n },\r\n });\r\n }\r\n }\r\n\r\n filtrarMaterias = (carreraId) => {\r\n const { materias } = this.state;\r\n if (!materias || !carreraId) {\r\n return [];\r\n }\r\n\r\n return materias.filter(m => m.parentId === carreraId);\r\n }\r\n\r\n handleOnSubjectChange = (objectKey, idKey, value) => {\r\n const { exam } = this.state;\r\n const profesor = value.nombre ? `${value.nombre} ${value.apellido}` : '';\r\n let { interventorId, interventor } = exam;\r\n\r\n if (!interventorId) {\r\n interventorId = value.usuarioId;\r\n interventor = { value: interventorId, label: profesor };\r\n } else {\r\n interventorId = 0;\r\n interventor = { value: interventorId, label: profesor };\r\n }\r\n\r\n this.setState({\r\n exam: {\r\n ...exam,\r\n [idKey]: value.value,\r\n [objectKey]: value,\r\n profesor,\r\n interventor,\r\n interventorId,\r\n },\r\n });\r\n }\r\n\r\n render() {\r\n const { id, history } = this.props;\r\n const {\r\n exam,\r\n profesores,\r\n carreras = [],\r\n periodosLectivos,\r\n periodosExamen,\r\n inscriptos,\r\n loading,\r\n } = this.state;\r\n\r\n if (!exam || carreras.length === 0 || loading) {\r\n return ;\r\n }\r\n\r\n const materias = this.filtrarMaterias(exam.carreraId);\r\n const { estado } = exam;\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n {id && estado.value === 0 && 'Editar'}{!id && 'Nuevo'}{id && estado.value !== 0 && 'Ver'} examen\r\n

\r\n

\r\n {id ? '' : ''}\r\n {id && estado.value === 0 && 'Modificar '}{!id && 'Ingresa '}{id && estado.value !== 0 && 'Ver '}\r\n la información del examen\r\n

\r\n \r\n
\r\n \r\n \r\n {!(profesores && carreras)\r\n ? ()\r\n : (\r\n \r\n )\r\n }\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nExamFormContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default ExamFormContainer;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport '../../../scss/component/print-styles.scss';\r\nimport { fetchExamPrintPreview } from '../../../redux/actions/examActions';\r\nimport { createErrorMessage } from '../../../helpers/notification';\r\nimport { dateFormat, timeFormat } from '../../../helpers/dateFormat';\r\nimport { Calificaciones } from '../../../constants/enums';\r\n\r\nclass PreviewFormContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchCurrentExam();\r\n }\r\n\r\n fetchCurrentExam = () => {\r\n const { id, history } = this.props;\r\n if (id) {\r\n fetchExamPrintPreview(id, {\r\n onSuccess: (exam) => {\r\n this.setState({ exam });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El examen no existe');\r\n history.push('/pages/exams');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos del examen');\r\n }\r\n },\r\n });\r\n } else {\r\n this.setState({\r\n exam: {\r\n id: 0,\r\n fecha: new Date().toISOString(),\r\n },\r\n });\r\n\r\n this.fetchDatasList();\r\n }\r\n }\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n getCalificacionText = (calificacion) => {\r\n const calificacionObj = Calificaciones.find(c => c.value === calificacion) || {};\r\n return calificacionObj.desciption;\r\n }\r\n\r\n render() {\r\n const { exam } = this.state;\r\n if (!exam) {\r\n return (

Cargando...

);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n \r\n
\r\n \r\n {`ACTA ${exam.nroActa}`}\r\n \r\n

\r\n \r\n CARRERA DE INGENIERÍA{` ${exam.carrera}`.toUpperCase()}\r\n \r\n

\r\n

\r\n
\r\n

\r\n

\r\n
\r\n

\r\n

\r\n \r\n \r\n \r\n {`EXAMEN ${exam.periodo}`.toUpperCase()} \r\n \r\n \r\n \r\n

\r\n

\r\n
\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n ASIGNATURA:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${exam.materia}`.toUpperCase()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n SEMESTRE:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${exam.semestre}`.toUpperCase()}\r\n \r\n \r\n \r\n \r\n \r\n

\r\n
\r\n \r\n \r\n \r\n \r\n PROFESOR:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${exam.profesor}`.toUpperCase()}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n INTERVENTOR:\r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${exam.interventor}`.toUpperCase()}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n FECHA:\r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${dateFormat(exam.fecha)}`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n HORA:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${timeFormat(exam.fecha)}`}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n
\r\n

\r\n

\r\n \r\n \r\n ALUMNOS\r\n \r\n \r\n

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {exam.inscriptos.map((item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n

\r\n CALIFICACIóN\r\n

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

\r\n

\r\n \r\n \r\n \r\n \r\n OBSERVACIÓN\r\n \r\n \r\n \r\n \r\n

\r\n
\r\n

\r\n NÚM.\r\n

\r\n
\r\n

\r\n LETRAS\r\n

\r\n
\r\n

\r\n \r\n \r\n \r\n {`${index + 1}.`}\r\n \r\n \r\n \r\n \r\n \r\n {`${item.apellido}, ${item.nombre}`}\r\n \r\n \r\n \r\n \r\n

\r\n\r\n
\r\n \r\n \r\n \r\n {` ${item.calificacion || '-'}`}\r\n \r\n \r\n \r\n \r\n

\r\n \r\n \r\n \r\n {` ${this.getCalificacionText(item.calificacion)}`}\r\n \r\n \r\n \r\n \r\n

\r\n
\r\n

\r\n
\r\n

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

.....................

\r\n

.....................

\r\n

Interventor

\r\n

Profesor

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

....................

\r\n

Decano

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nPreviewFormContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default PreviewFormContainer;\r\n","import React from 'react';\nimport { Card, CardBody, Col } from 'reactstrap';\n\nconst ExampleCard = () => (\n \n \n \n
\n
Informacion de la materias
\n
Facultad de Ingenieria
\n
\n

materias...

\n
\n
\n \n);\n\nexport default ExampleCard;\n","import React from 'react';\nimport { Col, Container, Row } from 'reactstrap';\nimport ExampleCard from './components/ExampleCard';\n\nconst MateriasPage = () => (\n \n \n \n

Materias

\n \n
\n \n \n \n \n \n \n
\n);\n\nexport default MateriasPage;\n","import React from 'react';\nimport { Card, CardBody, Col } from 'reactstrap';\n\nconst ExampleCard = () => (\n \n \n \n
\n
Malla
\n
Facultad de Ingenieria
\n
\n

Página en Construcción!

\n
\n
\n \n);\n\nexport default ExampleCard;\n","import React from 'react';\nimport { Col, Container, Row } from 'reactstrap';\nimport ExampleCard from './components/ExampleCard';\n\nconst MallaPage = () => (\n \n \n \n

Mallas

\n \n
\n \n \n \n
\n);\n\nexport default MallaPage;\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport { Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n Badge,\r\n UncontrolledPopover,\r\n PopoverHeader,\r\n PopoverBody,\r\n} from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport {\r\n filter,\r\n remove,\r\n} from '../../redux/actions/materiaPeriodoActions';\r\nimport Confirm from '../../shared/components/Confirm';\r\nimport { createErrorMessage, createSuccessMessage } from '../../helpers/notification';\r\n\r\nclass MateriaPeriodoContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n loading: true,\r\n items: [],\r\n filters: { id: 10 },\r\n };\r\n this.columns = [\r\n { key: 'id', name: '#', width: '85px' },\r\n { key: 'anho', name: 'Periodo', width: '85px' },\r\n { key: 'malla', name: 'Malla', search: true },\r\n {\r\n key: 'semestreNroOrden',\r\n name: 'Semestre',\r\n width: '85px',\r\n format: row => `${row.semestreNroOrden}º`,\r\n },\r\n {\r\n key: 'materia',\r\n name: 'Materia',\r\n search: true,\r\n format: ({ codigoMateria, materia, seccion }) => (\r\n
{codigoMateria}{` ${materia} ${seccion}`}
\r\n ),\r\n },\r\n {\r\n key: 'codigoMateria', name: 'Código Materia', search: true, visible: false,\r\n },\r\n {\r\n key: 'profesores',\r\n name: 'Profesor(es)',\r\n format: row => row.profesores.map(m => (\r\n
\r\n {m.role === 'Asistente' ? 'Aux:' : 'Enc:'} {m.nombre} {m.apellido}\r\n
\r\n )),\r\n },\r\n {\r\n key: 'cantidadInscriptos',\r\n name: 'Alumnos inscriptos',\r\n search: false,\r\n className: 'text-center',\r\n width: '150px',\r\n format: row => (

{row.cantidadInscriptos}

),\r\n },\r\n {\r\n key: 'tieneHorario',\r\n name: 'Horario',\r\n search: false,\r\n className: 'text-center',\r\n width: '100px',\r\n format: row => (\r\n

\r\n \r\n {row.tieneHorario ? 'Si' : 'No'}\r\n \r\n

\r\n ),\r\n },\r\n { key: 'actions', name: 'Accion', width: '85px' },\r\n ];\r\n this.actions = [\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (record) => {\r\n this.edit(record);\r\n },\r\n },\r\n {\r\n key: 'delete',\r\n icon: row => (\r\n <>\r\n \r\n \r\n No se puede borrar la materia\r\n Hay alumnos inscriptos en la materia.\r\n \r\n \r\n ),\r\n callback: (record) => {\r\n if (!record.cantidadInscriptos) {\r\n this.handleDeleteAction(record);\r\n }\r\n },\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n const { page, pageSize } = this.state;\r\n this.updateExamsTable(page, pageSize);\r\n }\r\n\r\n updateExamsTable = (page, pageSize, filters) => {\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n });\r\n filter({\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters,\r\n },\r\n onSuccess: ({ items, totalItemsCount }) => {\r\n this.setState({\r\n loading: false,\r\n items,\r\n totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de materias por periodo');\r\n },\r\n });\r\n }\r\n\r\n handleDeleteAction = (record) => {\r\n const name = `${record.materia}`;\r\n Confirm({\r\n title: 'Borrar materia por periodo',\r\n question: `Estás seguro que deseas eliminar esta materia \"${name}\" del periodo?`,\r\n yesLabel: 'Si, Borrar',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n remove(record.id,\r\n {\r\n onSuccess: () => {\r\n createSuccessMessage('Materia borrado exitosamente');\r\n const { page, pageSize } = this.state;\r\n this.updateExamsTable(page, pageSize);\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('La matria para este periodo no existe');\r\n } else {\r\n createErrorMessage('Error al intentar borrar materia del periodo');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n edit = (record) => {\r\n const { history } = this.props;\r\n history.push(`/pages/subjects-periods/edit/${record.id}`);\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateExamsTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateExamsTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateExamsTable(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

Lista de materias por periodo

\r\n
\r\n \r\n Agregar nueva materia a periodo\r\n \r\n
\r\n \r\n
\r\n \r\n {loading ?

Cargando...

\r\n : (\r\n this.getGridActions(key)}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n )\r\n }\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(MateriaPeriodoContainer);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Row,\r\n Button,\r\n} from 'reactstrap';\r\n\r\nimport {\r\n Field,\r\n} from 'redux-form';\r\n\r\nimport TextBox from '../../../../shared/components/form/TextBox';\r\n\r\nconst ObjetivosMateriaTable = ({\r\n materiaPeriodo,\r\n fields = {},\r\n meta: { error, submitFailed },\r\n onAddItemArray,\r\n onDeleteItemArray,\r\n onChangeText,\r\n items,\r\n}) => {\r\n const isNew = items.some(o => !o.deleted && o.id === 0);\r\n return (\r\n
\r\n {\r\n materiaPeriodo.canEditarPlaneamiento ? (\r\n
\r\n \r\n \r\n onAddItemArray({ name: fields.name })}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n {' '}\r\n Agregar\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 \r\n \r\n \r\n {fields.map((objetivo, index) => {\r\n if (!items[index]) {\r\n return null;\r\n }\r\n return (\r\n 0 && isNew)) ? 'hidden' : ''}\r\n >\r\n \r\n\r\n \r\n {\r\n materiaPeriodo.canEditarPlaneamiento ? (\r\n \r\n ) : null\r\n }\r\n \r\n );\r\n })\r\n }\r\n \r\n
#Objetivo{' '}
\r\n
\r\n

{items[index].index + 1}

\r\n
\r\n
\r\n
\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n />\r\n
\r\n
\r\n
\r\n onDeleteItemArray({ name: fields.name, index })}\r\n size=\"sm\"\r\n outline\r\n color=\"danger\"\r\n style={{ marginBottom: '0px' }}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n \r\n
\r\n {\r\n submitFailed && error && (\r\n \r\n {error}\r\n \r\n )\r\n }\r\n
\r\n \r\n );\r\n};\r\n\r\nObjetivosMateriaTable.propTypes = {\r\n onAddItemArray: PropTypes.func.isRequired,\r\n onDeleteItemArray: PropTypes.func.isRequired,\r\n onChangeText: PropTypes.func.isRequired,\r\n fields: PropTypes.shape({}).isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n meta: PropTypes.shape({}),\r\n materiaPeriodo: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nObjetivosMateriaTable.defaultProps = {\r\n meta: {},\r\n};\r\n\r\nexport default ObjetivosMateriaTable;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Row,\r\n Button,\r\n Badge,\r\n} from 'reactstrap';\r\n\r\nimport {\r\n Field,\r\n} from 'redux-form';\r\n\r\nimport TextBox from '../../../../shared/components/form/TextBox';\r\nimport renderSelectField from '../../../../shared/components/form/Select';\r\n\r\nconst CronogramaClasesTable = ({\r\n materiaPeriodo,\r\n fields = {},\r\n meta: { error, submitFailed },\r\n onAddItemArray,\r\n onDeleteItemArray,\r\n onChangeText,\r\n onChangeSelect,\r\n items,\r\n profesores,\r\n}) => {\r\n const isNew = items.some(o => !o.deleted && o.id === 0);\r\n return (\r\n
\r\n \r\n {\r\n materiaPeriodo.canEditarPlaneamiento ? (\r\n
\r\n \r\n \r\n onAddItemArray({ name: fields.name })}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n {' '}\r\n Agregar\r\n \r\n \r\n \r\n
\r\n ) : null\r\n }\r\n \r\n \r\n \r\n \r\n {fields.map((objetivo, index) => {\r\n if (!items[index]) {\r\n return null;\r\n }\r\n\r\n return (\r\n 0 && isNew)) ? 'hidden' : ''}\r\n >\r\n \r\n
\r\n

#{index + 1}

\r\n {\r\n materiaPeriodo.canEditarPlaneamiento ? (\r\n onDeleteItemArray({ name: fields.name, index })}\r\n size=\"sm\"\r\n outline\r\n color=\"danger\"\r\n style={{ marginBottom: '0px' }}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n \r\n ) : null\r\n }\r\n
\r\n \r\n\r\n
\r\n
\r\n Fecha:\r\n
\r\n \r\n onChangeText({\r\n target: { name: `${objetivo}.fecha`, value: newValue }, name: fields.name, index,\r\n })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n\r\n
\r\n
\r\n
\r\n
\r\n Profesor:\r\n
\r\n onChangeSelect({\r\n option: props,\r\n name: fields.name,\r\n target: { name: `${objetivo}.profesorMateria` },\r\n index,\r\n })}\r\n options={profesores}\r\n component={renderSelectField}\r\n isDisabled={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n
\r\n Unidad:\r\n
\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n Contenido:\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
\r\n \r\n
\r\n {\r\n submitFailed && error && (\r\n \r\n {error}\r\n \r\n )\r\n }\r\n
\r\n \r\n );\r\n};\r\n\r\nCronogramaClasesTable.propTypes = {\r\n onAddItemArray: PropTypes.func.isRequired,\r\n onDeleteItemArray: PropTypes.func.isRequired,\r\n onChangeText: PropTypes.func.isRequired,\r\n onChangeSelect: PropTypes.func.isRequired,\r\n fields: PropTypes.shape({}).isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n profesores: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n meta: PropTypes.shape({}),\r\n materiaPeriodo: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nCronogramaClasesTable.defaultProps = {\r\n meta: {},\r\n};\r\n\r\nexport default CronogramaClasesTable;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Row,\r\n Button,\r\n Badge,\r\n} from 'reactstrap';\r\n\r\nimport {\r\n Field,\r\n} from 'redux-form';\r\n\r\nimport TextBox from '../../../../shared/components/form/TextBox';\r\nimport renderSelectField from '../../../../shared/components/form/Select';\r\n\r\nconst PracticaLaboratorioTable = ({\r\n materiaPeriodo,\r\n fields = {},\r\n meta: { error, submitFailed },\r\n onAddItemArray,\r\n onDeleteItemArray,\r\n onChangeText,\r\n onChangeSelect,\r\n items,\r\n profesores,\r\n}) => {\r\n const isNew = items.some(o => !o.deleted && o.id === 0);\r\n return (\r\n
\r\n \r\n {\r\n materiaPeriodo.canEditarPlaneamiento ? (\r\n \r\n \r\n
\r\n \r\n \r\n onAddItemArray({ name: fields.name })}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n {' '}\r\n Agregar\r\n \r\n \r\n \r\n
\r\n \r\n \r\n ) : null\r\n }\r\n \r\n \r\n \r\n \r\n {fields.map((objetivo, index) => {\r\n if (!items[index]) {\r\n return null;\r\n }\r\n\r\n return (\r\n 0 && isNew)) ? 'hidden' : ''}\r\n >\r\n \r\n
\r\n

#{index + 1}

\r\n {\r\n materiaPeriodo.canEditarPlaneamiento ? (\r\n onDeleteItemArray({ name: fields.name, index })}\r\n size=\"sm\"\r\n outline\r\n color=\"danger\"\r\n style={{ marginBottom: '0px' }}\r\n className=\"font-weight-bold\"\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 Profesor\r\n
\r\n onChangeSelect({\r\n option: props,\r\n name: fields.name,\r\n target: { name: `${objetivo}.profesorMateria` },\r\n index,\r\n })}\r\n options={profesores}\r\n component={renderSelectField}\r\n isDisabled={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n Duración\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n Actividad\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n Descripción\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n Material de apoyo\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
\r\n \r\n
\r\n {\r\n submitFailed && error && (\r\n \r\n {error}\r\n \r\n )\r\n }\r\n
\r\n \r\n );\r\n};\r\n\r\nPracticaLaboratorioTable.propTypes = {\r\n onAddItemArray: PropTypes.func.isRequired,\r\n onDeleteItemArray: PropTypes.func.isRequired,\r\n onChangeText: PropTypes.func.isRequired,\r\n onChangeSelect: PropTypes.func.isRequired,\r\n fields: PropTypes.shape({}).isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n profesores: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n meta: PropTypes.shape({}),\r\n materiaPeriodo: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nPracticaLaboratorioTable.defaultProps = {\r\n meta: {},\r\n};\r\n\r\nexport default PracticaLaboratorioTable;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Row,\r\n Button,\r\n Badge,\r\n} from 'reactstrap';\r\n\r\nimport {\r\n Field,\r\n} from 'redux-form';\r\n\r\nimport TextBox from '../../../../shared/components/form/TextBox';\r\nimport renderSelectField from '../../../../shared/components/form/Select';\r\n\r\nconst ProyectoTrabajoPracticoTable = ({\r\n materiaPeriodo,\r\n fields = {},\r\n meta: { error, submitFailed },\r\n onAddItemArray,\r\n onDeleteItemArray,\r\n onChangeText,\r\n onChangeSelect,\r\n items,\r\n profesores,\r\n duracionActividad,\r\n}) => {\r\n const isNew = items.some(o => !o.deleted && o.id === 0);\r\n return (\r\n
\r\n {\r\n materiaPeriodo.canEditarPlaneamiento ? (\r\n \r\n \r\n
\r\n \r\n \r\n onAddItemArray({ name: fields.name })}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n {' '}\r\n Agregar\r\n \r\n \r\n \r\n
\r\n \r\n \r\n ) : null\r\n }\r\n \r\n \r\n \r\n {fields.map((objetivo, index) => {\r\n if (!items[index]) {\r\n return null;\r\n }\r\n\r\n return (\r\n 0 && isNew)) ? 'hidden' : ''}\r\n >\r\n \r\n
\r\n

#{index + 1}

\r\n {\r\n materiaPeriodo.canEditarPlaneamiento ? (\r\n onDeleteItemArray({ name: fields.name, index })}\r\n size=\"sm\"\r\n outline\r\n color=\"danger\"\r\n style={{ marginBottom: '0px' }}\r\n className=\"font-weight-bold\"\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 Profesor\r\n
\r\n onChangeSelect({\r\n option: props,\r\n name: fields.name,\r\n target: { name: `${objetivo}.profesorMateria` },\r\n index,\r\n })}\r\n options={profesores}\r\n component={renderSelectField}\r\n isDisabled={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n Duración\r\n
\r\n onChangeSelect({\r\n option: props, name: fields.name, target: { name: `${objetivo}.duracion` }, index,\r\n })}\r\n options={duracionActividad}\r\n component={renderSelectField}\r\n isDisabled={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n Actividad\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n Descripción\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n Evaluación\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n );\r\n })\r\n }\r\n \r\n
\r\n \r\n
\r\n {\r\n submitFailed && error && (\r\n \r\n {error}\r\n \r\n )\r\n }\r\n
\r\n \r\n );\r\n};\r\n\r\nProyectoTrabajoPracticoTable.propTypes = {\r\n onAddItemArray: PropTypes.func.isRequired,\r\n onDeleteItemArray: PropTypes.func.isRequired,\r\n onChangeText: PropTypes.func.isRequired,\r\n onChangeSelect: PropTypes.func.isRequired,\r\n fields: PropTypes.shape({}).isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n profesores: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n duracionActividad: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n meta: PropTypes.shape({}),\r\n materiaPeriodo: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nProyectoTrabajoPracticoTable.defaultProps = {\r\n meta: {},\r\n};\r\n\r\nexport default ProyectoTrabajoPracticoTable;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Row,\r\n Button,\r\n Badge,\r\n} from 'reactstrap';\r\n\r\nimport {\r\n Field,\r\n} from 'redux-form';\r\n\r\nimport TextBox from '../../../../shared/components/form/TextBox';\r\n\r\nconst ActividadComplementariaTable = ({\r\n materiaPeriodo,\r\n fields = {},\r\n meta: { error, submitFailed },\r\n onAddItemArray,\r\n onDeleteItemArray,\r\n onChangeText,\r\n items,\r\n}) => {\r\n const isNew = items.some(o => !o.deleted && o.id === 0);\r\n return (\r\n
\r\n {\r\n materiaPeriodo.canEditarPlaneamiento ? (\r\n \r\n \r\n
\r\n \r\n \r\n onAddItemArray({ name: fields.name })}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n {' '}\r\n Agregar\r\n \r\n \r\n \r\n
\r\n \r\n \r\n ) : null\r\n }\r\n \r\n \r\n \r\n {fields.map((objetivo, index) => {\r\n if (!items[index]) {\r\n return null;\r\n }\r\n\r\n return (\r\n 0 && isNew)) ? 'hidden' : ''}\r\n >\r\n \r\n
\r\n

#{index + 1}

\r\n {\r\n materiaPeriodo.canEditarPlaneamiento ? (\r\n onDeleteItemArray({ name: fields.name, index })}\r\n size=\"sm\"\r\n outline\r\n color=\"danger\"\r\n style={{ marginBottom: '0px' }}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n \r\n ) : null\r\n }\r\n
\r\n \r\n \r\n
\r\n Descripción de la Actividad\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n Beneficiarios\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n Fechas\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n Cantidad de Horas\r\n
\r\n Number(val)}\r\n onChange={({ target }) => onChangeText({\r\n target: {\r\n type: target.type,\r\n value: Number(target.value),\r\n name: target.name,\r\n },\r\n name: fields.name,\r\n index,\r\n })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n\r\n {\r\n materiaPeriodo.canEditarPlaneamiento ? (\r\n
\r\n ) : null\r\n }\r\n \r\n );\r\n })}\r\n \r\n
\r\n \r\n
\r\n onDeleteItemArray({ name: fields.name, index })}\r\n size=\"sm\"\r\n outline\r\n color=\"danger\"\r\n style={{ marginBottom: '0px' }}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n \r\n
\r\n {\r\n submitFailed && error && (\r\n \r\n {error}\r\n \r\n )\r\n }\r\n
\r\n \r\n );\r\n};\r\n\r\nActividadComplementariaTable.propTypes = {\r\n onAddItemArray: PropTypes.func.isRequired,\r\n onDeleteItemArray: PropTypes.func.isRequired,\r\n onChangeText: PropTypes.func.isRequired,\r\n fields: PropTypes.shape({}).isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n meta: PropTypes.shape({}),\r\n materiaPeriodo: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nActividadComplementariaTable.defaultProps = {\r\n meta: {},\r\n};\r\n\r\nexport default ActividadComplementariaTable;\r\n","const validate = (attrs = {\r\n materiaPeriodo: {},\r\n contribucionMateria: '',\r\n fundamentacionMateria: '',\r\n valoresContemplados: '',\r\n metodologiaEnsenhanza: '',\r\n estrategiasEvauacion: '',\r\n objetivosMaterias: [],\r\n bibliografiaBasica: '',\r\n cronogramaClases: [],\r\n practicasLaboratorios: [],\r\n proyectosTrabajosPracticos: [],\r\n profesores: [],\r\n}) => {\r\n const errors = {};\r\n\r\n if (attrs.materiaPeriodo && !attrs.materiaPeriodo.canEditarPlaneamiento) {\r\n return errors;\r\n }\r\n\r\n if (!attrs.contribucionMateria) {\r\n errors.contribucionMateria = 'Debe ingresar un valor';\r\n }\r\n\r\n if (!attrs.fundamentacionMateria) {\r\n errors.fundamentacionMateria = 'Debe ingresar un valor';\r\n }\r\n\r\n if (!attrs.valoresContemplados) {\r\n errors.valoresContemplados = 'Debe ingresar un valor';\r\n }\r\n\r\n if (!attrs.metodologiaEnsenhanza) {\r\n errors.metodologiaEnsenhanza = 'Debe ingresar un valor';\r\n }\r\n\r\n if (!attrs.estrategiasEvauacion) {\r\n errors.estrategiasEvauacion = 'Debe ingresar un valor';\r\n }\r\n\r\n if (!attrs.bibliografiaBasica) {\r\n errors.bibliografiaBasica = 'Debe ingresar un valor';\r\n }\r\n\r\n if (!attrs.objetivosMaterias || !attrs.objetivosMaterias.length) {\r\n errors.objetivosMaterias = { _error: 'Debe agregar un objetivo' };\r\n } else {\r\n errors.objetivosMaterias = [];\r\n attrs.objetivosMaterias.filter(o => !o.deleted).forEach((obj, index) => {\r\n const error = {};\r\n\r\n if (!obj.objetivo) {\r\n error.objetivo = 'Debe ingresar el objetivo';\r\n }\r\n\r\n if (Object.keys(error).length) {\r\n errors.objetivosMaterias[index] = error;\r\n }\r\n });\r\n }\r\n\r\n if (!attrs.cronogramaClases || !attrs.cronogramaClases.length) {\r\n errors.cronogramaClases = { _error: 'Debe agregar un cronograma' };\r\n } else {\r\n errors.cronogramaClases = [];\r\n attrs.cronogramaClases.filter(o => !o.deleted).forEach((obj, index) => {\r\n const error = {};\r\n\r\n if (!obj.contenidos) {\r\n error.contenidos = 'Debe ingresar los contenidos';\r\n }\r\n if (!obj.fecha) {\r\n error.fecha = 'Debe ingresar una fecha valida';\r\n }\r\n\r\n if (!obj.profesorMateria || !obj.profesorMateria.value) {\r\n error.profesorMateria = 'Debe seleccionar un profesor';\r\n } else if (!attrs.profesores.some(p => p.id === obj.profesorMateria.value)) {\r\n error.profesorMateria = 'Debe seleccionar el profesor encaregado o auxiliar';\r\n }\r\n\r\n if (!obj.unidad) {\r\n error.unidad = 'Debe ingresar la unidad';\r\n }\r\n\r\n if (Object.keys(error).length) {\r\n errors.cronogramaClases[index] = error;\r\n }\r\n });\r\n }\r\n\r\n if (attrs.practicasLaboratorios && attrs.practicasLaboratorios.length) {\r\n errors.practicasLaboratorios = [];\r\n attrs.practicasLaboratorios.filter(o => !o.deleted).forEach((obj, index) => {\r\n const error = {};\r\n if (!obj.actividad) {\r\n error.actividad = 'Debe ingresar la actividad';\r\n }\r\n if (!obj.descripcion) {\r\n error.descripcion = 'Debe ingresar la descripcion';\r\n }\r\n\r\n if (!obj.profesorMateria || !obj.profesorMateria.value) {\r\n error.profesorMateria = 'Debe seleccionar un profesor';\r\n } else if (!attrs.profesores.some(p => p.id === obj.profesorMateria.value)) {\r\n error.profesorMateria = 'Debe seleccionar el profesor encaregado o auxiliar';\r\n }\r\n\r\n if (!obj.duracion) {\r\n error.duracion = 'Debe seleccionar una duracion';\r\n }\r\n\r\n if (Object.keys(error).length) {\r\n errors.practicasLaboratorios[index] = error;\r\n }\r\n });\r\n }\r\n\r\n if (attrs.proyectosTrabajosPracticos && attrs.proyectosTrabajosPracticos.length) {\r\n errors.proyectosTrabajosPracticos = [];\r\n attrs.proyectosTrabajosPracticos.filter(o => !o.deleted).forEach((obj, index) => {\r\n const error = {};\r\n if (!obj.actividad) {\r\n error.actividad = 'Debe ingresar la actividad';\r\n }\r\n if (!obj.descripcion) {\r\n error.descripcion = 'Debe ingresar la descripcion';\r\n }\r\n if (!obj.evaluacion) {\r\n error.evaluacion = 'Debe ingresar una fecha valida';\r\n }\r\n\r\n if (!obj.profesorMateria || !obj.profesorMateria.value) {\r\n error.profesorMateria = 'Debe seleccionar un profesor';\r\n } else if (!attrs.profesores.some(p => p.id === obj.profesorMateria.value)) {\r\n error.profesorMateria = 'Debe seleccionar el profesor encaregado o auxiliar';\r\n }\r\n\r\n if (!obj.duracion || !obj.duracion.value) {\r\n error.duracion = 'Debe seleccionar una duracion';\r\n }\r\n\r\n if (Object.keys(error).length) {\r\n errors.proyectosTrabajosPracticos[index] = error;\r\n }\r\n });\r\n }\r\n\r\n if (attrs.actividadesComplementarias && attrs.actividadesComplementarias.length) {\r\n errors.actividadesComplementarias = [];\r\n attrs.actividadesComplementarias.filter(o => !o.deleted).forEach((obj, index) => {\r\n const error = {};\r\n if (!obj.descripcionActividad) {\r\n error.descripcionActividad = 'Debe ingresar la actividad';\r\n }\r\n if (!obj.beneficiarios) {\r\n error.beneficiarios = 'Debe ingresar los beneficiarios';\r\n }\r\n if (!obj.fechas) {\r\n error.fechas = 'Debe ingresar las fechas';\r\n }\r\n if (!obj.cantidadHoras) {\r\n error.cantidadHoras = 'Debe ingresar la cantidad de horas';\r\n }\r\n\r\n if (Object.keys(error).length) {\r\n errors.actividadesComplementarias[index] = error;\r\n }\r\n });\r\n }\r\n\r\n if (Object.keys(errors).length) {\r\n // console.log(errors);\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n FieldArray,\r\n} from 'redux-form';\r\nimport {\r\n Card,\r\n CardBody,\r\n Row,\r\n Col,\r\n Button,\r\n ButtonToolbar,\r\n Badge,\r\n} from 'reactstrap';\r\nimport TextBox from '../../../../shared/components/form/TextBox';\r\nimport setPropsAsInitialValues from '../../../../helpers/setPropsAsInitialValues';\r\nimport ObjetivosMateriaTable from './ObjetivosMateriaTable';\r\nimport CronogramaClasesTable from './CronogramaClasesTable';\r\nimport PracticaLaboratorioTable from './PracticaLaboratorioTable';\r\nimport ProyectoTrabajoPracticoTable from './ProyectoTrabajoPracticoTable';\r\nimport ActividadComplementariaTable from './ActividadComplementariaTable';\r\nimport HorariosTable from './HorariosTable';\r\n\r\nimport Confirm from '../../../../shared/components/Confirm';\r\n\r\nimport validate from '../validate';\r\nimport LoadingSpinner from '../../../../shared/components/LoadingSpinner';\r\nimport { dateTimeFormat } from '../../../../helpers/dateFormat';\r\n\r\nclass PlaneamientoForm extends PureComponent {\r\n static propTypes = {\r\n meta: PropTypes.shape({\r\n touched: PropTypes.bool,\r\n error: PropTypes.any,\r\n }),\r\n page: PropTypes.number.isRequired,\r\n changed: PropTypes.bool.isRequired,\r\n setPage: PropTypes.func.isRequired,\r\n previousPage: PropTypes.func.isRequired,\r\n handleSubmit: PropTypes.func.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n onDownload: PropTypes.func.isRequired,\r\n\r\n onAddItemArray: PropTypes.func.isRequired,\r\n onDeleteItemArray: PropTypes.func.isRequired,\r\n onChangeText: PropTypes.func.isRequired,\r\n onChangeSelect: PropTypes.func.isRequired,\r\n\r\n submitting: PropTypes.bool,\r\n loading: PropTypes.bool.isRequired,\r\n loadingPage: PropTypes.bool.isRequired,\r\n createPlanning: PropTypes.bool.isRequired,\r\n canEditarPlaneamiento: PropTypes.bool.isRequired,\r\n finEditarPlaneamiento: PropTypes.string.isRequired,\r\n codigoClassroom: PropTypes.string,\r\n\r\n horasLaboratorioSemanal: PropTypes.number.isRequired,\r\n horasPracticaSemanal: PropTypes.number.isRequired,\r\n horasTeoriaSemanal: PropTypes.number.isRequired,\r\n totalHorasSemanal: PropTypes.number.isRequired,\r\n\r\n filters: PropTypes.shape({}),\r\n materiaPeriodo: PropTypes.shape({}).isRequired,\r\n\r\n objetivosMaterias: PropTypes.arrayOf(PropTypes.shape({})),\r\n cronogramaClases: PropTypes.arrayOf(PropTypes.shape({})),\r\n practicasLaboratorios: PropTypes.arrayOf(PropTypes.shape({})),\r\n proyectosTrabajosPracticos: PropTypes.arrayOf(PropTypes.shape({})),\r\n actividadesComplementarias: PropTypes.arrayOf(PropTypes.shape({})),\r\n preRequisitos: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n\r\n horarios: PropTypes.arrayOf(PropTypes.shape({})),\r\n profesores: PropTypes.arrayOf(PropTypes.shape({})),\r\n duracionActividad: PropTypes.arrayOf(PropTypes.shape({})),\r\n }\r\n\r\n static defaultProps = {\r\n submitting: false,\r\n meta: {},\r\n filters: {},\r\n objetivosMaterias: [],\r\n cronogramaClases: [],\r\n practicasLaboratorios: [],\r\n proyectosTrabajosPracticos: [],\r\n actividadesComplementarias: [],\r\n duracionActividad: [],\r\n\r\n codigoClassroom: '',\r\n horarios: [],\r\n profesores: [],\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n };\r\n }\r\n\r\n buttonToolbar = ({ previousPage, nextPage, submitting }) => {\r\n if (nextPage) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n\r\n setPage = (step) => {\r\n const {\r\n changed, page, setPage, onSubmit,\r\n } = this.props;\r\n\r\n if (page === step) {\r\n return;\r\n }\r\n\r\n if (changed) {\r\n Confirm({\r\n title: 'Hay cambios sin guardar',\r\n question: (<>¿Deseas guardar los cambios antes de continuar?.),\r\n yesLabel: 'Si, guardar',\r\n noLabel: 'No, continuar',\r\n onConfirm: () => {\r\n onSubmit(this.props);\r\n },\r\n onCancel: () => {\r\n setPage(step);\r\n },\r\n });\r\n\r\n return;\r\n }\r\n\r\n setPage(step);\r\n };\r\n\r\n step = ({ step, title }) => {\r\n const { page } = this.props;\r\n return (\r\n this.setPage(step)}\r\n className={\r\n `wizard__step${page === step ? ' wizard__step--active' : ''}`\r\n }\r\n >\r\n

{title}

\r\n \r\n );\r\n };\r\n\r\n createPlanning = () => {\r\n const {\r\n createPlanning,\r\n loadingPage,\r\n canEditarPlaneamiento,\r\n finEditarPlaneamiento,\r\n handleSubmit,\r\n } = this.props;\r\n\r\n\r\n if (loadingPage) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n

\r\n \r\n <>Fecha Límite cargar planeamiento\r\n \r\n {' '}\r\n \r\n <>{finEditarPlaneamiento && dateTimeFormat(finEditarPlaneamiento)}\r\n \r\n

\r\n \r\n {\r\n createPlanning && canEditarPlaneamiento ? (\r\n \r\n
\r\n
\r\n \r\n Crear Nuevo Planeamiento\r\n \r\n
\r\n \r\n \r\n ) : null\r\n }\r\n
\r\n );\r\n };\r\n\r\n showPlanning = ({ page, createPlanning, listProfesores }) => {\r\n if (createPlanning) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n {this.step({ step: 1, title: <>Identificación })}\r\n {this.step({\r\n step: 2, title: <>Fundamentación / Contribución,\r\n })}\r\n {this.step({ step: 3, title: <>Objetivos })}\r\n\r\n {this.step({\r\n step: 4,\r\n title: <>Valores / Metodología / Estrategias,\r\n })}\r\n {this.step({ step: 5, title: <>Cronograma de clases })}\r\n {this.step({ step: 6, title: <>Cuadro de prácticas de laboratorios })}\r\n\r\n {this.step({ step: 7, title: <>Proyectos o/y trabajos prácticos })}\r\n {this.step({ step: 8, title: <>Actividades complementarias })}\r\n {this.step({\r\n step: 9,\r\n title: <>Bibliografía básica / complementaria,\r\n })}\r\n
\r\n \r\n \r\n
\r\n {this.page1(page)}\r\n {this.page2(page)}\r\n {this.page3(page)}\r\n {this.page4(page)}\r\n\r\n {this.page5(page, listProfesores)}\r\n {this.page6(page, listProfesores)}\r\n {this.page7(page, listProfesores)}\r\n\r\n {this.page8(page)}\r\n {this.page9(page)}\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n page1 = (page) => {\r\n if (page !== 1) {\r\n return null;\r\n }\r\n\r\n const {\r\n materiaPeriodo,\r\n codigoClassroom,\r\n horarios = [],\r\n profesores = [],\r\n handleSubmit,\r\n previousPage,\r\n submitting,\r\n loadingPage,\r\n onChangeText,\r\n horasLaboratorioSemanal,\r\n horasPracticaSemanal,\r\n horasTeoriaSemanal,\r\n totalHorasSemanal,\r\n preRequisitos = [],\r\n } = this.props;\r\n\r\n if (loadingPage) {\r\n return ;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {this.buttonToolbar({ previousPage, submitting })}\r\n
\r\n );\r\n };\r\n\r\n page2 = (page) => {\r\n if (page !== 2) {\r\n return null;\r\n }\r\n\r\n const {\r\n onChangeText,\r\n submitting,\r\n handleSubmit,\r\n previousPage,\r\n loadingPage,\r\n materiaPeriodo,\r\n } = this.props;\r\n\r\n if (loadingPage) {\r\n return ;\r\n }\r\n return (\r\n
\r\n \r\n
\r\n \r\n II- Fundamentación de la materia :\r\n \r\n
\r\n
\r\n
\r\n onChangeText(v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n III- Contribución de la materia a la carrera :\r\n \r\n
\r\n
\r\n
\r\n onChangeText(v)}\r\n />\r\n
\r\n
\r\n \r\n {this.buttonToolbar({ previousPage, submitting })}\r\n
\r\n );\r\n };\r\n\r\n page3 = (page) => {\r\n if (page !== 3) {\r\n return null;\r\n }\r\n\r\n const {\r\n onChangeText,\r\n onAddItemArray,\r\n onDeleteItemArray,\r\n materiaPeriodo,\r\n objetivosMaterias,\r\n handleSubmit,\r\n previousPage,\r\n submitting,\r\n loadingPage,\r\n } = this.props;\r\n\r\n if (loadingPage) {\r\n return ;\r\n }\r\n return (\r\n
\r\n
\r\n \r\n IV. Objetivos de la materia\r\n \r\n
\r\n
\r\n \r\n
\r\n {this.buttonToolbar({ previousPage, submitting })}\r\n
\r\n );\r\n };\r\n\r\n page4 = (page) => {\r\n if (page !== 4) {\r\n return null;\r\n }\r\n\r\n const {\r\n onChangeText,\r\n loadingPage,\r\n handleSubmit,\r\n previousPage,\r\n submitting,\r\n materiaPeriodo,\r\n } = this.props;\r\n\r\n if (loadingPage) {\r\n return ;\r\n }\r\n return (\r\n
\r\n \r\n
\r\n \r\n V - Valores contemplados\r\n \r\n
\r\n
\r\n
\r\n onChangeText(v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n VI - Metodología de la enseñanza\r\n \r\n
\r\n
\r\n
\r\n onChangeText(v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n VII - Estrategias de evauación\r\n \r\n
\r\n
\r\n
\r\n onChangeText(v)}\r\n />\r\n
\r\n
\r\n \r\n {this.buttonToolbar({ previousPage, submitting })}\r\n
\r\n );\r\n };\r\n\r\n page5 = (page, listProfesores) => {\r\n if (page !== 5) {\r\n return null;\r\n }\r\n\r\n const {\r\n onChangeText,\r\n onChangeSelect,\r\n onAddItemArray,\r\n onDeleteItemArray,\r\n materiaPeriodo,\r\n cronogramaClases = [],\r\n loadingPage,\r\n handleSubmit,\r\n previousPage,\r\n submitting,\r\n } = this.props;\r\n\r\n if (loadingPage) {\r\n return ;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n VIII - Cronograma de clases teóricas y prácticas\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {this.buttonToolbar({ previousPage, submitting })}\r\n \r\n
\r\n );\r\n };\r\n\r\n page6 = (page, listProfesores) => {\r\n if (page !== 6) {\r\n return null;\r\n }\r\n\r\n const {\r\n onChangeText,\r\n onChangeSelect,\r\n onAddItemArray,\r\n onDeleteItemArray,\r\n materiaPeriodo,\r\n\r\n practicasLaboratorios = [],\r\n duracionActividad = [],\r\n loadingPage,\r\n previousPage,\r\n submitting,\r\n handleSubmit,\r\n } = this.props;\r\n\r\n if (loadingPage) {\r\n return ;\r\n }\r\n return (\r\n
\r\n
\r\n \r\n IX - Cuadro de prácticas de laboratorios\r\n \r\n
\r\n
\r\n \r\n
\r\n {this.buttonToolbar({ previousPage, submitting })}\r\n
\r\n );\r\n };\r\n\r\n page7 = (page, listProfesores) => {\r\n if (page !== 7) {\r\n return null;\r\n }\r\n\r\n const {\r\n onChangeText,\r\n onChangeSelect,\r\n onAddItemArray,\r\n onDeleteItemArray,\r\n materiaPeriodo,\r\n\r\n proyectosTrabajosPracticos = [],\r\n duracionActividad = [],\r\n loadingPage,\r\n previousPage,\r\n submitting,\r\n handleSubmit,\r\n } = this.props;\r\n\r\n if (loadingPage) {\r\n return ;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n X - Elaboración de proyectos o/y trabajos prácticos\r\n \r\n
\r\n
\r\n \r\n
\r\n {this.buttonToolbar({ previousPage, submitting })}\r\n
\r\n );\r\n };\r\n\r\n page8 = (page) => {\r\n if (page !== 8) {\r\n return null;\r\n }\r\n\r\n const {\r\n onChangeText,\r\n onChangeSelect,\r\n onAddItemArray,\r\n onDeleteItemArray,\r\n materiaPeriodo,\r\n\r\n actividadesComplementarias = [],\r\n loadingPage,\r\n previousPage,\r\n submitting,\r\n handleSubmit,\r\n } = this.props;\r\n\r\n if (loadingPage) {\r\n return ;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n XI- Actividades complementarias (Extensión, Investigación)\r\n \r\n
\r\n
\r\n \r\n
\r\n {this.buttonToolbar({ previousPage, submitting })}\r\n
\r\n );\r\n };\r\n\r\n page9 = (page) => {\r\n if (page !== 9) {\r\n return null;\r\n }\r\n\r\n const {\r\n onChangeText,\r\n loadingPage,\r\n previousPage,\r\n submitting,\r\n handleSubmit,\r\n materiaPeriodo,\r\n } = this.props;\r\n\r\n if (loadingPage) {\r\n return ;\r\n }\r\n return (\r\n
\r\n \r\n
\r\n \r\n XII - Bibliografía básica\r\n \r\n
\r\n
\r\n
\r\n onChangeText(v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n XIII - Bibliografía complementaria\r\n \r\n
\r\n
\r\n
\r\n onChangeText(v)}\r\n />\r\n
\r\n
\r\n \r\n {this.buttonToolbar({ previousPage, submitting })}\r\n
\r\n );\r\n };\r\n\r\n render() {\r\n const {\r\n loading,\r\n horarios = [],\r\n profesores = [],\r\n page,\r\n createPlanning,\r\n onDownload,\r\n } = this.props;\r\n\r\n if (loading || horarios.length === -1) {\r\n return ;\r\n }\r\n\r\n const listProfesores = profesores.map(({ id, profesor }) => ({\r\n value: id,\r\n label: profesor,\r\n }));\r\n\r\n return (\r\n \r\n \r\n
\r\n

\r\n Datos del planeamiento\r\n

\r\n {\r\n !createPlanning ? (\r\n \r\n  \r\n Descargar planeamiento\r\n \r\n ) : null\r\n }\r\n
\r\n \r\n {this.createPlanning()}\r\n {this.showPlanning({ page, createPlanning, listProfesores })}\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxPlaneamientoForm = reduxForm({\r\n form: 'PlaneamientoForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(PlaneamientoForm);\r\n\r\nexport default setPropsAsInitialValues(ReduxPlaneamientoForm);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Container,\r\n Row,\r\n} from 'reactstrap';\r\nimport Form from './components/form';\r\nimport {\r\n savePlanning,\r\n getPlanning,\r\n fetchPlanningFormData,\r\n download,\r\n} from '../../../redux/actions/planningActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../helpers/notification';\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\n\r\nclass IndexContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handleDownload.bind(this);\r\n\r\n this.state = {\r\n page: 1,\r\n changed: false,\r\n loading: false,\r\n loadingPage: false,\r\n duracionActividad: [],\r\n createPlanning: false,\r\n planning: {\r\n objetivosMaterias: [],\r\n cronogramaClases: [],\r\n practicasLaboratorios: [],\r\n proyectosTrabajosPracticos: [],\r\n actividadesComplementarias: [],\r\n },\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchFormData();\r\n this.fetchCurrentRecord(1);\r\n }\r\n\r\n setPlanning(planning) {\r\n const {\r\n objetivosMaterias = [],\r\n cronogramaClases = [],\r\n practicasLaboratorios = [],\r\n proyectosTrabajosPracticos = [],\r\n actividadesComplementarias = [],\r\n profesores = [],\r\n } = planning;\r\n\r\n const { planning: oldPlanning } = this.state;\r\n\r\n this.setState({\r\n planning: {\r\n ...planning,\r\n profesores: profesores.length === 0 ? oldPlanning.profesores : profesores,\r\n objetivosMaterias: objetivosMaterias.map((h, index) => ({ ...h, index })),\r\n cronogramaClases: cronogramaClases.map((h, index) => ({ ...h, index })),\r\n practicasLaboratorios: practicasLaboratorios.map((h, index) => ({ ...h, index })),\r\n proyectosTrabajosPracticos: proyectosTrabajosPracticos.map((h, index) => ({ ...h, index })),\r\n actividadesComplementarias: actividadesComplementarias.map((h, index) => ({ ...h, index })),\r\n },\r\n loadingPage: false,\r\n changed: false,\r\n });\r\n }\r\n\r\n handleDownload = () => {\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n const { planningId } = this.props;\r\n\r\n download({\r\n id: planningId,\r\n onSuccess: () => this.setState({\r\n loading: false,\r\n }),\r\n onError: () => {\r\n this.setState({\r\n loading: false,\r\n });\r\n\r\n createErrorMessage('Error al intentar descargar el planeamiento');\r\n },\r\n });\r\n }\r\n\r\n fetchCurrentRecord = (page) => {\r\n const { planningId } = this.props;\r\n\r\n if (!planningId) {\r\n this.setState({\r\n planning: {\r\n materiaPeriodoId: 0,\r\n objetivosMaterias: [],\r\n cronogramaClases: [],\r\n practicasLaboratorios: [],\r\n proyectosTrabajosPracticos: [],\r\n actividadesComplementarias: [],\r\n horarios: [],\r\n profesores: [],\r\n },\r\n changed: false,\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n getPlanning({\r\n id: planningId,\r\n page,\r\n onSuccess: (planning) => {\r\n const createPlanning = Object.keys(planning).length === 3;\r\n\r\n this.setPlanning(planning);\r\n this.setState({\r\n loading: false,\r\n page,\r\n createPlanning,\r\n changed: false,\r\n });\r\n },\r\n onError: (error) => {\r\n this.setState({\r\n loading: false,\r\n page,\r\n });\r\n\r\n if (error && error.status === 404) {\r\n createErrorMessage('La planeamiento no existe');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos del planeamiento');\r\n }\r\n },\r\n });\r\n }\r\n\r\n fetchFormData = () => {\r\n this.setState({\r\n loading: true,\r\n });\r\n fetchPlanningFormData({\r\n onSuccess: ({ DuracionActividad }) => {\r\n this.setState({\r\n duracionActividad: DuracionActividad,\r\n loading: false,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({\r\n loading: false,\r\n });\r\n\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n handleAddItemArray = ({ name }) => {\r\n const { planning } = this.state;\r\n const items = planning[name];\r\n\r\n const newIndex = items.length === 0\r\n ? 0\r\n : (Math.max(...items.map(({ index }) => index)) + 1);\r\n\r\n this.setState({\r\n changed: true,\r\n planning: {\r\n ...planning,\r\n [name]: [\r\n ...items,\r\n {\r\n id: 0,\r\n index: newIndex,\r\n },\r\n ],\r\n },\r\n });\r\n }\r\n\r\n handleDeleteItemArray = ({ name, index }) => {\r\n const { planning } = this.state;\r\n const items = planning[name];\r\n\r\n const newArray = items.map(h => ({\r\n ...h,\r\n deleted: h.deleted || h.index === index,\r\n }));\r\n\r\n this.setState({\r\n changed: true,\r\n planning: {\r\n ...planning,\r\n [name]: newArray,\r\n },\r\n });\r\n }\r\n\r\n handleChangeText = ({ name, target, index = null }) => {\r\n const value = target.type === 'number'\r\n ? Number(target.value)\r\n : `${target.value}`.trim();\r\n\r\n if (Number.isInteger(index)) {\r\n const { planning } = this.state;\r\n const items = planning[name];\r\n\r\n const newArray = [...items];\r\n newArray[index] = {\r\n ...newArray[index],\r\n ...{\r\n [target.name.split('.')[1]]: value,\r\n },\r\n };\r\n\r\n this.setState({\r\n changed: true,\r\n planning: {\r\n ...planning,\r\n [name]: newArray,\r\n },\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.setState(prev => ({\r\n changed: true,\r\n planning: {\r\n ...prev.planning,\r\n ...{\r\n [target.name]: value,\r\n },\r\n },\r\n }));\r\n };\r\n\r\n handleChangeSelect = ({\r\n option, name, target, index,\r\n }) => {\r\n const { planning } = this.state;\r\n const items = planning[name];\r\n\r\n const newArray = [...items];\r\n const data = {\r\n [target.name.split('.')[1]]: option,\r\n index,\r\n };\r\n\r\n newArray[index] = {\r\n ...newArray[index],\r\n ...data,\r\n };\r\n\r\n this.setState(prev => ({\r\n changed: true,\r\n planning: {\r\n ...prev.planning,\r\n ...{\r\n [name]: newArray,\r\n },\r\n },\r\n }));\r\n };\r\n\r\n setPage = (page) => {\r\n this.fetchCurrentRecord(page);\r\n }\r\n\r\n nextPage = () => {\r\n const { page } = this.state;\r\n this.setPage(page + 1 < 10 ? page + 1 : 1);\r\n };\r\n\r\n previousPage = () => {\r\n const { page } = this.state;\r\n this.setPage(page - 1 > 0 ? page - 1 : 9);\r\n };\r\n\r\n handleSubmit = (values) => {\r\n if (!values) return;\r\n\r\n const { materiaPeriodo } = this.props;\r\n const { changed, createPlanning } = this.state;\r\n\r\n if (!createPlanning && (!materiaPeriodo.canEditarPlaneamiento || !changed)) {\r\n this.nextPage();\r\n return;\r\n }\r\n\r\n this.setState({\r\n loadingPage: true,\r\n });\r\n\r\n const {\r\n page,\r\n cronogramaClases = [],\r\n } = values;\r\n\r\n const { planningId: materiaPeriodoId } = this.props;\r\n\r\n savePlanning({\r\n page: `page${createPlanning ? 1 : page}`,\r\n paylaod: {\r\n ...values,\r\n materiaPeriodoId,\r\n cronogramaClases: cronogramaClases.map(({\r\n contenidos,\r\n deleted,\r\n fecha,\r\n id,\r\n profesorMateria,\r\n unidad,\r\n }) => ({\r\n materiaPeriodoId,\r\n contenidos,\r\n deleted,\r\n fecha: !fecha || fecha === '0001-01-01' ? null : fecha,\r\n id,\r\n profesorMateria,\r\n unidad,\r\n })),\r\n },\r\n onSuccess: () => {\r\n this.nextPage();\r\n\r\n createSuccessMessage('Datos de planeamiento guardado exitosamente');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else if (error.errors) {\r\n Object.entries(error.errors).flatMap(([, message]) => createWarningMessage(message));\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar el planeamiento');\r\n }\r\n\r\n this.setState({\r\n loadingPage: false,\r\n });\r\n },\r\n });\r\n }\r\n\r\n render() {\r\n const {\r\n materiaPeriodo,\r\n } = this.props;\r\n\r\n const {\r\n planning,\r\n loading,\r\n loadingPage,\r\n duracionActividad,\r\n page,\r\n changed,\r\n createPlanning,\r\n } = this.state;\r\n\r\n if (loading || !planning || !materiaPeriodo || duracionActividad.length === 0) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nIndexContainer.propTypes = {\r\n materiaPeriodo: PropTypes.shape({}).isRequired,\r\n planningId: PropTypes.number.isRequired,\r\n};\r\n\r\nexport default IndexContainer;\r\n","import {\r\n apiGet,\r\n apiPost,\r\n apiDownload,\r\n} from '../../api/index';\r\nimport { urlPlanning } from '../../api/urls';\r\n\r\nexport function getPlanning({\r\n id, page, onSuccess, onError,\r\n}) {\r\n return apiGet(`${urlPlanning}/${id}/page-${page}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function savePlanning({\r\n page, paylaod, onSuccess, onError,\r\n}) {\r\n return apiPost(`${urlPlanning}/${page}`, paylaod)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function fetchPlanningFormData({ onSuccess, onError }) {\r\n return apiGet(`${urlPlanning}/form-data`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function download({ id, onSuccess, onError }) {\r\n return apiDownload(`${urlPlanning}/download/${id}`)\r\n .then((blob) => {\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = 'Planeamiento.xlsx';\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n if (onSuccess) onSuccess(blob);\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n","const validate = (attrs = {\r\n horarios: [],\r\n}) => {\r\n const errors = {};\r\n\r\n if (!attrs.malla || !attrs.malla.value) {\r\n errors.malla = 'Debe seleccionar una malla';\r\n }\r\n\r\n if (!attrs.periodo || !attrs.periodo.value) {\r\n errors.periodo = 'Debe seleccionar un periodo';\r\n }\r\n\r\n if (!attrs.materia || !attrs.materia.value) {\r\n errors.materia = 'Debe seleccionar una materia';\r\n }\r\n\r\n if (!attrs.profesor || !attrs.profesor.value) {\r\n errors.profesor = 'Debe seleccionar un profesor';\r\n }\r\n\r\n if (attrs.horarios && attrs.horarios.length) {\r\n errors.horarios = [];\r\n attrs.horarios.filter(o => !o.deleted).forEach((obj, index) => {\r\n const error = {};\r\n\r\n if (!obj.tipoActividadAcademicaHorario || !obj.tipoActividadAcademicaHorario.value) {\r\n error.tipoActividadAcademicaHorario = 'Debe ingresar el tipo de actividad academica';\r\n }\r\n if (!obj.profesor || !obj.profesor.value) {\r\n error.profesor = 'Debe seleccionar un profesor';\r\n } else {\r\n const {\r\n profesor, profesorAuxiliar1, profesorAuxiliar2, profesorAuxiliar3,\r\n } = attrs;\r\n const profesorsAvailable = [\r\n profesor || {},\r\n profesorAuxiliar1 || {},\r\n profesorAuxiliar2 || {},\r\n profesorAuxiliar3 || {},\r\n ];\r\n\r\n if (!profesorsAvailable.some(p => p.value && p.value === obj.profesor.value)) {\r\n error.profesor = 'Debe seleccionar el profesor encaregado o auxiliar';\r\n }\r\n }\r\n if (!obj.dia || !obj.dia.value) {\r\n error.dia = 'Debe seleccionar un dia';\r\n }\r\n if (!obj.horaInicio) {\r\n error.horaInicio = 'Debe ingresar la hora';\r\n }\r\n if (!obj.horaFin) {\r\n error.horaFin = 'Debe ingresar la hora';\r\n }\r\n\r\n if (Object.keys(error).length) {\r\n errors.horarios[index] = error;\r\n }\r\n });\r\n }\r\n\r\n if (Object.keys(errors).length) {\r\n console.error(errors);\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n FieldArray,\r\n} from 'redux-form';\r\nimport {\r\n Badge,\r\n Card,\r\n CardBody,\r\n Col,\r\n Button,\r\n Row,\r\n Container,\r\n Nav,\r\n NavItem,\r\n TabPane,\r\n TabContent,\r\n} from 'reactstrap';\r\nimport DataTable from '../../../shared/components/DataTable';\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\nimport renderCheckBoxField from '../../../shared/components/form/CheckBox';\r\nimport TextBox from '../../../shared/components/form/TextBox';\r\nimport renderSelectField from '../../../shared/components/form/Select';\r\nimport PlaneamientoForm from '../../Profesor/PlaneamientoForm/index';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport validate from './validate';\r\n\r\nclass MateriaPeriodoForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onFilterChanges: PropTypes.func.isRequired,\r\n onChangeText: PropTypes.func.isRequired,\r\n onChangeSelect: PropTypes.func.isRequired,\r\n onGetAlumnosMateria: PropTypes.func.isRequired,\r\n onDownloadAlumnosMateriaNotas: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n\r\n onAddSubjectsSchedule: PropTypes.func.isRequired,\r\n onDeleteSubjectSchedule: PropTypes.func.isRequired,\r\n\r\n submitting: PropTypes.bool,\r\n loading: PropTypes.bool.isRequired,\r\n editarAsistencias: PropTypes.bool.isRequired,\r\n\r\n tipoActividadAcademicaHorarios: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n malla: PropTypes.shape({\r\n value: PropTypes.number.isRequired,\r\n label: PropTypes.string.isRequired,\r\n }).isRequired,\r\n periodo: PropTypes.shape({\r\n value: PropTypes.number.isRequired,\r\n label: PropTypes.string.isRequired,\r\n }).isRequired,\r\n materia: PropTypes.shape({\r\n value: PropTypes.number.isRequired,\r\n label: PropTypes.string.isRequired,\r\n }).isRequired,\r\n\r\n profesor: PropTypes.shape({\r\n value: PropTypes.number.isRequired,\r\n label: PropTypes.string.isRequired,\r\n }).isRequired,\r\n profesorAuxiliar1: PropTypes.shape({\r\n value: PropTypes.number.isRequired,\r\n label: PropTypes.string.isRequired,\r\n }).isRequired,\r\n profesorAuxiliar2: PropTypes.shape({\r\n value: PropTypes.number.isRequired,\r\n label: PropTypes.string.isRequired,\r\n }).isRequired,\r\n profesorAuxiliar3: PropTypes.shape({\r\n value: PropTypes.number.isRequired,\r\n label: PropTypes.string.isRequired,\r\n }).isRequired,\r\n\r\n mallas: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n profesores: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n materias: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n periodos: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n diasSemana: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n\r\n filters: PropTypes.shape({}).isRequired,\r\n horarios: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n materiaPeriodo: PropTypes.shape({}).isRequired,\r\n loadingAlumnosMateria: PropTypes.bool.isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n totalItemsCount: PropTypes.number.isRequired,\r\n }\r\n\r\n static defaultProps = {\r\n submitting: false,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n activeTab: '1',\r\n };\r\n\r\n this.columns = ({\r\n calculatePPFromTasks,\r\n canEditTask,\r\n }) => {\r\n const cols = [\r\n {\r\n key: 'numeroDocumento',\r\n name: <>Nº documento,\r\n width: '120px',\r\n search: true,\r\n },\r\n {\r\n key: 'apellidoAlumno',\r\n name: 'Apellido',\r\n visible: false,\r\n search: true,\r\n },\r\n {\r\n key: 'nombreAlumno',\r\n name: 'Nombre',\r\n search: true,\r\n format: row => `${row.apellidoAlumno}, ${row.nombreAlumno}`.trim(),\r\n },\r\n { key: 'email', name: 'E-Mail' },\r\n ];\r\n\r\n return [\r\n ...cols,\r\n ...[\r\n {\r\n key: 'porcentajePP',\r\n name: '% PP',\r\n editable: !calculatePPFromTasks && canEditTask,\r\n type: 'number',\r\n min: 0,\r\n max: 100,\r\n width: '100px',\r\n className: 'text-center',\r\n inputStyle: this.inputStyle,\r\n format: ({ porcentajePP }) => (\r\n \r\n {porcentajePP}\r\n \r\n ),\r\n },\r\n {\r\n key: 'porcentajeAsistencia',\r\n name: '% Asistencia',\r\n type: 'number',\r\n min: '0',\r\n max: '100',\r\n width: '110px',\r\n className: 'text-center',\r\n inputStyle: this.inputStyle,\r\n format: ({ porcentajeAsistencia }) => (\r\n \r\n {Math.round(porcentajeAsistencia)}\r\n \r\n ),\r\n },\r\n {\r\n key: 'actions',\r\n name: 'Accion',\r\n width: '100px',\r\n visible: false,\r\n },\r\n ],\r\n ];\r\n };\r\n\r\n this.actions = [\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (inscription) => {\r\n this.editarNotas(inscription);\r\n },\r\n },\r\n ];\r\n }\r\n\r\n getOptionsTipoActividadAcademica = (tipoActividadAcademica) => {\r\n const { tipoActividadAcademicaHorarios } = this.props;\r\n\r\n return tipoActividadAcademicaHorarios.filter(taa => taa.value === tipoActividadAcademica);\r\n }\r\n\r\n toggle = (tab) => {\r\n const { onGetAlumnosMateria } = this.props;\r\n const { activeTab } = this.state;\r\n if (activeTab !== tab) {\r\n this.setState({ activeTab: tab });\r\n if (tab === '2') {\r\n onGetAlumnosMateria();\r\n }\r\n }\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n getProfesoresMateria = () => {\r\n const {\r\n profesor, profesorAuxiliar1, profesorAuxiliar2, profesorAuxiliar3,\r\n } = this.props;\r\n\r\n return [\r\n profesor || {},\r\n profesorAuxiliar1 || {},\r\n profesorAuxiliar2 || {},\r\n profesorAuxiliar3 || {},\r\n ].filter(p => p.value);\r\n }\r\n\r\n renderHorarios = ({\r\n fields = [],\r\n tipoActividadAcademicaHorarios = [],\r\n diasSemana = [],\r\n horarios = [],\r\n }) => {\r\n const {\r\n onAddSubjectsSchedule, onDeleteSubjectSchedule, onChangeText, onChangeSelect,\r\n } = this.props;\r\n\r\n const profesoresMateria = this.getProfesoresMateria();\r\n\r\n const showBtnAdd = () => {\r\n if (profesoresMateria.length === 0) {\r\n return (\r\n \r\n
\r\n

\r\n \r\n Debe seleccionar un profesor (Encargado o Auxiliar) para agregar los horarios.\r\n \r\n

\r\n
\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n onAddSubjectsSchedule()}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n {' '}\r\n Agregar\r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n

Horario de clases

\r\n \r\n {showBtnAdd()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {fields.map((horario, index) => {\r\n if (!horarios[index]) {\r\n return null;\r\n }\r\n\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
#Tipo ActividadProfesorDíaAulaHora InicioHora Fin{' '}
\r\n
\r\n

{index + 1}

\r\n onChangeSelect({ option: props, name: 'tipoActividadAcademicaHorario', index })\r\n }\r\n options={tipoActividadAcademicaHorarios}\r\n component={renderSelectField}\r\n />\r\n
\r\n
\r\n
\r\n onChangeSelect({ option: props, name: 'profesor', index })}\r\n options={profesoresMateria}\r\n component={renderSelectField}\r\n />\r\n
\r\n
\r\n
\r\n onChangeSelect({ option: props, name: 'dia', index })}\r\n options={diasSemana}\r\n component={renderSelectField}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n onChangeText(v, index)}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n onChangeText(v, index)}\r\n />\r\n
\r\n
\r\n
\r\n onChangeText(v, index)}\r\n />\r\n
\r\n
\r\n onDeleteSubjectSchedule({ index })}\r\n size=\"sm\"\r\n outline\r\n color=\"danger\"\r\n style={{ marginBottom: '0px' }}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n planeamientoForm = () => {\r\n const { materiaPeriodo } = this.props;\r\n return (\r\n \r\n );\r\n };\r\n\r\n render() {\r\n const {\r\n loading,\r\n } = this.props;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n const {\r\n submitting,\r\n handleSubmit,\r\n onFilterChanges,\r\n onBack,\r\n onDownloadAlumnosMateriaNotas,\r\n profesores,\r\n materias,\r\n periodos,\r\n mallas,\r\n diasSemana,\r\n horarios,\r\n tipoActividadAcademicaHorarios,\r\n editarAsistencias,\r\n materiaPeriodo,\r\n loadingAlumnosMateria,\r\n items,\r\n totalItemsCount,\r\n filters,\r\n } = this.props;\r\n\r\n const {\r\n activeTab,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n \r\n
\r\n
Datos de la materia por periodo
\r\n
\r\n \r\n \r\n
\r\n Malla\r\n
\r\n onFilterChanges('malla', 'mallaId', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n Periodo\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Materia\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Profesor Encargado\r\n
\r\n onFilterChanges('profesor', 'profesorId', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n Profesor Auxiliar\r\n
\r\n onFilterChanges('profesorAuxiliar1', 'profesorAuxiliar1Id', v)}\r\n />\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n Profesor Auxiliar\r\n
\r\n onFilterChanges('profesorAuxiliar2', 'profesorAuxiliar2Id', v)}\r\n />\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n Profesor Auxiliar\r\n
\r\n onFilterChanges('profesorAuxiliar3', 'profesorAuxiliar3Id', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n {' '}\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n Sección\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n loadingAlumnosMateria ? (\r\n \r\n \r\n \r\n )\r\n : (\r\n <>\r\n \r\n
\r\n \r\n  \r\n Descargar lista\r\n \r\n
\r\n \r\n this.getGridActions(key)}\r\n onAutoSave={this.autoguardarNota}\r\n itemsToShow={items.length}\r\n page={1}\r\n pageSize={totalItemsCount}\r\n autoHideSearch={filters.autoHideSearch}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n \r\n )\r\n }\r\n
\r\n
\r\n \r\n \r\n {this.planeamientoForm()}\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxMateriaPeriodoForm = reduxForm({\r\n form: 'MateriaPeriodoForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(MateriaPeriodoForm);\r\n\r\nexport default setPropsAsInitialValues(ReduxMateriaPeriodoForm);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n} from 'reactstrap';\r\nimport MateriaPeriodoForm from './MateriaPeriodoForm';\r\nimport {\r\n get,\r\n save,\r\n fetchFormDatas,\r\n fetchSubjectsByMeshId,\r\n fetchSubjectsScheduleBySubjectPeriodId,\r\n getSubjectStudents,\r\n downloadSubjectStudentsScore,\r\n} from '../../../redux/actions/materiaPeriodoActions';\r\n\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../helpers/notification';\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\n\r\nclass MateriaPeriodoContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n mallas: [],\r\n materias: [],\r\n periodos: [],\r\n profesores: [],\r\n tipoActividadAcademicaHorarios: [],\r\n diasSemana: [],\r\n materiaPeriodo: null,\r\n loading: false,\r\n horarios: [],\r\n horarioChanged: 0,\r\n\r\n loadingAlumnosMateria: false,\r\n items: [],\r\n totalItemsCount: 0,\r\n filters: {\r\n page: 1,\r\n pageSize: 20,\r\n numeroDocumento: '',\r\n nombreAlumno: '',\r\n apellidoAlumno: '',\r\n },\r\n };\r\n\r\n this.downloadAlumnosMateriaNotas.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDatasList();\r\n this.updateSubjectsScheduleTable();\r\n }\r\n\r\n downloadAlumnosMateriaNotas = () => {\r\n const { id } = this.props;\r\n this.setState({ loadingAlumnosMateria: true });\r\n downloadSubjectStudentsScore({\r\n id,\r\n onSuccess: () => {\r\n this.setState({ loadingAlumnosMateria: false });\r\n createSuccessMessage('Lista descargada exitosamente');\r\n },\r\n onError: () => {\r\n this.setState({ loadingAlumnosMateria: false });\r\n createErrorMessage('Error al intentar descargar la lista de calificaciones alumnos');\r\n },\r\n });\r\n }\r\n\r\n fetchCurrentRecord = () => {\r\n const { id, history } = this.props;\r\n const state = {};\r\n\r\n if (!id) {\r\n this.setState({\r\n materiaPeriodo: {\r\n id: 0,\r\n date: new Date().toISOString(),\r\n mallaId: null,\r\n malla: { value: 0, label: '-' },\r\n periodoId: null,\r\n periodo: { value: 0, label: '-' },\r\n materia: { value: 0, label: '-' },\r\n materiaMalla: { value: 0, label: '-' },\r\n profesorAuxiliar1: { value: 0, label: '-' },\r\n profesorAuxiliar2: { value: 0, label: '-' },\r\n profesorAuxiliar3: { value: 0, label: '-' },\r\n utilizaPorcentajePesoMateria: false,\r\n ...state,\r\n },\r\n });\r\n\r\n return;\r\n }\r\n\r\n get({\r\n id,\r\n onSuccess: (materiaPeriodo) => {\r\n this.setState({\r\n materiaPeriodo: {\r\n ...materiaPeriodo,\r\n ...state,\r\n },\r\n });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('La materia periodo no existe');\r\n history.push('/pages/subjects-periods');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos de la materia periodo');\r\n }\r\n },\r\n });\r\n }\r\n\r\n fetchDatasList = () => {\r\n fetchFormDatas({\r\n onSuccess: ({\r\n mallas,\r\n periodos,\r\n profesores,\r\n tipoActividadAcademicaHorarios,\r\n diasSemana,\r\n }) => {\r\n const state = {\r\n mallas,\r\n periodos,\r\n profesores,\r\n tipoActividadAcademicaHorarios,\r\n diasSemana,\r\n };\r\n\r\n this.setState(state);\r\n this.fetchCurrentRecord();\r\n },\r\n onError: () => createErrorMessage('Error al intentar cargar los datos requeridos'),\r\n });\r\n }\r\n\r\n updateAlumnosMateria = (page, pageSize, filters) => {\r\n const { id } = this.props;\r\n\r\n this.setState({\r\n loadingAlumnosMateria: true,\r\n filters: filters || {},\r\n });\r\n\r\n getSubjectStudents({\r\n filters,\r\n id,\r\n onSuccess: ({ materias: items }) => {\r\n this.setState({\r\n loadingAlumnosMateria: false,\r\n items,\r\n totalItemsCount: items.length,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({\r\n items: [],\r\n loadingAlumnosMateria: false,\r\n });\r\n createErrorMessage('Error al intentar cargar la lista de alumnos');\r\n },\r\n });\r\n }\r\n\r\n handleAddSubjectsSchedule = () => {\r\n const { horarios = [] } = this.state;\r\n\r\n const newIndex = horarios.length === 0 ? 0 : (Math.max(...horarios.map(({ index }) => index)) + 1);\r\n\r\n this.setState({\r\n horarios: [\r\n ...horarios,\r\n {\r\n id: 0,\r\n index: newIndex,\r\n materiaPeriodo: '',\r\n profesor: {\r\n value: 0,\r\n label: '-',\r\n parentId: 0,\r\n item: null,\r\n },\r\n dia: {\r\n value: 0,\r\n label: '-',\r\n parentId: 0,\r\n item: null,\r\n },\r\n horaInicio: '00:00',\r\n horaFin: '00:00',\r\n aula: '',\r\n tipoActividadAcademicaHorario: {\r\n value: 0,\r\n label: '-',\r\n parentId: 0,\r\n item: null,\r\n },\r\n },\r\n ],\r\n });\r\n }\r\n\r\n handleDeleteSubjectSchedule = ({ index }) => {\r\n const { horarios = [] } = this.state;\r\n const newArray = horarios.map(h => ({\r\n ...h,\r\n deleted: h.deleted || h.index === index,\r\n }));\r\n\r\n this.setState({ horarios: newArray });\r\n }\r\n\r\n fetchSubjects = (meshId) => {\r\n fetchSubjectsByMeshId({\r\n meshId,\r\n onSuccess: (materias) => {\r\n this.setState({ materias });\r\n },\r\n onError: () => createErrorMessage('Error al intentar cargar las materias'),\r\n });\r\n }\r\n\r\n handleSubmit = (values) => {\r\n if (!values) return;\r\n\r\n const {\r\n id,\r\n materia: { value: materiaId },\r\n profesor: { value: profesorId },\r\n malla: { value: mallaId },\r\n materiaMalla: { value: materiaMallaId },\r\n periodo: { value: periodoId },\r\n profesorAuxiliar1,\r\n profesorAuxiliar2,\r\n profesorAuxiliar3,\r\n horarios,\r\n utilizaPorcentajePesoMateria,\r\n editarAsistencias,\r\n seccion,\r\n } = values;\r\n\r\n const params = {\r\n id,\r\n mallaId,\r\n materiaMallaId,\r\n materiaId,\r\n profesorId,\r\n periodoId,\r\n profesorAuxiliar1Id: profesorAuxiliar1 ? profesorAuxiliar1.value : 0,\r\n profesorAuxiliar2Id: profesorAuxiliar2 ? profesorAuxiliar2.value : 0,\r\n profesorAuxiliar3Id: profesorAuxiliar3 ? profesorAuxiliar3.value : 0,\r\n horarios,\r\n utilizaPorcentajePesoMateria,\r\n editarAsistencias,\r\n seccion,\r\n };\r\n\r\n save(params, {\r\n onSuccess: () => {\r\n createSuccessMessage('Materia por periodo guardada exitosamente');\r\n\r\n const { history } = this.props;\r\n history.push('/pages/subjects-periods');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la materia periodo');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n handleOnFilterChanges = (objectKey, idKey, item) => {\r\n let { materiaPeriodo } = this.state;\r\n\r\n materiaPeriodo = {\r\n ...materiaPeriodo,\r\n [idKey]: item.value,\r\n [objectKey]: item,\r\n };\r\n\r\n const {\r\n malla: { value: mallaId },\r\n } = materiaPeriodo;\r\n\r\n this.setState({ materiaPeriodo });\r\n\r\n if (mallaId) {\r\n this.fetchSubjects(mallaId);\r\n }\r\n }\r\n\r\n updateSubjectsScheduleTable = () => {\r\n const { id } = this.props;\r\n\r\n if (!id) {\r\n this.setState({\r\n horarios: [],\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n fetchSubjectsScheduleBySubjectPeriodId({\r\n subjectId: id,\r\n onSuccess: (horarios) => {\r\n this.setState({\r\n loading: false,\r\n horarios: horarios.map((h, index) => ({ ...h, index })),\r\n });\r\n },\r\n onError: (error) => {\r\n this.setState({ horarios: [], loading: false });\r\n if (error && error.status === 404) {\r\n createErrorMessage('La horario de clases no existe');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos del horario de clases');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleChangeText = (e, index) => {\r\n const { horarios } = this.state;\r\n\r\n const value = e.target.type === 'number' ? Number(e.target.value) : `${e.target.value}`.trim();\r\n\r\n const newHorarios = [...horarios];\r\n newHorarios[index] = {\r\n ...newHorarios[index],\r\n ...{\r\n [e.target.name.split('.')[1]]: value,\r\n },\r\n };\r\n\r\n this.setState({ horarios: newHorarios });\r\n };\r\n\r\n handleChangeSelect = ({ option, name, index }) => {\r\n this.setState({ loading: true });\r\n\r\n const { horarios } = this.state;\r\n const newHorarios = [...horarios];\r\n const data = {\r\n [name]: option,\r\n index,\r\n };\r\n\r\n newHorarios[index] = {\r\n ...newHorarios[index],\r\n ...data,\r\n };\r\n\r\n this.setState({\r\n horarios: newHorarios,\r\n loading: false,\r\n horarioChanged: new Date().getTime(),\r\n });\r\n };\r\n\r\n render() {\r\n const { id, history } = this.props;\r\n\r\n const {\r\n materiaPeriodo,\r\n materias,\r\n profesores,\r\n mallas,\r\n periodos,\r\n tipoActividadAcademicaHorarios,\r\n diasSemana,\r\n loading,\r\n horarios,\r\n horarioChanged,\r\n loadingAlumnosMateria,\r\n items,\r\n filters,\r\n totalItemsCount,\r\n } = this.state;\r\n\r\n const showForm = profesores && mallas && materiaPeriodo && tipoActividadAcademicaHorarios.length;\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n {id ? 'Editar' : 'Nueva'} materia periodo\r\n

\r\n

\r\n {id ? 'Modificar ' : 'Ingresa '}\r\n la materia periodo\r\n

\r\n \r\n
\r\n \r\n \r\n {\r\n !showForm || loading\r\n ? ()\r\n : (\r\n \r\n )\r\n }\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nMateriaPeriodoContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default MateriaPeriodoContainer;\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Col,\r\n Container,\r\n Row,\r\n Card,\r\n CardBody,\r\n Badge,\r\n Alert,\r\n} from 'reactstrap';\r\nimport { getAllSubjectsDashboard } from '../../redux/actions/professorActions';\r\nimport { createErrorMessage } from '../../helpers/notification';\r\nimport LoadingSpinner from '../../shared/components/LoadingSpinner';\r\n\r\nclass ProfesorDashboardContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n items: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.loadFormData();\r\n }\r\n\r\n loadFormData = () => {\r\n getAllSubjectsDashboard({\r\n onSuccess: (items) => {\r\n this.setState({\r\n loading: false,\r\n items,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de materias');\r\n },\r\n });\r\n }\r\n\r\n verMateria = (id) => {\r\n const { history } = this.props;\r\n history.push(`/pages/profesor-subjects/${id}`);\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n this.loadFormData();\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n } = this.state;\r\n\r\n if (loading) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n Tablero\r\n

\r\n \r\n
\r\n \r\n \r\n {(!items || !items.length) && (\r\n

\r\n \r\n
\r\n No tienes materias marcadas para ver en el Tablero.\r\n
\r\n
\r\n Puedes marcar las estrellas{' '}\r\n \r\n {\r\n ' en tu listado de \"Mis Materias\" para mostrarlas en el Tablero.'\r\n }\r\n
\r\n
\r\n

\r\n )\r\n }\r\n {items && items.length && (\r\n \r\n \r\n
\r\n
\r\n

\r\n {'Lista de materias favoritas '}\r\n \r\n

\r\n
\r\n \r\n \r\n {items.map(g => (\r\n \r\n this.verMateria(g.id)}\r\n className=\"link-card card-subject pb-0\"\r\n >\r\n \r\n
\r\n

\r\n \r\n #{g.id}\r\n \r\n {g.materia}\r\n
{g.seccion}
\r\n

\r\n
\r\n
\r\n {g.malla}\r\n
\r\n\r\n \r\n \r\n {g.semestreNroOrden} º Semestre\r\n \r\n \r\n Año {g.anho}\r\n \r\n \r\n \r\n .\r\n \r\n
\r\n 0 ? 'primary' : 'secondary'}\r\n pill\r\n >\r\n {g.cantidadInscriptos}\r\n \r\n {g.cantidadInscriptos === 1 ? ' Alumno' : ' Alumnos'}\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n ))}\r\n
\r\n
\r\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 withRouter(ProfesorDashboardContainer);\r\n","import {\r\n apiGet,\r\n apiPost,\r\n} from '../../api/index';\r\nimport { urlProfessors } from '../../api/urls';\r\n\r\nexport function getSubjects(showAll, params) {\r\n return apiPost(`${urlProfessors}/subjects/${showAll}`, params.pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function getAllSubjectsDashboard(params) {\r\n return apiGet(`${urlProfessors}/all_subjects_dashboard`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function addToFavorites(inscripcion, callback) {\r\n return apiPost(`${urlProfessors}/add_subject_dashboard`, inscripcion)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch(async (error) => {\r\n if (callback && callback.onError) callback.onError(await error.json());\r\n });\r\n}\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport { connect } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n Badge,\r\n} from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\n\r\nimport {\r\n getSubjects,\r\n addToFavorites,\r\n} from '../../redux/actions/professorActions';\r\nimport { fetchFormDatas } from '../../redux/actions/periodoActions';\r\nimport { SidebarProps } from '../../shared/prop-types/ReducerProps';\r\n\r\nimport {\r\n createErrorMessage,\r\n createWarningMessage,\r\n createSuccessMessage,\r\n} from '../../helpers/notification';\r\nimport LoadingSpinner from '../../shared/components/LoadingSpinner';\r\nimport { Roles } from '../../constants/enums';\r\n\r\nclass ProfesorSubjectsContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n const user = JSON.parse(localStorage.getItem('currentUser')) || {};\r\n\r\n this.state = {\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n loading: true,\r\n items: [],\r\n filters: { id: 20 },\r\n periodos: [],\r\n };\r\n this.columns = [\r\n {\r\n key: 'mostrarEnTablero',\r\n name: 'Tablero',\r\n width: '80px',\r\n search: false,\r\n visible: this.showStarIcon(user),\r\n icon: {\r\n callback: row => (this.onAddToFavoritesSubmit(row)),\r\n component: row => (\r\n \r\n ),\r\n },\r\n },\r\n {\r\n key: 'profesor',\r\n name: 'Profesor',\r\n search: this.showNombre(user),\r\n visible: this.showNombre(user),\r\n },\r\n {\r\n key: 'codigoMateria',\r\n name: 'Codigo Materia',\r\n search: true,\r\n visible: false,\r\n },\r\n {\r\n key: 'materia',\r\n name: 'Materia',\r\n format: row => `${row.codigoMateria} - ${row.materia} - ${row.seccion}`,\r\n search: true,\r\n width: '300px',\r\n },\r\n {\r\n key: 'periodo',\r\n name: 'Periodo',\r\n search: true,\r\n visible: true,\r\n className: 'text-center',\r\n width: '200px',\r\n type: 'select',\r\n searchProps: {\r\n options: this.getPeriodos,\r\n },\r\n format: row => `${row.periodo ? row.periodo : '-'}`,\r\n },\r\n {\r\n key: 'malla',\r\n name: 'Malla',\r\n width: '190px',\r\n className: 'text-center',\r\n search: true,\r\n format: row => row.malla,\r\n },\r\n {\r\n key: 'carrera',\r\n name: 'Carrera',\r\n search: true,\r\n format: row => row.carrera,\r\n },\r\n {\r\n key: 'numeroSemestre',\r\n name: 'Semestre',\r\n type: 'number',\r\n search: true,\r\n format: row => `${row.semestreNroOrden}º`,\r\n width: '70px',\r\n className: 'text-center',\r\n },\r\n {\r\n key: 'cantidadInscriptos',\r\n name: 'Alumnos',\r\n type: 'number',\r\n search: false,\r\n format: row => (\r\n
\r\n 0 ? 'primary' : 'secondary'}\r\n pill\r\n >\r\n {row.cantidadInscriptos}\r\n \r\n
\r\n ),\r\n width: '70px',\r\n className: 'text-center',\r\n },\r\n { key: 'actions', name: 'Acción', width: '85px' },\r\n ];\r\n this.actions = [\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (row) => {\r\n this.editRow(row);\r\n },\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDatasList();\r\n }\r\n\r\n getViewPageAs = () => {\r\n const { sidebar: { viewPageAs } } = this.props;\r\n return viewPageAs;\r\n }\r\n\r\n showStarIcon = (user) => {\r\n const viewAsProfesor = this.getViewPageAs() === Roles.Profesor;\r\n return (user.esProfesor && !user.esAdmin) || (user.esProfesor && user.esAdmin && viewAsProfesor);\r\n }\r\n\r\n showNombre = (user) => {\r\n const viewAsAdmin = this.getViewPageAs() === Roles.Admin;\r\n return user.esAdmin && viewAsAdmin;\r\n }\r\n\r\n updateSubjectsTable = (page, pageSize, filters = {}) => {\r\n const {\r\n periodo = { value: 0, label: '-' },\r\n numeroSemestre = 0,\r\n } = filters;\r\n\r\n const params = {\r\n ...filters,\r\n numeroSemestre: Number(numeroSemestre),\r\n periodoId: periodo.value,\r\n };\r\n\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: params,\r\n });\r\n\r\n const { sidebar: { viewPageAs } } = this.props;\r\n\r\n getSubjects(\r\n viewPageAs !== 0,\r\n {\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters: params,\r\n },\r\n onSuccess: (pageInfo) => {\r\n this.setState({\r\n loading: false,\r\n items: pageInfo.items,\r\n totalItemsCount: pageInfo.totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de materias');\r\n },\r\n },\r\n );\r\n }\r\n\r\n fetchDatasList = () => {\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n fetchFormDatas({\r\n onSuccess: ({ periodos }) => {\r\n this.setState({\r\n periodos,\r\n loading: false,\r\n });\r\n\r\n const { page, pageSize } = this.state;\r\n this.updateSubjectsTable(page, pageSize);\r\n },\r\n onError: (error) => {\r\n console.log(error);\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n editRow = (row) => {\r\n const { history } = this.props;\r\n history.push(`/pages/profesor-subjects/${row.id}`);\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateSubjectsTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateSubjectsTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateSubjectsTable(1, pageSize, {});\r\n };\r\n\r\n onAddToFavoritesSubmit = (row) => {\r\n if (row) {\r\n addToFavorites(row.id, {\r\n onSuccess: () => {\r\n const { items } = this.state;\r\n\r\n const newState = items.map(item => (\r\n item.id === row.id ? { ...item, mostrarEnTablero: !row.mostrarEnTablero } : item\r\n ));\r\n\r\n this.setState({\r\n items: newState,\r\n });\r\n\r\n createSuccessMessage(\r\n `Materia ${(!row.mostrarEnTablero ? 'agregada al' : 'quitada del')} tablero exitosamente`,\r\n );\r\n },\r\n onError: async (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Error al intentar quitar la materia del tablero ');\r\n }\r\n },\r\n });\r\n }\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n getPeriodos = () => {\r\n const { periodos = [] } = this.state;\r\n\r\n return periodos;\r\n };\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n return (\r\n \r\n \r\n \r\n

Materias asignadas

\r\n \r\n
\r\n \r\n {loading ? \r\n : (\r\n this.getGridActions(key)}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n )\r\n }\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nProfesorSubjectsContainer.propTypes = {\r\n sidebar: SidebarProps.isRequired,\r\n};\r\n\r\nexport default withRouter(connect(state => ({\r\n sidebar: state.sidebar,\r\n}))(ProfesorSubjectsContainer));\r\n","const validate = ({\r\n descripcion = '', puntajeTotal = 0, fechaEntrega = '',\r\n}) => {\r\n const errors = {};\r\n\r\n if (!descripcion) {\r\n errors.descripcion = 'Debe ingresar un valor';\r\n }\r\n\r\n if (!puntajeTotal || puntajeTotal <= 0) {\r\n errors.puntajeTotal = 'Debe ingresar un valor';\r\n }\r\n\r\n if (!fechaEntrega) {\r\n errors.fechaEntrega = 'Debe ingresar una fecha';\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n Field,\r\n} from 'redux-form';\r\n\r\nimport TextBox from '../../../../shared/components/form/TextBox';\r\n\r\nconst StudentsScoresTable = ({\r\n fields = {},\r\n meta: { error, submitFailed },\r\n onChangeText,\r\n onSort,\r\n items,\r\n puntajeTotal,\r\n editScore,\r\n sortColumn,\r\n sortType,\r\n}) => {\r\n const inputStyle = {\r\n fontSize: '16px',\r\n height: '28px',\r\n color: 'greenyellow',\r\n textAlign: 'center',\r\n fontWeight: 'bold',\r\n };\r\n\r\n const readOnlyFields = true;\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n onSort({ sortColumn: 'nombre', sortType })}\r\n scope=\"col col-3\"\r\n >\r\n Nombre{' '}\r\n \r\n \r\n onSort({ sortColumn: 'apellido', sortType })}\r\n scope=\"col col-3\"\r\n >\r\n Apellido{' '}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {fields.map((tarea, index) => (\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n ))}\r\n \r\n
Número de documentoPuntaje Obtenido
\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n onChangeText({\r\n target,\r\n name: fields.name,\r\n numeroDocumento: items[index] && items[index].numeroDocumento,\r\n })}\r\n parse={value => Number(value)}\r\n readOnly={editScore}\r\n disabled={editScore}\r\n />\r\n
\r\n
\r\n
\r\n {\r\n submitFailed && error && (\r\n \r\n {error}\r\n \r\n )\r\n }\r\n \r\n );\r\n};\r\n\r\nStudentsScoresTable.propTypes = {\r\n onChangeText: PropTypes.func.isRequired,\r\n onSort: PropTypes.func.isRequired,\r\n fields: PropTypes.shape({}).isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n meta: PropTypes.shape({}),\r\n puntajeTotal: PropTypes.number,\r\n sortColumn: PropTypes.string,\r\n sortType: PropTypes.string,\r\n editScore: PropTypes.bool.isRequired,\r\n};\r\n\r\nStudentsScoresTable.defaultProps = {\r\n meta: {},\r\n puntajeTotal: 0,\r\n sortColumn: 'nombre',\r\n sortType: 'asc',\r\n};\r\n\r\nexport default StudentsScoresTable;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n FieldArray,\r\n} from 'redux-form';\r\nimport {\r\n Card,\r\n CardBody,\r\n Col,\r\n Row,\r\n FormGroup,\r\n Label,\r\n Badge,\r\n} from 'reactstrap';\r\nimport TextBox from '../../../../shared/components/form/TextBox';\r\nimport setPropsAsInitialValues from '../../../../helpers/setPropsAsInitialValues';\r\nimport validate from './validate';\r\nimport StudentsScoresTable from './StudentsScoresTable';\r\nimport {\r\n dateFormat,\r\n dateTimeFormat,\r\n} from '../../../../helpers/dateFormat';\r\n\r\nclass HomeworkForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n handleChangeText: PropTypes.func.isRequired,\r\n handleSort: PropTypes.func.isRequired,\r\n handleFilterChangeText: PropTypes.func.isRequired,\r\n\r\n showSpinner: PropTypes.func.isRequired,\r\n\r\n submitting: PropTypes.bool,\r\n loading: PropTypes.bool.isRequired,\r\n tareaMateriaAlumnos: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n puntajeTotal: PropTypes.number.isRequired,\r\n canEdit: PropTypes.bool,\r\n filterValue: PropTypes.string,\r\n sortColumn: PropTypes.string.isRequired,\r\n sortType: PropTypes.string.isRequired,\r\n utilizaPorcentajePesoMateria: PropTypes.bool.isRequired,\r\n finCalificarTareas: PropTypes.string.isRequired,\r\n }\r\n\r\n static defaultProps = {\r\n submitting: false,\r\n canEdit: true,\r\n filterValue: '',\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n format = (date = '') => {\r\n if (date) {\r\n return dateFormat(date.split('T')[0]);\r\n }\r\n\r\n return '';\r\n };\r\n\r\n render() {\r\n const {\r\n loading,\r\n showSpinner,\r\n } = this.props;\r\n\r\n if (loading) {\r\n return showSpinner();\r\n }\r\n\r\n const {\r\n handleSubmit,\r\n handleChangeText,\r\n handleSort,\r\n handleFilterChangeText,\r\n submitting,\r\n onBack,\r\n puntajeTotal,\r\n canEdit,\r\n tareaMateriaAlumnos,\r\n filterValue,\r\n utilizaPorcentajePesoMateria,\r\n finCalificarTareas,\r\n sortColumn,\r\n sortType,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n {canEdit ? (\r\n Guardar\r\n \r\n ) : null\r\n }\r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n \r\n
\r\n
Datos de la tarea
\r\n
\r\n \r\n {!canEdit && finCalificarTareas ? (\r\n \r\n
\r\n

\r\n \r\n Fecha Límite Calificar Tareas {dateTimeFormat(finCalificarTareas)}\r\n \r\n

\r\n
\r\n \r\n ) : null\r\n }\r\n \r\n
\r\n Tarea\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Puntaje Total\r\n
\r\n Number(val)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n Porcentaje Peso Materia\r\n
\r\n (utilizaPorcentajePesoMateria ? value : '')}\r\n parse={val => Number(val)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n Fecha Entrega\r\n
\r\n (canEdit ? value : this.format(value))}\r\n />\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n {canEdit ? (\r\n Guardar\r\n \r\n ) : null\r\n }\r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxHomeworkForm = reduxForm({\r\n form: 'HomeworkForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(HomeworkForm);\r\n\r\nexport default setPropsAsInitialValues(ReduxHomeworkForm);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n} from 'reactstrap';\r\nimport Form from './form';\r\nimport {\r\n getHomework,\r\n saveHomework,\r\n updateScoreHomework,\r\n} from '../../../../redux/actions/materiaPeriodoActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../../helpers/notification';\r\nimport LoadingSpinner from '../../../../shared/components/LoadingSpinner';\r\nimport debounce from '../../../../helpers/debounce';\r\n\r\nclass HomeworkContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n tarea: {\r\n tareaMateriaAlumnos: [],\r\n },\r\n loading: false,\r\n filterValue: '',\r\n sortColumn: 'apellido',\r\n sortType: 'desc',\r\n };\r\n\r\n this.debouncedAutoSaveScore = debounce(this.autoSaveScore, 500);\r\n }\r\n\r\n componentDidMount() {\r\n const { id } = this.props;\r\n this.fetchCurrentRecord(id);\r\n }\r\n\r\n fetchCurrentRecord = (id) => {\r\n this.setState({ loading: true });\r\n\r\n if (!id) {\r\n this.setState({\r\n loading: false,\r\n tarea: {\r\n id: 0,\r\n descripcion: '',\r\n },\r\n });\r\n\r\n return;\r\n }\r\n\r\n getHomework({\r\n id,\r\n onSuccess: (tarea) => {\r\n const { fechaEntrega } = tarea;\r\n this.setState({\r\n loading: false,\r\n tarea: {\r\n ...tarea,\r\n ...{\r\n fechaEntrega: fechaEntrega.split('T')[0],\r\n },\r\n },\r\n });\r\n },\r\n onError: (error) => {\r\n this.setState({ loading: false });\r\n\r\n if (error && error.status === 404) {\r\n createErrorMessage('La tarea de clase no existe');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos de la tarea de clase');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleSubmit = (values) => {\r\n if (!values) return;\r\n\r\n this.setState({ loading: true });\r\n\r\n const {\r\n id,\r\n materiaPeriodoId,\r\n descripcion,\r\n fechaEntrega,\r\n puntajeTotal,\r\n porcentajePesoMateria,\r\n deleted,\r\n } = values;\r\n\r\n const { utilizaPorcentajePesoMateria } = this.props;\r\n\r\n saveHomework({\r\n paylaod: {\r\n id,\r\n materiaPeriodoId,\r\n descripcion,\r\n fechaEntrega,\r\n puntajeTotal,\r\n porcentajePesoMateria: utilizaPorcentajePesoMateria ? porcentajePesoMateria : 0,\r\n deleted,\r\n },\r\n onSuccess: (tareaId) => {\r\n this.setState({ loading: false });\r\n\r\n this.fetchCurrentRecord(tareaId);\r\n createSuccessMessage('Tarea de clase guardada exitosamente');\r\n },\r\n onError: (error) => {\r\n this.setState({ loading: false });\r\n\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la tarea de clase');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleOnBack = () => {\r\n const { onHideForm } = this.props;\r\n onHideForm();\r\n }\r\n\r\n handleChangeText = ({\r\n name,\r\n target,\r\n numeroDocumento,\r\n }) => {\r\n const value = target.type === 'number'\r\n ? Number(target.value)\r\n : `${target.value}`.trim();\r\n\r\n if (numeroDocumento) {\r\n const { tarea } = this.state;\r\n const items = tarea[name];\r\n\r\n const newArray = [...items];\r\n const index = newArray.findIndex(item => item.numeroDocumento === numeroDocumento);\r\n\r\n newArray[index] = {\r\n ...newArray[index],\r\n ...{\r\n [target.name.split('.')[1]]: value,\r\n },\r\n };\r\n\r\n this.setState({\r\n tarea: {\r\n ...tarea,\r\n [name]: newArray,\r\n },\r\n });\r\n\r\n this.debouncedAutoSaveScore(newArray[index]);\r\n\r\n return;\r\n }\r\n\r\n this.setState(prev => ({\r\n tarea: {\r\n ...prev.tarea,\r\n ...{\r\n [target.name]: value,\r\n },\r\n },\r\n }));\r\n };\r\n\r\n handleSort = ({ sortColumn, sortType }) => {\r\n this.setState({\r\n sortColumn,\r\n sortType: sortType === 'desc' ? 'asc' : 'desc',\r\n });\r\n };\r\n\r\n handleFilterChangeText = ({ target: { value } }) => {\r\n this.setState({ filterValue: value });\r\n };\r\n\r\n transformText = (value = '') => value.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').toLowerCase();\r\n\r\n getTareaMateriaAlumnos = () => {\r\n const {\r\n filterValue = '',\r\n sortColumn,\r\n sortType,\r\n tarea: { tareaMateriaAlumnos = [] },\r\n } = this.state;\r\n\r\n const filter = this.transformText(filterValue);\r\n\r\n const result = tareaMateriaAlumnos\r\n .filter(tma => (\r\n this.transformText(tma.numeroDocumento).includes(filter)\r\n || this.transformText(tma.nombre).includes(filter)\r\n || this.transformText(tma.apellido).includes(filter)\r\n ))\r\n .sort((a, b) => (\r\n sortType !== 'asc' ? a[sortColumn].localeCompare(b[sortColumn]) : b[sortColumn].localeCompare(a[sortColumn])\r\n ));\r\n\r\n return result;\r\n };\r\n\r\n autoSaveScore = (row) => {\r\n if (!row) return;\r\n\r\n const {\r\n id,\r\n inscripcionMateriaId,\r\n puntajeObtenido,\r\n tareaMateriaId,\r\n } = row;\r\n\r\n updateScoreHomework({\r\n id,\r\n inscripcionMateriaId,\r\n puntajeObtenido,\r\n tareaMateriaId,\r\n }, {\r\n onSuccess: () => {\r\n createSuccessMessage('Puntaje actualizado exitosamente.');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar el puntaje.');\r\n }\r\n },\r\n });\r\n };\r\n\r\n render() {\r\n const {\r\n id,\r\n materiaPeriodoId,\r\n utilizaPorcentajePesoMateria,\r\n } = this.props;\r\n\r\n const {\r\n tarea,\r\n loading,\r\n filterValue,\r\n sortColumn,\r\n sortType,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n {id ? 'Editar' : 'Nueva'} tarea de clase\r\n

\r\n

\r\n {id ? 'Modificar ' : 'Ingresa '}\r\n tarea de clase\r\n

\r\n \r\n
\r\n \r\n \r\n {\r\n loading ? \r\n : (\r\n \r\n )\r\n }\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nHomeworkContainer.propTypes = {\r\n id: PropTypes.number.isRequired,\r\n materiaPeriodoId: PropTypes.number.isRequired,\r\n utilizaPorcentajePesoMateria: PropTypes.bool.isRequired,\r\n finCalificarTareas: PropTypes.string.isRequired,\r\n onHideForm: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default HomeworkContainer;\r\n","import React, { PureComponent } from 'react';\r\n// import { withRouter } from 'react-router';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n Badge,\r\n UncontrolledPopover,\r\n PopoverHeader,\r\n PopoverBody,\r\n} from 'reactstrap';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport DataTable from '../../../shared/components/DataTable';\r\nimport renderCheckBoxField from '../../../shared/components/form/CheckBox';\r\n\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\nimport {\r\n filterHomework,\r\n removeHomework,\r\n} from '../../../redux/actions/materiaPeriodoActions';\r\nimport Confirm from '../../../shared/components/Confirm';\r\nimport {\r\n dateFormat,\r\n dateTimeFormat,\r\n} from '../../../helpers/dateFormat';\r\nimport { createErrorMessage, createSuccessMessage } from '../../../helpers/notification';\r\nimport HomeworkForm from './HomeworkForm/index';\r\n\r\nclass HomeworkContainer extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n materiaPeriodoId: PropTypes.number.isRequired,\r\n utilizaPorcentajePesoMateria: PropTypes.bool.isRequired,\r\n finCalificarTareas: PropTypes.string.isRequired,\r\n canEdit: PropTypes.bool.isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n loading: true,\r\n items: [],\r\n filters: { id: 10 },\r\n showForm: false,\r\n recordId: 0,\r\n utilizaPorcentajePesoMateria: false,\r\n };\r\n\r\n this.handleSubmit.bind(this);\r\n\r\n this.columns = utilizaPorcentajePesoMateria => [\r\n { key: 'id', name: '#', width: '85px' },\r\n {\r\n key: 'descripcion', name: 'Tarea', width: '85px', search: true,\r\n },\r\n {\r\n key: 'puntajeTotal',\r\n name: 'Puntaje Total',\r\n width: '85px',\r\n className: 'text-center',\r\n format: row => `${row.puntajeTotal}`,\r\n },\r\n {\r\n key: 'porcentajePesoMateria',\r\n name: 'Porcentaje Peso Materia',\r\n width: '85px',\r\n className: 'text-center',\r\n format: row => `${utilizaPorcentajePesoMateria ? row.porcentajePesoMateria : 'Sin Peso'}`,\r\n },\r\n {\r\n key: 'fechaEntrega',\r\n name: 'Fecha Entrega',\r\n search: false,\r\n className: 'text-center',\r\n width: '150px',\r\n format: row => dateFormat(row.fechaEntrega),\r\n },\r\n {\r\n key: 'actions',\r\n name: 'Accion',\r\n width: '85px',\r\n className: 'text-center',\r\n },\r\n ];\r\n this.actions = [\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (record) => {\r\n this.edit(record);\r\n },\r\n },\r\n {\r\n key: 'delete',\r\n visible: false,\r\n icon: row => (\r\n <>\r\n \r\n \r\n No se puede borrar la tarea\r\n Hay alumnos que entregaron la tarea.\r\n \r\n \r\n ),\r\n callback: (record) => {\r\n if (!record.cantidadInscriptos) {\r\n this.handleDeleteAction(record);\r\n }\r\n },\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n const { page, pageSize } = this.state;\r\n this.updateTable(page, pageSize);\r\n }\r\n\r\n updateTable = (page, pageSize, filters) => {\r\n const {\r\n materiaPeriodoId,\r\n } = this.props;\r\n\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n });\r\n\r\n filterHomework({\r\n materiaPeriodoId,\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters,\r\n },\r\n onSuccess: ({ items, totalItemsCount }) => {\r\n this.setState({\r\n loading: false,\r\n items,\r\n totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de materias por periodo');\r\n },\r\n });\r\n }\r\n\r\n handleDeleteAction = (record) => {\r\n const name = `${record.descripcion}`;\r\n Confirm({\r\n title: 'Borrar tarea de clase',\r\n question: `Estás seguro que deseas eliminar esta tarea \"${name}\"?`,\r\n yesLabel: 'Si, Borrar',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n removeHomework(record.id, {\r\n onSuccess: () => {\r\n createSuccessMessage('Tarea borrado exitosamente');\r\n const { page, pageSize } = this.state;\r\n this.updateTable(page, pageSize);\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('La tarea no existe');\r\n } else {\r\n createErrorMessage('Error al intentar borrar tarea');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n handleHideForm = () => {\r\n this.setState({\r\n showForm: false,\r\n recordId: 0,\r\n });\r\n\r\n this.onDataTableClearFilters();\r\n };\r\n\r\n edit = (record) => {\r\n this.setState({\r\n showForm: true,\r\n recordId: record.id,\r\n });\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize, filters } = this.state;\r\n const { autoHideSearch } = filters;\r\n this.updateTable(1, pageSize, { autoHideSearch });\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n handleSubmit = () => {\r\n const { handleSubmit } = this.props;\r\n const { utilizaPorcentajePesoMateria } = this.state;\r\n\r\n handleSubmit({ utilizaPorcentajePesoMateria });\r\n };\r\n\r\n render() {\r\n const {\r\n loading,\r\n } = this.state;\r\n\r\n const {\r\n finCalificarTareas,\r\n } = this.props;\r\n\r\n if (loading || !finCalificarTareas) {\r\n return ;\r\n }\r\n\r\n const {\r\n materiaPeriodoId,\r\n utilizaPorcentajePesoMateria,\r\n canEdit,\r\n } = this.props;\r\n\r\n const {\r\n showForm,\r\n recordId,\r\n } = this.state;\r\n\r\n if (showForm) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n const {\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

Lista de tareas de clase

\r\n\r\n

\r\n \r\n Fecha Límite Calificar Tareas {dateTimeFormat(finCalificarTareas)}\r\n \r\n

\r\n {canEdit ? (\r\n
\r\n this.edit({ id: 0 })}\r\n >\r\n Agregar Nueva Tarea\r\n \r\n
\r\n ) : null\r\n }\r\n \r\n \r\n
\r\n {canEdit ? (\r\n
\r\n Cambiar\r\n \r\n
\r\n ) : null}\r\n \r\n \r\n \r\n Utiliza Porcentaje Peso\r\n
\r\n this.setState({ utilizaPorcentajePesoMateria: target.checked })}\r\n />\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n this.getGridActions(key)}\r\n onAutoSave={this.autoguardarNota}\r\n itemsToShow={items.length}\r\n page={page}\r\n pageSize={pageSize}\r\n autoHideSearch={filters.autoHideSearch}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nconst ReduxHomeworkContainer = reduxForm({\r\n form: 'HomeworkContainer',\r\n // validate,\r\n enableReinitialize: true,\r\n})(HomeworkContainer);\r\n\r\nexport default setPropsAsInitialValues(ReduxHomeworkContainer);\r\n","const validate = ({ date = '' }) => {\r\n const errors = {};\r\n\r\n if (!date) {\r\n errors.date = 'Debe ingresar una fecha';\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nclass ToggleButtonField extends PureComponent {\r\n static propTypes = {\r\n onChange: PropTypes.func.isRequired,\r\n name: PropTypes.string.isRequired,\r\n // defaultChecked: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n value: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.bool,\r\n ]).isRequired,\r\n };\r\n\r\n static defaultProps = {\r\n // defaultChecked: false,\r\n disabled: false,\r\n };\r\n\r\n componentDidMount() {\r\n // const { onChange, defaultChecked } = this.props;\r\n // onChange(defaultChecked);\r\n }\r\n\r\n render() {\r\n const {\r\n name, disabled, value, onChange,\r\n } = this.props;\r\n\r\n return (\r\n
\r\n \r\n onChange(!value)}\r\n >Toggle\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nconst renderToggleButtonField = (props) => {\r\n const { input, defaultChecked, disabled } = props;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nrenderToggleButtonField.propTypes = {\r\n input: PropTypes.shape({\r\n onChange: PropTypes.func,\r\n name: PropTypes.string,\r\n }).isRequired,\r\n defaultChecked: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n};\r\n\r\nrenderToggleButtonField.defaultProps = {\r\n defaultChecked: null,\r\n disabled: false,\r\n};\r\n\r\nexport default renderToggleButtonField;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n Field,\r\n} from 'redux-form';\r\n\r\n// import renderCheckBoxField from '../../../shared/components/form/CheckBox';\r\nimport renderToggleButtonField from '../../../shared/components/form/ToggleButton';\r\n\r\nconst StudentAssistancesTable = ({\r\n fields = {},\r\n meta: { error, submitFailed },\r\n onChangeChecked,\r\n onSort,\r\n items,\r\n present,\r\n editScore,\r\n sortColumn,\r\n sortType,\r\n}) => {\r\n const checkBoxLabelStyle = {\r\n marginTop: '0px',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n };\r\n\r\n const thStyle = {\r\n padding: '0.07rem',\r\n };\r\n\r\n if (!thStyle) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n onSort({ sortColumn: 'name', sortType })}\r\n scope=\"col col-3\"\r\n >\r\n Nombre{' '}\r\n \r\n \r\n onSort({ sortColumn: 'surname', sortType })}\r\n scope=\"col col-3\"\r\n >\r\n Apellido{' '}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {fields.map((student, index) => (\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n ))}\r\n \r\n
Número de documentoPresente
\r\n {items[index] && items[index].doc}\r\n \r\n {items[index] && items[index].name}\r\n \r\n {items[index] && items[index].surname}\r\n \r\n
\r\n \r\n {\r\n onChangeChecked({\r\n name: fields.name,\r\n target: { name: `${student}.present`, checked },\r\n doc: items[index] && items[index].doc,\r\n });\r\n }\r\n }\r\n readOnly={editScore}\r\n disabled={editScore}\r\n />\r\n
\r\n \r\n
\r\n {\r\n submitFailed && error && (\r\n \r\n {error}\r\n \r\n )\r\n }\r\n \r\n );\r\n};\r\n\r\nStudentAssistancesTable.propTypes = {\r\n onChangeChecked: PropTypes.func.isRequired,\r\n onSort: PropTypes.func.isRequired,\r\n fields: PropTypes.shape({}).isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n meta: PropTypes.shape({}),\r\n present: PropTypes.bool,\r\n sortColumn: PropTypes.string,\r\n sortType: PropTypes.string,\r\n editScore: PropTypes.bool.isRequired,\r\n};\r\n\r\nStudentAssistancesTable.defaultProps = {\r\n meta: {},\r\n present: null,\r\n sortColumn: 'name',\r\n sortType: 'asc',\r\n};\r\n\r\nexport default StudentAssistancesTable;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n FieldArray,\r\n} from 'redux-form';\r\nimport {\r\n Card,\r\n CardBody,\r\n Col,\r\n} from 'reactstrap';\r\n\r\nimport TextBox from '../../../shared/components/form/TextBox';\r\nimport renderSelectField from '../../../shared/components/form/Select';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport validate from './validate';\r\nimport StudentAssistancesTable from './studentAssistancesTable';\r\nimport {\r\n dateFormat,\r\n} from '../../../helpers/dateFormat';\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\n\r\nclass AssistanceForm extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n };\r\n }\r\n\r\n format = (date = '') => {\r\n if (date) {\r\n return dateFormat(date.split('T')[0]);\r\n }\r\n\r\n return '';\r\n };\r\n\r\n render() {\r\n const {\r\n loading,\r\n } = this.props;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n const {\r\n handleSubmit,\r\n onChangeChecked,\r\n handleSort,\r\n handleFilterChangeText,\r\n handleChangeText,\r\n submitting,\r\n onBack,\r\n logContents,\r\n canEdit,\r\n students,\r\n id,\r\n date,\r\n room,\r\n reference,\r\n filterValue,\r\n sortColumn,\r\n sortType,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n
\r\n {canEdit ? (\r\n Guardar\r\n \r\n ) : null\r\n }\r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n \r\n
\r\n
Datos de la asistencia{id ? ` #${id}` : ''}
\r\n
\r\n \r\n \r\n
\r\n Registro Contenido\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Fecha\r\n
\r\n (canEdit ? value : this.format(value))}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n Aula\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Referencia\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n Filtrar alumnos:\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n {canEdit ? (\r\n Guardar\r\n \r\n ) : null\r\n }\r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst ReduxAssistanceForm = reduxForm({\r\n form: 'AssistanceForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(AssistanceForm);\r\n\r\nexport default setPropsAsInitialValues(ReduxAssistanceForm);\r\n\r\nAssistanceForm.propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n onChangeChecked: PropTypes.func.isRequired,\r\n handleSort: PropTypes.func.isRequired,\r\n handleFilterChangeText: PropTypes.func.isRequired,\r\n handleChangeText: PropTypes.func.isRequired,\r\n\r\n submitting: PropTypes.bool,\r\n loading: PropTypes.bool.isRequired,\r\n students: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n logContents: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n logContent: PropTypes.shape({}),\r\n id: PropTypes.number,\r\n date: PropTypes.string,\r\n room: PropTypes.string,\r\n reference: PropTypes.string,\r\n\r\n canEdit: PropTypes.bool,\r\n filterValue: PropTypes.string,\r\n sortColumn: PropTypes.string.isRequired,\r\n sortType: PropTypes.string.isRequired,\r\n};\r\n\r\nAssistanceForm.defaultProps = {\r\n submitting: false,\r\n canEdit: true,\r\n filterValue: '',\r\n id: 0,\r\n logContent: null,\r\n reference: null,\r\n date: '',\r\n room: '',\r\n};\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n} from 'reactstrap';\r\nimport Form from './form';\r\nimport {\r\n fetch,\r\n saveAssistance,\r\n updatePresenceStundent,\r\n} from '../../../redux/actions/assistanceActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../helpers/notification';\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\nimport debounce from '../../../helpers/debounce';\r\n\r\nclass AssistanceFormContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n assistance: {\r\n reference: '',\r\n date: '',\r\n room: '',\r\n logContent: { value: 0 },\r\n students: [],\r\n },\r\n loading: false,\r\n filterValue: '',\r\n sortColumn: 'surname',\r\n sortType: 'desc',\r\n };\r\n\r\n this.debouncedAutoSavePresent = debounce(this.autoSavePresent, 500);\r\n }\r\n\r\n componentDidMount() {\r\n const { id } = this.props;\r\n this.getAssistance({ id });\r\n }\r\n\r\n getAssistance = ({ id }) => {\r\n if (!id) {\r\n this.setState({\r\n assistance: {},\r\n loading: false,\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n fetch({\r\n id,\r\n onSuccess: ({\r\n date, room, reference, logContent, students = [],\r\n }) => {\r\n this.setState({\r\n assistance: {\r\n id,\r\n date: date.split('T')[0],\r\n room,\r\n reference,\r\n logContent,\r\n students,\r\n },\r\n loading: false,\r\n });\r\n },\r\n onError: (error) => {\r\n this.setState({\r\n assistance: {},\r\n loading: false,\r\n });\r\n\r\n if (error && error.status === 404) {\r\n createWarningMessage('La asistencia no existe');\r\n return;\r\n }\r\n\r\n createErrorMessage('Error al intentar cargar los datos de la asistencia');\r\n },\r\n });\r\n }\r\n\r\n handleSubmit = (values = {}) => {\r\n if (!Object.entries(values).length) return;\r\n\r\n this.setState({ loading: true });\r\n const {\r\n id,\r\n logContent = { value: null },\r\n room,\r\n reference,\r\n date,\r\n present = false,\r\n } = values;\r\n\r\n const { subjectPeriodId } = this.props;\r\n\r\n saveAssistance({\r\n payload: {\r\n id,\r\n subjectPeriodId,\r\n logContentId: logContent && logContent.value,\r\n room,\r\n reference,\r\n date,\r\n present,\r\n },\r\n onSuccess: ({ payload = {} }) => {\r\n this.setState({\r\n ...payload,\r\n loading: false,\r\n });\r\n this.handleOnBack();\r\n createSuccessMessage('Asistencia guardado exitosamente');\r\n },\r\n onError: (error) => {\r\n this.setState({ loading: false });\r\n\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la asistencia');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleOnBack = () => {\r\n const { onHideForm } = this.props;\r\n onHideForm();\r\n }\r\n\r\n handleChangeChecked = ({\r\n name,\r\n target = {},\r\n doc,\r\n }) => {\r\n if (target.checked === undefined) {\r\n return;\r\n }\r\n\r\n const value = target.checked;\r\n if (doc) {\r\n const { assistance } = this.state;\r\n const items = assistance[name];\r\n\r\n const newArray = [...items];\r\n const index = newArray.findIndex(item => item.doc === doc);\r\n\r\n newArray[index] = {\r\n ...newArray[index],\r\n ...{\r\n [target.name.split('.')[1]]: value,\r\n },\r\n };\r\n\r\n this.setState({\r\n assistance: {\r\n ...assistance,\r\n [name]: newArray,\r\n },\r\n });\r\n\r\n this.debouncedAutoSavePresent({ ...newArray[index], assistanceId: assistance.id });\r\n return;\r\n }\r\n\r\n this.setState(prev => ({\r\n assistance: {\r\n ...prev.assistance,\r\n ...{\r\n [target.name]: value,\r\n },\r\n },\r\n }));\r\n };\r\n\r\n handleSort = ({ sortColumn, sortType }) => {\r\n this.setState({\r\n sortColumn,\r\n sortType: sortType === 'desc' ? 'asc' : 'desc',\r\n });\r\n };\r\n\r\n handleFilterChangeText = ({ target: { value } }) => {\r\n this.setState({ filterValue: value });\r\n };\r\n\r\n handleChangeText = ({ target: { value } }) => {\r\n const { assistance } = this.state;\r\n this.setState({\r\n assistance: {\r\n ...assistance,\r\n reference: value,\r\n },\r\n });\r\n };\r\n\r\n transformText = (value = '') => value.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').toLowerCase();\r\n\r\n getStudents = () => {\r\n const {\r\n filterValue = '',\r\n sortColumn,\r\n sortType,\r\n assistance: { students = [] },\r\n } = this.state;\r\n\r\n const filter = this.transformText(filterValue);\r\n const result = students\r\n .filter(tma => (\r\n this.transformText(tma.doc).includes(filter)\r\n || this.transformText(tma.name).includes(filter)\r\n || this.transformText(tma.surname).includes(filter)\r\n ))\r\n .sort((a, b) => (sortType !== 'asc'\r\n ? a[sortColumn].localeCompare(b[sortColumn])\r\n : b[sortColumn].localeCompare(a[sortColumn])\r\n ));\r\n\r\n return result;\r\n };\r\n\r\n autoSavePresent = (row = {}) => {\r\n const {\r\n assistanceId,\r\n studentId,\r\n present,\r\n } = row;\r\n\r\n if (!assistanceId || present == null) return;\r\n\r\n updatePresenceStundent({\r\n assistanceId,\r\n payload: {\r\n assistanceId,\r\n studentId,\r\n present,\r\n },\r\n onSuccess: () => {\r\n createSuccessMessage('Asistencia actualizado exitosamente.');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la asistencia.');\r\n }\r\n },\r\n });\r\n };\r\n\r\n assistanceForm = () => {\r\n const {\r\n id,\r\n logContents,\r\n } = this.props;\r\n\r\n const {\r\n assistance,\r\n loading,\r\n filterValue,\r\n sortColumn,\r\n sortType,\r\n } = this.state;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const {\r\n id,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n {id ? 'Editar' : 'Nueva'} asistencia\r\n

\r\n

\r\n {id ? 'Modificar ' : 'Ingresa '}\r\n asistencia\r\n

\r\n \r\n
\r\n \r\n \r\n {this.assistanceForm()}\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nAssistanceFormContainer.propTypes = {\r\n id: PropTypes.number.isRequired,\r\n subjectPeriodId: PropTypes.number.isRequired,\r\n logContents: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n onHideForm: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default AssistanceFormContainer;\r\n","import React, { Fragment } from 'react';\r\nimport { Provider } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { Modal } from 'reactstrap';\r\nimport { confirmAlert } from 'react-confirm-alert';\r\n\r\nimport store from '../../App/store';\r\n\r\nimport { ThemeProps } from '../../../shared/prop-types/ReducerProps';\r\nimport Form from './form';\r\n\r\nconst FormModal = (props) => {\r\n const {\r\n id,\r\n subjectPeriodId,\r\n onHideForm,\r\n logContents,\r\n title,\r\n onConfirm,\r\n onCancel = () => {\r\n },\r\n color,\r\n } = props;\r\n\r\n const { theme } = store.getState();\r\n\r\n const modalClass = 'modal-dialog--header';\r\n\r\n const customUI = ({ onClose }) => (\r\n \r\n
\r\n

{title}

\r\n
\r\n
\r\n \r\n \r\n { onCancel(); onClose(); onHideForm(); }}\r\n handleSubmit={values => onConfirm({ ...values, onClose })}\r\n />\r\n \r\n \r\n
\r\n \r\n );\r\n\r\n customUI.propTypes = {\r\n onClose: PropTypes.func.isRequired,\r\n };\r\n\r\n return confirmAlert({\r\n customUI,\r\n });\r\n};\r\n\r\nFormModal.propTypes = {\r\n title: PropTypes.string.isRequired,\r\n theme: ThemeProps.isRequired,\r\n id: PropTypes.number.isRequired,\r\n subjectPeriodId: PropTypes.number.isRequired,\r\n onHideForm: PropTypes.func.isRequired,\r\n logContents: PropTypes.arrayOf(PropTypes.shape({\r\n value: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number,\r\n ]),\r\n label: PropTypes.string,\r\n })).isRequired,\r\n // onConfirm: PropTypes.func.isRequired,\r\n // onCancel: PropTypes.func.isRequired,\r\n};\r\n\r\nFormModal.defaultProps = {\r\n yesLabel: 'Guardar',\r\n noLabel: 'Cancelar',\r\n};\r\n\r\nexport default FormModal;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n reduxForm,\r\n} from 'redux-form';\r\nimport {\r\n Badge,\r\n Col,\r\n Container,\r\n Row,\r\n Popover,\r\n PopoverHeader,\r\n PopoverBody,\r\n} from 'reactstrap';\r\nimport setPropsAsInitialValues from '../../helpers/setPropsAsInitialValues';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport TooltipItem from '../../shared/components/TooltipItem';\r\nimport LoadingSpinner from '../../shared/components/LoadingSpinner';\r\nimport {\r\n fetch,\r\n updatePresenceStundent,\r\n fetchAll,\r\n fetchFormDatas,\r\n deleteAssistance,\r\n} from '../../redux/actions/assistanceActions';\r\nimport Confirm from '../../shared/components/Confirm';\r\nimport {\r\n dateFormat,\r\n dateMMFormat,\r\n dateDDFormat,\r\n} from '../../helpers/dateFormat';\r\nimport {\r\n createErrorMessage, createSuccessMessage, createWarningMessage,\r\n} from '../../helpers/notification';\r\nimport AssistanceForm from './Form';\r\nimport AssistanceFormModal from './Form/formModal';\r\n\r\nconst AssistValues = [\r\n {\r\n value: null, label: '​➖', description: '-', color: 'secondary',\r\n },\r\n {\r\n value: true, label: '✔️', description: 'Presente', color: 'success',\r\n },\r\n {\r\n value: false, label: '​❌', description: 'Ausente', color: 'danger',\r\n },\r\n];\r\n\r\nfunction OwnerPopover({\r\n assistanceId,\r\n date,\r\n reference,\r\n onGetAssistance,\r\n onGetCurrentStudent,\r\n onNextPage,\r\n onPreviousPage,\r\n onPresent,\r\n onAbsent,\r\n onClose,\r\n}) {\r\n const [open, setOpen] = React.useState(false);\r\n const [assistance, setAssistance] = React.useState(false);\r\n const toggle = () => setOpen(!open);\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {`#${assistanceId}, ${dateFormat(date)}, Ref:`}\r\n {\r\n {reference || ''}\r\n }\r\n
\r\n {\r\n setOpen(false);\r\n setAssistance(false);\r\n onClose();\r\n }}\r\n >\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n {\r\n onGetCurrentStudent({\r\n assistance,\r\n assistanceId,\r\n date,\r\n reference,\r\n setAssistance,\r\n onGetAssistance,\r\n onPreviousPage,\r\n onNextPage,\r\n onPresent,\r\n onAbsent,\r\n })\r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n\r\nOwnerPopover.propTypes = {\r\n assistanceId: PropTypes.number.isRequired,\r\n date: PropTypes.string.isRequired,\r\n reference: PropTypes.string.isRequired,\r\n onGetAssistance: PropTypes.func.isRequired,\r\n onGetCurrentStudent: PropTypes.func.isRequired,\r\n onNextPage: PropTypes.func.isRequired,\r\n onPreviousPage: PropTypes.func.isRequired,\r\n onPresent: PropTypes.func.isRequired,\r\n onAbsent: PropTypes.func.isRequired,\r\n onClose: PropTypes.func.isRequired,\r\n};\r\n\r\nclass AssistanceContainer extends PureComponent {\r\n static propTypes = {\r\n subjectPeriodId: PropTypes.number.isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n loading: true,\r\n loadingAssists: false,\r\n items: [],\r\n assists: [],\r\n studentAssists: [],\r\n filters: { id: 10 },\r\n showForm: false,\r\n showFormModal: false,\r\n logContents: [],\r\n id: 0,\r\n students: [],\r\n currentStudentId: 0,\r\n };\r\n\r\n this.columns = ({ assists, studentAssists, canEditTask }) => {\r\n const cols = [\r\n {\r\n key: 'doc',\r\n name: 'Nº doc',\r\n width: '100px',\r\n search: true,\r\n },\r\n {\r\n key: 'surname',\r\n name: 'Apellido',\r\n visible: false,\r\n search: true,\r\n },\r\n {\r\n key: 'name',\r\n name: 'Nombre',\r\n search: true,\r\n width: '300px',\r\n format: ({ surname, name }) => `${surname}, ${name}`.trim(),\r\n },\r\n ];\r\n\r\n const groupByAssistance = assists.map(({ id, date, reference }) => ({ assistanceId: id, date, reference }));\r\n\r\n const assistanceByStudents = studentAssists\r\n .map(({ assistanceId, studentId, present }) => ({ assistanceId, studentId, present }));\r\n const assistanceLength = groupByAssistance.length;\r\n const attendancePerc = [];\r\n\r\n studentAssists\r\n .map(({ studentId, present }) => ({ studentId, present }))\r\n .reduce((res, { studentId, present }) => {\r\n if (!res[studentId]) {\r\n res[studentId] = { studentId, ok: 0 };\r\n attendancePerc.push(res[studentId]);\r\n }\r\n\r\n res[studentId].ok += present ? 1 : 0;\r\n\r\n return res;\r\n }, {});\r\n\r\n const assistanceHeaders = groupByAssistance.map(a => ({\r\n key: `assistance${a.assistanceId}`,\r\n name: (\r\n
\r\n
{dateDDFormat(a.date)}
\r\n \r\n \r\n \r\n \r\n
\r\n ),\r\n width: '75px',\r\n className: 'text-center',\r\n format: ({ studentId }) => {\r\n const assistanceByStudent = assistanceByStudents\r\n .find(as => as.assistanceId === a.assistanceId && as.studentId === studentId);\r\n\r\n if (!assistanceByStudent || assistanceByStudent.present === null) {\r\n return ​➖;\r\n }\r\n\r\n if (assistanceByStudent.present === false) {\r\n return (\r\n ​❌\r\n );\r\n }\r\n\r\n return (\r\n ✔️\r\n );\r\n },\r\n }));\r\n\r\n return [\r\n ...cols,\r\n ...[\r\n {\r\n key: 'assistPerc',\r\n name: '% Asistencia',\r\n editable: canEditTask,\r\n width: '110px',\r\n className: 'text-center',\r\n inputStyle: this.inputStyle,\r\n format: ({ studentId: id }) => (\r\n \r\n {\r\n attendancePerc.filter(({ studentId }) => id === studentId)\r\n .map(({ ok }) => Math.round((ok / assistanceLength) * 100))[0]\r\n || 0\r\n }\r\n \r\n ),\r\n },\r\n ],\r\n ...assistanceHeaders,\r\n ];\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.refreshTable();\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n const {\r\n page, pageSize, totalItemsCount, filters,\r\n } = this.state;\r\n const state = { filters };\r\n\r\n // Typical usage (don't forget to compare props):\r\n if (page !== prevState.page) {\r\n state.page = page;\r\n }\r\n\r\n if (pageSize !== prevState.pageSize) {\r\n state.pageSize = pageSize;\r\n }\r\n\r\n if (totalItemsCount !== prevState.totalItemsCount) {\r\n state.totalItemsCount = totalItemsCount;\r\n }\r\n }\r\n\r\n handlePresent = ({ assistanceId, studentId }) => {\r\n if (!assistanceId || !studentId) {\r\n return;\r\n }\r\n\r\n this.setState({ loadingAssists: true });\r\n\r\n const { students } = this.state;\r\n\r\n updatePresenceStundent({\r\n assistanceId,\r\n payload: {\r\n assistanceId, studentId, present: true,\r\n },\r\n onSuccess: ({ payload = {} }) => {\r\n createSuccessMessage('Asistencia tomada éxitosamente');\r\n\r\n const newArray = [...students];\r\n const index = newArray.findIndex(item => item.studentId === studentId);\r\n\r\n newArray[index] = {\r\n ...newArray[index],\r\n present: payload.present || false,\r\n };\r\n\r\n this.setState({\r\n students: newArray,\r\n loadingAssists: false,\r\n });\r\n\r\n this.nextPage();\r\n },\r\n onError: (error) => {\r\n this.setState({\r\n loadingAssists: false,\r\n });\r\n\r\n if (error && error.status === 404) {\r\n createWarningMessage('La asistencia no existe');\r\n return;\r\n }\r\n\r\n createErrorMessage('Error al intentar cargar los datos de la asistencia');\r\n },\r\n });\r\n }\r\n\r\n handleAbsent = ({ assistanceId, studentId }) => {\r\n if (!assistanceId || !studentId) {\r\n return;\r\n }\r\n\r\n this.setState({ loadingAssists: true });\r\n\r\n const { students } = this.state;\r\n\r\n updatePresenceStundent({\r\n assistanceId,\r\n payload: {\r\n assistanceId, studentId, present: false,\r\n },\r\n onSuccess: ({ present }) => {\r\n createSuccessMessage('Asistencia tomada éxitosamente');\r\n\r\n const newArray = [...students];\r\n const index = newArray.findIndex(item => item.studentId === studentId);\r\n\r\n newArray[index] = {\r\n ...newArray[index],\r\n present,\r\n };\r\n\r\n this.setState({\r\n students: newArray,\r\n loadingAssists: false,\r\n });\r\n\r\n this.nextPage();\r\n },\r\n onError: (error) => {\r\n this.setState({\r\n loadingAssists: false,\r\n });\r\n\r\n if (error && error.status === 404) {\r\n createWarningMessage('La asistencia no existe');\r\n return;\r\n }\r\n\r\n createErrorMessage('Error al intentar cargar los datos de la asistencia');\r\n },\r\n });\r\n }\r\n\r\n getAssistance = ({ id }) => {\r\n if (!id) {\r\n this.setState({\r\n students: [],\r\n loading: false,\r\n currentStudentId: 0,\r\n });\r\n\r\n return;\r\n }\r\n\r\n fetch({\r\n id,\r\n onSuccess: ({\r\n students = [],\r\n }) => {\r\n this.setState({\r\n students,\r\n loading: false,\r\n currentStudentId: 0,\r\n });\r\n if (students.length) {\r\n this.nextPage();\r\n return;\r\n }\r\n\r\n createWarningMessage('La asistencia no tiene alumnos');\r\n },\r\n onError: (error) => {\r\n this.setState({\r\n students: [],\r\n loading: false,\r\n currentStudentId: 0,\r\n });\r\n\r\n if (error && error.status === 404) {\r\n createWarningMessage('La asistencia no existe');\r\n return;\r\n }\r\n\r\n createErrorMessage('Error al intentar cargar los datos de la asistencia');\r\n },\r\n });\r\n }\r\n\r\n refreshTable = (criteria = {}) => {\r\n const {\r\n page = 1, pageSize = 25, totalItemsCount = 0, filters = {},\r\n } = criteria;\r\n\r\n const state = {\r\n filters: filters || { logContent: [] },\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n };\r\n\r\n this.refreshFormDatas();\r\n\r\n this.fetchTable({ ...state });\r\n }\r\n\r\n refreshFormDatas = () => {\r\n const { subjectPeriodId } = this.props;\r\n\r\n this.setState({ loading: true });\r\n fetchFormDatas({\r\n subjectPeriodId,\r\n onSuccess: ({\r\n logContents,\r\n }) => this.setState({\r\n loading: false,\r\n logContents,\r\n }),\r\n onError: () => {\r\n this.setState({\r\n loading: false,\r\n logContents: [],\r\n });\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n fetchTable = ({ page, pageSize, filters }) => {\r\n const {\r\n subjectPeriodId,\r\n } = this.props;\r\n\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n });\r\n\r\n fetchAll({\r\n subjectPeriodId,\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters,\r\n },\r\n onSuccess: ({ pageInfo, assists, studentAssists }) => {\r\n const { items, totalItemsCount } = pageInfo;\r\n this.setState({\r\n loading: false,\r\n items,\r\n totalItemsCount,\r\n assists,\r\n studentAssists,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de materias por periodo');\r\n },\r\n });\r\n }\r\n\r\n handleDeleteAction = (record) => {\r\n const { page, pageSize } = this.state;\r\n this.refreshTable({ page, pageSize });\r\n\r\n const name = `#${record.id}, ${dateFormat(record.date)}, Ref:${record.reference || ''}`;\r\n Confirm({\r\n title: 'Borrar asistencia',\r\n question: `Estás seguro que deseas eliminar esta asistencia \"${name}\"?`,\r\n yesLabel: 'Si, Borrar',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n deleteAssistance(record.id, {\r\n onSuccess: () => {\r\n createSuccessMessage('Asistencia borrada exitosamente');\r\n this.refreshTable({ page, pageSize });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('La asistencia no existe');\r\n } else {\r\n createErrorMessage('Error al intentar borrar asistencia');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n handleHideForm = () => {\r\n this.setState({\r\n showForm: false,\r\n showFormModal: false,\r\n });\r\n\r\n this.refreshTable();\r\n };\r\n\r\n editAssistance = ({ id = 0 }) => {\r\n this.refreshFormDatas();\r\n if (id === 0) {\r\n this.setState({\r\n id, showFormModal: true, showForm: false,\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.setState({\r\n id, showForm: true, showFormModal: false,\r\n });\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.refreshTable({ page, pageSize, filters });\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.refreshTable({ page: 1, pageSize, filters: values });\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize, filters } = this.state;\r\n const { autoHideSearch } = filters;\r\n this.refreshTable({ page: 1, pageSize, filters: { autoHideSearch } });\r\n };\r\n\r\n nextPage = () => {\r\n const { students = [], currentStudentId } = this.state;\r\n\r\n const index = students.findIndex(s => s.studentId === currentStudentId);\r\n const newIndex = index + 1 === students.length ? 0 : index + 1;\r\n\r\n const student = students[newIndex];\r\n\r\n this.setState({ currentStudentId: student.studentId });\r\n };\r\n\r\n previousPage = () => {\r\n const { students = [], currentStudentId } = this.state;\r\n\r\n const index = students.findIndex(s => s.studentId === currentStudentId);\r\n const { studentId } = students[index === 0 ? students.length - 1 : index - 1];\r\n\r\n this.setState({ currentStudentId: studentId });\r\n };\r\n\r\n getCurrentStudent = ({\r\n assistance,\r\n assistanceId,\r\n date,\r\n reference,\r\n setAssistance,\r\n onGetAssistance,\r\n onPreviousPage,\r\n onNextPage,\r\n onPresent,\r\n onAbsent,\r\n }) => {\r\n const { students = [], currentStudentId } = this.state;\r\n const studentIndex = students.findIndex(s => s.studentId === currentStudentId);\r\n\r\n if (!assistance) {\r\n return (\r\n \r\n \r\n
\r\n
\r\n {\r\n setAssistance(true);\r\n onGetAssistance({ id: assistanceId });\r\n }}\r\n style={{ marginBottom: '0' }}\r\n >\r\n Tomar asistencia\r\n \r\n
\r\n
\r\n {\r\n this.editAssistance({ id: assistanceId });\r\n }}\r\n style={{ marginBottom: '0' }}\r\n >\r\n Editar asistencia\r\n \r\n
\r\n
\r\n {\r\n this.handleDeleteAction({\r\n id: assistanceId,\r\n date,\r\n reference,\r\n });\r\n }}\r\n style={{ marginBottom: '0' }}\r\n >\r\n Borrar asistencia\r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n }\r\n if (studentIndex === -1) {\r\n return <>;\r\n }\r\n\r\n const {\r\n doc, name, surname, present = false,\r\n } = students[studentIndex];\r\n\r\n const [assistanceValue] = AssistValues.filter(a => a.value === present);\r\n\r\n return (\r\n <>\r\n \r\n \r\n
Nº documento: {doc}
\r\n
{surname}
\r\n
{name}
\r\n \r\n \r\n \r\n {\r\n this.assistanceButtons({\r\n assistanceId,\r\n currentStudentId,\r\n assistanceValue,\r\n onPreviousPage,\r\n onNextPage,\r\n onPresent,\r\n onAbsent,\r\n pointerStudent: `${studentIndex + 1}/${students.length}`,\r\n })\r\n }\r\n \r\n \r\n );\r\n }\r\n\r\n assistanceButtons = ({\r\n assistanceId,\r\n currentStudentId,\r\n assistanceValue,\r\n onPreviousPage,\r\n onNextPage,\r\n onPresent,\r\n onAbsent,\r\n pointerStudent,\r\n }) => {\r\n const { loadingAssists } = this.state;\r\n if (loadingAssists) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
{pointerStudent}
\r\n \r\n {assistanceValue.description}\r\n \r\n
\r\n onPresent({ assistanceId, studentId: currentStudentId })}\r\n >\r\n \r\n \r\n onAbsent({ assistanceId, studentId: currentStudentId })}\r\n >\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n\r\n addButton = () => {\r\n const { showForm, showFormModal } = this.state;\r\n\r\n if (showForm || showFormModal) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n this.editAssistance({ id: 0 })}\r\n >\r\n Agregar Nueva Asistencia\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n studentAssistanceForm = () => {\r\n const {\r\n id, logContents, showForm,\r\n } = this.state;\r\n\r\n const { subjectPeriodId } = this.props;\r\n if (!subjectPeriodId || !showForm) {\r\n return null;\r\n }\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n studentAssistanceFormModal = () => {\r\n const {\r\n id, logContents, showFormModal,\r\n } = this.state;\r\n\r\n const { subjectPeriodId } = this.props;\r\n if (!subjectPeriodId || !showFormModal) {\r\n return null;\r\n }\r\n const show = false;\r\n if (show) {\r\n AssistanceFormModal({\r\n title: Nueva Asistencia,\r\n id,\r\n subjectPeriodId,\r\n logContents,\r\n onHideForm: this.handleHideForm,\r\n color: 'primary',\r\n onValueChanges: (key, value) => {\r\n console.log(key, value);\r\n const { currentInscription } = this.state;\r\n this.setState({ currentInscription: { ...currentInscription, [key]: +value } });\r\n },\r\n onConfirm: (value) => {\r\n console.log(value);\r\n },\r\n });\r\n\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n dataTable = () => {\r\n const {\r\n showForm,\r\n showFormModal,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n assists,\r\n studentAssists,\r\n } = this.state;\r\n\r\n if (showForm || showFormModal) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n this.getGridActions(key, row)}\r\n itemsToShow={items.length}\r\n page={page}\r\n pageSize={pageSize}\r\n autoHideSearch={filters.autoHideSearch}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n \r\n );\r\n };\r\n\r\n render() {\r\n const {\r\n loading,\r\n } = this.state;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n {this.addButton()}\r\n {this.studentAssistanceForm()}\r\n {this.studentAssistanceFormModal()}\r\n {this.dataTable()}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxAssistanceContainer = reduxForm({\r\n form: 'AssistanceContainer',\r\n enableReinitialize: true,\r\n})(AssistanceContainer);\r\n\r\nexport default setPropsAsInitialValues(ReduxAssistanceContainer);\r\n","import React from 'react';\r\nimport { confirmAlert } from 'react-confirm-alert';\r\nimport {\r\n Button,\r\n ButtonToolbar,\r\n Modal,\r\n Col,\r\n} from 'reactstrap';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\n\r\nconst EditarNotasDialog = ({\r\n inscripcionMateria,\r\n onConfirm,\r\n onValueChanges,\r\n}) => {\r\n const color = 'form';\r\n const modalClass = 'modal-dialog--header';\r\n const {\r\n fechaInscripcion,\r\n nombreAlumno,\r\n apellidoAlumno,\r\n porcentajeAsistencia = 0,\r\n porcentajePP = 0,\r\n } = inscripcionMateria;\r\n const inscripcion = moment(fechaInscripcion);\r\n\r\n const customUI = ({ onClose }) => {\r\n const validate = (values) => {\r\n const attrs = values || {};\r\n if (attrs.porcentajeAsistencia < 0 || attrs.porcentajeAsistencia > 100) {\r\n return 'Debe ingresar un porcentaje válido(0-100)';\r\n }\r\n if (attrs.porcentajePP < 0 || attrs.porcentajePP > 100) {\r\n return 'Debe ingresar un porcentaje válido(0-100)';\r\n }\r\n\r\n return '';\r\n };\r\n\r\n let errors = {\r\n porcentajeAsistencia: '',\r\n porcentajePP: '',\r\n };\r\n\r\n const handleChange = (event) => {\r\n event.persist();\r\n const values = { [event.target.name]: +event.currentTarget.value };\r\n errors = { ...errors, [event.target.name]: validate(values) };\r\n\r\n onValueChanges(event.target.name, +event.currentTarget.value);\r\n\r\n document.getElementById('lblPorcentajeAsistencia').textContent = errors.porcentajeAsistencia;\r\n\r\n document.getElementById('lblPorcentajePP').textContent = errors.porcentajePP;\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n

Editar Asistencia / Notas

\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n Alumno\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Fecha de inscripcion\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n Porcentaje de asistencia\r\n
\r\n \r\n .\r\n
\r\n
\r\n \r\n \r\n
\r\n Porcentaje PP\r\n
\r\n \r\n .\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {!errors.porcentajePP\r\n && (\r\n {\r\n onConfirm();\r\n onClose();\r\n }}\r\n >\r\n Guardar\r\n \r\n )\r\n }\r\n \r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n customUI.propTypes = {\r\n onClose: PropTypes.func.isRequired,\r\n };\r\n\r\n confirmAlert({\r\n customUI,\r\n });\r\n};\r\n\r\nEditarNotasDialog.propTypes = {\r\n inscripcionMateria: PropTypes.shape({}).isRequired,\r\n onConfirm: PropTypes.func.isRequired,\r\n onValueChanges: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default EditarNotasDialog;\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n Spinner,\r\n Nav,\r\n NavItem,\r\n TabPane,\r\n TabContent,\r\n Button,\r\n Badge,\r\n} from 'reactstrap';\r\n\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport LoadingSpinner from '../../shared/components/LoadingSpinner';\r\nimport {\r\n get,\r\n getSubjectStudents,\r\n downloadSubjectStudents,\r\n downloadSubjectStudentsScore,\r\n changeUtilizaPorcentajePesoMateria,\r\n} from '../../redux/actions/materiaPeriodoActions';\r\n\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../helpers/notification';\r\nimport {\r\n actualizarNotas,\r\n} from '../../redux/actions/studentSubjectsActions';\r\nimport PlaneamientoForm from './PlaneamientoForm/index';\r\nimport Homework from '../MateriasPeriodo/Homework/index';\r\nimport StudentAssistance from '../Assistance';\r\n\r\nimport EditarNotasDialog from './EditarNotasDialog';\r\n\r\nclass ProfessorDataContainer extends PureComponent {\r\n static propTypes = {\r\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n loadingAlumnosMateria: true,\r\n items: [],\r\n tareas: [],\r\n filters: {\r\n page: 1,\r\n pageSize: 20,\r\n numeroDocumento: '',\r\n nombreAlumno: '',\r\n apellidoAlumno: '',\r\n },\r\n activeTab: '1',\r\n currentInscription: {},\r\n materiaPeriodo: null,\r\n };\r\n\r\n this.inputStyle = {\r\n fontSize: '18px',\r\n color: 'greenyellow',\r\n textAlign: 'center',\r\n fontWeight: 'bold',\r\n backgroundColor: 'transparent',\r\n };\r\n\r\n this.columnsStudents = [\r\n {\r\n key: 'numeroDocumento',\r\n name: 'Nº documento',\r\n width: '130px',\r\n search: true,\r\n },\r\n {\r\n key: 'apellidoAlumno',\r\n name: 'Apellido',\r\n search: true,\r\n },\r\n {\r\n key: 'nombreAlumno',\r\n name: 'Nombre',\r\n search: true,\r\n },\r\n { key: 'phoneNumber', name: 'Teléfono' },\r\n { key: 'email', name: 'E-Mail' },\r\n ];\r\n\r\n this.columns = ({\r\n calculatePPFromTasks,\r\n tareas,\r\n canEditTask,\r\n showAssistPercentageInScores,\r\n }) => {\r\n const cols = [\r\n {\r\n key: 'numeroDocumento',\r\n name: 'Nº documento',\r\n width: '120px',\r\n search: true,\r\n },\r\n {\r\n key: 'apellidoAlumno',\r\n name: 'Apellido',\r\n visible: false,\r\n search: true,\r\n },\r\n {\r\n key: 'nombreAlumno',\r\n name: 'Nombre',\r\n search: true,\r\n format: row => `${row.apellidoAlumno}, ${row.nombreAlumno}`.trim(),\r\n },\r\n ];\r\n\r\n const scores = tareas.map(t => ({\r\n key: `tareas${t.id}`,\r\n name: `Tarea #${t.id} ${t.utilizaPorcentajePesoMateria ? `(${t.porcentajePesoMateria})%` : ''}`,\r\n width: '126px',\r\n className: 'text-center',\r\n format: ({ calificaciones = [] }) => (\r\n <>\r\n {calificaciones.filter(c => c.tareaId === t.id).map(c => c.puntaje)[0] || 0}\r\n {'/'}\r\n {t.puntajeTotal}\r\n \r\n ),\r\n }));\r\n\r\n return [\r\n ...cols,\r\n ...scores,\r\n ...[\r\n {\r\n key: 'porcentajePP',\r\n name: '% PP',\r\n editable: !calculatePPFromTasks && canEditTask,\r\n type: 'number',\r\n min: 0,\r\n max: 100,\r\n width: '100px',\r\n className: 'text-center',\r\n inputStyle: this.inputStyle,\r\n format: ({ porcentajePP }) => (\r\n \r\n {porcentajePP}\r\n \r\n ),\r\n },\r\n {\r\n visible: showAssistPercentageInScores,\r\n key: 'porcentajeAsistencia',\r\n name: '% Asistencia',\r\n editable: canEditTask,\r\n type: 'number',\r\n min: '0',\r\n max: '100',\r\n width: '110px',\r\n className: 'text-center',\r\n inputStyle: this.inputStyle,\r\n format: ({ porcentajeAsistencia }) => (\r\n \r\n {porcentajeAsistencia}\r\n \r\n ),\r\n },\r\n {\r\n key: 'actions',\r\n name: 'Accion',\r\n width: '100px',\r\n visible: false,\r\n },\r\n ],\r\n ];\r\n };\r\n\r\n this.actions = [\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (inscription) => {\r\n this.editarNotas(inscription);\r\n },\r\n },\r\n ];\r\n this.downloadAlumnosMateria.bind(this);\r\n this.downloadAlumnosMateriaNotas.bind(this);\r\n this.editarNotas.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.refreshTables();\r\n }\r\n\r\n refreshTables = () => {\r\n this.updateMateriaPeriodo();\r\n this.updateAlumnosMateria();\r\n }\r\n\r\n toggle = (tab) => {\r\n const { activeTab } = this.state;\r\n if (activeTab !== tab) {\r\n this.setState({ activeTab: tab });\r\n if (tab === '4') {\r\n this.updateAlumnosMateria();\r\n return;\r\n }\r\n\r\n if (tab === '3') {\r\n this.updateAlumnosMateria();\r\n }\r\n }\r\n };\r\n\r\n handleChangeUtilizaPorcentajePesoMateria = (values) => {\r\n const { id } = this.props;\r\n\r\n const { utilizaPorcentajePesoMateria } = values;\r\n\r\n changeUtilizaPorcentajePesoMateria({\r\n payload: {\r\n id: Number(id),\r\n allow: utilizaPorcentajePesoMateria,\r\n },\r\n onSuccess: () => {\r\n this.refreshTables();\r\n createSuccessMessage('Materia actualizada exitosamente.');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Error al intentar actualizar la materia');\r\n }\r\n this.refreshTables();\r\n },\r\n });\r\n };\r\n\r\n updateMateriaPeriodo = () => {\r\n const { id } = this.props;\r\n this.setState({ loading: true });\r\n get({\r\n id,\r\n onSuccess: (materiaPeriodo) => {\r\n this.setState({\r\n materiaPeriodo, loading: false,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({\r\n items: [],\r\n tareas: [],\r\n loading: false,\r\n });\r\n createErrorMessage('Error al intentar cargar los datos de la materia');\r\n },\r\n });\r\n }\r\n\r\n editarNotas = (inscription) => {\r\n this.setState({ currentInscription: inscription });\r\n EditarNotasDialog({\r\n inscripcionMateria: inscription,\r\n onValueChanges: (key, value) => {\r\n const { currentInscription } = this.state;\r\n this.setState({ currentInscription: { ...currentInscription, [key]: +value } });\r\n },\r\n onConfirm: () => {\r\n const { currentInscription } = this.state;\r\n actualizarNotas(currentInscription, {\r\n onSuccess: () => {\r\n createSuccessMessage('Asistencia y/o notas guardada(s) exitosamente.');\r\n const { pageSize, filters } = this.state;\r\n this.updateAlumnosMateria(1, pageSize, filters);\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la asistencia y/o nota.');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n autoguardarNota = (row, key, value) => {\r\n const { items } = this.state;\r\n const trow = items.find(r => r.id === row.id);\r\n\r\n if (!trow) return;\r\n trow[key] = +value;\r\n actualizarNotas({ ...row, [key]: +value }, {\r\n onSuccess: () => {\r\n createSuccessMessage('Asistencia y/o notas guardada(s) exitosamente.');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la asistencia y/o nota.');\r\n }\r\n },\r\n });\r\n };\r\n\r\n goBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n updateAlumnosMateria = (page, pageSize, filters) => {\r\n const { id } = this.props;\r\n\r\n this.setState({\r\n loadingAlumnosMateria: true,\r\n filters: filters || {},\r\n });\r\n\r\n getSubjectStudents({\r\n filters,\r\n id,\r\n onSuccess: ({ materias: items, tareas }) => {\r\n this.setState({\r\n loadingAlumnosMateria: false,\r\n items,\r\n tareas,\r\n totalItemsCount: items.length,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({\r\n items: [],\r\n tareas: [],\r\n loadingAlumnosMateria: false,\r\n });\r\n createErrorMessage('Error al intentar cargar la lista de alumnos');\r\n },\r\n });\r\n }\r\n\r\n downloadAlumnosMateria = () => {\r\n const { id } = this.props;\r\n this.setState({ loadingAlumnosMateria: true });\r\n downloadSubjectStudents({\r\n id,\r\n onSuccess: () => {\r\n createSuccessMessage('Lista descargada exitosamente');\r\n this.setState({ loadingAlumnosMateria: false });\r\n },\r\n onError: () => {\r\n this.setState({ loadingAlumnosMateria: false });\r\n createErrorMessage('Error al intentar descargar la lista de alumnos');\r\n },\r\n });\r\n }\r\n\r\n downloadAlumnosMateriaNotas = () => {\r\n const { id } = this.props;\r\n this.setState({ loadingAlumnosMateria: true });\r\n downloadSubjectStudentsScore({\r\n id,\r\n onSuccess: () => {\r\n this.setState({ loadingAlumnosMateria: false });\r\n createSuccessMessage('Lista descargada exitosamente');\r\n },\r\n onError: () => {\r\n this.setState({ loadingAlumnosMateria: false });\r\n createErrorMessage('Error al intentar descargar la lista de calificaciones alumnos');\r\n },\r\n });\r\n }\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateAlumnosMateria(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize, filters } = this.state;\r\n const { autoHideSearch } = filters;\r\n this.updateAlumnosMateria(1, pageSize, { autoHideSearch });\r\n };\r\n\r\n planeamientoForm = () => {\r\n const { materiaPeriodo } = this.state;\r\n return (\r\n \r\n );\r\n };\r\n\r\n render() {\r\n const {\r\n materiaPeriodo,\r\n loading,\r\n loadingAlumnosMateria,\r\n items,\r\n tareas,\r\n totalItemsCount,\r\n filters,\r\n activeTab,\r\n } = this.state;\r\n\r\n if (loading || !materiaPeriodo) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n Plan semestral de clases\r\n

\r\n

\r\n {materiaPeriodo.materia.label}{' - '}\r\n

{materiaPeriodo.seccion}

\r\n \r\n\r\n
\r\n \r\n
\r\n
Carrera:{' '}
\r\n
{materiaPeriodo.carrera}
\r\n
\r\n \r\n \r\n
\r\n
Semestre:{' '}
\r\n
{materiaPeriodo.semestre}
\r\n
\r\n \r\n \r\n
\r\n
Año:{' '}
\r\n
{materiaPeriodo.anho}
\r\n
\r\n \r\n \r\n
\r\n
Horas Semanales
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n loadingAlumnosMateria ? (\r\n \r\n

\r\n \r\n

\r\n \r\n )\r\n : (\r\n <>\r\n \r\n
\r\n \r\n  \r\n Descargar lista\r\n \r\n
\r\n \r\n\r\n this.getGridActions(key)}\r\n onAutoSave={this.autoguardarNota}\r\n itemsToShow={items.length}\r\n page={1}\r\n pageSize={totalItemsCount}\r\n autoHideSearch={filters.autoHideSearch}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n \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.planeamientoForm()}\r\n \r\n \r\n \r\n \r\n {\r\n loadingAlumnosMateria ? (\r\n \r\n

\r\n \r\n

\r\n \r\n )\r\n : (\r\n <>\r\n \r\n
\r\n \r\n  \r\n Descargar lista\r\n \r\n
\r\n \r\n this.getGridActions(key)}\r\n onAutoSave={this.autoguardarNota}\r\n itemsToShow={items.length}\r\n page={1}\r\n pageSize={totalItemsCount}\r\n autoHideSearch={filters.autoHideSearch}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n \r\n )\r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n
\r\n Volver\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(ProfessorDataContainer);\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport {\r\n reporteInscriptos,\r\n downloadStudentsInscriptos,\r\n} from '../../redux/actions/studentsActions';\r\nimport { fetchFormDatas } from '../../redux/actions/periodoActions';\r\nimport { createErrorMessage } from '../../helpers/notification';\r\n\r\nclass StudentsContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n page: 1,\r\n pageSize: 100,\r\n totalItemsCount: 0,\r\n loading: true,\r\n items: [],\r\n filters: {\r\n id: 20,\r\n periodo: { value: 0, label: '-' },\r\n },\r\n periods: [],\r\n };\r\n this.columns = [\r\n {\r\n key: 'periodo',\r\n name: 'Periodo',\r\n className: 'text-center',\r\n search: true,\r\n width: '200px',\r\n type: 'select',\r\n searchProps: {\r\n options: this.getPeriods,\r\n },\r\n format: row => `${row.periodo ? row.periodo.label : '-'}`,\r\n },\r\n {\r\n key: 'malla',\r\n name: 'Malla',\r\n search: true,\r\n },\r\n {\r\n key: 'carrera',\r\n name: 'Carrera',\r\n search: true,\r\n },\r\n {\r\n key: 'numeroLegajo',\r\n name: '# Legajo',\r\n width: '110px',\r\n search: true,\r\n type: 'number',\r\n },\r\n {\r\n key: 'numeroDocumento',\r\n name: '# Documento',\r\n search: true,\r\n type: 'number',\r\n width: '130px',\r\n },\r\n {\r\n key: 'nombre',\r\n name: 'Nombre',\r\n search: true,\r\n },\r\n {\r\n key: 'apellido',\r\n name: 'Apellido',\r\n search: true,\r\n },\r\n {\r\n key: 'cantidadDeMateriasActuales',\r\n name: 'Cantidad de materias',\r\n type: 'number',\r\n width: '150px',\r\n className: 'text-center',\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDatasList();\r\n }\r\n\r\n fetchDatasList = () => {\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n fetchFormDatas({\r\n onSuccess: ({ periodos }) => {\r\n this.setState({\r\n periods: periodos,\r\n loading: false,\r\n });\r\n\r\n const { page, pageSize } = this.state;\r\n this.updateStudentsTable(page, pageSize);\r\n },\r\n onError: (error) => {\r\n console.log(error);\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n updateStudentsTable = (page, pageSize, filters = {}) => {\r\n const { periodo = {} } = filters;\r\n\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: {\r\n ...filters,\r\n periodoId: periodo.value,\r\n },\r\n });\r\n reporteInscriptos({\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters: {\r\n ...filters,\r\n periodoId: periodo.value,\r\n },\r\n },\r\n onSuccess: (pageInfo) => {\r\n this.setState({\r\n loading: false,\r\n items: pageInfo.items,\r\n totalItemsCount: pageInfo.totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de alumnos');\r\n },\r\n });\r\n }\r\n\r\n editStudent = (student) => {\r\n const { history } = this.props;\r\n history.push(`/pages/students/edit/${student.id}`);\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateStudentsTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateStudentsTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateStudentsTable(1, pageSize, {});\r\n };\r\n\r\n getPeriods = () => {\r\n const { periods } = this.state;\r\n\r\n return periods || [];\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n downloadAlumnos = () => {\r\n const { filters } = this.state;\r\n downloadStudentsInscriptos({\r\n filters: filters || {},\r\n onError: () => {\r\n createErrorMessage('Error al intentar descargar la lista de alumnos');\r\n },\r\n });\r\n }\r\n\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

Reporte de alumnos

\r\n \r\n
\r\n {items.length && (\r\n \r\n \r\n \r\n  \r\n Descargar lista\r\n \r\n \r\n \r\n )\r\n }\r\n \r\n {loading ?

Cargando...

\r\n : (\r\n \r\n )\r\n }\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(StudentsContainer);\r\n","const validate = (values) => {\r\n const attrs = values || {};\r\n const errors = {};\r\n\r\n if (!attrs.materia || !attrs.materia.value) {\r\n errors.materia = 'Debe seleccionar una materia';\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport { Card, CardBody, Col } from 'reactstrap';\r\nimport renderSelectField from '../../shared/components/form/Select';\r\nimport setPropsAsInitialValues from '../../helpers/setPropsAsInitialValues';\r\nimport validate from './validate';\r\n\r\nclass StudentSubjectFilterForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onFilterChanges: PropTypes.func.isRequired,\r\n onFilter: PropTypes.func.isRequired,\r\n periodos: PropTypes.arrayOf(PropTypes.shape({})),\r\n carreras: PropTypes.arrayOf(PropTypes.shape({})),\r\n materias: PropTypes.arrayOf(PropTypes.shape({})),\r\n semestres: PropTypes.arrayOf(PropTypes.shape({})),\r\n }\r\n\r\n static defaultProps = {\r\n periodos: [],\r\n carreras: [],\r\n materias: [],\r\n semestres: [],\r\n }\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateExamsTable(1, pageSize, {});\r\n };\r\n\r\n render() {\r\n const {\r\n handleSubmit,\r\n materias,\r\n carreras,\r\n periodos,\r\n semestres,\r\n onFilterChanges,\r\n onFilter,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n Periodo\r\n
\r\n onFilterChanges('periodo', 'periodoId', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n Carrera\r\n
\r\n onFilterChanges('carrera', 'carreraId', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n Semestre\r\n
\r\n onFilterChanges('semestre', 'semestreId', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n Materia\r\n
\r\n onFilterChanges('materia', 'materiaId', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n Filtrar\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxStudentFilterForm = reduxForm({\r\n form: 'StudentFilterForm',\r\n enableReinitialize: true,\r\n validate,\r\n})(StudentSubjectFilterForm);\r\n\r\nexport default setPropsAsInitialValues(ReduxStudentFilterForm);\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport StudentSubjectFilterForm from './FilterForm';\r\nimport {\r\n reporteAlumnosFormData,\r\n} from '../../redux/actions/studentsActions';\r\nimport {\r\n reporteAlumnosPorMateria,\r\n descargarReporteAlumnosPorMaterias,\r\n} from '../../redux/actions/studentSubjectsActions';\r\nimport { createErrorMessage } from '../../helpers/notification';\r\n\r\nclass StudentsContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.handleOnFilterChange = this.handleOnFilterChange.bind(this);\r\n this.descargarReporteAlumnosPorMaterias.bind(this);\r\n this.state = {\r\n page: 1,\r\n pageSize: 100,\r\n totalItemsCount: 0,\r\n loading: true,\r\n items: [],\r\n filters: { id: 0 },\r\n };\r\n this.columns = [\r\n { key: 'numeroDocumento', name: 'C.I. Nº', width: '120px' },\r\n { key: 'apellido', name: 'Apellido', width: '15%' },\r\n { key: 'nombre', name: 'Nombre', width: '15%' },\r\n { key: 'phoneNumber', name: 'Teléfono', width: '10%' },\r\n { key: 'email', name: 'Correo', width: '15%' },\r\n { key: 'nombreMateria', name: 'Materia' },\r\n {\r\n key: 'fechaIngreso',\r\n className: 'text-center',\r\n name: 'Año Ingreso',\r\n width: '130px',\r\n format: row => new Date(row.fechaIngreso).getFullYear(),\r\n },\r\n { key: 'nombreCarrera', name: 'Carrera' },\r\n {\r\n key: 'numeroSemestre',\r\n name: 'Semestre',\r\n width: '90px',\r\n format: row => `${row.numeroSemestre}º`,\r\n },\r\n {\r\n key: 'porcentajeAsistencia',\r\n name: '% Asistencia',\r\n type: 'number',\r\n width: '120px',\r\n\r\n },\r\n {\r\n key: 'porcentajePP',\r\n name: '% PP',\r\n type: 'number',\r\n width: '120px',\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n const { page, pageSize } = this.state;\r\n this.fetchFormData(page, pageSize);\r\n }\r\n\r\n fetchFormData = () => {\r\n reporteAlumnosFormData({\r\n onSuccess: (formData) => {\r\n const { materias } = formData;\r\n const distinctMaterias = materias.filter((v, index, self) => self.map(x => x.label).indexOf(v.label) === index);\r\n this.setState({\r\n ...formData,\r\n todasLasMaterias: materias,\r\n materias: distinctMaterias,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar los datos del formulario');\r\n },\r\n });\r\n }\r\n\r\n updateStudentsTable = (page, pageSize, filters) => {\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n });\r\n reporteAlumnosPorMateria({\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n },\r\n onSuccess: (pageInfo) => {\r\n this.setState({\r\n loading: false,\r\n items: pageInfo.items,\r\n totalItemsCount: pageInfo.totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de alumnos');\r\n },\r\n });\r\n }\r\n\r\n handleOnFilterChange = (objectKey, idKey, value) => {\r\n if (objectKey === 'periodo' || objectKey === 'carrera') {\r\n const { carreraId, periodoId, todasLasMaterias } = this.state;\r\n let materias = todasLasMaterias.filter(m => (!carreraId || m.carreraId === carreraId)\r\n && (!periodoId || m.periodoId === periodoId));\r\n\r\n // Filter distinct and use MateriaId\r\n materias = materias.filter((v, index, self) => self.map(x => x.label).indexOf(v.label) === index)\r\n .map(x => ({ label: x.label, value: x.materiaId }));\r\n this.setState({\r\n [idKey]: value.value,\r\n [objectKey]: value,\r\n materias,\r\n });\r\n } else {\r\n this.setState({\r\n [idKey]: value.value,\r\n [objectKey]: value,\r\n });\r\n }\r\n\r\n const { filters } = this.state;\r\n filters[idKey] = value.value;\r\n\r\n this.setState({\r\n filters,\r\n });\r\n }\r\n\r\n handleOnFilter = () => {\r\n const { page, pageSize, filters } = this.state;\r\n this.updateStudentsTable(page, pageSize, filters);\r\n }\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateStudentsTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateStudentsTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateStudentsTable(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n descargarReporteAlumnosPorMaterias = () => {\r\n const { filters } = this.state;\r\n descargarReporteAlumnosPorMaterias({\r\n filters: filters || {},\r\n onError: () => {\r\n createErrorMessage('Error al intentar descargar la lista de alumnos');\r\n },\r\n });\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

Reporte de Asistencias y Pruebas Parciales

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {items.length && (\r\n \r\n  \r\n Descargar lista\r\n \r\n )}\r\n \r\n \r\n \r\n {loading ?

Esperando su búsqueda...

\r\n : (\r\n \r\n )\r\n }\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(StudentsContainer);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport { Card, CardBody, Col } from 'reactstrap';\r\nimport renderSelectField from '../../shared/components/form/Select';\r\nimport setPropsAsInitialValues from '../../helpers/setPropsAsInitialValues';\r\n\r\nclass StudentFilterForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onFilterChanges: PropTypes.func.isRequired,\r\n onFilter: PropTypes.func.isRequired,\r\n periodos: PropTypes.arrayOf(PropTypes.shape({})),\r\n carreras: PropTypes.arrayOf(PropTypes.shape({})),\r\n materias: PropTypes.arrayOf(PropTypes.shape({})),\r\n semestres: PropTypes.arrayOf(PropTypes.shape({})),\r\n }\r\n\r\n static defaultProps = {\r\n periodos: [],\r\n carreras: [],\r\n materias: [],\r\n semestres: [],\r\n }\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateExamsTable(1, pageSize, {});\r\n };\r\n\r\n render() {\r\n const {\r\n handleSubmit,\r\n materias,\r\n carreras,\r\n periodos,\r\n semestres,\r\n onFilterChanges,\r\n onFilter,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n Periodo\r\n
\r\n onFilterChanges('periodo', 'periodoId', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n Carrera\r\n
\r\n onFilterChanges('carrera', 'carreraId', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n Semestre\r\n
\r\n onFilterChanges('semestre', 'semestreId', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n Materia\r\n
\r\n onFilterChanges('materia', 'materiaId', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n Filtrar\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxStudentFilterForm = reduxForm({\r\n form: 'StudentFilterForm',\r\n enableReinitialize: true,\r\n})(StudentFilterForm);\r\n\r\nexport default setPropsAsInitialValues(ReduxStudentFilterForm);\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport StudentFilterForm from './FilterForm';\r\nimport {\r\n reporteAlumnosFormData,\r\n reporteAlumnos,\r\n downloadStudents,\r\n} from '../../redux/actions/studentsActions';\r\nimport { createErrorMessage } from '../../helpers/notification';\r\nimport LoadingSpinner from '../../shared/components/LoadingSpinner';\r\nimport {\r\n Generos,\r\n} from '../../constants/enums';\r\n\r\nclass StudentsContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.handleOnFilterChange = this.handleOnFilterChange.bind(this);\r\n this.downloadAlumnos.bind(this);\r\n this.state = {\r\n page: 1,\r\n pageSize: 100,\r\n totalItemsCount: 0,\r\n loading: true,\r\n items: [],\r\n filters: { id: 0 },\r\n };\r\n this.columns = [\r\n { key: 'numeroDocumento', name: 'C.I. Nº', width: '120px' },\r\n { key: 'apellido', name: 'Apellido', width: '15%' },\r\n { key: 'nombre', name: 'Nombre', width: '15%' },\r\n { key: 'edad', name: 'Edad', width: '5%' },\r\n { key: 'nacionalidad', name: 'Nacionalidad', width: '10%' },\r\n { key: 'phoneNumber', name: 'Teléfono', width: '10%' },\r\n { key: 'email', name: 'Correo', width: '15%' },\r\n {\r\n key: 'genero',\r\n name: 'Género',\r\n width: '10%',\r\n format: row => (Generos[row.genero] ? Generos[row.genero].label : ''),\r\n },\r\n {\r\n key: 'fechaIngreso',\r\n name: 'Año Ingreso',\r\n width: '130px',\r\n type: 'number',\r\n format: row => new Date(row.fechaIngreso).getFullYear(),\r\n },\r\n { key: 'carrera', name: 'Carrera', width: '110px' },\r\n {\r\n key: 'semestre',\r\n name: 'Semestre',\r\n width: '90px',\r\n format: row => `${row.semestre}º`,\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n const { page, pageSize } = this.state;\r\n this.fetchFormData(page, pageSize);\r\n this.setState({\r\n loading: false,\r\n });\r\n }\r\n\r\n fetchFormData = () => {\r\n reporteAlumnosFormData({\r\n onSuccess: (formData) => {\r\n const { materias } = formData;\r\n // Filter distinct and use MateriaId\r\n const distinctMaterias = materias\r\n .filter((v, index, self) => self.map(x => x.label).indexOf(v.label) === index)\r\n .map(x => ({ label: x.label, value: x.materiaId }));\r\n this.setState({\r\n ...formData,\r\n todasLasMaterias: materias,\r\n materias: distinctMaterias,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar los datos del formulario');\r\n },\r\n });\r\n }\r\n\r\n updateStudentsTable = (page, pageSize, filters) => {\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n });\r\n reporteAlumnos({\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n },\r\n onSuccess: (pageInfo) => {\r\n this.setState({\r\n loading: false,\r\n items: pageInfo.items,\r\n totalItemsCount: pageInfo.totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de alumnos');\r\n },\r\n });\r\n }\r\n\r\n handleOnFilterChange = (objectKey, idKey, value) => {\r\n if (objectKey === 'periodo' || objectKey === 'carrera') {\r\n const { carreraId, periodoId, todasLasMaterias } = this.state;\r\n let materias = todasLasMaterias.filter(m => (!carreraId || m.carreraId === carreraId)\r\n && (!periodoId || m.periodoId === periodoId));\r\n materias = materias.filter((v, index, self) => self.map(x => x.label).indexOf(v.label) === index);\r\n this.setState({\r\n [idKey]: value.value,\r\n [objectKey]: value,\r\n materias,\r\n });\r\n } else {\r\n this.setState({\r\n [idKey]: value.value,\r\n [objectKey]: value,\r\n });\r\n }\r\n const { filters } = this.state;\r\n filters[idKey] = value.value;\r\n\r\n this.setState({\r\n filters,\r\n });\r\n }\r\n\r\n handleOnFilter = () => {\r\n const { page, pageSize, filters } = this.state;\r\n this.updateStudentsTable(page, pageSize, filters);\r\n }\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateStudentsTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateStudentsTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateStudentsTable(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n downloadAlumnos = () => {\r\n const { filters } = this.state;\r\n downloadStudents({\r\n filters: filters || {},\r\n onError: () => {\r\n createErrorMessage('Error al intentar descargar la lista de alumnos');\r\n },\r\n });\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n

Reporte de alumnos

\r\n \r\n
\r\n \r\n \r\n \r\n {items.length && (\r\n \r\n \r\n \r\n  \r\n Descargar lista\r\n \r\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 withRouter(StudentsContainer);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport {\r\n Card,\r\n CardBody,\r\n Container,\r\n Col,\r\n Row,\r\n Table,\r\n} from 'reactstrap';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport { Calificaciones } from '../../../constants/enums';\r\nimport { dateFormat } from '../../../helpers/dateFormat';\r\n\r\nclass AcademicStatusForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool,\r\n nombre: PropTypes.string.isRequired,\r\n apellido: PropTypes.string.isRequired,\r\n fechaIngreso: PropTypes.string.isRequired,\r\n numeroDocumento: PropTypes.string.isRequired,\r\n direccion: PropTypes.string.isRequired,\r\n calificacionesSemestres: PropTypes.arrayOf(PropTypes.shape({})),\r\n }\r\n\r\n static defaultProps = {\r\n submitting: false,\r\n calificacionesSemestres: [],\r\n }\r\n\r\n getScoreName = (score) => {\r\n const scoreEnum = Calificaciones.find(c => c.value === score) || {};\r\n return (scoreEnum.label || '-').split(':').pop().trim();\r\n };\r\n\r\n getScoreSubject = semester => semester.calificacionesMaterias.map(subject => (\r\n <>\r\n \r\n \r\n {subject.materiaCodigo}\r\n \r\n \r\n {subject.materia}\r\n \r\n \r\n {this.getScoreDetails(subject)}\r\n \r\n ));\r\n\r\n getScoreDetails = subject => subject.calificaciones.map(score => (\r\n \r\n \r\n {score.calificacion ? score.calificacion : '-'}\r\n \r\n \r\n {this.getScoreName(score.calificacion)}\r\n \r\n \r\n {score.nroActa}\r\n \r\n \r\n {dateFormat(score.fechaExamen)}\r\n \r\n \r\n {score.periodo}\r\n \r\n \r\n ));\r\n\r\n render() {\r\n const {\r\n submitting,\r\n handleSubmit,\r\n onBack,\r\n numeroDocumento,\r\n nombre,\r\n apellido,\r\n fechaIngreso,\r\n direccion,\r\n calificacionesSemestres,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
Datos personales
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Nombres y Apellidos:{`${nombre} ${apellido}`}
Documento Número:\r\n {\r\n numeroDocumento && parseInt(numeroDocumento, 10)\r\n ? new Intl.NumberFormat('es-PY').format(parseInt(numeroDocumento, 10))\r\n : numeroDocumento\r\n }\r\n
Domicilio:{direccion}
\r\n Fecha de Examen de Ingreso:\r\n \r\n {new Date(fechaIngreso).getFullYear()}\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
DATOS ACADEMICOS
\r\n
\r\n \r\n
\r\n \r\n {calificacionesSemestres.map(se => (\r\n \r\n \r\n \r\n
\r\n

{se.semestre}

\r\n
\r\n
\r\n \r\n \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.getScoreSubject(se)}\r\n \r\n
\r\n Cod.\r\n \r\n Asignatura\r\n \r\n Nº\r\n \r\n Letras\r\n \r\n Acta Nº\r\n \r\n Fecha\r\n \r\n Obs.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n Descargar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst rdxForm = reduxForm({\r\n form: 'rdxForm',\r\n enableReinitialize: true,\r\n})(AcademicStatusForm);\r\n\r\nexport default setPropsAsInitialValues(rdxForm);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport StudentForm from './AcademicStatusForm';\r\nimport {\r\n reporteAcademicStatusStudent,\r\n downloadAcademicStatusStudent,\r\n} from '../../../redux/actions/studentsActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../helpers/notification';\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\n\r\nclass AcademicStatusContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchCurrentStudent();\r\n }\r\n\r\n fetchCurrentStudent = () => {\r\n const { id = '', history } = this.props;\r\n reporteAcademicStatusStudent(id, {\r\n onSuccess: (student) => {\r\n this.setState({ student, loading: false });\r\n },\r\n onError: (error) => {\r\n this.setState({ loading: false });\r\n if (error && error.status === 404) {\r\n createErrorMessage('El alumno no existe');\r\n history.goBack();\r\n } else {\r\n createErrorMessage('Error al intentar cargar el estado académico del alumno');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleSubmit = (values) => {\r\n const { id } = values;\r\n this.setState({ loading: true });\r\n downloadAcademicStatusStudent(id, {\r\n onSuccess: () => {\r\n this.setState({ loading: false });\r\n createSuccessMessage('Reporte descargado exitosamente');\r\n },\r\n onError: (error) => {\r\n this.setState({ loading: false });\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar descargar el reporte');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n render() {\r\n const { history } = this.props;\r\n const {\r\n student,\r\n loading,\r\n } = this.state;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n Estado académico alumno\r\n

\r\n

\r\n La información del alumno de examenes sellados\r\n

\r\n \r\n
\r\n \r\n \r\n {loading\r\n ? ()\r\n : (\r\n \r\n )\r\n }\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nAcademicStatusContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default AcademicStatusContainer;\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport { Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n Badge,\r\n} from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport {\r\n filter,\r\n remove,\r\n} from '../../redux/actions/periodoActions';\r\nimport Confirm from '../../shared/components/Confirm';\r\nimport { createErrorMessage, createSuccessMessage } from '../../helpers/notification';\r\nimport { dateFormat } from '../../helpers/dateFormat';\r\n\r\nclass PeriodosContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n loading: true,\r\n items: [],\r\n filters: { id: 20 },\r\n };\r\n this.columns = [\r\n {\r\n key: 'anho',\r\n name: 'Año',\r\n search: false,\r\n width: '80px',\r\n format: ({ anho: value, activo }) => this.columnStyle({ value, activo }),\r\n },\r\n {\r\n key: 'nombre',\r\n name: 'Nombre',\r\n search: false,\r\n format: ({ nombre: value, activo }) => this.columnStyle({ value, activo }),\r\n },\r\n {\r\n key: 'inicioClases',\r\n name: 'Inicio de clases',\r\n search: false,\r\n type: 'date',\r\n format: ({ inicioClases, activo }) => this.columnStyle({ value: dateFormat(inicioClases), activo }),\r\n },\r\n {\r\n key: 'finClases',\r\n name: 'Fin de clases',\r\n search: false,\r\n type: 'date',\r\n format: ({ finClases, activo }) => this.columnStyle({ value: dateFormat(finClases), activo }),\r\n },\r\n {\r\n key: 'inicioPeriodoInscripcion',\r\n name: 'Inicio de inscripciones',\r\n search: false,\r\n type: 'date',\r\n format: ({ inicioPeriodoInscripcion, activo }) => this.columnStyle({\r\n value: dateFormat(inicioPeriodoInscripcion),\r\n activo,\r\n }),\r\n },\r\n {\r\n key: 'finPeriodoInscripcion',\r\n name: 'Fin de inscripciones',\r\n search: false,\r\n type: 'date',\r\n format: ({ finPeriodoInscripcion, activo }) => this.columnStyle({\r\n value: dateFormat(finPeriodoInscripcion),\r\n activo,\r\n }),\r\n },\r\n {\r\n key: 'finCalificarTareas',\r\n name: 'Límite para calificar tareas',\r\n search: false,\r\n type: 'date',\r\n format: ({ finCalificarTareas, activo }) => this.columnStyle({ value: dateFormat(finCalificarTareas), activo }),\r\n },\r\n {\r\n key: 'finEditarPlaneamiento',\r\n name: 'Límite para editar planeamiento',\r\n search: false,\r\n type: 'date',\r\n format: ({\r\n finEditarPlaneamiento, activo,\r\n }) => this.columnStyle({\r\n value: dateFormat(finEditarPlaneamiento),\r\n activo,\r\n }),\r\n },\r\n {\r\n key: 'esSemestrePar',\r\n name: 'Es semestre par',\r\n search: false,\r\n format: ({ esSemestrePar, activo }) => this.columnStyle({ value: (esSemestrePar ? 'Si' : 'No'), activo }),\r\n },\r\n {\r\n key: 'activo',\r\n name: 'Activo',\r\n search: false,\r\n format: ({ activo }) => this.columnStyle({ value: (activo ? 'Si' : 'No'), activo }),\r\n },\r\n { key: 'actions', name: 'Accion', width: '85px' },\r\n ];\r\n this.actions = [\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (periodo) => {\r\n this.editPeriodo(periodo);\r\n },\r\n },\r\n {\r\n key: 'delete',\r\n icon: ,\r\n callback: (periodo) => {\r\n this.handleDeletePeriodo(periodo);\r\n },\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n const { page, pageSize } = this.state;\r\n this.updatePeriodosTable(page, pageSize);\r\n }\r\n\r\n updatePeriodosTable = (page, pageSize, filters) => {\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n });\r\n filter({\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters,\r\n },\r\n onSuccess: (pageInfo) => {\r\n this.setState({\r\n loading: false,\r\n items: pageInfo.items,\r\n totalItemsCount: pageInfo.totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de periodos');\r\n },\r\n });\r\n }\r\n\r\n handleDeletePeriodo = (periodo) => {\r\n const name = `${periodo.materia.codigo}- ${periodo.materia.nombre}`;\r\n Confirm({\r\n title: 'Borrar periodo',\r\n question: `Estás seguro que deseas eliminar el periodo ${name}?`,\r\n yesLabel: 'Si, Borrar periodo',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n remove(periodo.id,\r\n {\r\n onSuccess: () => {\r\n createSuccessMessage('Periodo borrado exitosamente');\r\n const { page, pageSize } = this.state;\r\n this.updatePeriodosTable(page, pageSize);\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El periodo no existe');\r\n } else {\r\n createErrorMessage('Error al intentar borrar el periodo');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n editPeriodo = (periodo) => {\r\n const { history } = this.props;\r\n history.push(`/pages/periodos/edit/${periodo.id}`);\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updatePeriodosTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updatePeriodosTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updatePeriodosTable(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n columnStyle = ({ activo, value }) => {\r\n if (!activo) {\r\n return value;\r\n }\r\n\r\n return (\r\n \r\n {value}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

Lista de periodos

\r\n
\r\n \r\n Agregar nuevo periodo\r\n \r\n
\r\n \r\n
\r\n \r\n {loading ?

Cargando...

\r\n : (\r\n this.getGridActions(key)}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n )\r\n }\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(PeriodosContainer);\r\n","const validate = (values) => {\r\n const attrs = values || {};\r\n const errors = {};\r\n\r\n if (!attrs.nombre) {\r\n errors.nombre = 'Debe ingresar un nombre para el periodo';\r\n }\r\n\r\n if (!attrs.anhoLectivo || !attrs.anhoLectivo.value) {\r\n errors.anhoLectivo = 'Debe seleccionar el año lectivo';\r\n }\r\n\r\n if (!attrs.inicioClases) {\r\n errors.inicioClases = 'Debe seleccionar la fecha de inicio de clases';\r\n }\r\n\r\n if (!attrs.finClases) {\r\n errors.finClases = 'Debe seleccionar la fecha de fin de clases';\r\n }\r\n\r\n if (!attrs.inicioPeriodoInscripcion) {\r\n errors.inicioPeriodoInscripcion = 'Debe seleccionar la fecha de inicio de inscripciones';\r\n }\r\n\r\n if (!attrs.finPeriodoInscripcion) {\r\n errors.finPeriodoInscripcion = 'Debe seleccionar la fecha de fin de inscripciones';\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport {\r\n Card,\r\n CardBody,\r\n Col,\r\n Row,\r\n FormGroup,\r\n Label,\r\n Badge,\r\n} from 'reactstrap';\r\nimport renderSelectField from '../../../shared/components/form/Select';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport renderCheckBoxField from '../../../shared/components/form/CheckBox';\r\nimport DatePicker from '../../../shared/components/form/DatePicker';\r\nimport DataTable from '../../../shared/components/DataTable';\r\nimport TextBox from '../../../shared/components/form/TextBox';\r\nimport validate from './validate';\r\n\r\nclass PeriodoForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n handleDeleteMateriaPeriodo: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool,\r\n id: PropTypes.number,\r\n esSemestrePar: PropTypes.bool,\r\n activo: PropTypes.bool,\r\n aniosLectivos: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n materias: PropTypes.arrayOf(PropTypes.shape({})),\r\n carreras: PropTypes.arrayOf(PropTypes.shape({})),\r\n history: PropTypes.shape({}).isRequired,\r\n anhoLectivo: PropTypes.shape({}),\r\n }\r\n\r\n static defaultProps = {\r\n id: 0,\r\n submitting: false,\r\n esSemestrePar: false,\r\n activo: false,\r\n materias: [],\r\n carreras: [],\r\n anhoLectivo: {},\r\n }\r\n\r\n\r\n constructor(props) {\r\n super(props);\r\n this.editMateriaPeriodo = this.editMateriaPeriodo.bind(this);\r\n this.deleteMateriaPeriodo = this.deleteMateriaPeriodo.bind(this);\r\n this.state = {\r\n page: 1,\r\n pageSize: 100,\r\n totalItemsCount: 0,\r\n filters: { id: 20 },\r\n carreraId: 0,\r\n };\r\n this.columns = [\r\n // { key: 'codigo', name: 'Codigo', search: false },\r\n // { key: 'anho', name: 'Periodo', width: '85px' },\r\n {\r\n key: 'semestreNroOrden',\r\n name: 'Semestre',\r\n search: false,\r\n width: '120px',\r\n className: 'text-center',\r\n format: row => (\r\n
\r\n \r\n {` ${row.semestreNroOrden}º`}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n key: 'materia',\r\n name: 'Materia',\r\n search: false,\r\n format: row => `${row.codigoMateria} - ${row.materia} - ${row.seccion}`,\r\n },\r\n {\r\n key: 'malla',\r\n name: 'Malla',\r\n search: false,\r\n },\r\n {\r\n key: 'profesores',\r\n name: 'Profesor(es)',\r\n format: row => row.profesores.map(m => (\r\n
\r\n
\r\n \r\n {m.role === 'Asistente' ? 'Aux' : 'Enc'}\r\n \r\n
\r\n : {m.nombre} {m.apellido}\r\n
\r\n )),\r\n },\r\n {\r\n key: 'tieneHorario',\r\n name: 'Horario',\r\n search: false,\r\n className: 'text-center',\r\n width: '100px',\r\n format: row => (\r\n

\r\n \r\n {row.tieneHorario ? 'Si' : 'No'}\r\n \r\n

\r\n ),\r\n },\r\n { key: 'actions', name: 'Accion', width: '85px' },\r\n ];\r\n this.actions = [\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (materiaPeriodo) => {\r\n this.editMateriaPeriodo(materiaPeriodo);\r\n },\r\n },\r\n {\r\n key: 'delete',\r\n icon: ,\r\n callback: (materiaPeriodo) => {\r\n this.deleteMateriaPeriodo(materiaPeriodo);\r\n },\r\n },\r\n ];\r\n }\r\n\r\n\r\n agregarOquitarMaterias = (periodo) => {\r\n if (periodo) {\r\n const { id, history } = this.props;\r\n history.push(`/pages/periodos/edit/${id}/materias`);\r\n }\r\n };\r\n\r\n\r\n editMateriaPeriodo = (materiaPeriodo) => {\r\n if (materiaPeriodo) {\r\n const { id, history } = this.props;\r\n history.push(`/pages/periodos/subjects/edit/${id}/${materiaPeriodo.id}`);\r\n }\r\n };\r\n\r\n deleteMateriaPeriodo = (materiaPeriodo) => {\r\n if (materiaPeriodo) {\r\n const { handleDeleteMateriaPeriodo } = this.props;\r\n handleDeleteMateriaPeriodo(materiaPeriodo);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateSubjectsTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateSubjectsTable(1, pageSize, {});\r\n };\r\n\r\n onCarreraChanges = (carrera) => {\r\n this.setState({\r\n carreraId: carrera.value,\r\n });\r\n };\r\n\r\n filterMaterias = () => {\r\n const { materias } = this.props;\r\n const { carreraId } = this.state;\r\n\r\n return materias.filter(m => m.carreraId === carreraId || carreraId === 0);\r\n };\r\n\r\n getCarreras = () => {\r\n const { carreras } = this.props;\r\n return [\r\n ...[{ value: 0, label: 'Todas' }],\r\n ...carreras,\r\n ];\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n render() {\r\n const {\r\n id,\r\n submitting,\r\n handleSubmit,\r\n onBack,\r\n aniosLectivos,\r\n esSemestrePar,\r\n activo,\r\n } = this.props;\r\n\r\n const {\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n \r\n
\r\n
Datos del periodo
\r\n
\r\n \r\n \r\n
\r\n Nombre\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Año lectivo\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n\r\n \r\n\r\n
\r\n Semestre par?\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n\r\n
\r\n Activo?\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n\r\n
\r\n Fecha de inicio de clases\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n Fecha de fin de clases\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n Inicio de inscripciones\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n Fin de inscripciones\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Límite calificar tareas\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n Límite editar planeamiento\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n {id && (\r\n
\r\n \r\n \r\n this.agregarOquitarMaterias({ id })}\r\n >\r\n Agregar / Quitar Materias\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.getGridActions(key)}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n
\r\n )}\r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxPeriodoForm = reduxForm({\r\n form: 'PeriodoForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(PeriodoForm);\r\n\r\nexport default setPropsAsInitialValues(ReduxPeriodoForm);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport PeriodoForm from './PeriodoForm';\r\nimport {\r\n get,\r\n save,\r\n fetchFormDatas,\r\n} from '../../../redux/actions/periodoActions';\r\nimport {\r\n remove as removeMateriaPeriodo,\r\n} from '../../../redux/actions/materiaPeriodoActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../helpers/notification';\r\nimport Confirm from '../../../shared/components/Confirm';\r\nimport { dateTimeString } from '../../../helpers/dateFormat';\r\n\r\nclass PeriodoFormContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.handleOnFilterChange = this.handleOnFilterChange.bind(this);\r\n this.handleOnSubjectChange = this.handleOnSubjectChange.bind(this);\r\n this.handleDeleteMateriaPeriodo = this.handleDeleteMateriaPeriodo.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDatasList();\r\n this.fetchCurrentRecord();\r\n }\r\n\r\n fetchCurrentRecord = () => {\r\n const { id, history } = this.props;\r\n if (id) {\r\n get(id, {\r\n onSuccess: (dto) => {\r\n const periodo = {\r\n ...dto,\r\n anhoLectivo: {\r\n value: dto.anhoLectivoId,\r\n label: `${dto.anho}`,\r\n },\r\n };\r\n\r\n this.setState({ periodo });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El periodo no existe');\r\n history.push('/pages/periodos');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos del periodo');\r\n }\r\n },\r\n });\r\n } else {\r\n this.setState({\r\n periodo: {\r\n id: 0,\r\n fecha: new Date().toISOString(),\r\n },\r\n });\r\n }\r\n }\r\n\r\n fetchDatasList = () => {\r\n fetchFormDatas({\r\n onSuccess: (d) => {\r\n this.setState({\r\n aniosLectivos: d.aniosLectivos,\r\n carreras: d.carreras,\r\n });\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n handleSubmit = (values) => {\r\n const {\r\n anhoLectivo: { value: anhoLectivoId },\r\n finCalificarTareas,\r\n finEditarPlaneamiento,\r\n } = values;\r\n\r\n const params = {\r\n ...values,\r\n finCalificarTareas: dateTimeString(finCalificarTareas),\r\n finEditarPlaneamiento: dateTimeString(finEditarPlaneamiento),\r\n anhoLectivoId,\r\n };\r\n const { history } = this.props;\r\n save(params, {\r\n onSuccess: () => {\r\n createSuccessMessage('Periodo guardado exitosamente');\r\n history.push('/pages/periodos');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar el periodo');\r\n }\r\n },\r\n });\r\n }\r\n\r\n\r\n handleDeleteMateriaPeriodo = (materiaPeriodo) => {\r\n const name = `${materiaPeriodo.materia}`;\r\n Confirm({\r\n title: 'Quitar materia de periodo',\r\n question: `Estás seguro que deseas quitar la materia ${name} de este periodo?`,\r\n yesLabel: 'Si, Quitar',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n removeMateriaPeriodo(materiaPeriodo.id,\r\n {\r\n onSuccess: () => {\r\n createSuccessMessage('Materia quitada exitosamente');\r\n this.fetchDatasList();\r\n this.fetchCurrentRecord();\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('La materia no existe');\r\n } else {\r\n createErrorMessage('Error al intentar quitar la materia del periodo');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n handleOnFilterChange = (objectKey, idKey, value) => {\r\n const { periodo } = this.state;\r\n this.setState({\r\n [idKey]: value.value,\r\n periodo: { ...periodo, [objectKey]: value },\r\n });\r\n }\r\n\r\n handleOnSubjectChange = (objectKey, idKey, value) => {\r\n const { periodo } = this.state;\r\n const profesor = `${value.nombre} ${value.apellido}`;\r\n let { interventorId, interventor } = periodo;\r\n\r\n if (!interventorId) {\r\n interventorId = value.usuarioId;\r\n interventor = { value: interventorId, label: profesor };\r\n }\r\n this.setState({\r\n [idKey]: value.value,\r\n periodo: {\r\n ...periodo,\r\n [objectKey]: value,\r\n profesor,\r\n interventor,\r\n interventorId,\r\n },\r\n });\r\n }\r\n\r\n render() {\r\n const { id, history } = this.props;\r\n const {\r\n periodo,\r\n aniosLectivos,\r\n carreras,\r\n } = this.state;\r\n return (\r\n \r\n \r\n \r\n

\r\n {id ? 'Editar' : 'Nuevo'} periodo\r\n

\r\n

\r\n {id ? 'Modificar ' : 'Ingresa '}\r\n la información del periodo\r\n

\r\n \r\n
\r\n \r\n \r\n {!(aniosLectivos)\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\nPeriodoFormContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default PeriodoFormContainer;\r\n","const validate = (values) => {\r\n const attrs = values || {};\r\n const errors = {};\r\n if (!attrs.student || !attrs.student.perfilAlumnoId) {\r\n errors.usuario = 'Debe seleccioanr el alumno';\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport {\r\n Card,\r\n CardBody,\r\n Col,\r\n Row,\r\n Container,\r\n} from 'reactstrap';\r\nimport renderSelectField from '../../../../shared/components/form/Select';\r\nimport renderCheckBoxField from '../../../../shared/components/form/CheckBox';\r\nimport setPropsAsInitialValues from '../../../../helpers/setPropsAsInitialValues';\r\nimport validate from './validate';\r\n\r\nclass InscriptionForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onMateriaPeriodoChanges: PropTypes.func.isRequired,\r\n onCarreraChanges: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool,\r\n carreras: PropTypes.arrayOf(PropTypes.shape({})),\r\n subjects: PropTypes.arrayOf(PropTypes.shape({})),\r\n anho: PropTypes.number.isRequired,\r\n }\r\n\r\n static defaultProps = {\r\n submitting: false,\r\n carreras: [],\r\n subjects: [],\r\n }\r\n\r\n render() {\r\n const {\r\n submitting,\r\n handleSubmit,\r\n onBack,\r\n anho,\r\n carreras,\r\n subjects = [],\r\n onMateriaPeriodoChanges,\r\n onCarreraChanges,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
Materias del periodo
\r\n
\r\n \r\n \r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n Periodo\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Carrera\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n {subjects.map(g => (\r\n \r\n \r\n \r\n
\r\n

{g.nombre}

\r\n
\r\n {g.materias.map(m => (\r\n
\r\n onMateriaPeriodoChanges(m.materiaMallaId, v)}\r\n />\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n \r\n ))}\r\n
\r\n
\r\n\r\n
\r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst InscriptionFormForm = reduxForm({\r\n form: 'InscriptionFormForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(InscriptionForm);\r\n\r\nexport default setPropsAsInitialValues(InscriptionFormForm);\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport EditarMateriasForm from './EditarMateriasForm';\r\nimport {\r\n fetchAllSubjectsBySemesters,\r\n saveSubjects,\r\n fetchEditSubjectsFormData,\r\n} from '../../../../redux/actions/periodoActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../../helpers/notification';\r\nimport { SidebarProps } from '../../../../shared/prop-types/ReducerProps';\r\n\r\nclass InscriptionContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loaded: false,\r\n materiasModificadas: [],\r\n carrera: { value: 0, label: 'Todos' },\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchFormData();\r\n this.fetchSubjectList(0);\r\n }\r\n\r\n fetchFormData = () => {\r\n const { history, id: periodoId } = this.props;\r\n fetchEditSubjectsFormData(periodoId, {\r\n onSuccess: (formData) => {\r\n const { carreras } = formData;\r\n carreras.push({ value: 0, label: 'Todos' });\r\n this.setState({\r\n ...formData,\r\n carreras,\r\n loaded: true,\r\n });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El periodo no existe');\r\n history.push('/pages/periodo-subjects');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos del periodo');\r\n }\r\n },\r\n });\r\n }\r\n\r\n fetchSubjectList = (carreraId) => {\r\n const { id: periodoId } = this.props;\r\n this.setState({ loaded: false });\r\n fetchAllSubjectsBySemesters({\r\n periodoId,\r\n carreraId,\r\n onSuccess: (subjects) => {\r\n this.setState({ subjects, loaded: true });\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar las materias');\r\n this.setState({ loaded: false });\r\n },\r\n });\r\n }\r\n\r\n\r\n onMateriaPeriodoChanges = (id, evt) => {\r\n if (evt.target) {\r\n const { materiasModificadas } = this.state;\r\n const subject = materiasModificadas.find(i => i.materiaMallaId === id);\r\n if (!subject) {\r\n materiasModificadas.push({\r\n materiaMallaId: id,\r\n selected: evt.target.checked,\r\n });\r\n this.setState({ materiasModificadas });\r\n } else {\r\n subject.selected = evt.target.checked;\r\n this.setState({ materiasModificadas });\r\n }\r\n }\r\n }\r\n\r\n handleSubmit = () => {\r\n const { id: periodoId } = this.props;\r\n const { materiasModificadas } = this.state;\r\n const params = { materiasModificadas, periodoId: +periodoId };\r\n const { history } = this.props;\r\n saveSubjects(params,\r\n {\r\n onSuccess: () => {\r\n createSuccessMessage('Materias del periodo guardado exitosamente');\r\n history.push(`/pages/periodos/edit/${periodoId}`);\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar las materias del periodo');\r\n }\r\n },\r\n });\r\n }\r\n\r\n onCarreraChanges = (carrera) => {\r\n this.setState({ carrera });\r\n this.fetchSubjectList(carrera.value);\r\n }\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n render() {\r\n const { id, history } = this.props;\r\n const {\r\n periodo,\r\n loaded,\r\n subjects,\r\n carrera,\r\n carreras,\r\n } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n Materias del periodo\r\n

\r\n

\r\n {id ? 'Modifica ' : 'Ingresa '}\r\n la información de materias del periodo\r\n

\r\n \r\n
\r\n \r\n \r\n {!(loaded && subjects && periodo)\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\nInscriptionContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n sidebar: SidebarProps.isRequired,\r\n};\r\n\r\nexport default withRouter(connect(state => ({\r\n sidebar: state.sidebar,\r\n}))(InscriptionContainer));\r\n","const validate = (attrs = {\r\n horarios: [],\r\n}) => {\r\n const errors = {};\r\n\r\n if (!attrs.malla || !attrs.malla.value) {\r\n errors.malla = 'Debe seleccionar una malla';\r\n }\r\n\r\n if (!attrs.materia || !attrs.materia.value) {\r\n errors.materia = 'Debe seleccionar una materia';\r\n }\r\n\r\n if (!attrs.profesor || !attrs.profesor.value) {\r\n errors.profesor = 'Debe seleccionar un profesor';\r\n }\r\n\r\n if (!attrs.periodo || !attrs.periodo.value) {\r\n errors.periodo = 'Debe seleccionar un periodo';\r\n }\r\n\r\n if (attrs.horarios && attrs.horarios.length) {\r\n errors.horarios = [];\r\n attrs.horarios.filter(o => !o.deleted).forEach((obj, index) => {\r\n const error = {};\r\n\r\n if (!obj.tipoActividadAcademicaHorario || !obj.tipoActividadAcademicaHorario.value) {\r\n error.tipoActividadAcademicaHorario = 'Debe ingresar el tipo de actividad academica';\r\n }\r\n if (!obj.profesor || !obj.profesor.value) {\r\n error.profesor = 'Debe seleccionar un profesor';\r\n } else {\r\n const {\r\n profesor, profesorAuxiliar1, profesorAuxiliar2, profesorAuxiliar3,\r\n } = attrs;\r\n const profesorsAvailable = [\r\n profesor || {},\r\n profesorAuxiliar1 || {},\r\n profesorAuxiliar2 || {},\r\n profesorAuxiliar3 || {},\r\n ];\r\n\r\n if (!profesorsAvailable.some(p => p.value && p.value === obj.profesor.value)) {\r\n error.profesor = 'Debe seleccionar el profesor encaregado o auxiliar';\r\n }\r\n }\r\n if (!obj.dia || !obj.dia.value) {\r\n error.dia = 'Debe seleccionar un dia';\r\n }\r\n if (!obj.horaInicio) {\r\n error.horaInicio = 'Debe ingresar la hora';\r\n }\r\n if (!obj.horaFin) {\r\n error.horaFin = 'Debe ingresar la hora';\r\n }\r\n\r\n if (Object.keys(error).length) {\r\n errors.horarios[index] = error;\r\n }\r\n });\r\n }\r\n\r\n if (Object.keys(errors).length) {\r\n console.error(errors);\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n FieldArray,\r\n} from 'redux-form';\r\nimport {\r\n Badge,\r\n Container,\r\n Card,\r\n CardBody,\r\n Col,\r\n Button,\r\n Row,\r\n TabPane,\r\n TabContent,\r\n Nav,\r\n NavItem,\r\n} from 'reactstrap';\r\n\r\nimport LoadingSpinner from '../../../../shared/components/LoadingSpinner';\r\nimport renderCheckBoxField from '../../../../shared/components/form/CheckBox';\r\nimport TextBox from '../../../../shared/components/form/TextBox';\r\nimport DataTable from '../../../../shared/components/DataTable';\r\nimport renderSelectField from '../../../../shared/components/form/Select';\r\nimport PlaneamientoForm from '../../../Profesor/PlaneamientoForm/index';\r\nimport setPropsAsInitialValues from '../../../../helpers/setPropsAsInitialValues';\r\nimport validate from './validate';\r\n\r\nclass MateriaPeriodoForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onFilterChanges: PropTypes.func.isRequired,\r\n onChangeText: PropTypes.func.isRequired,\r\n onChangeSelect: PropTypes.func.isRequired,\r\n onGetAlumnosMateria: PropTypes.func.isRequired,\r\n onDownloadAlumnosMateriaNotas: PropTypes.func.isRequired,\r\n\r\n onAddSubjectsSchedule: PropTypes.func.isRequired,\r\n onDeleteSubjectSchedule: PropTypes.func.isRequired,\r\n\r\n onBack: PropTypes.func.isRequired,\r\n\r\n loading: PropTypes.bool.isRequired,\r\n editarAsistencias: PropTypes.bool.isRequired,\r\n tipoActividadAcademicaHorarios: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n\r\n submitting: PropTypes.bool,\r\n profesores: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n materias: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n materiaPeriodo: PropTypes.shape({}).isRequired,\r\n\r\n diasSemana: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n\r\n filters: PropTypes.shape({}).isRequired,\r\n horarios: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n loadingAlumnosMateria: PropTypes.bool.isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n totalItemsCount: PropTypes.number.isRequired,\r\n\r\n profesor: PropTypes.shape({\r\n value: PropTypes.number.isRequired,\r\n label: PropTypes.string.isRequired,\r\n }).isRequired,\r\n profesorAuxiliar1: PropTypes.shape({\r\n value: PropTypes.number.isRequired,\r\n label: PropTypes.string.isRequired,\r\n }).isRequired,\r\n profesorAuxiliar2: PropTypes.shape({\r\n value: PropTypes.number.isRequired,\r\n label: PropTypes.string.isRequired,\r\n }).isRequired,\r\n profesorAuxiliar3: PropTypes.shape({\r\n value: PropTypes.number.isRequired,\r\n label: PropTypes.string.isRequired,\r\n }).isRequired,\r\n }\r\n\r\n static defaultProps = {\r\n submitting: false,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n activeTab: '1',\r\n };\r\n\r\n this.columns = ({\r\n calculatePPFromTasks,\r\n canEditTask,\r\n }) => {\r\n const cols = [\r\n {\r\n key: 'numeroDocumento',\r\n name: <>Nº documento,\r\n width: '120px',\r\n search: true,\r\n },\r\n {\r\n key: 'apellidoAlumno',\r\n name: 'Apellido',\r\n visible: false,\r\n search: true,\r\n },\r\n {\r\n key: 'nombreAlumno',\r\n name: 'Nombre',\r\n search: true,\r\n format: row => `${row.apellidoAlumno}, ${row.nombreAlumno}`.trim(),\r\n },\r\n { key: 'email', name: 'E-Mail' },\r\n ];\r\n\r\n return [\r\n ...cols,\r\n ...[\r\n {\r\n key: 'porcentajePP',\r\n name: '% PP',\r\n editable: !calculatePPFromTasks && canEditTask,\r\n type: 'number',\r\n min: 0,\r\n max: 100,\r\n width: '100px',\r\n className: 'text-center',\r\n inputStyle: this.inputStyle,\r\n format: ({ porcentajePP }) => (\r\n \r\n {porcentajePP}\r\n \r\n ),\r\n },\r\n {\r\n key: 'porcentajeAsistencia',\r\n name: '% Asistencia',\r\n type: 'number',\r\n min: '0',\r\n max: '100',\r\n width: '110px',\r\n className: 'text-center',\r\n inputStyle: this.inputStyle,\r\n format: ({ porcentajeAsistencia }) => (\r\n \r\n {Math.round(porcentajeAsistencia)}\r\n \r\n ),\r\n },\r\n {\r\n key: 'actions',\r\n name: 'Accion',\r\n width: '100px',\r\n visible: false,\r\n },\r\n ],\r\n ];\r\n };\r\n\r\n this.actions = [\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (inscription) => {\r\n this.editarNotas(inscription);\r\n },\r\n },\r\n ];\r\n }\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateExamsTable(1, pageSize, {});\r\n };\r\n\r\n toggle = (tab) => {\r\n const { onGetAlumnosMateria } = this.props;\r\n const { activeTab } = this.state;\r\n if (activeTab !== tab) {\r\n this.setState({ activeTab: tab });\r\n if (tab === '2') {\r\n onGetAlumnosMateria();\r\n }\r\n }\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n getProfesoresMateria = () => {\r\n const {\r\n profesor, profesorAuxiliar1, profesorAuxiliar2, profesorAuxiliar3,\r\n } = this.props;\r\n\r\n return [\r\n profesor || {},\r\n profesorAuxiliar1 || {},\r\n profesorAuxiliar2 || {},\r\n profesorAuxiliar3 || {},\r\n ].filter(p => p.value);\r\n }\r\n\r\n renderHorarios = ({\r\n fields = [],\r\n tipoActividadAcademicaHorarios = [],\r\n diasSemana = [],\r\n horarios = [],\r\n }) => {\r\n const {\r\n onAddSubjectsSchedule, onDeleteSubjectSchedule, onChangeText, onChangeSelect,\r\n } = this.props;\r\n\r\n const profesoresMateria = this.getProfesoresMateria();\r\n\r\n const showBtnAdd = () => {\r\n if (profesoresMateria.length === 0) {\r\n return (\r\n \r\n
\r\n

\r\n \r\n Debe seleccionar un profesor (Encargado o Auxiliar) para agregar los horarios.\r\n \r\n

\r\n
\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n onAddSubjectsSchedule()}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n {' '}\r\n Agregar\r\n \r\n \r\n );\r\n };\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n

Horario de clases

\r\n \r\n {showBtnAdd()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {fields.map((horario, index) => {\r\n if (!horarios[index]) {\r\n return null;\r\n }\r\n\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
#Tipo ActividadProfesorDíaAulaHora InicioHora Fin{' '}
\r\n
\r\n

{index + 1}

\r\n onChangeSelect({\r\n option: props, name: 'tipoActividadAcademicaHorario', index,\r\n })}\r\n options={tipoActividadAcademicaHorarios}\r\n component={renderSelectField}\r\n />\r\n
\r\n
\r\n
\r\n onChangeSelect({ option: props, name: 'profesor', index })}\r\n options={profesoresMateria}\r\n component={renderSelectField}\r\n />\r\n
\r\n
\r\n
\r\n onChangeSelect({ option: props, name: 'dia', index })}\r\n options={diasSemana}\r\n component={renderSelectField}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n onChangeText(v, index)}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n onChangeText(v, index)}\r\n />\r\n
\r\n
\r\n
\r\n onChangeText(v, index)}\r\n />\r\n
\r\n
\r\n onDeleteSubjectSchedule({ index })}\r\n size=\"sm\"\r\n outline\r\n color=\"danger\"\r\n style={{ marginBottom: '0px' }}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n planeamientoForm = () => {\r\n const { materiaPeriodo } = this.props;\r\n return (\r\n \r\n );\r\n };\r\n\r\n\r\n render() {\r\n const { loading } = this.props;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n const {\r\n submitting,\r\n handleSubmit,\r\n onFilterChanges,\r\n onBack,\r\n onDownloadAlumnosMateriaNotas,\r\n profesores,\r\n materias,\r\n materiaPeriodo,\r\n horarios,\r\n diasSemana,\r\n tipoActividadAcademicaHorarios,\r\n editarAsistencias,\r\n loadingAlumnosMateria,\r\n items,\r\n totalItemsCount,\r\n filters,\r\n } = this.props;\r\n\r\n const { malla, periodo } = materiaPeriodo;\r\n\r\n const {\r\n activeTab,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
Datos de la materia por periodo
\r\n
\r\n \r\n \r\n
\r\n Malla\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Periodo\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Materia\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n Profesor Encargado\r\n
\r\n onFilterChanges('profesor', 'profesorId', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n Profesor Auxiliar\r\n
\r\n onFilterChanges('profesorAuxiliar1', 'profesorAuxiliar1Id', v)}\r\n />\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n Profesor Auxiliar\r\n
\r\n onFilterChanges('profesorAuxiliar2', 'profesorAuxiliar2Id', v)}\r\n />\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n Profesor Auxiliar\r\n
\r\n onFilterChanges('profesorAuxiliar3', 'profesorAuxiliar3Id', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n {' '}\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n Sección\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n {/* */\r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n loadingAlumnosMateria ? (\r\n \r\n \r\n \r\n )\r\n : (\r\n <>\r\n \r\n
\r\n \r\n  \r\n Descargar lista\r\n \r\n
\r\n \r\n this.getGridActions(key)}\r\n onAutoSave={this.autoguardarNota}\r\n itemsToShow={items.length}\r\n page={1}\r\n pageSize={totalItemsCount}\r\n autoHideSearch={filters.autoHideSearch}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n \r\n )\r\n }\r\n
\r\n
\r\n \r\n \r\n {this.planeamientoForm()}\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxMateriaPeriodoForm = reduxForm({\r\n form: 'MateriaPeriodoForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(MateriaPeriodoForm);\r\n\r\nexport default setPropsAsInitialValues(ReduxMateriaPeriodoForm);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n Spinner,\r\n} from 'reactstrap';\r\nimport MateriaPeriodoForm from './MateriaPeriodoForm';\r\nimport {\r\n get,\r\n save,\r\n fetchFormDatas,\r\n fetchSubjectsScheduleBySubjectPeriodId,\r\n downloadSubjectStudentsScore,\r\n getSubjectStudents,\r\n} from '../../../../redux/actions/materiaPeriodoActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../../helpers/notification';\r\n\r\nclass MateriaPeriodoContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n tipoActividadAcademicaHorarios: [],\r\n diasSemana: [],\r\n loading: false,\r\n horarios: [],\r\n horarioChanged: 0,\r\n loadingAlumnosMateria: false,\r\n items: [],\r\n totalItemsCount: 0,\r\n filters: {\r\n page: 1,\r\n pageSize: 20,\r\n numeroDocumento: '',\r\n nombreAlumno: '',\r\n apellidoAlumno: '',\r\n },\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDatasList();\r\n this.updateSubjectsScheduleTable();\r\n }\r\n\r\n downloadAlumnosMateriaNotas = () => {\r\n const { id } = this.props;\r\n this.setState({ loadingAlumnosMateria: true });\r\n downloadSubjectStudentsScore({\r\n id,\r\n onSuccess: () => {\r\n this.setState({ loadingAlumnosMateria: false });\r\n createSuccessMessage('Lista descargada exitosamente');\r\n },\r\n onError: () => {\r\n this.setState({ loadingAlumnosMateria: false });\r\n createErrorMessage('Error al intentar descargar la lista de calificaciones alumnos');\r\n },\r\n });\r\n }\r\n\r\n updateAlumnosMateria = (page, pageSize, filters) => {\r\n const { id } = this.props;\r\n\r\n this.setState({\r\n loadingAlumnosMateria: true,\r\n filters: filters || {},\r\n });\r\n\r\n getSubjectStudents({\r\n filters,\r\n id,\r\n onSuccess: ({ materias: items }) => {\r\n this.setState({\r\n loadingAlumnosMateria: false,\r\n items,\r\n totalItemsCount: items.length,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({\r\n items: [],\r\n loadingAlumnosMateria: false,\r\n });\r\n createErrorMessage('Error al intentar cargar la lista de alumnos');\r\n },\r\n });\r\n }\r\n\r\n fetchCurrentRecord = () => {\r\n const { id, idPeriodo, history } = this.props;\r\n if (id) {\r\n get({\r\n id,\r\n onSuccess: (dto) => {\r\n this.setState({ materiaPeriodo: dto });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('La materia periodo no existe');\r\n history.push(`/pages/periodos/edit/${idPeriodo}`);\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos de la materia periodo');\r\n }\r\n },\r\n });\r\n } else {\r\n this.setState({\r\n materiaPeriodo: {\r\n id: 0,\r\n fecha: new Date().toISOString(),\r\n utilizaPorcentajePesoMateria: false,\r\n },\r\n });\r\n }\r\n }\r\n\r\n fetchDatasList = () => {\r\n fetchFormDatas({\r\n onSuccess: ({\r\n mallas,\r\n materias,\r\n periodos,\r\n profesores,\r\n tipoActividadAcademicaHorarios,\r\n diasSemana,\r\n }) => {\r\n this.setState({\r\n mallas,\r\n materias,\r\n periodos,\r\n profesores,\r\n tipoActividadAcademicaHorarios,\r\n diasSemana,\r\n });\r\n\r\n this.fetchCurrentRecord();\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n handleSubmit = (values) => {\r\n if (!values) return;\r\n const {\r\n id,\r\n materia,\r\n profesor,\r\n profesorAuxiliar1,\r\n profesorAuxiliar2,\r\n profesorAuxiliar3,\r\n materiaMallaId,\r\n malla,\r\n periodoId,\r\n horarios,\r\n utilizaPorcentajePesoMateria,\r\n editarAsistencias,\r\n seccion,\r\n } = values;\r\n // const { value: materiaPeriodoId } = materia;\r\n const { value: mallaId } = malla;\r\n const { value: materiaId } = materia;\r\n const { value: profesorId } = profesor;\r\n const { value: profesorAuxiliar1Id } = profesorAuxiliar1 || {};\r\n const { value: profesorAuxiliar2Id } = profesorAuxiliar2 || {};\r\n const { value: profesorAuxiliar3Id } = profesorAuxiliar3 || {};\r\n\r\n const params = {\r\n // ...values,\r\n id,\r\n materiaMallaId,\r\n mallaId,\r\n materiaId,\r\n profesorId,\r\n periodoId,\r\n profesorAuxiliar1Id,\r\n profesorAuxiliar2Id,\r\n profesorAuxiliar3Id,\r\n horarios,\r\n utilizaPorcentajePesoMateria,\r\n editarAsistencias,\r\n seccion,\r\n };\r\n const { history, idPeriodo } = this.props;\r\n save(params, {\r\n onSuccess: () => {\r\n createSuccessMessage('Materia por periodo guardada exitosamente');\r\n history.push(`/pages/periodos/edit/${idPeriodo}`);\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la materia periodo');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n handleAddSubjectsSchedule = () => {\r\n const { horarios = [] } = this.state;\r\n\r\n const newIndex = horarios.length === 0 ? 0 : (Math.max(...horarios.map(({ index }) => index)) + 1);\r\n\r\n this.setState({\r\n horarios: [\r\n ...horarios,\r\n {\r\n id: 0,\r\n index: newIndex,\r\n materiaPeriodo: '',\r\n profesor: {\r\n value: 0,\r\n label: '-',\r\n parentId: 0,\r\n item: null,\r\n },\r\n dia: {\r\n value: 0,\r\n label: '-',\r\n parentId: 0,\r\n item: null,\r\n },\r\n horaInicio: '00:00',\r\n horaFin: '00:00',\r\n aula: '',\r\n tipoActividadAcademicaHorario: {\r\n value: 0,\r\n label: '-',\r\n parentId: 0,\r\n item: null,\r\n },\r\n },\r\n ],\r\n });\r\n }\r\n\r\n handleDeleteSubjectSchedule = ({ index }) => {\r\n const { horarios = [] } = this.state;\r\n const newArray = horarios.map(h => ({\r\n ...h,\r\n deleted: h.deleted || h.index === index,\r\n }));\r\n\r\n this.setState({ horarios: newArray });\r\n }\r\n\r\n updateSubjectsScheduleTable = () => {\r\n const { id } = this.props;\r\n\r\n if (!id) {\r\n this.setState({\r\n horarios: [],\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n fetchSubjectsScheduleBySubjectPeriodId({\r\n subjectId: id,\r\n onSuccess: (horarios) => {\r\n this.setState({\r\n loading: false,\r\n horarios: horarios.map((h, index) => ({ ...h, index })),\r\n });\r\n },\r\n onError: (error) => {\r\n this.setState({ horarios: [], loading: false });\r\n if (error && error.status === 404) {\r\n createErrorMessage('La horario de clases no existe');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos del horario de clases');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleChangeText = (e, index) => {\r\n const { horarios } = this.state;\r\n\r\n const value = e.target.type === 'number' ? Number(e.target.value) : `${e.target.value}`.trim();\r\n\r\n const newHorarios = [...horarios];\r\n newHorarios[index] = {\r\n ...newHorarios[index],\r\n ...{\r\n [e.target.name.split('.')[1]]: value,\r\n },\r\n };\r\n\r\n this.setState({ horarios: newHorarios });\r\n };\r\n\r\n handleChangeSelect = ({ option, name, index }) => {\r\n this.setState({ loading: true });\r\n\r\n const { horarios } = this.state;\r\n const newHorarios = [...horarios];\r\n const data = {\r\n [name]: option,\r\n index,\r\n };\r\n\r\n newHorarios[index] = {\r\n ...newHorarios[index],\r\n ...data,\r\n };\r\n\r\n this.setState({\r\n horarios: newHorarios,\r\n loading: false,\r\n horarioChanged: new Date().getTime(),\r\n });\r\n };\r\n\r\n handleOnFilterChanges = (objectKey, idKey, item) => {\r\n const { materiaPeriodo } = this.state;\r\n\r\n this.setState({\r\n materiaPeriodo: {\r\n ...materiaPeriodo,\r\n [idKey]: item.value,\r\n [objectKey]: item,\r\n },\r\n });\r\n }\r\n\r\n showSpinner = () => (\r\n
\r\n \r\n
\r\n );\r\n\r\n render() {\r\n const { id, history } = this.props;\r\n const {\r\n materiaPeriodo,\r\n profesores,\r\n mallas,\r\n periodos,\r\n materias,\r\n tipoActividadAcademicaHorarios,\r\n diasSemana,\r\n loading,\r\n horarios,\r\n horarioChanged,\r\n\r\n loadingAlumnosMateria,\r\n items,\r\n filters,\r\n totalItemsCount,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n {id ? 'Editar' : 'Nueva'} materia periodo\r\n

\r\n

\r\n {id ? 'Modificar ' : 'Ingresa '}\r\n la materia periodo\r\n

\r\n \r\n
\r\n \r\n \r\n {!(profesores && materiaPeriodo)\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\nMateriaPeriodoContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n idPeriodo: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default MateriaPeriodoContainer;\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport { Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport {\r\n filter,\r\n remove,\r\n} from '../../redux/actions/mallaActions';\r\nimport Confirm from '../../shared/components/Confirm';\r\nimport { createErrorMessage, createSuccessMessage } from '../../helpers/notification';\r\n\r\nclass MallasContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n loading: true,\r\n items: [],\r\n filters: { id: 20 },\r\n };\r\n this.columns = [\r\n {\r\n key: 'id',\r\n name: '# ',\r\n search: false,\r\n width: '80px',\r\n },\r\n {\r\n key: 'nombre',\r\n name: 'Nombre',\r\n search: false,\r\n },\r\n {\r\n key: 'carrera',\r\n name: 'Carrera',\r\n search: true,\r\n },\r\n {\r\n key: 'fechaVigencia',\r\n name: 'Fecha Vigencia',\r\n search: true,\r\n type: 'date',\r\n format: (row) => {\r\n const style = { dateStyle: 'short', timeStyle: 'medium' };\r\n return new Intl.DateTimeFormat('en-GB', style).format(new Date(row.fechaVigencia));\r\n },\r\n },\r\n {\r\n key: 'usarPorDefecto',\r\n name: 'Usar Por Defecto',\r\n search: false,\r\n format: row => (row.usarPorDefecto ? 'Si' : 'No'),\r\n },\r\n {\r\n key: 'activo',\r\n name: 'Activo',\r\n search: false,\r\n format: row => (row.activo ? 'Si' : 'No'),\r\n },\r\n { key: 'actions', name: 'Accion', width: '85px' },\r\n ];\r\n this.actions = [\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (malla) => {\r\n this.editMalla(malla);\r\n },\r\n },\r\n {\r\n key: 'delete',\r\n icon: ,\r\n callback: (malla) => {\r\n this.handleDeleteMalla(malla);\r\n },\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n const { page, pageSize } = this.state;\r\n this.updateMallasTable(page, pageSize);\r\n }\r\n\r\n updateMallasTable = (page, pageSize, filters) => {\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n });\r\n filter({\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters,\r\n },\r\n onSuccess: (pageInfo) => {\r\n this.setState({\r\n loading: false,\r\n items: pageInfo.items,\r\n totalItemsCount: pageInfo.totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de mallas');\r\n },\r\n });\r\n }\r\n\r\n handleDeleteMalla = (malla) => {\r\n const name = `${malla.nombre} - ${malla.carrera}`;\r\n Confirm({\r\n title: 'Borrar malla',\r\n question: `Estás seguro que deseas eliminar la malla ${name}?`,\r\n yesLabel: 'Si, Borrar malla',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n remove(malla.id, {\r\n onSuccess: () => {\r\n createSuccessMessage('Malla borrada exitosamente');\r\n const { page, pageSize } = this.state;\r\n this.updateMallasTable(page, pageSize);\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El malla no existe');\r\n } else {\r\n createErrorMessage('Error al intentar borrar la malla');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n editMalla = (malla) => {\r\n const { history } = this.props;\r\n history.push(`/pages/mallas/edit/${malla.id}`);\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateMallasTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateMallasTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateMallasTable(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

Lista de mallas

\r\n {false && (\r\n
\r\n \r\n Agregar nueva malla\r\n \r\n
\r\n )}\r\n \r\n
\r\n \r\n {loading ?

Cargando...

\r\n : (\r\n this.getGridActions(key)}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n )\r\n }\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(MallasContainer);\r\n","import { apiGet, apiPost, apiDelete } from '../../api/index';\r\nimport { urlMallas } from '../../api/urls';\r\n\r\nexport function filter(params) {\r\n const pageInfo = params && params.pageInfo\r\n ? params.pageInfo\r\n : { page: 1, pageSize: 15 };\r\n return apiPost(`${urlMallas}/all`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function get(id, callback) {\r\n return apiGet(`${urlMallas}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function save(obj, callback) {\r\n return apiPost(`${urlMallas}`, obj)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function remove(id, callback) {\r\n return apiDelete(`${urlMallas}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchFormDatas(params) {\r\n return apiGet(`${urlMallas}/form_data`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchEditSubjectsFormData(periodoId, params) {\r\n return apiGet(`${urlMallas}/form_data_edit_subjects/${periodoId}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\n\r\nexport function fetchAllSubjectsBySemesters(params) {\r\n return apiGet(`${urlMallas}/subjects_by_semesters/${params.periodoId}/${params.carreraId}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function saveSubjects(data, callback) {\r\n return apiPost(`${urlMallas}/save_subjects`, data)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { Button, ButtonToolbar, Modal } from 'reactstrap';\r\nimport classNames from 'classnames';\r\nimport { RTLProps } from '../../prop-types/ReducerProps';\r\n\r\nclass ModalComponent extends PureComponent {\r\n static propTypes = {\r\n title: PropTypes.string,\r\n message: PropTypes.string,\r\n color: PropTypes.string.isRequired,\r\n colored: PropTypes.bool,\r\n header: PropTypes.bool,\r\n btn: PropTypes.string.isRequired,\r\n rtl: RTLProps.isRequired,\r\n };\r\n\r\n static defaultProps = {\r\n title: '',\r\n message: '',\r\n colored: false,\r\n header: false,\r\n };\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n modal: false,\r\n };\r\n\r\n this.toggle = this.toggle.bind(this);\r\n }\r\n\r\n getIcon = (color) => {\r\n switch (color) {\r\n case 'primary':\r\n return ;\r\n case 'success':\r\n return ;\r\n case 'warning':\r\n return ;\r\n case 'danger':\r\n return ;\r\n default:\r\n return <>;\r\n }\r\n }\r\n\r\n toggle() {\r\n this.setState(prevState => ({ modal: !prevState.modal }));\r\n }\r\n\r\n render() {\r\n const {\r\n color, btn, title, message, colored, header, rtl,\r\n } = this.props;\r\n const { modal } = this.state;\r\n\r\n const modalClass = classNames({\r\n 'modal-dialog--colored': colored,\r\n 'modal-dialog--header': header,\r\n });\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {message}\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 connect(state => ({\r\n rtl: state.rtl,\r\n}))(ModalComponent);\r\n","const validate = (values) => {\r\n const attrs = values || {};\r\n const errors = {};\r\n\r\n if (!attrs.nombre) {\r\n errors.nombre = 'Debe ingresar un nombre para la malla';\r\n }\r\n\r\n if (!attrs.carrera || !attrs.carrera.value) {\r\n errors.carrera = 'Debe seleccionar la carrera';\r\n }\r\n\r\n if (!attrs.fechaVigencia) {\r\n errors.fechaVigencia = 'Debe seleccionar la fecha de vigencia';\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport {\r\n Card, CardBody, Col, Badge,\r\n} from 'reactstrap';\r\nimport renderSelectField from '../../../shared/components/form/Select';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport renderCheckBoxField from '../../../shared/components/form/CheckBox';\r\nimport DataTable from '../../../shared/components/DataTable';\r\nimport TextBox from '../../../shared/components/form/TextBox';\r\nimport DatePicker from '../../../shared/components/form/DatePicker';\r\nimport ModalForm from '../../../shared/components/form/Modal';\r\n// import MallaEditarMateria from './MateriaMalla/MateriaMallaForm';\r\n\r\nimport validate from './validate';\r\n\r\nclass MallaForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n handleDeleteMateriaMalla: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool,\r\n\r\n id: PropTypes.number,\r\n carreras: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n materias: PropTypes.arrayOf(PropTypes.shape({})),\r\n carrera: PropTypes.shape({}),\r\n usarPorDefecto: PropTypes.bool,\r\n activo: PropTypes.bool,\r\n\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n static defaultProps = {\r\n id: 0,\r\n submitting: false,\r\n materias: [],\r\n carrera: {},\r\n usarPorDefecto: false,\r\n activo: false,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.editMateriaMalla = this.editMateriaMalla.bind(this);\r\n this.deleteMateriaMalla = this.deleteMateriaMalla.bind(this);\r\n\r\n this.state = {\r\n page: 1,\r\n pageSize: 100,\r\n totalItemsCount: 0,\r\n filters: { id: 20 },\r\n modal: true,\r\n };\r\n\r\n this.columns = [\r\n {\r\n key: 'semestreNroOrden',\r\n name: 'Semestre',\r\n search: false,\r\n width: '120px',\r\n className: 'text-center',\r\n format: row => (\r\n
\r\n \r\n {` ${row.semestreNroOrden}º`}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n key: 'materia',\r\n name: 'Materia',\r\n search: false,\r\n format: row => `${row.codigoMateria} - ${row.materia}`,\r\n },\r\n {\r\n key: 'areaConocimiento',\r\n name: 'Area Conocimiento',\r\n className: 'text-center',\r\n },\r\n {\r\n key: 'horasLaboratorioSemestral',\r\n name: 'Horas Laboratorio Semestral',\r\n className: 'text-center',\r\n },\r\n {\r\n key: 'horasPracticaSemestral',\r\n name: 'Horas Practica Semestral',\r\n className: 'text-center',\r\n },\r\n {\r\n key: 'horasTeoriaSemestral',\r\n name: 'Horas Teoria Semestral',\r\n className: 'text-center',\r\n },\r\n { key: 'actions', name: 'Accion', width: '85px' },\r\n ];\r\n this.actions = [\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (materiaMalla) => {\r\n this.editMateriaMalla(materiaMalla);\r\n },\r\n },\r\n {\r\n key: 'delete',\r\n icon: ,\r\n callback: (materiaMalla) => {\r\n this.deleteMateriaMalla(materiaMalla);\r\n },\r\n },\r\n ];\r\n }\r\n\r\n agregarOquitarMaterias = (malla) => {\r\n if (malla) {\r\n const { id, history } = this.props;\r\n history.push(`/pages/mallas/edit/${id}/materias`);\r\n }\r\n };\r\n\r\n editMateriaMalla = (materiaMalla) => {\r\n if (materiaMalla) {\r\n const { id, history } = this.props;\r\n console.log(materiaMalla);\r\n this.setState({ modal: true });\r\n\r\n if (id === 111) {\r\n history.push(`/pages/mallas/subjects/edit/${id}/${materiaMalla.id}`);\r\n }\r\n }\r\n };\r\n\r\n deleteMateriaMalla = (materiaMalla) => {\r\n if (materiaMalla) {\r\n const { handleDeleteMateriaMalla } = this.props;\r\n handleDeleteMateriaMalla(materiaMalla);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateSubjectsTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateSubjectsTable(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n handleOkModal = (e) => {\r\n console.log(e);\r\n\r\n this.toggle();\r\n }\r\n\r\n handleCancelModal = (e) => {\r\n console.log(e);\r\n\r\n this.toggle();\r\n }\r\n\r\n toggle = () => {\r\n this.setState(prevState => ({ modal: !prevState.modal }));\r\n }\r\n\r\n render() {\r\n const {\r\n submitting,\r\n handleSubmit,\r\n onBack,\r\n id,\r\n carreras,\r\n materias,\r\n usarPorDefecto,\r\n activo,\r\n } = this.props;\r\n\r\n const {\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n modal,\r\n } = this.state;\r\n\r\n const canAddMateriaMalla = false;\r\n\r\n return (\r\n \r\n \r\n \r\n {canAddMateriaMalla && (\r\n \r\n {''}\r\n \r\n )}\r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n \r\n
\r\n
Datos de la Malla
\r\n
\r\n \r\n \r\n
\r\n Nombre\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n Carrera\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n\r\n \r\n\r\n
\r\n Fecha Vigencia\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n
\r\n {' '}\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n\r\n
\r\n {' '}\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n {id && canAddMateriaMalla && (\r\n
\r\n this.agregarOquitarMaterias({ id })}\r\n >\r\n Agregar / Quitar Materias\r\n \r\n this.getGridActions(key)}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n
\r\n )}\r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxMallaForm = reduxForm({\r\n form: 'MallaForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(MallaForm);\r\n\r\nexport default setPropsAsInitialValues(ReduxMallaForm);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n} from 'reactstrap';\r\n\r\nimport MallaForm from './MallaForm';\r\nimport {\r\n get,\r\n save,\r\n fetchFormDatas,\r\n} from '../../../redux/actions/mallaActions';\r\nimport {\r\n remove as removeMateriaMalla,\r\n} from '../../../redux/actions/materiaMallaActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../helpers/notification';\r\nimport Confirm from '../../../shared/components/Confirm';\r\n\r\nclass MallaFormContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.handleOnFilterChange = this.handleOnFilterChange.bind(this);\r\n this.handleOnSubjectChange = this.handleOnSubjectChange.bind(this);\r\n this.handleDeleteMateriaMalla = this.handleDeleteMateriaMalla.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDatasList();\r\n this.fetchCurrentRecord();\r\n }\r\n\r\n fetchCurrentRecord = () => {\r\n const { id, history } = this.props;\r\n if (id) {\r\n get(id, {\r\n onSuccess: (dto) => {\r\n const malla = {\r\n ...dto,\r\n carrera: {\r\n value: dto.carreraId,\r\n label: dto.carrera,\r\n },\r\n };\r\n\r\n this.setState({ malla });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El malla no existe');\r\n history.push('/pages/mallas');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos de la malla');\r\n }\r\n },\r\n });\r\n } else {\r\n this.setState({\r\n malla: {\r\n id: 0,\r\n fecha: new Date().toISOString(),\r\n },\r\n });\r\n }\r\n }\r\n\r\n fetchDatasList = () => {\r\n fetchFormDatas({\r\n onSuccess: (d) => {\r\n this.setState({\r\n carreras: d.carreras,\r\n });\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n handleSubmit = (values) => {\r\n const { carrera: { value: carreraId } } = values;\r\n const params = {\r\n ...values,\r\n carreraId,\r\n };\r\n\r\n const { history } = this.props;\r\n save(params, {\r\n onSuccess: () => {\r\n createSuccessMessage('Malla guardada exitosamente');\r\n history.push('/pages/mallas');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la malla');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleDeleteMateriaMalla = (materiaMalla) => {\r\n const name = `${materiaMalla.materia}`;\r\n Confirm({\r\n title: 'Quitar materia de malla',\r\n question: `Estás seguro que deseas quitar la materia ${name} de esta malla?`,\r\n yesLabel: 'Si, Quitar',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n removeMateriaMalla(materiaMalla.id, {\r\n onSuccess: () => {\r\n createSuccessMessage('Materia quitada exitosamente');\r\n this.fetchDatasList();\r\n this.fetchCurrentRecord();\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('La materia no existe');\r\n } else {\r\n createErrorMessage('Error al intentar quitar la materia de la malla');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n handleOnFilterChange = (objectKey, idKey, value) => {\r\n const { malla } = this.state;\r\n this.setState({\r\n [idKey]: value.value,\r\n malla: { ...malla, [objectKey]: value },\r\n });\r\n }\r\n\r\n handleOnSubjectChange = (objectKey, idKey, value) => {\r\n const { malla } = this.state;\r\n const profesor = `${value.nombre} ${value.apellido}`;\r\n let { interventorId, interventor } = malla;\r\n\r\n if (!interventorId) {\r\n interventorId = value.usuarioId;\r\n interventor = { value: interventorId, label: profesor };\r\n }\r\n this.setState({\r\n [idKey]: value.value,\r\n malla: {\r\n ...malla,\r\n [objectKey]: value,\r\n profesor,\r\n interventor,\r\n interventorId,\r\n },\r\n });\r\n }\r\n\r\n render() {\r\n const { id, history } = this.props;\r\n const {\r\n malla,\r\n carreras,\r\n } = this.state;\r\n return (\r\n \r\n \r\n \r\n

\r\n {id ? 'Editar' : 'Nueva'} malla\r\n

\r\n

\r\n {id ? 'Modificar ' : 'Ingresa '}\r\n la información de la malla\r\n

\r\n \r\n
\r\n \r\n \r\n {!(carreras)\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\nMallaFormContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default MallaFormContainer;\r\n","import {\r\n apiGet,\r\n apiPost,\r\n apiDelete,\r\n apiPut,\r\n} from '../../api/index';\r\nimport { urlMallas } from '../../api/urls';\r\n\r\nexport function filter(params) {\r\n const pageInfo = params && params.pageInfo\r\n ? params.pageInfo\r\n : { page: 1, pageSize: 15 };\r\n return apiPost(`${urlMallas}/all`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function get(id, callback) {\r\n return apiGet(`${urlMallas}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function save(obj, callback) {\r\n return apiPost(`${urlMallas}`, obj)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function remove(id, callback) {\r\n return apiDelete(`${urlMallas}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchFormDatas(params) {\r\n return apiGet(`${urlMallas}/form_data`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function getProfesorSubjects(params) {\r\n return apiGet(`${urlMallas}/materias_profesor/0`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function AllSubjectsDashboardByStudent(params) {\r\n return apiGet(`${urlMallas}/materias-tablero-alumno`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function getSubjectStudents(params) {\r\n const filters = params ? params.filters || {} : {};\r\n return apiPut(`${urlMallas}/alumnos-materia`, params.id, filters)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport { fetchAllUAuditLog, fetchFormDatas } from '../../redux/actions/usersActions';\r\nimport { createErrorMessage } from '../../helpers/notification';\r\n\r\nclass AuditLogContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n loading: true,\r\n auditTypes: [],\r\n items: [],\r\n filters: { id: 20 },\r\n };\r\n\r\n this.columns = [\r\n {\r\n key: 'id', name: '#', width: '60px', search: true, type: 'number',\r\n },\r\n {\r\n key: 'usuario', name: 'Usuario', search: true, width: '80px',\r\n },\r\n {\r\n key: 'tipo',\r\n name: 'Tipo',\r\n search: true,\r\n type: 'select',\r\n searchProps: {\r\n options: this.getAuditTypes,\r\n },\r\n },\r\n {\r\n key: 'fecha',\r\n name: 'Fecha',\r\n search: true,\r\n type: 'date',\r\n format: (row) => {\r\n const style = { dateStyle: 'short', timeStyle: 'medium' };\r\n return new Intl.DateTimeFormat('en-GB', style).format(new Date(row.fecha));\r\n },\r\n },\r\n {\r\n key: 'nombreTabla', name: 'Tabla', search: true,\r\n },\r\n {\r\n key: 'clavePrimaria', name: 'Clave Primaria', search: false,\r\n },\r\n {\r\n key: 'columnasAfectadas', name: 'Columnas Afectadas', search: false,\r\n },\r\n {\r\n key: 'valoresAnteriores', name: 'Valores Anteriores', search: false,\r\n },\r\n {\r\n key: 'valoresNuevos', name: 'Valores Nuevos', search: false,\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDatasList();\r\n }\r\n\r\n updateTable = (page, pageSize, filters = {}) => {\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters,\r\n });\r\n fetchAllUAuditLog({\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters,\r\n },\r\n onSuccess: (pageInfo) => {\r\n this.setState({\r\n loading: false,\r\n items: pageInfo.items,\r\n totalItemsCount: pageInfo.totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de cambios');\r\n },\r\n });\r\n }\r\n\r\n fetchDatasList = () => {\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n fetchFormDatas({\r\n onSuccess: (data) => {\r\n this.setState({\r\n auditTypes: data.auditTypes,\r\n loading: false,\r\n });\r\n const { page, pageSize } = this.state;\r\n this.updateTable(page, pageSize);\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n getAuditTypes = () => {\r\n const { auditTypes } = this.state;\r\n\r\n return auditTypes || [];\r\n };\r\n\r\n showData = (data) => {\r\n const { history } = this.props;\r\n history.push(`/pages/users/show_audit_log/${data.id}`);\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n\r\n this.updateTable(1, pageSize, { ...values, tipo: values.tipo ? values.tipo.value : 0 });\r\n }\r\n };\r\n\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateTable(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

Auditoría de cambios

\r\n \r\n
\r\n \r\n {loading ?

Cargando...

\r\n : (\r\n this.getGridActions(key)}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n )\r\n }\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(AuditLogContainer);\r\n","import React from 'react';\r\nimport { Route, Switch } from 'react-router-dom';\r\n\r\nimport Layout from '../Layout/index';\r\nimport Bottombar from '../Layout/bottombar/Bottombar';\r\n\r\nimport MainWrapper from './MainWrapper';\r\n\r\nimport LogIn from '../LogIn/index';\r\nimport FirstLogIn from '../FirstLogIn/index';\r\nimport UsersContainer from '../Users/index';\r\nimport EditUser from '../Users/Edit/index';\r\nimport StudentsContainer from '../Students/Index';\r\nimport StudentData from '../Students/StudentData';\r\nimport StudentsDashboard from '../Students/Dashboard';\r\nimport EditStudent from '../Students/Edit/index';\r\nimport InscriptionForm from '../StudentSubjects/InscriptionForm/index';\r\nimport StudentSubjects from '../StudentSubjects';\r\nimport SubjectInscription from '../StudentSubjects/Inscription';\r\nimport ExamsContainer from '../Exams';\r\nimport MyExamsContainer from '../Exams/StudentExams';\r\nimport StudentExamInscription from '../Exams/StudentExamInscription';\r\n\r\nimport ExamInscription from '../Exams/ExamForm/InscripcionExamen';\r\nimport ExamAddInscription from '../Exams/ExamForm/InscripcionExamen/AddIndex';\r\n\r\nimport ExamForm from '../Exams/ExamForm';\r\nimport PrintView from '../Exams/ExamForm/PrintView';\r\nimport ExamplePageOne from '../Example/index';\r\nimport ExamplePageTwo from '../ExampleTwo/index';\r\n\r\nimport MateriasPeriodo from '../MateriasPeriodo';\r\nimport MateriaPeriodoForm from '../MateriasPeriodo/EditForm';\r\n\r\nimport ProfesorDashboard from '../Profesor/Dashboard';\r\nimport ProfesorSubjects from '../Profesor/index';\r\n\r\nimport AlumnosMateriaProfesor from '../Profesor/ProfessorData';\r\nimport ReporteInscripcion from '../ReporteInscripcion';\r\nimport ReporteAlumnosPorMaterias from '../ReporteAlumnosPorMateria';\r\nimport ReporteAlumnos from '../ReporteAlumnos';\r\nimport ReporteAcademicStatus from '../ReporteAlumnos/AcademicStatus/index';\r\n\r\nimport PeriodoContainer from '../Periodos';\r\nimport PeriodoForm from '../Periodos/PeriodoForm';\r\nimport PeriodoEditarMaterias from '../Periodos/PeriodoForm/EditarMaterias';\r\nimport PeriodoEditarMateria from '../Periodos/PeriodoForm/MateriaPeriodo';\r\n\r\nimport MallaContainer from '../Mallas';\r\nimport MallaForm from '../Mallas/MallaForm';\r\n\r\nimport AuditLogContainer from '../AuditLog';\r\n\r\nconst currentUser = JSON.parse(localStorage.getItem('currentUser')) || {};\r\nconst userId = currentUser ? `${currentUser.id}` : '';\r\nconst getUrlId = (props) => {\r\n const { match: { params: { id } } } = props;\r\n return id;\r\n};\r\nconst getUrlIdDetail = (props) => {\r\n const { match: { params: { idDetail } } } = props;\r\n return idDetail;\r\n};\r\n\r\nconst Pages = () => (\r\n \r\n \r\n } />\r\n } />\r\n } />\r\n \r\n } />\r\n } />\r\n\r\n \r\n }\r\n />\r\n }\r\n />\r\n }\r\n />\r\n \r\n\r\n \r\n \r\n }\r\n />\r\n }\r\n />\r\n\r\n \r\n } />\r\n } />\r\n } />\r\n\r\n }\r\n />\r\n \r\n \r\n \r\n } />\r\n }\r\n />\r\n \r\n } />\r\n } />\r\n \r\n }\r\n />\r\n }\r\n />\r\n\r\n \r\n } />\r\n } />\r\n { /* */}\r\n { /* } */}\r\n { /* /> */}\r\n\r\n \r\n \r\n }\r\n />\r\n \r\n \r\n }\r\n />\r\n }\r\n />\r\n \r\n \r\n \r\n);\r\n\r\nconst { publicSettings = {} } = currentUser;\r\n\r\nconst wrappedRoutes = props => (\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n);\r\n\r\nconst Router = props => (\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 Router;\r\n","import React from 'react';\r\nimport { render } from 'react-dom';\r\nimport App from './containers/App/App';\r\n\r\nrender(\r\n ,\r\n document.getElementById('root'),\r\n);\r\n","import { apiGet, apiPost, apiDelete } from '../../api/index';\r\nimport { urlUsers } from '../../api/urls';\r\n\r\nexport const CREATE_NEW_USER = 'CREATE_NEW_USER';\r\nexport const SET_USER_VALUE = 'SET_USER_VALUE';\r\nexport const FETCH_USER = 'FETCH_USER';\r\nexport const FETCH_USER_LOADING = 'FETCH_USER_LOADING';\r\nexport const FETCH_USER_SUCCESS = 'FETCH_USER_SUCCESS';\r\nexport const FETCH_USER_FAILED = 'FETCH_USER_FAILED';\r\n\r\nexport const POST_USER_LOADING = 'POST_USER_LOADING';\r\nexport const POST_USER_SUCCESS = 'POST_USER_SUCCESS';\r\nexport const POST_USER_FAILED = 'POST_USER_FAILED';\r\n\r\nexport const setUserValue = values => ({ type: SET_USER_VALUE, payload: values });\r\nexport const fetchUserLoading = () => ({ type: FETCH_USER_LOADING });\r\nexport const fetchUserSuccess = user => ({ type: FETCH_USER_SUCCESS, payload: user });\r\nexport const fetchUserFailed = error => ({ type: FETCH_USER_FAILED, payload: error });\r\n// export const createNewUser = () => ({ type: CREATE_NEW_USER });\r\n\r\nexport const postUserLoading = () => ({ type: POST_USER_LOADING });\r\nexport const postUserSuccess = user => ({ type: POST_USER_SUCCESS, payload: user });\r\nexport const postUserFailed = error => ({ type: POST_USER_FAILED, payload: error });\r\n\r\nexport function fetchUser(id, callback) {\r\n return apiGet(`${urlUsers}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function saveUser(user, callback) {\r\n return apiPost(`${urlUsers}`, user)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function deleteUser(id, callback) {\r\n return apiDelete(`${urlUsers}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function resetUserPassword(email, callback) {\r\n return apiGet(`${urlUsers}/reset_password/${email}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchFormDatas(params) {\r\n return apiGet(`${urlUsers}/form_data`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n","// import { useHistory } from 'react-router-dom';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { apiGet, apiPost } from '../../api/index';\r\nimport { urlUsers } from '../../api/urls';\r\n\r\nconst currentUserSubject = new BehaviorSubject(JSON.parse(localStorage.getItem('currentUser')));\r\n// const history = useHistory();\r\n\r\nexport const SET_LOGIN_VALUE = 'SET_LOGIN_VALUE';\r\nexport const LOGIN_LOADING = 'LOGIN_LOADING';\r\nexport const LOGIN_SUCCESS = 'LOGIN_SUCCESS';\r\nexport const LOGIN_FAILED = 'LOGIN_FAILED';\r\nexport const LOGOUT = 'LOGOUT';\r\nexport const CHANGE_USER_VIEW_AS = 'CHANGE_USER_VIEW_AS';\r\n\r\nexport const loginLoading = () => ({ type: LOGIN_LOADING });\r\nexport const loginSuccess = user => ({ type: LOGIN_SUCCESS, payload: user });\r\nexport const loginFailed = error => ({ type: LOGIN_FAILED, payload: error });\r\n\r\nexport const userLoggedOut = () => ({ type: LOGOUT });\r\nexport const resetView = () => ({ type: CHANGE_USER_VIEW_AS, value: 0 });\r\n\r\nconst getLoginData = () => JSON.parse(localStorage.getItem('currentUser')) || {};\r\n\r\nconst storeUserLogin = (user) => {\r\n const loginData = { ...user, isAuthenticated: true };\r\n localStorage.setItem('currentUser', JSON.stringify(loginData));\r\n currentUserSubject.next(loginData);\r\n return loginData;\r\n};\r\n\r\nexport const logout = () => (dispatch) => {\r\n // Clear the login data\r\n localStorage.removeItem('currentUser');\r\n currentUserSubject.next(null);\r\n dispatch(userLoggedOut());\r\n dispatch(resetView());\r\n};\r\n\r\nexport function login(data, callback) {\r\n return (dispatch) => {\r\n dispatch(loginLoading());\r\n apiPost(`${urlUsers}/login`, data)\r\n .then((response) => {\r\n if (response.error) {\r\n throw (response.error);\r\n }\r\n\r\n storeUserLogin(response);\r\n if (response.firstLogin && callback && callback.onFirstLogin) {\r\n callback.onFirstLogin(response);\r\n } else if (callback && callback.onSuccess) {\r\n dispatch(loginSuccess(getLoginData()));\r\n callback.onSuccess(response);\r\n }\r\n return response;\r\n })\r\n .catch((error) => {\r\n dispatch(loginFailed(error));\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n };\r\n}\r\n\r\n\r\nexport function firstLogin(values, callback) {\r\n return (dispatch) => {\r\n dispatch(loginLoading());\r\n const currentUser = JSON.parse(localStorage.getItem('currentUser')) || {};\r\n const data = { ...values, email: currentUser.email };\r\n apiPost(`${urlUsers}/set_new_password`, data)\r\n .then((response) => {\r\n if (response.error) {\r\n throw (response.error);\r\n }\r\n storeUserLogin(response);\r\n dispatch(loginSuccess(getLoginData()));\r\n if (callback && callback.onSuccess) callback.onSuccess(response);\r\n return response;\r\n })\r\n .catch((error) => {\r\n dispatch(loginFailed(error));\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n };\r\n}\r\n\r\nexport function verifyUserToken(callback) {\r\n return (dispatch) => {\r\n // dispatch(loginLoading());\r\n apiGet(`${urlUsers}/get_login_status`)\r\n .then((response) => {\r\n if (response.error) {\r\n throw (response.error);\r\n }\r\n dispatch(loginSuccess(getLoginData()));\r\n if (callback && callback.onSuccess) callback.onSuccess(response);\r\n return response;\r\n })\r\n .catch((error) => {\r\n dispatch(logout(error));\r\n if (callback && callback.onError) callback.onError(error);\r\n // throw error;\r\n });\r\n };\r\n}\r\n","export const CHANGE_SIDEBAR_VISIBILITY = 'CHANGE_SIDEBAR_VISIBILITY';\r\nexport const CHANGE_MOBILE_SIDEBAR_VISIBILITY = 'CHANGE_MOBILE_SIDEBAR_VISIBILITY';\r\nexport const CHANGE_USER_VIEW_AS = 'CHANGE_USER_VIEW_AS';\r\n\r\nexport function changeSidebarVisibility() {\r\n return {\r\n type: CHANGE_SIDEBAR_VISIBILITY,\r\n };\r\n}\r\n\r\nexport function changeMobileSidebarVisibility() {\r\n return {\r\n type: CHANGE_MOBILE_SIDEBAR_VISIBILITY,\r\n };\r\n}\r\n\r\nexport function changeUserViewAs(userType) {\r\n return {\r\n type: CHANGE_USER_VIEW_AS,\r\n value: userType,\r\n };\r\n}\r\n","import { apiPost, apiGet } from '../../api/index';\r\nimport { urlUsers } from '../../api/urls';\r\n\r\nexport const FETCH_USERS_LOADING = 'FETCH_USERS_LOADING';\r\nexport const FETCH_USERS_SUCCESS = 'FETCH_USERS_SUCCESS';\r\nexport const FETCH_USERS_FAILED = 'FETCH_USERS_FAILED';\r\n\r\nexport const fetchUsersLoading = () => ({ type: FETCH_USERS_LOADING });\r\nexport const fetchUsersSuccess = users => ({ type: FETCH_USERS_SUCCESS, payload: users });\r\nexport const fetchUsersFailed = error => ({ type: FETCH_USERS_FAILED, payload: error });\r\n\r\nexport function fetchUsers(params) {\r\n const pageInfo = params && params.pageInfo\r\n ? params.pageInfo\r\n : { page: 1, pageSize: 15 };\r\n return apiPost(`${urlUsers}/all`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchAllUsers(params) {\r\n return apiGet(`${urlUsers}/all`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchAllUAuditLog(params) {\r\n const pageInfo = params && params.pageInfo\r\n ? params.pageInfo\r\n : { page: 1, pageSize: 15 };\r\n return apiPost(`${urlUsers}/all_auditlog`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchFormDatas(params) {\r\n return apiGet(`${urlUsers}/form_data`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n","import {\r\n CHANGE_THEME_TO_DARK,\r\n CHANGE_THEME_TO_LIGHT,\r\n} from '../actions/themeActions';\r\n\r\nconst initialState = {\r\n className: 'theme-dark',\r\n};\r\n\r\nexport default function (state = initialState, action) {\r\n switch (action.type) {\r\n case CHANGE_THEME_TO_DARK:\r\n return { className: 'theme-dark' };\r\n case CHANGE_THEME_TO_LIGHT:\r\n return { className: 'theme-light' };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n CHANGE_SIDEBAR_VISIBILITY,\r\n CHANGE_MOBILE_SIDEBAR_VISIBILITY,\r\n CHANGE_USER_VIEW_AS,\r\n} from '../actions/sidebarActions';\r\n\r\nconst user = JSON.parse(localStorage.getItem('currentUser')) || {};\r\nconst viewPageAs = Number(localStorage.getItem('viewPageAs') || '0');\r\nlet defaultView = 0;\r\nif (user.esAlumno) {\r\n defaultView = 0;\r\n} else if (user.esProfesor) {\r\n defaultView = 1;\r\n} else if (user.esFuncionario) {\r\n defaultView = 2;\r\n} else if (user.esFuncionario) {\r\n defaultView = 3;\r\n}\r\n\r\nconst initialState = {\r\n show: false,\r\n collapse: false,\r\n viewPageAs: user.isAuthenticated ? viewPageAs || defaultView : defaultView,\r\n};\r\n\r\nexport default function (state = initialState, action) {\r\n switch (action.type) {\r\n case CHANGE_SIDEBAR_VISIBILITY:\r\n return { ...state, collapse: !state.collapse };\r\n case CHANGE_MOBILE_SIDEBAR_VISIBILITY:\r\n return { ...state, show: !state.show };\r\n case CHANGE_USER_VIEW_AS:\r\n localStorage.setItem('viewPageAs', action.value);\r\n return { ...state, viewPageAs: action.value };\r\n default:\r\n return state;\r\n }\r\n}\r\n","export const CHANGE_DIRECTION_TO_LTR = 'CHANGE_DIRECTION_TO_LTR';\nexport const CHANGE_DIRECTION_TO_RTL = 'CHANGE_DIRECTION_TO_RTL';\n\nexport function changeDirectionToLTR() {\n return {\n type: CHANGE_DIRECTION_TO_LTR,\n };\n}\n\nexport function changeDirectionToRTL() {\n return {\n type: CHANGE_DIRECTION_TO_RTL,\n };\n}\n","import {\n CHANGE_DIRECTION_TO_LTR,\n CHANGE_DIRECTION_TO_RTL,\n} from '../actions/rtlActions';\n\nconst initialState = {\n direction: 'ltr',\n};\n\nexport default function (state = initialState, action) {\n switch (action.type) {\n case CHANGE_DIRECTION_TO_LTR:\n return { direction: 'ltr' };\n case CHANGE_DIRECTION_TO_RTL:\n return { direction: 'rtl' };\n default:\n return state;\n }\n}\n","import {\r\n SET_LOGIN_VALUE,\r\n LOGIN_LOADING,\r\n LOGIN_SUCCESS,\r\n LOGIN_FAILED,\r\n LOGOUT,\r\n} from '../actions/loginActions';\r\n\r\nconst initialState = {\r\n loading: false,\r\n isAuthenticated: false,\r\n email: 'admin@uniedu.py',\r\n login: {\r\n email: 'admin@uniedu.py',\r\n },\r\n};\r\n\r\nexport default function (state = initialState, action) {\r\n switch (action.type) {\r\n case SET_LOGIN_VALUE:\r\n return { ...state, ...action.payload };\r\n case LOGIN_LOADING:\r\n return { ...state, loading: true };\r\n case LOGIN_SUCCESS:\r\n return { ...state, ...action.payload, loading: false };\r\n case LOGIN_FAILED:\r\n return { ...initialState };\r\n case LOGOUT:\r\n return { ...initialState };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport const getLoginData = state => state.login;\r\nexport const getLoginStatus = state => state.login.loading;\r\nexport const getLoginError = state => state.login.error;\r\n","// import { handleActions } from 'redux-actions';\r\nimport {\r\n SET_USER_VALUE,\r\n FETCH_USER_LOADING,\r\n FETCH_USER_SUCCESS,\r\n FETCH_USER_FAILED,\r\n POST_USER_LOADING,\r\n POST_USER_SUCCESS,\r\n POST_USER_FAILED,\r\n CREATE_NEW_USER,\r\n} from '../actions/userActions';\r\n\r\nconst initialValue = {\r\n loading: false,\r\n};\r\n\r\n// const users = handleActions({\r\n// [SET_USER_VALUE]: (state, action) => ({ ...state, ...action.payload }),\r\n// [FETCH_USER]: (state, action) => ({ ...action.payload }),\r\n// }, initialValue);\r\n\r\n// export default users;\r\n\r\nexport default function (state = initialValue, action) {\r\n switch (action.type) {\r\n case CREATE_NEW_USER:\r\n return { ...initialValue };\r\n case SET_USER_VALUE:\r\n return { ...state, ...action.payload };\r\n // FETCH USER\r\n case FETCH_USER_LOADING:\r\n return { ...state, loading: true };\r\n case FETCH_USER_SUCCESS:\r\n return { ...state, loading: false, ...action.payload };\r\n case FETCH_USER_FAILED:\r\n return { ...state, loading: false, error: action.payload };\r\n // POST USER\r\n case POST_USER_LOADING:\r\n return { ...state, loading: true };\r\n case POST_USER_SUCCESS:\r\n return { ...state, loading: false, ...action.payload };\r\n case POST_USER_FAILED:\r\n return { ...state, loading: false, error: action.payload };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport const getUser = state => state.user;\r\nexport const getUserStatus = state => state.user.loading;\r\nexport const getUserError = state => state.user.error;\r\n","import {\r\n FETCH_USERS_LOADING,\r\n FETCH_USERS_SUCCESS,\r\n FETCH_USERS_FAILED,\r\n} from '../actions/usersActions';\r\n\r\nconst initialValue = {\r\n loading: false,\r\n users: [],\r\n};\r\n\r\nexport default function (state = initialValue, action) {\r\n switch (action.type) {\r\n case FETCH_USERS_LOADING:\r\n return { ...state, loading: true };\r\n case FETCH_USERS_SUCCESS:\r\n return { ...state, loading: false, users: action.payload };\r\n case FETCH_USERS_FAILED:\r\n return { ...state, loading: false, error: action.payload };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport const getUsers = state => state.users.users;\r\nexport const getUsersStatus = state => state.users.loading;\r\nexport const getUsersError = state => state.users.error;\r\n","import {\r\n combineReducers,\r\n createStore,\r\n applyMiddleware,\r\n} from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport { composeWithDevTools } from 'redux-devtools-extension';\r\nimport * as reducers from '../../redux/reducers/index';\r\nimport { LOGOUT } from '../../redux/actions/loginActions';\r\n\r\nconst rootReducer = (state, action) => {\r\n const newState = action.type === LOGOUT\r\n ? {\r\n theme: state.theme,\r\n sidebar: state.sidebar,\r\n rtl: state.rtl,\r\n } : state;\r\n return combineReducers(reducers)(newState, action);\r\n};\r\n\r\nconst store = createStore(\r\n rootReducer,\r\n {},\r\n // composeWithDevTools(applyMiddleware(promiseMiddleware)),\r\n composeWithDevTools(applyMiddleware(thunk)),\r\n);\r\n\r\nexport default store;\r\n","export const CHANGE_THEME_TO_DARK = 'CHANGE_THEME_TO_DARK';\r\nexport const CHANGE_THEME_TO_LIGHT = 'CHANGE_THEME_TO_LIGHT';\r\n\r\nexport function changeThemeToDark() {\r\n return {\r\n type: CHANGE_THEME_TO_DARK,\r\n };\r\n}\r\n\r\nexport function changeThemeToLight() {\r\n return {\r\n type: CHANGE_THEME_TO_LIGHT,\r\n };\r\n}\r\n"],"sourceRoot":""}