{"version":3,"sources":["../node_modules/react-intl/locale-data sync /^/.*$","registerServiceWorker.js","constants/api.constants.js","services/api/api.js","actions/authActions.js","actions/courseActions.js","reducers/courseReducer.js","actions/studentActions.js","reducers/studentReducer.js","actions/teacherActions.js","reducers/teacherReducer.js","reducers/productsReducer.js","actions/newCartActions.js","reducers/newCartReducer.js","actions/studentResultsActions.js","reducers/studentResultsReducer.js","reducers/studentProfileReducer.js","reducers/teacherResultsReducer.js","reducers/teacherCoursesReducer.js","reducers/teacherModuleResultsReducer.js","reducers/invoiceHistoryReducer.js","reducers/toggleFinalExamReducer.js","actions/classActions.js","actions/coursesActions.js","actions/moduleActions.js","reducers/moduleReducer.js","actions/adminUsersActions.js","reducers/finalExamReducer.js","reducers/programLicenseReducer.js","actions/teacherTabNavActions.js","actions/notificationActions.js","actions/scrollActions.js","reducers/index.js","reducers/authReducer.js","reducers/schoolReducer.js","reducers/classReducer.js","reducers/coursesListReducer.js","reducers/studentForSchoolReducer.js","reducers/adminUsersReducer.js","reducers/programmeReducer.js","reducers/orientationReducer.js","reducers/schoolDataReducer.js","reducers/ratingsReducer.js","reducers/teacherTabNavReducer.js","reducers/notificationsReducer.js","reducers/scrollReducer.js","store.js","hoc/require_auth.js","hoc/no_require_auth.js","components/Button/ButtonLogout.js","components/Help/ToggleHelp.js","actions/teacherQueries.js","components/EnvironmentInfo/EnvironmentInfo.js","components/MaintenanceMessage/MaintenanceMessage.js","components/MobileLogout/MobileLogout.js","components/Header/Header.js","components/Sidebar/_navAuth.js","components/Sidebar/_navBarTeacher.js","components/SidebarFooter/SidebarFooter.js","components/SidebarForm/SidebarForm.js","components/SidebarHeader/SidebarHeader.js","components/Inputs/OrganisationSearchBar.js","components/Inputs/OrganisationSearchBarContainer.js","components/Sidebar/Sidebar.js","Routes/routes.js","components/Breadcrumb/Breadcrumb.js","components/Aside/Aside.js","components/Pacmanloader/Pacmanloader.js","views/Teacher/Teacher.js","actions/teacherMutations.js","components/Modal/ConfirmDialog.js","components/DataGrids/DataGrid.js","components/Button/DisconnectTeacherFromClassButton.js","components/Help/ToolTipHelp.js","components/Modal/AddNewTeacherToClass.js","components/Modal/PlusPackageVariantSelectModal.js","components/Modal/PlusPackageVariantSelectOptionalModal.js","components/Modal/AlertModal.js","constants/LicenseTypes.js","components/LicenseManagement/ProductItem.js","components/LicenseManagement/AplProductItem.js","components/LicenseManagement/ShopStudentsSelect.js","components/LicenseManagement/CartStudentList.js","components/LicenseManagement/cartItem.js","components/LicenseManagement/NewCart.js","components/LicenseManagement/ProductsList.js","actions/productsActions.js","components/Modal/StudentLicenseManagemenModal.js","components/Teacher/FinalExamUnlocker.js","components/Teacher/FinalExamUnlockerContainer.js","Utilities/checkerFunctions.js","components/Forms/CreateStudentInClassForm.js","components/Modal/CreateStudentInClass.js","components/Forms/UpdateClassForm.js","components/Modal/UpdateClassModal.js","components/Forms/MoveStudentsToClassForm.js","components/Modal/MoveExistingStudentToClassModal.js","components/Forms/ImportStudentsForm.js","components/Modal/ImportStudentsToClassModal.js","components/Button/ButtonSendActivationMail.js","components/Teacher/ModuleLocker.js","components/Teacher/ClassAdministration.js","components/Teacher/StudentAdministration.js","components/Forms/CreateClassInProgramForm.js","components/Modal/CreateClassInProgram.js","components/Teacher/ProgramAdministration.js","components/Teacher/Tabs/TeacherAdmin.js","components/Results/ResultTable.js","components/Badges/StatusBadge.js","components/ResultQuestionOverview/StudentFillIn.js","components/ResultQuestionOverview/StudentMatching.js","components/ResultQuestionOverview/StudentMultipleChoice.js","components/ResultQuestionOverview/StudentSequence.js","components/Results/StudentResultQuestionOverview.js","constants/ModuleType.js","Utilities/moduleHelper.js","components/Teacher/StudentResultOverview.js","components/Results/CourseModulesResultsBar.js","components/ResultQuestionOverview/ClassMultipleChoice.js","components/ResultQuestionOverview/ClassSequence.js","components/ResultQuestionOverview/ClassFillIn.js","components/ResultQuestionOverview/ClassMatching.js","components/Results/ClassResultQuestionOverview.js","components/Teacher/ClassResultOverview.js","components/Teacher/ProgramResultOverview.js","components/Teacher/Tabs/TeacherResultOverview.js","components/Teacher/ResultsChartPerCourse.js","components/Teacher/ActivityPointsPie.js","components/Teacher/ActivitypointsPolar.js","components/Teacher/TempLineChart.js","components/Teacher/Tabs/TeacherResultAnalysis.js","components/Modal/SelectCoursesAndModules.js","components/Modal/AddLinkModal.js","components/Modal/AddDocumentModal.js","components/Teacher/ClassDocuments.js","components/Teacher/Tabs/TeacherDocuments.js","actions/teacherCoursesAction.js","components/Student/StudentStatus.js","components/Teacher/TeacherModule.js","components/Student/StudentProgress.js","components/Course/CourseSubject.js","components/Teacher/TeacherModuleAnswersAndDocs.js","components/Course/CourseItem.js","components/Teacher/Tabs/TeacherCourses.js","components/Teacher/Tabs/TeacherChat.js","Utilities/useViewport.js","components/Teacher/Tabs/TabNav.js","components/Teacher/Tabs/MobileTabNav.js","components/Teacher/Tabs/TabNavSelector.js","components/Modal/CreateAPLPeriodGeneral.js","components/Modal/CreateAPLPeriodDocuments.js","components/Modal/CreateAPLPeriodWorkCard.js","components/Modal/PromptAddSupervisorToSchool.js","components/APL/CreateNewSupervisor.js","components/Modal/EditNameDialogModal.js","components/Modal/CreateAPLPeriodSupervisor.js","components/Modal/APLRatingModal.js","components/APL/CreateNewInfoPerson.js","components/Modal/APLInformationPersonModal.js","components/DataGrids/APLDataGrid.js","components/APL/APLCreateNewWorkCard.js","components/Modal/AddItemWithOnlyNameModal.js","components/Modal/CreateAPLPeriodModal.js","components/APL/APLStudentEventCard.js","components/APL/APLMoments.js","components/Modal/SupervisorInfoModal.js","components/APL/CheckInMap.js","components/APL/APLPresenceCheckTable.js","components/APL/APLPresenceWeekIndicator.js","components/APL/APLPresence.js","components/Teacher/Tabs/APLTabs.js","components/Teacher/Tabs/MobileAPLTabs.js","components/Teacher/Tabs/APLTabNavSelector.js","components/APL/APLRatings.js","components/APL/CreateNewInfoPersonInModifyInfoPersons.js","components/Modal/ModifyAPLInformationPersonModal.js","components/Modal/ModifySupervisorsModal.js","components/APL/APLDocumentsAndSupervisors.js","components/Modal/APLInformationPersonInfoModal.js","components/Modal/AddWorkStepModal.js","components/Modal/AddNewWorkStepComponentModal.js","components/APL/RemoveAndChangeDateApl.js","components/APL/APLPresenceColorInfo.js","components/APL/APLFoodCompensationCard.js","components/APL/APL.js","views/Teacher/TeacherCoursesView.js","views/LicenseManagement/licenseManagement.js","components/Invoice/InvoiceItem.js","views/Teacher/TeacherInvoiceHistory.js","actions/invoiceHistoryActions.js","views/Teacher/TeacherStudent.js","components/Teacher/TeacherAdmin.js","components/Forms/OrderForm.js","components/Notifications/NotificationImage.js","components/Notifications/NotificationVideo.js","components/Modal/NotificationModal.js","components/Notifications/SingleNotification.js","views/Notifications/Notifications.js","Routes/navRoutesTeacher.js","views/Teacher/TeacherProgram.js","views/Teacher/TeacherClass.js","views/Teacher/TeacherTeacher.js","components/LicenseManagement/ConfirmedOrder.js","views/Teacher/TeacherAboutUs.js","actions/schoolActions.js","actions/programLicenseActions.js","components/ProgramLicense/ExpiringLicense.js","components/ProgramLicense/AddProgramLicenseToSchooModall.js","components/ProgramLicense/NumberOfLicensesTable.js","components/DataGrids/SuperUserLicenseDataGrid.js","components/ProgramLicense/LicensesDetailsTable.js","components/ProgramLicense/LicensesDetails.js","actions/superUserMutations.js","components/Modal/SuperuserSchoolEditModal.js","components/Modal/CreateNewSchoolWizardModal.js","views/SuperUser/SchoolsTable.js","views/SuperUser/SuperUser.js","views/SuperUser/SuperDash.js","components/Forms/CreateTeacherForm.js","components/Modal/CreateTeacherModal.js","components/Tables/TeacherTable.js","views/SuperUser/Teachers.js","components/Forms/CreateStudentForm.js","views/Teacher/CreateStudent.js","components/Tables/StudentTable.js","components/Forms/EditStudentForm.js","components/Modal/EditStudent.js","views/SuperUser/Students.js","actions/programmeActions.js","components/Forms/EditProgrammeForm.js","components/Modal/EditProgramme.js","components/Forms/CreateProgrammeForm.js","components/Modal/CreateProgramme.js","views/SuperUser/Programmes.js","components/Forms/CreateClassWithManyTeachersForm.js","components/Modal/CreateClassWithManyTeachersModal.js","actions/orientationActions.js","views/SuperUser/Classes.js","components/Forms/AddTeachersToClassForm.js","components/Modal/AddTeachersToClass.js","components/Forms/AddStudentsToClassForm.js","components/Modal/AddStudentsToClass.js","views/SuperUser/ClassOverview.js","components/Forms/AddCourseForm.js","components/Modal/CreateCourse.js","components/Navigation/CourseAdminNav.js","views/SuperUser/CoursesList.js","components/Forms/AddModuleToCourseForm.js","components/Modal/CreateModule.js","components/Module/ModuleTypeIcon.js","components/Modal/SetCourseModuleSortOrderModal.js","views/SuperUser/CourseModulesList.js","components/Forms/CreateNewScormModuleForm.js","components/Forms/CreateNewLWModuleForm.js","components/Modal/CreateNewModule.js","views/SuperUser/ModulesList.js","views/SuperUser/InvoiceHistory.js","components/UserManagement/FoundUserInfo.js","components/UserManagement/FindUserInfo.js","components/UserManagement/AddUserAPLLicense.js","components/UserManagement/MoveUser.js","components/UserManagement/DeleteUser.js","components/UserManagement/RestoreDeleteStudentWithNoCLass.js","components/UserManagement/RestoreDeleteStudentWithNoCLassAndNoLicense.js","components/Forms/CreateOrUpdateAdminUserForm.js","components/Modal/CreateOrUpdateUserModal.js","views/SuperUser/Users.js","actions/toggleFinalExamAction.js","components/Teacher/TeacherCourseModule.js","components/Teacher/TeacherCourseStudent.js","components/Charts/DoughnutChart.js","components/Teacher/FinalExamResults.js","actions/teacherModuleResultsActions.js","components/Teacher/TeacherCourse.js","components/Teacher/ClassFilter.js","views/Teacher/TeacherCourses.js","components/ProgramLicense/ProgramLicenseCourseComponent.js","components/ProgramLicense/AddCourseToProgramLicenseModal.js","views/SuperUser/ProgramLicenses.js","components/Ratings/Tables/ModuleRatingsTable.js","components/Ratings/Tables/StudentRatingsTable.js","components/Ratings/ModuleRatings.js","views/SuperUser/Ratings.js","components/Modal/ModifyNotificationModal.js","components/Notifications/SingleSuperUserNotification.js","components/Notifications/AdminNotificationsShow.js","components/Notifications/AdminNotificationsCreate.js","actions/superUserQueries.js","Utilities/getErrorMessage.js","components/LicMgt/LicMgtAddLicenseForm.js","components/Tables/LicMgtLicensesTable.js","components/LicMgt/LicMgtCostumerCard.js","components/Modal/LicMgtCustomerModal.js","components/Modal/LicMgtHandleCoursesModal.js","components/Modal/LicMgtCreateCustomerModal.js","Routes/navRoutesSuperuser.js","views/SuperUser/NotificationsAdministration.js","views/SuperUser/LicMgtAdministration.js","components/Student/StudentCourse.js","components/Student/StudentModuleIcon.js","components/Student/StudentLastRun.js","components/Student/StudentModule.js","components/Student/StudentWelcome.js","components/Student/StudentActiveCourse.js","views/Student/Student.js","components/Toastify/Information.js","views/Student/StudentCoursesList.js","components/Student/StudentSchool.js","views/Student/StudentProfile.js","actions/studentProfileAction.js","components/Student/StudentResult.js","views/Student/StudentResults.js","Routes/navRoutesStudent.js","containers/Main.js","views/Auth/Signin.js","components/Forms/SelfRegistrationForm.js","views/Student/StudentSelfRegistration.js","components/Forms/RequestResetPasswordForm.js","views/ResetPassword/RequestResetPassword.js","components/Forms/UpdatePasswordForm.js","views/ResetPassword/UpdatePassword.js","app.js","index.js"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","Boolean","window","location","hostname","match","_host","API_BASE_URL","concat","AUTH_BASE_URL","SCORM_API_URL","LW_COURSE_API_URL","BASE_LOGIN_REDIRECT_URL","instance","axios","create","withCredentials","headers","defaults","common","localStorage","getItem","post","baseURL","interceptors","response","use","error","originalRequest","config","userEmail","status","_retry","refreshToken","email","grant_type","refresh_token","then","token","data","result","clear","replace","href","res","JSON","parse","setItem","access_token","Promise","reject","AUTHENTICATING","AUTHENTICATED","UNAUTHENTICATED","AUTHENTICATION_ERROR","signOutAction","type","FETCH_COURSES_BY_CLASS_BEGIN","FETCH_COURSES_BY_CLASS_FULFILLED","FETCH_COURSES_BY_CLASS_REJECTED","FETCH_COURSES_BY_PROGRAM_BEGIN","FETCH_COURSES_BY_PROGRAM_FULFILLED","FETCH_COURSES_BY_PROGRAM_REJECTED","FETCH_COURSES_BY_STUDENT_BEGIN","FETCH_COURSES_BY_STUDENT_FULFILLED","FETCH_COURSES_BY_STUDENT_REJECTED","FETCH_COURSES_BY_TEACHER_BEGIN","FETCH_COURSES_BY_TEACHER_FULFILLED","FETCH_COURSES_BY_TEACHER_REJECTED","FETCH_BEST_COURSE_BY_SCHOOL_BEGIN","FETCH_BEST_COURSE_BY_SCHOOL_FULFILLED","FETCH_BEST_COURSE_BY_SCHOOL_REJECTED","FETCH_COURSESINPROGRESS_BY_SCHOOL_BEGIN","FETCH_COURSESINPROGRESS_BY_SCHOOL_FULFILLED","FETCH_COURSESINPROGRESS_BY_SCHOOL_REJECTED","INIT_COURSE_BY_CLASS","loading","statusCode","INIT_COURSE_BY_PROGRAM","INIT_COURSE_BY_STUDENT","INIT_COURSE_BY_TEACHER","INIT_BEST_COURSE","INIT_COURSESINPROGRESS","FetchCourse","state","arguments","length","undefined","course","name","defaultPrice","description","modules","price","fetching","fetech","action","payload","fetched","programLicence","FETCH_STUDENT_INFORMATION_BEGIN","FETCH_STUDENT_INFORMATION_FULFILLED","FETCH_STUDENT_COURSES","FETCH_STUDENT_COURSES_FULFILLED","FETCH_STUDENT_COURSES_REJECTED","fetchStudentResultAction","dispatch","get","catch","err","FETCH_STUDENTS_FOR_SCHOOL_BEGIN","FETCH_STUDENTS_FOR_SCHOOL_FULFILLED","FETCH_STUDENTS_FOR_SCHOOL_REJECTED","STUDENT_INIT_STATE","studentCourse","imgUrl","disabled","hasResult","isDone","progressPercentage","lastRun","url","score","maxScore","hasPassed","nbrOfAttempts","maxActivityPoints","INIT_STUDENT_INFORMATION","classes","licenses","FETCH_TEACHER_INFORMATION_BEGIN","FETCH_TEACHER_INFORMATION_FULFILLED","FETCH_TEACHER_INFORMATION_REJECTED","initialStateTeacherStudents","INIT_TEACHER_INFORMATION","schools","schoolId","adresses","fullAccess","purchaser","activatedAccount","INIT_PRODUCTS","schoolLicense","school","street","zipCode","city","invoice","license","programLicenses","addedDate","courses","currency","validTo","INIT_STUDENTS_LICENSES","resultNew","ADD_TO_CART","DELETE_FROM_CART","ADD_STUDENT_TO_SHOP_CART","DELETE_STUDENT_FROM_SHOP_CART","CLEAN_SHOP_CART","SET_LASTADDED_ITEM","DELETE_MANY_STUDENTS_FROM_SHOP_CART_AND_LAST_ADDED","ADD_MANY_STUDENTS_FROM_SHOP_CART_AND_LAST_ADDED","addToCart","prod","addStudentToCartItem","student","fortnoxNumber","removeStudentFromCartItem","removeManyStudentsFromCartAndLastAdded","studentIds","addManyStudentsFromCartAndLastAdded","students","setLastAddedItem","lastAddedItem","INIT_CART_STATE","FETCH_STUDENT_AVERAGE_RESULTS_BY_STUDENT_BEGIN","FETCH_STUDENT_AVERAGE_RESULTS_BY_STUDENT_FULFILLED","FETCH_STUDENT_AVERAGE_RESULTS_BY_STUDENT_REJECTED","FETCH_STUDENT_RESULTS_TIMELINE_BY_STUDENT_BEGIN","FETCH_STUDENT_RESULTS_TIMELINE_BY_STUDENT_FULFILLED","FETCH_STUDENT_RESULTS_TIMELINE_BY_STUDENT_REJECTED","initialStateStudentResults","classId","className","schoolName","active","activityPoints","courseName","courseId","moduleId","approveLimit","activityPointApproveLimit","isFinalExam","studentIsDone","studentHasPassed","INIT_STUDENTRUN_LAST_MONTH","INIT_STUDENT_RESULT_BY_STUDENT","INIT_STUDENT_AVERAGE_RESULT_BY_STUDENT","INIT_STUDENT_RESULT_TIMELINE","initialStateStudentProfile","initialStateTeacherResults","studentname","studentemail","initialStateTeacherCourses","coursename","imgurl","hasFinalExam","coursemoduleid","approvallimit","studentid","classname","donePercentage","nbrOfModules","nbrOfDoneModules","nbrOfTimes","initialStateTeacherModuleResults","courseModuleId","approvalLimit","studentId","statusNumber","isCompleted","finalExamEnabled","activated","INITIAL_INVOICE_HISTORY","FETCH_INVOICE_HISTORY_BEGIN","FETCH_INVOICE_HISTORY_FULFILLED","FETCH_INVOICE_HISTORY_REJECTED","UPDATE_FINAL_EXAM_STATUS_BEGIN","UPDATE_FINAL_EXAM_STATUS_FULFILLED","UPDATE_FINAL_EXAM_STATUS_REJECTED","initialFinalExamState","FETCH_CLASSES_FULFILLED","FETCH_CLASSES_REJECTED","fetchClasses","FETCH_CLASS_BEGIN","FETCH_CLASS_FULFILLED","FETCH_CLASS_REJECTED","fetchClass","DELETE_CLASS_BEGIN","DELETE_CLASS_FULFILLED","DELETE_CLASS_REJECTED","FETCH_COURSES_LIST_BEGIN","FETCH_COURSES_LIST_FULFILLED","FETCH_COURSES_LIST_REJECTED","FETCH_SIXMONTHS_COURSES_LIST_BEGIN","FETCH_SIXMONTHS_COURSES_LIST_FULFILLED","FETCH_SIXMONTHS_COURSES_LIST_REJECTED","FETCH_COURSES_GRADES_BEGIN","FETCH_COURSES_GRADES_FULFILLED","FETCH_COURSES_GRADES_REJECTED","FETCH_ORPHAN_COURSES_BEGIN","FETCH_ORPHAN_COURSES_FULFILLED","FETCH_ORPHAN_COURSES_REJECTED","fetchCoursesForAdmin","fetchSlimCoursesForAdmin","FETCH_MODULES_BEGIN","FETCH_MODULES_FULFILLED","FETCH_MODULES_REJECTED","FETCH_ALL_MODULES_BEGIN","FETCH_ALL_MODULES_FULFILLED","FETCH_ALL_MODULES_REJECTED","FETCH_ALL_MODULES_WITH_COURSES_BEGIN","FETCH_ALL_MODULES_WITH_COURSES_FULFILLED","FETCH_ALL_MODULES_WITH_COURSES_REJECTED","FETCH_LWNAMES_BEGIN","FETCH_LWNAMES_FULFILLED","FETCH_LWNAMES_REJECTED","DELETE_MODULES_FULFILLED","DELETE_MODULES_REJECTED","fetchModules","fetchAllModules","fetchAvailableLwNames","INIT_LW_FILENAMES","FETCH_ADMIN_USERS_BEGIN","FETCH_ADMIN_USERS_FULFILLED","FETCH_ADMIN_USERS_REJECTED","GET_ACTIVE_FINAL_EXAMS_REJECTED","INIT_NBR_OF_ACTIVATED","INITIAL_PROGRAM_LICENSES","FETCH_PROGRAM_LICENSES_BEGIN","FETCH_PROGRAM_LICENSES_FULFILLED","FETCH_PROGRAM_LICENSES_REJECTED","FETCH_PROGRAM_LICENSES_BY_CUSTOMER_BEGIN","FETCH_PROGRAM_LICENSES_BY_CUSTOMER_FULFILLED","FETCH_PROGRAM_LICENSES_BY_CUSTOMER_REJECTED","INITIAL_PROGRAM_LICENSES_BY_CUSTOMER","SetNavigationProps","propName","propVar","FETCH_NOTIFICATIONS_BEGIN","FETCH_NOTIFICATIONS_FULFILLED","FETCH_NOTIFICATIONS_REJECTED","POST_NOTIFICATION_READ_STATUS_BEGIN","POST_NOTIFICATION_READ_STATUS_FULFILLED","POST_NOTIFICATION_READ_ALL_STATUS_FULFILLED","DELETE_NOTIFICATION_BEGIN","DELETE_NOTIFICATION_FULFILLED","DELETE_NOTIFICATION_REJECTED","fetchNotifications","SET_SUPERUSER_SCHOOL_TABLE_SCROLL","combineReducers","auth","message","exp","roles","isLoggingIn","authenticated","form","formReducer","studentResult","teacherStudentReducer","productsReducer","newCartReducer","some","ci","find","addedStudents","filter","stud","push","item","tempResultForRemove","tempLastAddedItemForRemove","includes","isPlusPackage","plusPackage","tempResultForAdd","tempLastAddedItemForAdd","forEach","existingStud","studentResultsReducer","studentProfileReducer","teacherResultsReducer","teacherCoursesReducer","studentInformationReducer","teacherModuleResultsReducer","teacherInformationReducer","programmes","x","programid","newClass","program","index","findIndex","classid","splice","moveToProgramIndex","removeFromProgramIndex","classToMove","removeFromClassIndex","currentProgramIndex","updateClass","classToUpdate","programme","orientation","teachers","classObj","clas","studentObj","class","newStudent","isOnSameClass","studentClass","studentToUpdate","invoiceHistoryReducer","reverse","toggleFinalExamReducer","schoolReducer","schoolResult","classReducer","singleClass","loadingSingleClass","coursesListReducer","slimResult","orphanCourses","studentsForSchoolReducer","moduleReducer","modulesWithCourses","adminUsersReducer","studentRunReducer","studentResultByStudentReducer","coursesByClassReducer","coursesByProgramReducer","coursesByStudentReducer","coursesByTeacherReducer","programmeReducer","programmeResult","orientationReducer","orientationResult","schoolDataReducer","bestCourseBySchoolReducer","coursesInProgressBySchoolReducer","finalExamReducer","nbrOfActivatedFinalExamsReducer","studentAverageResultByStudentReducer","studentResultTimelineReducer","programLicenseReducer","programLicenseByCustomerReducer","studentWithLicenseReducer","fortnoxProgramReducer","lwFileNameReducer","studentRatingsReducer","studentRatings","moduleRatingsReducer","moduleRatings","avgRatingsReducer","gradeAverage","studentTotalRatingsReducer","totalNumberOfGrades","teacherTabNavReducer","tab","selectedAplPeriodId","selectedAplTab","tabNr","notificationsReducer","notifications","tempNotifications","noti","notice","isSeenByMe","read","tempNotificationsForDelete","isDeleted","scrollReducer","superuserSchoolTableScroll","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","middleWare","thunk","createPromise","loggerMiddleware","createLogger","predicate","process","enhancer","applyMiddleware","createStore","reducer","requireAuth","ComposedComponent","Authentication","Component","constructor","PropTypes","router","object","UNSAFE_componentWillMount","this","props","history","UNSAFE_componentWillUpdate","nextProps","render","_jsx","connect","noRequireAuth","NotAuthentication","ButtonLogout","signOut","userIcons","role","_jsxs","children","onClick","FormattedMessage","FontAwesomeIcon","icon","ToggleHelp","help","toggleHelpOnOff","setState","event","FetchSchoolDataBySchoolId","async","GetSchoolDataBySchoolId","useQuery","retry","refetchOnWindowFocus","FetchTeacherInformation","customer","stringify","GetTeacherInformation","FetchTeacherInfoById","teacherId","FetchAvailableModuleAnswers","GetAvailableModuleAnswers","FetchProgramById","programId","FetchResultsByProgramId","FetchClassByClassId","FetchCoursesByClassId","GetSupervisors","FetchSupervisors","GetSupervisorCompanies","FetchSupervisorCompanies","GetWorkCards","FetchWorkCards","FetchAplAttendancesByStudentId","GetAplAttendancesByStudentId","GetSupervisorsAndStudentsByPeriodId","periodId","FetchAplSupervisorsAndStudentsByPeriodId","GetAvailableStudentsForPeriod","candidates","candidateStudentIds","FetchAvailableStudentsForPeriod","GetPeriods","level","FetchPeriods","GetEvents","objectId","FetchEvents","GetWorkCardHours","FetchWorkCardHours","GetAbsence","FetchAbsence","GetEvaluations","FetchEvaluations","GetEvaluationQuestions","FetchEvaluationQuestions","FetchStudentInfoByStudentId","FetchCoursesByStudentEmail","studentEmail","GetCoursesByStudentEmail","FetchCoursesWithResultsByStudentId","FetchBestAndLatestStudentResultAnalysisData","FetchClassResultAnalysisData","EnvironmentInfo","MaintenanceMessage","super","_isMounted","pollForMessage","randomNumber","Math","floor","random","toggle","collapse","delay","componentDidMount","interval","setInterval","componentDidUpdate","prevProps","prevState","clearInterval","componentWillUnmount","title","style","cursor","Collapse","isOpen","tag","MobileLogout","dropdownOpen","displayRole","ButtonDropdown","DropdownToggle","DropdownMenu","DropdownItem","header","divider","store","sidebarToggle","preventDefault","document","body","classList","mobileSidebarToggle","teacherInfo","remove","add","useSelector","showNotifications","NavbarToggler","Link","to","isLoading","Nav","_Fragment","NavItem","color","notif","Badge","borderRadius","position","top","paddingTop","backgroundColor","border","navbar","navAuth","items","badge","bage","navBarTeacher","orgStructure","isProgramsAndClasses","programsAndClasses","SidebarFooter","SidebarForm","SidebarHeader","withRouter","Row","InputGroup","onBlur","currentTarget","contains","relatedTarget","setShowResultsField","Input","onChange","setSearchFilter","target","value","autoComplete","theme","searchFilter","placeholder","placeHolder","InputGroupAddon","addonType","InputGroupText","hidden","showResultsField","searchList","OrganisationSearchBarContainer","useState","searchCriterias","searchItems","prog","label","cl","resetSearch","sort","a","b","toLowerCase","slice","i","pathname","activeTab","OrganisationSearchBar","activeRoute","routeName","indexOf","hideMobile","classNames","variant","text","navLink","key","isExternal","RsNavLink","link","NavLink","paddingLeft","paddingBottom","maxWidth","overflow","whiteSpace","textOverflow","activeClassName","navType","idx","wrapper","element","React","createElement","attributes","navLabel","navItem","navItemAndDropdown","width","display","parentElement","paddingRight","verticalAlign","navList","listStyleType","orgItem","substring","NavBar","teacherNavBar","usersInClass","sortingListUsersInClass","user","te","teacher","classo","OrgStructure","routes","BreadcrumbsItem","_ref","path","rest","found","ret","urls","split","pathName","useFormatted","entries","matchPath","exact","findRouteName","isExact","BreadcrumbItem","Breadcrumbs","_ref2","paths","reduce","prev","curr","currPath","getPaths","Route","component","Breadcrumb","BreadCrumbs","Aside","Pacmanloader","left","PacmanLoader","Teacher","useDispatch","useEffect","firstProgram","toFormData","file","paramName","fileName","myData","FormData","append","errorMessage","request","HandleAddNewStudent","values","HandleMoveStudentsToClass","selectedStudentIds","join","HandleUserNameChange","put","newName","oldEmail","newEmail","UploadDocument","moduleids","DeleteUpload","UploadLink","CheckIfEmailIsOccupied","HandleUserEmailChange","userName","HandleFinalExamLockingAndUnlocking","HandleStudentClassChange","Id","Name","HandleDeleteStudent","HandleClassEdit","HandleAddNewTeacher","FullAccess","Purchaser","AddNewClass","AddTeachersToClass","teacherIds","DeleteClass","delete","PostAplPeriod","period","PostSupervisorCompany","companyName","PostAplWorkCard","WorkCard","PostEvaluationQuestions","questions","UpdateEvaluationQuestion","question","DeleteEvaluationQuestion","questionId","DeleteWorkstep","stepId","DeleteWorkstepComponent","componentId","EditWorkstepComponent","patch","EditWorkStep","DeleteDocument","GetAplInformationPersons","PostAplInformationPerson","person","PostInformationPersonsAndUsersForPeriod","informationPersons","UpdateInformationPersonAddUsers","UpdateInformationPersonRemoveUsers","PostWorkCardComment","workCardComment","created","workRegistrationId","RemoveAplPeriod","SetPeriodEndDate","endDate","ChangeStudentSupervisor","ssv","supervisor","companyId","AddStudentToPeriod","studentSupervisor","supervisorId","AddWorkSteps","workStepResource","AddWorkStepComponents","workStepComponentResource","RemoveStudentFromPeriod","AddSchoolToSupervisor","supervisorSchool","ChangeLockStatusForModuleForStudent","postObject","currentLevelId","locked","ChangeLockStatusForModuleForClass","ChangeLockStatusForEntireCourseForMultipleStudents","ConfirmDialog","Modal","size","ModalHeader","ModalBody","ModalFooter","Button","onProceed","danger","outline","DataGrid","rows","columns","tableColumnExtensions","sortingExtension","columnExtensions","integratedSortingColumnExtensions","Grid","getRowId","row","uniqueId","SortingState","IntegratedSorting","Table","striped","tableComponent","restProps","TableHeaderRow","showSortingControls","injectIntl","removingTeacher","intl","formatMessage","promptRemoveTeacher","TooltipHelp","placement","toolTipText","tooltipOpen","setTooltipOpen","Tooltip","AddNewTeacherToClass","validateEmail","test","validateName","Formik","initialValues","onSubmit","errors","touched","Form","Col","lg","Label","for","Field","validate","purchaserTeacher","fullAccessTeacher","PlusPackageVariantSelectModal","_selectedPlusPackage$","_selectedPlusPackage$2","selectedPlusPackageVariant","setSelectedPlusPackageVariant","selectedPlusPackage","handleAddPackageWithYears","setErrors","articleExistsInCart","setArticleExistsInCart","cart","getFormattedPrice","years","dividedPrice","round","productVariant","options","option","_selectedPlusPackageV","startDate","handleSetVariant","justifyContent","pill","priceStudent","salesPrice","date","moment","format","DatePicker","onDateChange","handleSetStartDate","locale","sv","readOnly","inputProps","focused","handleSetPackage","hasErrors","PlusPackageVariantSelectOptionalModal","AlertModal","close","LicenseTypes","selectForYearsModalIsOpen","setSelectForYearsModalIsOpen","setSelectedPlusPackage","Date","promptItemAlreadyInCart","setPromptItemAlreadyInCart","itemForPromptInfoOnPlusPackage","setItemForPromptInfoOnPlusPackage","choosenPremiumLicense","setChoosenPremiumLicense","product","isValid","isAfter","getButtonTitle","licenseType","cardFooterOk","CardFooter","isExpired","enablePackage","handleAddOrSelectVariant","itemToAdd","costCenter","fortNoxCostCenter","programLicenseId","validFrom","fontWeight","cheapestPlusLicensePrice","cardFooterNotOk","isPackagePurchase","isCoursePurchase","Card","CardImg","src","alt","CardTitle","lastAddedProduct","CardBody","packageName","programName","handleOnAddPackage","addPremium","_","isEmpty","studentLicenseToAdd","plusPackageToAdd","height","minHeight","currentAplVariant","TableComponent","ShopStudentsSelect","studentsOnCurrentProgram","addOrRemoveStudentFromCartItem","allStudentsWithLicenses","allStudents","preselectedStudent","removeManyFromCart","addManyToCart","allChecked","setAllChecked","studentsForAdding","setStudentsForAdding","filteredStudentsForSelect","setFilteredStudentsForSelect","filterStudentsBy","setFilteredStudentsBy","studentsWithCurrentLicense","setStudentsWithCurrentLicense","showStudentsWithLicense","setShowStudentsWithLicense","rowsForSelect","setRowsForSelect","rowsForNotSelect","setRowsForNotSelect","sortingForSelect","setSortingForSelect","columnName","direction","sortingForNotSelect","setSortingForNotSelect","sortingStateColumnExtensions","sortingEnabled","defaultColumnWidths","checkStudentHasLicense","useCallback","studentLicenses","lastAddedValidFrom","lastAddedYears","studentLicense","hasValidAplLicense","aplLicenseValidTo","aplLicenseValidFrom","newStartDate","newEndDate","existingStartDate","existingEnddate","tempAllStudentsWithLicenseWithoutName","studentsWithCurrentStudentLicense","studentsWithConflictingAplLicense","programLicenseIds","licStud","currStud","studentToAdd","tempStudentsForNotChoosing","tempStudentsForChoosing","tempAllStudents","studWL","hasApl","progStud","studwithconflict","studWithconflicting","handleGetCheckStatus","cartitem","addedstud","tempStudentsForSelect","tempStudentToAdd","input","aplLicense","marginLeft","marginRight","marginTop","checked","dateFrom","dateUntil","tempStudentsForNotSelect","md","sorting","onSortingChange","noDataRowComponent","textAlign","TableColumnResizing","CartStudentList","studentList","addedStudentList","p","responsive","borderTop","CartItem","bind","_this$props$cartItem","_this$props$cartItem2","_this$props$cartItem3","_this$props$cartItem4","_this$props$cartItem5","_this$props$cartItem6","isLatestAdded","backgroundBlendMode","flexDirection","cartItem","readonly","handleDeleteFromCart","handleCheckIfIsLastAdded","margin","CardHeader","buildCartTotal","acum","_products$result","_products$result$opti","setCurrency","animateStudents","setAnimateStudents","collapseProducts","setCollapseProducts","collapseStudents","setCollapseStudents","licenseInfoModalIsOpen","setLicenseInfoModalIsOpen","sortedLicenses","setSortedLicenses","sortedGenericAplLicenses","setSortedGenericAplLicenses","setStudentsOnCurrentProgram","products","studentWithLicenses","handleSetStudentsOnProgram","studentsOnProgram","lic","fetchStudentsWithLicenseNew","dispachPackageAddToCart","itemToSetAsLastAdded","tempItemToAdd","tempSortedLicenses","tempProd","programLicense","fortNoxProgram","articleNumber","Number","aplBundle","licOpt","licenseOption","tempOptionsForGeneric","aplStandAlone","productList","available","inModal","_p$options","productPlusLicenses","licenseWithLowestPrice","ProductItem","xl","marginBottom","toggleProducts","fontSize","padding","xs","AplProductItem","hasOtherProgramLicenses","plic","hasExpired","tempLastAddedItem","NewCart","toggleModal","ProductsList","FinalExamUnlocker","mappedCourses","backgroundImage","backgroundSize","alignItems","FormGroup","CustomInput","handleLockUnlockFinalExam","FinalExamUnlockerContainer","showCoursesForUnlocking","setShowCoursesForUnlocking","collapsed","setCollapsed","mutateFinalExamToggler","useMutation","queryClient","useQueryClient","studentHasNoLicense","studentName","toggleCoursesDropdown","showCourses","studentcoursesWithFinalExam","studentCoursesWithStudentModule","c","classCoursesWithFinalExam","courseToAdd","handleStudentLockUnlockFinalExam","postData","FinalExamEnabled","mutate","onSuccess","invalidateQueries","toast","warn","throwOnError","onError","handleClassLockUnlockFinalExam","checkNameLengthAndCharacters","nameToCheck","el","trim","toggleAndAddLicense","mutateStudentAdd","addStudentLicense","setAddStudentLicense","formik","useFormik","success","handleSubmit","htmlFor","handleChange","toggleAddLicense","CreateStudentInClass","addNewStudentToClassModal","CreateStudentInClassForm","FormikForm","withFormik","mapPropsToValues","teacherSelection","programmeSelection","orientationSelection","selectedTeachers","selectedProgramme","selectedOrientation","validationSchema","Yup","shape","required","resetForm","setSubmitting","closeOnClick","pauseOnHover","autoClose","reloadAfterProceed","dismissModal","isSubmitting","Select","isMulti","noOptionsMessage","selected","t","defaultValue","getPreselectedTeachers","clearableValue","handleProgramChange","Creatable","isClearable","handleOrientationChange","toString","UpdateClassModal","UpdateClassForm","MoveStudentsToClassForm","setIsSubmitting","setSelectedStudentIds","validationError","setValidationError","mutateMoveStudents","studentsToAdd","selectedStud","getFilteredStudents","s","existingStudents","es","MoveExistingStudentToClassModal","loadstudents","studentClassId","preSelectedClassId","min","updateStudents","studentClasses","setFieldValue","preSelectedClass","download","parseInt","accept","handleFileChanged","files","ImportStudentsToClassModal","ImportStudentsForm","reloadClass","handleHide","ButtonSendActivationMail","sendActivationMail","leftAlign","printButtonText","modulesCollapseOpen","setModulesCollapseOpen","coursesLoadingLock","setCoursesLoadingLock","coursesLockStatus","setCoursesLockStatus","toggleUpdateCourseLockStatus","setToggleUpdateCourseLockStatus","changeLockStatusForModuleForClass","changeLockStatusForModuleForStudent","changeLockStatusForEntireCourseForMultipleStudents","lockStatuses","partiallyLocked","unlocked","tempCoursesLockStatus","isLocked","m","mod","isLockedBySomeButNotAllStudentsInClass","every","toggleModulesOpen","prevstate","handleSetLockStatus","statusToSet","isSetFromPartial","tempCoursesData","setQueryData","getModuleLockStatusText","lockStatus","lockStatusForCourse","courseLockStatus","lineHeight","mappedModules","Fragment","CTooltip","content","handleSetLockCompleteCourseForAll","lock","addedCourses","objectFit","BeatLoader","ClassAdministration","teacherForRemoval","setTeacherForRemoval","setRemovingTeacher","promptTeacherRemoval","setPromptTeacherRemoval","studentForRemoval","setStudentForRemoval","promptStudentRemoval","setPromptStudentRemoval","updateClassModal","setUpdateClassModal","setAddNewStudentToClassModal","addStudentToClassModal","setAddStudentToClassModal","licenseModalOpen","setLicenseModalOpen","selectedStudentForLicense","setSelectedStudentForLicense","addNewTeacherModalOpen","setAddNewTeacherModalOpen","updatingClass","setUpdatingClass","setShowCourses","importStudentsModalOpen","setImportStudentsModalOpen","updatingUserId","setUpdatingUserId","classNameInvalidSigns","setClassNameInvalidSigns","mutateStudentName","mutateStudentEmail","mutateAddNewTeacher","mutateCheckStudentEmail","mutateDeleteStudent","mutateEditClass","classData","toggleImportStudentsModal","studentsInClass","toggleModals","entity","studentModal","handleAddTeacherToClass","teacherToAdd","handleChangeProgram","field","handleChangedUser","userType","handleChangedUserName","checkEmailOnChange","newUserName","nameCheck","tempClassData","teach","refetchQueries","queryKey","newUserEmail","handleChangedUserEmail","classCoursesData","studentTableColumns","studentEditField","CInput","teacherEditField","licensesBadge","studentHasLicense","studLic","licName","uuid","handleAddLicense","studentActivationHandler","studentTableDataSource","disconnect","promptRemoveStudent","licences","teacherTableColumns","teacherTableDataSource","edit","DisconnectTeacherFromClassButton","programSelectOptions","currentProgramOption","orientationSelectOptions","schoolInfo","orientations","orient","currentOrientation","compareNamePriority","priorityA","priorityB","compareFormattedPriority","studentIntegratedSortingColumnExtensions","compare","teacherIntegratedSortingColumnExtensions","float","CRow","CCol","sm","CForm","method","CFormGroup","CLabel","menuPortalTarget","menuPosition","ModuleLocker","getStudentIds","listOfIds","CardSubtitle","wordWrapEnabled","teacherSelectOptions","addNew","teacherIsTeacherInClass","teacherInClass","pop","unshift","toggleNewTeacherModal","teacherName","handleDeleteStudent","StudentLicenseManagemenModal","toggleStudentLicenseModal","closeAddNewStudentAndAddLicense","loadStudents","reload","StudentAdministration","updatingStudent","setUpdatingStudent","emailOccupied","setEmailOccupied","invalidEmail","setInvalidEmail","mutateStudentClass","studentCourses","oldName","handleChangedStudentEmail","studentData","teacherClasses","classSelectOptions","cls","currentClassOption","studentCoursesDataWithResult","selectedExistingTeacherIds","preselectedTeacher","matches","teacherIdsToAdd","teachersToAdd","handleAddedClass","newTeachersToAdd","setNewTeachersToAdd","setTeachersToAdd","teachersForAdding","setTeachersForAdding","mutateCheckEmailTaken","removeTeacherFromAddList","nt","teachersDataSource","newTeacher","newTeacherToAdd","toggleAddTeacherModal","teachersTableColumns","isNewTeacher","selectableTeachers","CreateClassInProgram","importStudentStage","setImportStudentStage","createdClass","setCreatedClass","CreateClassInProgramForm","reloadData","moveToNextStep","addStudentsAfterCreatingClass","ProgramAdministration","promptClassRemoval","setPromptClassRemoval","classForRemoval","setClassForRemoval","addClassModalOpen","setAddClassModalOpen","createdClassId","setCreatedClassId","importStudentsAfterCreatingClass","setImportStudentsAfterCreatingClass","addClassMutation","deleteClassMutation","handleAddTeachersToClass","deleteClassColumn","promptRemoveClass","classesTableDataSource","programInfo","toggleAddClassModal","closeAddClassModal","classesTableColumns","reloadProgramAndTeacherData","addNewTeachersToClass","addTeachersToClass","toggleAddClassAndImportModal","handleDeleteClass","classToAdd","hideImportStudentsModal","TeacherAdmin","currentLevel","setCurrentLevel","renderLevel","addStudentDropdownOpen","studentLicenseModalOpen","newStudentForLicense","toggleStudentDropdown","openAddNewStudentToClassModal","openAddStudentToClassModal","VirtualTable","ResultTable","usersData","statusPriority","InProgress","NotStarted","Done","Completed","comparePriority","tableData","TreeDataState","CustomTreeData","getChildRows","rootRows","childRows","r","parentId","TableTreeColumn","visible","StatusBadge","statusMessage","CBadge","StudentFillIn","isCorrect","correct","studentAnswer","correctAnswer","answer","questionIndex","StudentMatching","pairKey","MultipleChoice","StudentSequence","renderSwitch","StudentMultipleChoice","StudentResultQuestionOverview","moduleName","bestResultIsOpen","toggleBest","latestResultIsOpen","toggleLatest","studentResultData","GetBestAndLatestStudentResultAnalysisData","isBestResult","isLatestResult","cleanTimeStamp","questionAnswerList","obj","Fab","scrollTo","behavior","studentResultId","_len","nodes","Array","_key","node","ModuleType","SCORM","LEARNWARE","getWinOptions","winOptions","screen","availWidth","availHeight","composeUrl","userId","moduleType","moduleUrl","numberOfRuns","numOfRunsIncramented","now","StudentResultOverview","setModuleId","setCourseId","setModuleName","setCourseName","setLatestResultIsOpen","setBestResultIsOpen","max","sortOrder","showResult","background","viewAt2Result","currentCourseId","currentModuleId","open","viewScormResult","CourseModulesResultsBar","primaryData","secondaryData","legend","indexAxis","scales","suggestedMax","suggestedMin","yAxes","stacked","ticks","beginAtZero","xAxes","HorizontalBar","ClassMultipleChoice","answersStudent","amountOfStudentresults","sliderSettings","correctAnswerList","Slider","studentNames","minWidth","answerIndex","ScrollContainer","Container","flexWrap","ClassSequence","cAnswer","count","ClassFillIn","ClassMatching","NextArrow","right","transform","PrevArrow","ClassResultQuestionOverview","resultIsOpen","resultDummyRef","classResult","GetClassResultAnalysisData","dots","infinite","centerMode","slidesToShow","slidesToScroll","variableWidth","centerPadding","nextArrow","prevArrow","resultTableData","setResultTableData","primaryModulesData","setPrimaryModulesData","secondaryModulesData","setSecondaryModulesData","showClassResult","setShowClassResult","classResultIsOpen","setClassResultIsOpen","showStudentResult","setShowStudentResult","studentForScormResults","setStudentForScormResults","studentBestResultIsOpen","setStudentBestResultIsOpen","studentLatestResultIsOpen","setStudentLatestResultIsOpen","setResultData","primaryChartData","labels","datasets","secondaryChartData","currentCourse","studentsWithResults","notStarted","inProgress","done","viewScormResultForClass","viewScormResultForStudent","studentsNotStarted","studentNotStarted","firstCourse","studentIdArray","zIndex","handleChangedCourse","toggleBestStudentResult","toggleLatestStudentResult","ProgramResultOverview","coursesData","classRes","avgScore","averageScore","avgPercDone","avgNumTries","averageNumberOfTimes","avgActivityPoints","averageActivityPoints","TeacherResultOverview","setLevel","ClassResultOverview","StackedBar","temptype","Bar","PieChart","borderColor","borderWidth","Pie","Polar","PolarArea","LineChart","Line","TeacherResultAnalysis","ResultsChartPerCourse","ActivityPointsPie","ActivityPointsPolar","TempLineChart","SelectCoursesAndModules","courseDropdown","setCourseDropdown","selectedCourse","handleCheckCourses","selectedModules","handleCheckModules","AddLinkModal","linkSelected","setLinkSelected","setSelectedModules","setSelectedCourse","linkToUpload","setLinkToUpload","invalidLink","setInvalidLink","checkLink","textval","RegExp","toggleLinkModal","linkModalOpen","mid","handleuppload","selection","handleUploadLink","checkAndSetLink","AddDocumentsModal","documentSelected","setDocumentSelected","fileToUpload","setFileToUpload","toggleDocModal","toggleDocumentModal","documentModalOpen","FormText","handleUploadDocument","DocumentPlaceHolder","setLinkModalOpen","setDocumentModalOpen","mutateUploadDocument","mutateUploadLink","coursesAndModules","courseModuleIds","TeacherDocuments","ClassDocuments","fetchTeacherCoursesAction","unlockTeacherFinalExam","StudentStatus","statusClass","statusIcon","clickable","fullWidth","TeacherModule","mappedStatus","mappedTime","showStatus","ListGroupItem","runModule","navigateToResult","StudentProgress","doneModules","totalModules","Progress","progress","animated","CourseSubject","subject","TeacherModuleAnswersAndDocs","answersAvaliable","responseType","Blob","fileURL","URL","createObjectURL","responseObj","GiKey","modDocsDropdownOpen","setModDocsDropdownOpen","showFullDescription","setShowFullDescription","promptDeleteUpload","setPromptDeleteUpload","courseDocuments","setCourseDocuments","courseUploads","uploadForRemoval","setUploadForRemoval","mutateDeleteUpload","availableModuleAnswers","togglePromptDeleteUpload","docId","deleteInfo","handleOpenModule","handleGoToModuleResult","navigateToModuleResult","mappedProgress","mappedLastRun","mappedModulesForAnswersAndDocuments","courseHasFinalExam","studentCourseId","finalExamDate","showCourseStatus","finalExamSetForCourse","finalExamCoursesSet","enable","setDate","finalExamStartDate","moduleDocs","moduleIdsAsString","modulesIds","modId","modDocstoggle","mappedDocuments","displayDocuments","doc","fileUrl","Dropdown","caret","uploaded","uploadedBy","maxHeight","handleShowFullDescription","modulesIsOpen","toggleModules","inline","toggleDocumentOpen","openedDocuments","toggleTeacherMaterials","openedTeacherMaterials","ListGroup","toggleFinalExamAction","handleDeleteUpload","TeacherCoursesView","classesToShow","filterSearch","setFilterSearch","setToggleModules","collapseLicenses","setCollapseLicenses","documentIsOpen","setDocumentsIsOpen","teacherMaterialsIsOpen","setTeacherMaterialsIsOpen","setOpenedTeacherMaterials","setOpenedDocuments","goToModuleResults","openModule","setError","filteredList","toggleModule","toggleDocuments","od","om","programLicenseName","mappedLicenses","collapseLicensesfunc","CourseItem","disableViewResults","navigateToCourse","objId","onKeyPress","which","stopEnter","filterSearchfunc","TeacherChat","useViewport","setWidth","innerWidth","handleWindowResize","addEventListener","removeEventListener","TabNav","handlePostNavTab","tabs","MobileTabNav","overflowX","TabNavSelector","CreateAPLPeriodGeneral","aplName","aplStartDate","aplEndDate","aplHoursPerWeek","aplDaysPerWeek","handleSetDaysPerWeek","handleSetHoursPerWeek","handleSetName","handleSetEndDate","setAplValidationErrors","aplValidationErrors","validateDate","startOrEnd","DateRangePickerWrapper","DateRangePicker","onStartDateChange","onEndDateChange","minimumDate","minimumLength","startDateInputProps","endDateInputProps","focus","START_DATE","Chevron","END_DATE","styled","ChevronRight","_templateObject","_taggedTemplateLiteral","div","_templateObject2","aplDocumentsWithUsers","setAplDocumentsWithUsers","supervisors","selectableUsers","setSelectableUsers","UsersForSelect","studentForSelect","supervisorForSelect","DocumentsAndUsers","selectableStudents","selectableSupervisors","users","forUser","AddAllStudents","AddAllSupervisors","groupedOptions","handleRemoveDocument","setFileName","styles","menuPortal","base","handleAddAndRemoveDocumentsForUser","documentUserList","currentDocumentIndex","tempAplDocumentsWithUsers","_ref3","inputValue","val","newDocument","handleFile","setWorkcard","existingWorkCards","setPage","defaultSelectedWorkCard","aplWorkcard","selectedWorkCard","setSelectedWorkCard","selectableWorkCards","setSelectableWorkCards","setIsOpen","tempSelectableWorkCards","wc","workcard","openInfoModal","PromptAddSupervisorToSchool","postSupervisorToSchool","supervisorEmail","phone","handlePostSupervisorToSchool","supervisorName","supervisorPhone","supervisorCompanyId","typeError","positive","Email","Phone","CompanyId","VisibleForSchoolId","createdUser","supervisorToAdd","aplCompany","setSelectableSupervisors","alreadyExistingUser","userTypeOf","setSupervisorToAddToSchool","setAddToSchoolIsOpen","handleReloadSupervisors","addNewCompany","setAddNewCompany","newCompanyName","setNewCompanyName","postSupervisorCompanyMutation","companies","companiesList","tempList","companyToAdd","handleSubmitNewCompany","cleanedCompanyName","handleSetCompany","supervisorToAddToSchool","toggleAddToSchool","addToSchoolIsOpen","EditNameDialog","defaultName","aplStudentSupervisors","setAplStudentSupervisors","programTeachers","studentsForSelect","setStudentsForSelect","addNewSupervisorVisible","setAddNewSupervisorVisible","companiesForSelect","setCompaniesForSelect","addNewCompanyIsOpen","setAddNewCompanyIsOpen","showCompanyNameOccupied","setShowCompanyNameOccupied","tempCompanies","companyForSelect","studsup","tempSupervisorsForSelect","TeacherSupervisorsAndStudents","studentsForAdd","studentForAdd","handleRemoveTeacherSupervisor","handleAddStudentToTeacherSupervisor","tempTeacherSupervisors","handleRemoveStudentFromTeacherSupervisor","currentSupervisor","company","handleSetTeacherSupervisorStudentCompany","indexOfstudent","newTeacherSupervisorToAdd","handleAddSupervisor","CreateNewSupervisor","reloadSupervisors","handleAddNewCompany","APLRatingModal","questionsToDelete","setQuestionsToDelete","setNewStudentQuestions","setNewSupervisorQuestions","newStudentQuestions","newSupervisorQuestions","toggledQuestion","setToggledQuestion","stopPropagation","Tabs","newValue","Tab","questionGroup","borderLeft","onDoubleClick","onKeyDown","tempQuestionArray","TextHover","Rating","responseRange","ratingQuestions","renderQuestions","newQuestion","temp","personName","personEmail","personPhone","tempInformationPerson","mail","phoneNumber","forUsers","forUserIds","aplPeriodId","tempInfoPersonList","setInformationPersons","infoPersonUsers","setInfoPersonUsers","updateInfoPersonAddUsers","updateInfoPersonRemoveUsers","selectableInfoPersons","setSelectableInfoPersons","infoPersonsToSelect","tempInfoPersonUsers","tInfoPerson","tempUsers","handleAddAndRemoveUsersToInfoPerson","infoPersonIndex","infoPerson","removedUsers","userIds","infoPersonId","informationPersonIndex","dummyUserIndex","tempArray","tempInfoPersonUserIds","InfoPersonsUsers","handleRemoveInfoPerson","tempSelectableInfoPersons","CreateNewInfoPerson","tempInfoPerson","handleAddInfoPerson","_ref4","APLDataGrid","setRows","parentRows","totalHours","from","hoursPerWeek","rowComponent","rowColorAmount","hours","selectableWorkCard","setNewWorkcardName","aplWorkcardNameAlreadyExists","handleSelectWorkCardTemplate","AddItemWithOnlyNameModal","setName","CreateAPLPeriodModal","currentPeriods","setCurrentPeriods","handleSaveEvaluationQuestions","page","setAplName","setAplStartDate","setAplEndDate","setAplHoursPerWeek","setAplDaysPerWeek","setAplWorkcardNameAlreadyExists","studentsInPeriod","setStudentsInPeriod","supervisorsInPeriod","setSupervisorsInPeriod","setTableData","setWorkItemToAdd","button","newWorkcardName","setDefaultSelectedWorkCard","availableStudents","setAvailableStudents","thereAreWorkStepsWithoutComponentsOrNoWorkSteps","setThereAreWorkStepsWithoutComponentsOrNoWorkSteps","workcardItemForEditName","setWorkcardItemForEditName","workcardItemForDelete","setWorkcardItemForDelete","workItemToAdd","handlehandleAddNewItem","newItem","postPeriodMutation","postAplInfoPerson","postWorkCardMutation","isWorkstep","clearWizardModal","handleCloseModal","days","handleSetStudentSupervisors","studsups","tempStudentsInPeriod","tempSupervisorsInPeriod","handleAddAPLPeriod","participants","participantIds","docs","participant","start","end","daysPerWeek","workCardId","documents","docdata","tempPeriods","handleSetNextPage","calculateSelectableStudents","studentsIdsInCollidingPeriods","existingPeriod","unix","tempAvailableStudents","handleToggleWorkCardCreateOpen","handleSetNameForNewWorkcard","handlePostWorkCard","continueToNextStepWhenPosted","workSteps","workCard","WorkSteps","ws","workStep","WorkStepComponents","cancelPost","tempTableData","wsi","wsToAdd","workStepComponents","wsc","wscToAdd","handleAddWorkcardItem","addWorkStepButtonIndex","backdrop","renderTitle","renderHowTo","renderStep","APLCreateNewWorkCard","handleAddNewItem","CreateAPLPeriodWorkCard","CreateAPLPeriodSupervisor","APLInformationPersonModal","CreateAPLPeriodDocuments","APLStudentEventCard","showComments","setShowComments","setValue","postComment","postWorkCardComment","comments","signed","FaRegThumbsUp","TitleStudent","MiniCardText","toLocaleDateString","image","CardMedia","CardText","bodyText","workStepComponent","workStepName","workingHours","FiMessageCircle","comment","commentDate","commenterName","TextField","InputProps","endAdornment","IconButton","SendIcon","ev","h5","_templateObject3","APLMoments","studentEvents","sortedEvents","setSortedEvents","filterBy","setFilterBy","allEvents","ColWithoutScroll","SupervisorInfoModal","containerStyle","CheckInMap","isLoaded","useJsApiLoader","googleMapsApiKey","setMap","mapRef","useRef","center","setCenter","lat","markerPoints","lng","onLoad","nMap","bounds","google","maps","LatLngBounds","extend","fitBounds","onUnmount","GoogleMap","mapContainerStyle","ref","zoom","marker","markerIcon","isCheckIn","markerTitle","time","Marker","checkIns","checkOuts","co","memo","APLPresenceCheckTable","presenceData","absence","setCheckIns","setCheckOuts","mapIsOpen","setMapIsOpen","markersWithPosition","setMarkersWithPosition","tempCheckins","tempCheckouts","tempMarkersWithPos","pd","checkIfPositionExists","noPositionFound","pr","noCheckins","ab","timeFrom","timeTo","APLPresenceWeekIndicator","ScrollSyncNode","group","overflowY","getDay","week","DivWithHover","wasAbsent","DivHiddenScroll","setDays","setAbsence","markersData","setMarkersData","studentPresence","selectedPeriod","setSelectedPeriod","periodStartDate","periodEndDate","daysOfYear","d","getDate","chosenDate","prec","day","locationMarkers","geographyPoints","point","latitude","longitude","markerWithLocation","hasLocation","markerWithoutLocation","studentAbsencesForDate","studentAbsencesOnDay","absences","handleSetMap","getCheckInsForDay","currentDate","retval","tempDay","getBackground","futureDate","ScrollSync","today","todaysCheckIns","lastCheckIn","isCheckedIn","sp","isPresent","printIsPresent","printPresence","todaysDate","weeks","checkInsForTheDay","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","APLTabs","toggleCreatePeriod","periodsToSelect","handleSelectPeriod","handleSetAplTab","DivNoScroll","MobileAPLTabs","APLTabNavSelector","pts","APLRatings","ratingLevel","setRatingLevel","supervisorRatings","activePeriodId","studentQuestions","setStudentQuestions","supervisorQuestions","setSupervisorQuestions","unansweredSupervisor","setUnansweredSupervisor","unansweredStudent","setUnansweredStudent","studentRatingsForLevel","setStudentRatingsForLevel","supervisorRatingsForLevel","setSupervisorRatingsForLevel","studentRatingsUnansweredQuestions","array_el","anotherOne_el","emptyQuestion","respons","tempStudentRatingsForLevel","rating","tempAverageAnswer","tempStudentQuestionsAverages","groupBy","tempAverageTotal","entry","tempAnswer","assign","supervisorRatingsUnansweredQuestions","tempUnanswered","q","tempSupervisorRatingsForLevel","tempSupervisorQuestionsAverages","vertical","Box","sx","bgcolor","indicatorColor","wrapped","studRatings","supRatings","selectRating","saveInformationPerson","setAddNewInfoPersonOpen","informationPersonIsOpen","toggleInformationPerson","saveInformationPersonsAndUsersForPeriod","addNewInfoPersonOpen","newInfoPersonsWithStudents","setNewInfoPersonsWithStudents","ip","infoPersonForSelect","_person$forUsers2","_person$forUsers","nipws","userArray","infoperson","CreateNewInfoPersonInModifyInfoPersons","sip","handleSaveInfoPersonsAndStudents","tempInfoPersons","oldlist","studentsWithSupervisors","supervisorsWithStudents","allSupervisors","listOfStudentIds","setSelectableStudents","newSupervisorsStudents","setNewSupervisorsStudents","studentsForRemoval","setStudentsForRemoval","promptRemoveStudents","setPromptRemoveStudents","postChangeStudentSupervisor","postNewStudentSupervisor","deleteStudentFromPeriod","showNoStudentsWarning","setShowNoStudentsWarning","showSomeStudentHasNoPlacementAlert","setShowSomeStudentHasNoPlacementAlert","availableStudentIds","svws","tempFormattedSupervisorsForSelect","tempStudentsForSorting","tempstud","SupervisorsAndStudents","studToAdd","studentSupervisorObject","studentsToAddAsSelectable","supervisorToAddAsSelectable","handleRemoveSupervisor","newSupervisorToAdd","tempSelectableSupervisors","handleSubmitNewSupervisors","newStudentsSv","currentStudents","studentsAreRemoved","newSupervisors","removedStudents","newStud","studentsWithDifferentSupervisors","newStudentsAdded","oldStudent","st","newstud","ssvObject","studentIndex","tempStudentsWithSupervisors","aplCompanyId","handleRemoveStudentsFromPeriod","APLDocumentsAndSupervisors","setLevelSupervisor","levelSupervisor","setSupervisor","toggleSupervisorInfo","setPeriod","toggleInfoPersonOpen","setAplInfoPerson","deleteDocument","postAplInfoPersonsAndUsers","setInformationPersonIsOpen","modifySupervisorsOpen","setModifySupervisorsOpen","toggleSupervisorModifyer","setSupervisorsWithStudents","setListOfStudentIds","supervisorsInLevel","setSupervisorsInLevel","setAllStudents","tempsupervisorsWithStudents","studentsInLevel","_period$period","_period$period$studen","_student$student","_student$student$clas","tempSupervisors","sl","LabelAsRow","datas","bottom","ModifySupervisorsModal","documentsForLevelUsers","documentAccesses","_value$description","docName","documentPath","tempPeriod","acc","access","selectSupervisorDocument","uploadAdditionalDocuments","ModifyAPLInformationPersonModal","newInfoPersonsWithUsers","saveObject","infopers","APLInformationPersonInfoModal","aplInfoPerson","infoPersonOpen","borderBottom","AddWorkStepModal","newWorkStepName","setNewWorkStepName","postNewWorkSteps","handlePost","AddNewWorkStepComponentModal","workStepId","newWorkStepComponentName","setNewWorkStepComponentName","postNewWorkStepComponents","WorkStepId","RemoveAndChangeDateApl","periodName","currentEndDate","mutateRemoveAplPeriod","mutateSetEndDate","promptForDelete","setPromptForDelete","promptForEnd","setPromptForEnd","handleDeletePeriod","handleEndPeriod","diff","APLPresenceColorInfo","APLFoodCompensationCard","daysWithNoFoodCompensation","studentAplAttendance","supervisorInfoOpen","setSupervisorInfo","aplPeriodOpen","setAplPeriodOpen","setInfoPersonOpen","addNewWorkStepOpen","setAddNewWorkStepOpen","toggleAddNewWorkStepModal","addNewWorkStepComponentOpen","setAddNewWorkStepComponentOpen","currentWorkStepForAddComponent","setCurrentWorkStepForAddComponent","toggleAddNewWorkStepComponentModal","setActivePeriodId","setPeriodsToSelect","setStudentRatings","setSupervisorRatings","setDaysWithNoFoodCompensation","studentParticipation","setStudentParticipation","periodSupervisors","setPeriodSupervisors","promtWorkComponentForDelete","setPromptComponentForDelete","totalWorkHoursRegistered","setTotalWorkHoursRegistered","aplActiveTab","setAPLActiveTab","createEvaluationQuestions","updateEvaluationQuestion","deleteEvaluationQuestions","deleteWorkstep","deleteWorkstepComponent","editWorkStep","editWorkStepComponent","periodsData","eventsData","workCardHourData","absenceData","evaluationsData","evaluationQuestionsData","supervisorsAndStudentsData","navReducer","prd","handleSetWorkStepAndToggleComponentModal","workstepId","totalWorkHours","isComponent","studentEvaluations","supervisorEvaluations","forUserType","tempStudentQuestions","tempSupervisorQuestions","tempSelectablePeriods","dateTo","supervisorStudent","studentAttendanceWithNoFoodCompensationForPeriod","saa","_period$period2","_period$period3","foodCompensationNeeded","studentQs","supervisorQs","newQuestions","questionsToUpdate","tempQuestion","workCards","HeaderRowNoScroll","tabIndex","APLPresence","UncontrolledCollapse","defaultOpen","toggler","isWholeDay","showDelete","handleSetWorkcardItemForEditName","mainPanelContent","toToggle","results","licenseManagement","selectedStudentId","selectedClassName","InvoiceItem","toggleIsExpanded","isExpanded","rePostOrderInFortNox","orderId","postWasSuccessful","fortNoxOrderNumber","getElementById","innerHTML","failMessage","getOrderRows","isProgram","fortNoxDisplay","fortNoxErrorMessage","rePostIsAllowed","fortNoxNumber","createdBy","fortKnoxCustomerNumber","NumberFormat","displayType","thousandSeparator","TeacherInvoiceHistory","invoiceHistory","TeacherStudent","toggleEditModal","setToggleEditModal","updated","setUpdated","studentInfo","params","GetCoursesWithResultsByStudentId","editToggleEditModal","updateStore","updateStudent","CCard","CCardBody","renderTab","toggleEdit","TeacherCourses","APL","levelName","updatingTeacher","setUpdatingTeacher","mutateTeacherName","mutateTeacherEmail","mutateCheckTeacherEmail","teacherData","handleChangedTeacherEmail","contact","reference","order","customerId","teacherInformation","invoiceLabeling","showStudentsInOrder","shopOrderItems","shopOrderItem","fortNoxArticleNumber","onClose","cleanCartAfterPurchase","statusText","adress","CardDeck","zipcode","country","cartList","totalPrice","block","NotificationImage","imageUrl","NotificationVideo","videoUrl","videoCode","frameBorder","allow","allowFullScreen","NotificationModal","notification","handleMarkAsRead","dangerouslySetInnerHTML","__html","video","SingleNotification","notificationModalIsOpen","setNotificationModalIsOpen","toggleNotificationModal","notificationId","postNotificationRead","showFrom","Notifications","notificationData","setNotificationData","filterStartDate","setFilterStartDate","filterEndDate","setFilterEndDate","showOnlyUnread","setShowOnlyUnread","handleMarkAllAsRead","listOfIdsToMarkAsRead","noticeIds","ids","not","o1","o2","navRoutesTeacher","studentsInProgram","setStudentsInProgram","coursesInfo","GetResultsByProgramId","tempStudentsInProgram","fromNotifications","GetCoursesByClassId","objName","setTotalPrice","OrderForm","onAddUnit","onDeductUnit","contactInfo","setContactInfo","contactPersons","polContact","version","FETCH_SCHOOL_TEACHERS_BEGIN","FETCH_SCHOOL_TEACHERS_FULFILLED","FETCH_SCHOOL_TEACHERS_REJECTED","FETCH_SCHOOLS_BEGIN","FETCH_SCHOOLS_FULFILLED","FETCH_SCHOOLS_REJECTED","fetchSchoolTeachers","fetchSchoolsForAdmin","fetchAvailableProgramLicenses","ExpiringLicense","expiringLicenses","hasExpireWarning","expireDate","hasExpiredLicenses","AddProgramLicenseToSchoolModal","selectedLicenseToAdd","fortNoxNbrPrgLic","fortNoxNbrStudLic","updateLicense","animate","isUpdated","popoverOpen","licenseName","fortNoxProgramLicenseNumber","fortNoxStudentProgramLicenseNumber","handleInputChange","togglePopover","addProgramLicenseToSchool","toastOptions","customerLicenses","fortKnoxNumber","fortKnoxNumberStudentPackage","fortKnoxCostCenter","quitEditing","allLicenses","schoolLicenses","availableLicenses","Popover","PopoverHeader","PopoverBody","subtract","NumberOfLicensesTable","licensesShow","quantityTotal","toggleLicenseDetails","quantityActive","quantityExpired","quantityExpiring","numberOfStudents","hover","columnBands","TableBandHeader","LicensesDetailsTable","SuperUserLicenseDataGrid","cols","showLicenseDetails","dataForYearExcel","schoolsWithSelectedLicense","selectedLicenseDetail","expired","added","getDataForActive","fiscalYear","month","startOf","nbrMonthsThisFiscalYear","ceil","interim","clone","monthsThisFiscalYear","addedLicenses","expiredLicenses","schoolWithExpired","licenseExpired","expiredLicenseThisMonth","schoolWithNewLicense","year","monthToAdd","expiredLicences","newLicences","expiredMonth","addedMonth","schoolWithExpiredLicense","customerNumber","address","postalNumber","schoolToAdd","licenseExpiredAt","schoolWithExpiring","licenseExpiring","licenseExpiringAt","closeDetails","tab_text","encoding","saveAs","PostNotification","forSchools","forLicenses","showForAllCustomers","showForTeachers","showForStudents","UpdateNotification","noticeId","imageOptions","SetCourseModuleSortOrder","orderedModuleIds","EditSchoolName","updateObject","encodeURIComponent","MoveTeacherToSchoolAndClasses","teacherToMoveEmail","AddProgramToSchool","AddProgramLicenseToSchool","CreateSchoolAndAssignProgram","CreateNewTeacher","teacherToPost","AddTeacherToClass","classIds","AddClassToSchool","CreateNewScormLicenseCustomer","contactName","contactMail","CreateNewScormLicenseCourse","identifier","additionalInfo","CreateNewScormLicenseLicenses","quantity","UpdateLicenseCustomer","UpdateLicenseCourse","SuperuserSchoolEditModal","_props$schoolToUpdate","_props$schoolToUpdate3","_props$schoolToUpdate5","setNewName","schoolToUpdate","setTeacherToMoveEmail","postEditSchoolName","postMoveTeacherToSchoolAndClasses","_props$schoolToUpdate2","handleToggle","handleEditSchoolName","_props$schoolToUpdate4","CreateNewSchoolWizardModal","setFortnoxNumber","selectedLicenses","setSelectedLicenses","classesForPost","setClassesForPost","setNewClass","createdSchool","setCreatedSchool","addedClasses","setAddedClasses","setNewTeacherToAdd","teachersForPost","setTeachersForPost","schoolAlreadyPosted","setSchoolAlreadyPosted","returnedPrograms","setReturnedPrograms","handlePostSchoolWithLicense","handlePostClassesToSchool","handlePostProgram","handlePostProgramLicense","handleCreateNewTeacher","handleClose","reloadSchools","postSchoolWithLicenses","saveAndClose","schoolData","postLicenses","proglicData","promises","proglic","mutateAsync","responses","all","tempPrograms","resp","proglicError","handlePostTeachersAndClose","postedTeachers","aplSupervisorMail","handlePostTeachersToClass","pTeacher","fortnoxNumberPage","handleSetFortnoxNumber","number","licensesPage","selectedLicensescreateClasses","CreatableSelect","formatCreateLabel","userInput","handleAddClass","handleRemoveClassFromAdd","connectTeachersToClasses","handleCheckAndSetTeacherForAdd","selectedClasses","handleRemoveTeacherFromAdd","handleSetClassForNewTeacher","excludedValues","tempErrors","tempTeachers","tempClasses","renderPage","handlePostClasses","SchoolsTable","toggleEditSchoolModal","toggleProgramLicensesModal","scrollIntoView","saveScrollPos","scrollPos","mappedSchools","nbrOfClasses","nbrOfTeachers","nbrOfStudents","SuperUser","addSchoolModal","overrideLoader","licenseModalState","currentSchool","selectedProgramlicensesToAdd","availabledProgramLicenses","collapsedLicenses","toggledLicenseDetails","editSchool","toggleAddSchoolModal","updateSchools","show","handleChangeSelect","toggleCollapse","detail","closeLicenseDetails","schoolInformation","quantitySchools","quantityStudents","NumberOfLicenses","LicensesDetails","licenseEl","licenseBygg","licenseFordon","studenterEl","studenterBygg","studenterFordon","SuperDash","schoolClasses","teacherToUpdate","simpleCreate","classObjects","sc","updateExistingTeacher","createNewTeacher","updateUser","updateTeacherWithClasses","console","loadTeachers","check","defaultChecked","getTeacherClasses","CreateTeacher","CreateTeacherForm","TeacherTable","mappedTeachers","updateTeacher","editable","detachTeacher","selectable","Teachers","createTeacherModal","setCreateTeacherModal","displayConfirmDialog","setDisplayConfirmDialog","teacherToRemove","setTeacherToRemove","setTeacherToUpdate","setClasses","schoolTeachers","classesReducer","toggleCreateTeacherModal","goToTeacherPage","route","origin","newWindow","timer","exitWindow","closed","removeItem","toggleConfirmDialog","goToTeacherCourses","goToTeacherShop","goToTeacherUsers","getTeacherToRemove","deleteTeacher","CreateStudent","CreateStudentForm","StudentTable","mappedStudents","goToStudentPage","showClass","ButtonToolbar","ButtonGroup","hasOwnProperty","selectedClass","currentClass","updateStudentClass","refreshStudent","reloadStudents","log","handleClassChange","EditStudent","EditStudentForm","AdminStudents","setStudents","studentEditModal","setStudentEditModal","displayCreateStudentModal","setDisplayCreateStudentModal","setStudentToUpdate","tempStudents","toggleStudentEditModal","toggleCreateStudentModal","updateClassesAndStudents","FETCH_PROGRAMMES_BEGIN","FETCH_PROGRAMMES_FULFILLED","FETCH_PROGRAMMES_REJECTED","FETCH_FORTNOX_PROGRAMS_BEGIN","FETCH_FORTNOX_PROGRAMS_FULFILLED","FETCH_FORTNOX_PROGRAMS_REJECTED","fetchProgrammes","programmeName","reloadProgrammes","EditProgramme","EditProgrammeForm","onComplete","fortNoxPrograms","selectedProgram","refreshProgrammes","CreateProgramme","CreateProgrammeForm","Programmes","createProgrammeModal","setCreateProgrammeModal","setOverrideLoader","setProgrammes","programmeToUpdate","setProgrammeToUpdate","programmeToRemove","setProgrammeToRemove","programmeEditModal","setProgrammeEditModal","programmesReducer","loadProgrammes","mappedProgrammes","handleFilterSearch","toggleCreateProgrammeModal","getprogrammeToRemove","deleteProgramme","preselectedProgramme","selectedTeacherIds","Customer","newclass","reloadClasses","CreateClassWithManyTeachersModal","CreateClassWithManyTeachersForm","FETCH_ORIENTATIONS_BEGIN","FETCH_ORIENTATIONS_FULFILLED","FETCH_ORIENTATIONS_REJECTED","fetchOrientations","Classes","createClassModal","setCreateClassModal","classToRemove","setClassToRemove","setClassToUpdate","loadClasses","toggleClassModal","toggleUpdateClassModal","getAllTeachers","getAllStudents","mappedClasses","getClassToRemove","multipleTeachers","getDataAfterUpdate","existingTeachers","reloadAllTeachers","getFilteredTeachers","et","AddTeachersToClassForm","selectedstudentIds","AddStudentsToClass","AddStudentsToClassForm","teacherFilter","setTeacherFilter","studentFilter","setStudentFilter","allTeachers","setAllTeachers","teacherModal","setTeacherModal","setStudentModal","imporStudentsModal","setImporStudentsModal","detachTeacherModal","setDetachTeacherModal","teacherToDetach","setTeacherToDetach","toastSettings","getTeacher","resetDetachTeacher","AddTeachers","getallTeachers","AddStudents","ImportStudentForm","enableReinitialize","toggleExpand","refreshList","updateCourse","fortKnoxArticleNumber","imgFile","lwGuid","lwStartModule","lwStartModuleGuid","availableProgramLicenses","selectedProgramLicenses","orgProgramLicenses","handleToggleCourseAsLoading","toggledLoading","currentCourseLicense","_err$response","CreateCourse","AddCourseForm","CourseAdminNav","headingTitle","table","Navbar","dark","expand","NavbarBrand","toggleNav","nav","CoursesList","modalIsOpen","deleteModalIsOpen","updatingCourse","updateCourses","selectCourse","deleteCourse","createNew","coursesFilteredByName","coursesFilteredByDescription","it","tempAllFilteredCourses","fd","_item$programs","programs","_course$programs","courseModules","createFromSelect","selectModule","reloadModules","CreateModule","updateModule","createdModuleId","Fade","in","AddModuleToCourseForm","ModuleTypeIcon","SetCourseModuleSortOrderModal","sortedModules","setSortedModules","mutateSetModuleOrder","DragDropContext","onDragEnd","droppedItem","destination","updatedList","reorderedItem","source","Droppable","droppableId","provided","droppableProps","innerRef","Draggable","draggableId","dragHandleProps","draggableProps","DragIndicatorIcon","handleSaveOrder","CourseModulesList","createModal","setCreateModal","moduleTypeScorm","setModuleTypeScorm","createNewModule","setCreateNewModule","setCreatedModuleId","allModules","setAllModules","currentModules","setCurrentModules","sortModalIsOpen","setSortModalIsOpen","modulesReducer","loadModules","mappedModulesComp","courseModule","approveScoreLimit","getAllModulesNotInThisCourse","currentModulesToCourseIds","goToSelectModule","createModuleTypeScorm","changeModuleType","toggleModuleType","toggleCreateOrAdd","reloadAllModules","loadAllModules","setModule","moduleToEdit","handleSetFile","answers","handleSetDescription","approveActivityLimit","CreateNewLWModuleForm","lwFileNames","handleSetUrl","filename","handleSetLwGuid","LwGuid","handleSetCode","CreateNewModule","saving","setSaving","handleCheckForErrorsAndSave","checkScorm","handlePostScorm","handleUpdateModule","checkLearnware","handlePostLearnware","handleChangeModuleType","modType","fileNameWithoutSpecialCharacters","urlInDb","CreateNewScormModuleForm","ModulesList","setModules","createNewModuleModal","setCreateNewModuleModal","editModule","setEditModule","mappedModulesComponent","handleOpenAnswers","answersFileDate","answersFile","handleOpenEditModule","handleDeleteModule","ReactTooltip","multiline","InvoiceHistory","accumulator","currentValue","FoundUserInfo","foundUser","UserFound","textDecorationLine","IsDeleted","Created","Activated","Type","HasFullTeacherAccess","IsPurchaser","Schools","AplLicenseValidTo","toISOString","Licenses","courselicense","FindUserInfo","setFoundUser","_response$data","hasActivatedAccount","hasFullTeacherAccess","coursesInLicense","isPurchaser","AddUserAPLLicense","MoveUser","DeleteUser","isDeleteOperation","lockout","_response$data$result","_err$response2","RestoreDeleteStudentWithNoCLass","RestoreDeleteStudentWithNoCLassAndNoLicense","validationToken","createNewUser","currentRole","CreateOrUpdateUserModal","CreateOrUpdateAdminUserForm","updateUsers","Users","toggleAddOrUpdateUserDialog","userToUpdate","showAddOrUpdateUserDialog","toggleDeleteUser","showConfirmDeleteDialog","userToDelete","deleteUser","dismissConfirmDeleteDialog","filterByQuery","query","filteredUsers","adminUsers","deleted","TeacherCourseModule","nbrOfStudentsInProgress","nbrOfStudentsDone","TeacherCourseStudent","DoughnutChart","_model","chartData","isStudent","Doughnut","BestCourseCard","filterStudents","finalExams","filterReady","filterActivated","filterNotActive","doFilterStudents","updateFinalExam","toDate","filterActive","finalExamResult","BarLoader","filterByClass","activatedDate","tada","courseStudentsInfo","nbrOfDonePercentage","navigateToStudentResult","TeacherCourse","handleGoToStudentResult","navigateToResults","nbrOfInprogress","nbrOfDone","nbrOfNotStarted","filteredStudents","displayForClass","updateSingleStudentForExam","loadingExam","dougnutDataModules","mappedDonoughtChart","showDonought","toggleCollapseCourse","toggledCourses","opacity","toggleTab","TabContent","TabPane","tabId","FinalExamResults","ClassFilter","filterStudentsByClass","displayExamModal","examClasses","selectedExamCourse","modal","selectedModule","selectedProcentage","filterClass","showResults","toggleCourse","goToStudentResults","toggleResult","toggleFinalExam","collapsedCourses","updateFinalExamStatus","enabled","addClassToExam","examResults","selectableExamClasses","ProgramLicenseCourseComponent","dialogVisible","onRemoveCourseClick","onOk","onCancel","removingCourseFromLicense","AddCourseToProgramLicenseModal","selectedCoursesToAdd","setSelectedCoursesToAdd","allCourses","setAllCourses","availabledCoursesToAdd","setAvailabledCoursesToAdd","licenseId","tempAllCourses","currentLicenseWithCourses","tempaAailabledCoursesToAdd","selectObject","posting","addCourses","ProgramLicenses","toggled","selectedLicenseId","selectedLicenseName","postingCourseToLicense","refresh","toggleAddCourseModal","mappedLicense","ModuleRatingsTable","_this","listSorter","varA","toUpperCase","varB","comparison","sortedBy","ratingsResponse","avgRating","totRatings","mappedRatings","ratings","numberOfGrades","StudentCourseRatings","commentsResponse","mappedComments","studentSchoolName","grade","estimatedDate","successStatus","ModuleRatings","handleGetAllTime","showingForAllTime","infoCardAboutOnlyShowingLastSixMonths","avgRatings","StudentRatingsTable","Ratings","ModifyNotificationModal","licenseData","notificationText","setNotificationText","notificationTitle","setNotificationTitle","notificationImage","setNotificationImage","notificationVideo","setNotificationVideo","setForUserType","notificationDateForShow","setNotificationDateForShow","handleUpdateNotification","editorState","setEditorState","EditorState","createWithContent","ContentState","createFromBlockArray","convertFromHTML","schoolOptions","setSchoolOptions","licenseOptions","setLicenseOptions","mediaType","setMediaType","validationErrors","setValidationErrors","selectedSchools","setSelectedSchools","licenseRef","schoolRef","tempSchoolOptions","tempLicensOptions","schoolOption","tempSelectedSchools","forSchoolIds","tempSelectedLicenses","forProgramIds","licenseToAdd","html","convertToHTML","getCurrentContent","media","handleMediaSelect","retVal","Image","handleLicensesSelect","current","select","getValue","selLic","forAllSchools","schoolIds","ImageOption","Editor","toolbar","toolbarClassName","wrapperClassName","editorClassName","onEditorStateChange","classNamePrefix","handleSelectForUserType","SingleSuperUserNotification","modifyNotificationModalIsOpen","setModifyNotificationModalIsOpen","toggleModifyNotificationModal","promptDeleteNotification","setPromptDeleteNotification","setLicenses","setSchools","setForUsers","tempLicenses","tempSchools","scho","tempForUsers","handleDeleteNotification","AdminNotificationsShow","AdminNotificationsCreate","createEmpty","handlePostNotification","FetchLicenseManagementCustomers","GetLicenseManagementCustomers","FetchLicenseManagementCourses","GetLicenseManagementCourses","getErrorMessage","string","handleUpdateData","setAddLicenseOpen","addNewCourseIsOpen","setaddNewCourseIsOpen","newCourse","setNewCourse","newLicense","setNewLicense","licenseCustomers","handleAddNewScormLicenseCourse","handleCreateNewLicenses","_data$response2","licCust","licensesPerCourse","licmod","tempCustomerData","itemIndex","cust","_data$response","toggleUpdate","licenseRows","setLicenseRows","itemsRef","handleAddLicenseForCourse","addLicensesCol","getStatusIcon","nbrOfLicensesNotUsed","WarnLimitForLicMgt","liccust","licenseManagementTableDataSource","nbrOfLicenses","nbrOfValidLicenses","administer","licenseManagementTableColumns","colSpan","editMode","setEditMode","updatedCustomer","setUpdatedCustomer","handleUpdateCustomer","LicMgtCustomerModal","licenseCourses","addLicenseOpen","LicMgtCostumerCard","LicMgtAddLicenseForm","LicMgtLicensesTable","addNewCourseOpen","setAddNewCourseOpen","editingRowIds","setEditingRowIds","rowChanges","setRowChanges","handleUpdateLicenseCourse","EditingState","onEditingRowIdsChange","onRowChangesChange","onCommitChanges","changedRows","changed","postUpdateCourse","TableEditRow","TableEditColumn","messages","editCommand","commitCommand","cancelCommand","showEditCommand","postDisabled","setPostDisabled","handleNewScormLicenseCustomer","newCustomer","setNewCustomer","navRoutesSuperuser","ClassOverview","searchValue","setSearchValue","customerRows","setCustomerRows","openCustomer","setOpenCustomer","createNewCustomerOpen","setCreateNewCustomerOpen","setToggleUpdate","coursesModalOpen","setCoursesModalOpen","sortorder","statuses","currentStatus","coursesWithWarnings","li","firstRun","localeCompare","companyItem","SearchState","onValueChange","Toolbar","SearchPanel","LicMgtCreateCustomerModal","LicMgtHandleCoursesModal","StudentCourse","setActiveCourse","StudentModuleIcon","finalExam","moduleIsLocked","StudentLastRun","HiOutlineClock","fromNow","docDropDownOpen","setDocDropDownOpen","documentItems","startModule","StudentWelcome","updateLocale","localization","StudentActiveCourse","setCourseUploads","mappedModuleStatusInfo","uploadsForCourse","uploads","forTheseModules","StudentModule","disableOpen","FormattedNumber","maximumFractionDigits","bgColor","textColor","Alert","ListGroupItemHeading","Student","scormIsOpen","setScormIsOpen","bgUrl","setBgUrl","scormWindow","studentInformation","contentRef","createRef","bgRef","setBackground","jump","duration","offset","moveTo","showError","errorMsg","closeAfter","BounceLoader","mappedInputSearch","currentResult","closeCourse","Information","notify","StudentCoursesList","StudentSchool","StudentProfile","schoolList","schoolclass","StudentResult","resultStatus","StudentResults","resultList","navRoutesStudent","Main","displaySideBar","navRoutes","Header","Sidebar","fluid","Switch","Signin","submit","signInAction","resetPassword","openManual","Format","CardGroup","autoFocus","reduxFormSignin","reduxForm","password","tfix","require","jwtDecode","repeatpassword","excludeEmptyString","oneOf","usertype","validationtoken","warning","registrationComplete","redirectUrl","StudentSelfRegistration","search","checkSum","encodeURI","SelfRegistrationForm","RequestResetPassword","RequestPasswordResetForm","encryptedEmail","hash","newPassword","UpdatePassword","UpdatePasswordForm","QueryClient","library","fas","AppOriginal","QueryClientProvider","client","ToastContainer","newestOnTop","pauseOnVisibilityChange","Provider","Router","SelfRegistration","ReactQueryDevtools","App","CacheBuster","currentVersion","isEnabled","isVerboseMode","loadingComponent","language","navigator","userLanguage","i18nConfig","elLocaleData","addLocaleData","localeLanguageSv","localeLanguageEn","container","createRoot","IntlProvider","serviceWorker","ready","registration","unregister"],"mappings":"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T,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,QAAS,IACT,WAAY,IACZ,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,QAAS,IACT,WAAY,IACZ,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,QAAS,IACT,WAAY,IACZ,QAAS,IACT,WAAY,IACZ,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,QAAS,IACT,WAAY,IACZ,QAAS,IACT,WAAY,IACZ,QAAS,IACT,WAAY,IACZ,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,QAAS,IAC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","file":"static/js/main.10e96c29.chunk.js","sourcesContent":["var map = {\n\t\"./\": 1408,\n\t\"./af\": 579,\n\t\"./af.js\": 579,\n\t\"./agq\": 580,\n\t\"./agq.js\": 580,\n\t\"./ak\": 581,\n\t\"./ak.js\": 581,\n\t\"./am\": 582,\n\t\"./am.js\": 582,\n\t\"./ar\": 583,\n\t\"./ar.js\": 583,\n\t\"./ars\": 584,\n\t\"./ars.js\": 584,\n\t\"./as\": 585,\n\t\"./as.js\": 585,\n\t\"./asa\": 586,\n\t\"./asa.js\": 586,\n\t\"./ast\": 587,\n\t\"./ast.js\": 587,\n\t\"./az\": 588,\n\t\"./az.js\": 588,\n\t\"./bas\": 589,\n\t\"./bas.js\": 589,\n\t\"./be\": 590,\n\t\"./be.js\": 590,\n\t\"./bem\": 591,\n\t\"./bem.js\": 591,\n\t\"./bez\": 592,\n\t\"./bez.js\": 592,\n\t\"./bg\": 593,\n\t\"./bg.js\": 593,\n\t\"./bh\": 594,\n\t\"./bh.js\": 594,\n\t\"./bm\": 595,\n\t\"./bm.js\": 595,\n\t\"./bn\": 596,\n\t\"./bn.js\": 596,\n\t\"./bo\": 597,\n\t\"./bo.js\": 597,\n\t\"./br\": 598,\n\t\"./br.js\": 598,\n\t\"./brx\": 599,\n\t\"./brx.js\": 599,\n\t\"./bs\": 600,\n\t\"./bs.js\": 600,\n\t\"./ca\": 601,\n\t\"./ca.js\": 601,\n\t\"./ccp\": 602,\n\t\"./ccp.js\": 602,\n\t\"./ce\": 603,\n\t\"./ce.js\": 603,\n\t\"./cgg\": 604,\n\t\"./cgg.js\": 604,\n\t\"./chr\": 605,\n\t\"./chr.js\": 605,\n\t\"./ckb\": 606,\n\t\"./ckb.js\": 606,\n\t\"./cs\": 607,\n\t\"./cs.js\": 607,\n\t\"./cu\": 608,\n\t\"./cu.js\": 608,\n\t\"./cy\": 609,\n\t\"./cy.js\": 609,\n\t\"./da\": 610,\n\t\"./da.js\": 610,\n\t\"./dav\": 611,\n\t\"./dav.js\": 611,\n\t\"./de\": 612,\n\t\"./de.js\": 612,\n\t\"./dje\": 613,\n\t\"./dje.js\": 613,\n\t\"./dsb\": 614,\n\t\"./dsb.js\": 614,\n\t\"./dua\": 615,\n\t\"./dua.js\": 615,\n\t\"./dv\": 616,\n\t\"./dv.js\": 616,\n\t\"./dyo\": 617,\n\t\"./dyo.js\": 617,\n\t\"./dz\": 618,\n\t\"./dz.js\": 618,\n\t\"./ebu\": 619,\n\t\"./ebu.js\": 619,\n\t\"./ee\": 620,\n\t\"./ee.js\": 620,\n\t\"./el\": 621,\n\t\"./el.js\": 621,\n\t\"./en\": 622,\n\t\"./en.js\": 622,\n\t\"./eo\": 623,\n\t\"./eo.js\": 623,\n\t\"./es\": 624,\n\t\"./es.js\": 624,\n\t\"./et\": 625,\n\t\"./et.js\": 625,\n\t\"./eu\": 626,\n\t\"./eu.js\": 626,\n\t\"./ewo\": 627,\n\t\"./ewo.js\": 627,\n\t\"./fa\": 628,\n\t\"./fa.js\": 628,\n\t\"./ff\": 629,\n\t\"./ff.js\": 629,\n\t\"./fi\": 630,\n\t\"./fi.js\": 630,\n\t\"./fil\": 631,\n\t\"./fil.js\": 631,\n\t\"./fo\": 632,\n\t\"./fo.js\": 632,\n\t\"./fr\": 633,\n\t\"./fr.js\": 633,\n\t\"./fur\": 634,\n\t\"./fur.js\": 634,\n\t\"./fy\": 635,\n\t\"./fy.js\": 635,\n\t\"./ga\": 636,\n\t\"./ga.js\": 636,\n\t\"./gd\": 637,\n\t\"./gd.js\": 637,\n\t\"./gl\": 638,\n\t\"./gl.js\": 638,\n\t\"./gsw\": 639,\n\t\"./gsw.js\": 639,\n\t\"./gu\": 640,\n\t\"./gu.js\": 640,\n\t\"./guw\": 641,\n\t\"./guw.js\": 641,\n\t\"./guz\": 642,\n\t\"./guz.js\": 642,\n\t\"./gv\": 643,\n\t\"./gv.js\": 643,\n\t\"./ha\": 644,\n\t\"./ha.js\": 644,\n\t\"./haw\": 645,\n\t\"./haw.js\": 645,\n\t\"./he\": 646,\n\t\"./he.js\": 646,\n\t\"./hi\": 647,\n\t\"./hi.js\": 647,\n\t\"./hr\": 648,\n\t\"./hr.js\": 648,\n\t\"./hsb\": 649,\n\t\"./hsb.js\": 649,\n\t\"./hu\": 650,\n\t\"./hu.js\": 650,\n\t\"./hy\": 651,\n\t\"./hy.js\": 651,\n\t\"./ia\": 652,\n\t\"./ia.js\": 652,\n\t\"./id\": 653,\n\t\"./id.js\": 653,\n\t\"./ig\": 654,\n\t\"./ig.js\": 654,\n\t\"./ii\": 655,\n\t\"./ii.js\": 655,\n\t\"./in\": 656,\n\t\"./in.js\": 656,\n\t\"./index\": 1409,\n\t\"./index.js\": 1410,\n\t\"./io\": 657,\n\t\"./io.js\": 657,\n\t\"./is\": 658,\n\t\"./is.js\": 658,\n\t\"./it\": 659,\n\t\"./it.js\": 659,\n\t\"./iu\": 660,\n\t\"./iu.js\": 660,\n\t\"./iw\": 661,\n\t\"./iw.js\": 661,\n\t\"./ja\": 662,\n\t\"./ja.js\": 662,\n\t\"./jbo\": 663,\n\t\"./jbo.js\": 663,\n\t\"./jgo\": 664,\n\t\"./jgo.js\": 664,\n\t\"./ji\": 665,\n\t\"./ji.js\": 665,\n\t\"./jmc\": 666,\n\t\"./jmc.js\": 666,\n\t\"./jv\": 667,\n\t\"./jv.js\": 667,\n\t\"./jw\": 668,\n\t\"./jw.js\": 668,\n\t\"./ka\": 669,\n\t\"./ka.js\": 669,\n\t\"./kab\": 670,\n\t\"./kab.js\": 670,\n\t\"./kaj\": 671,\n\t\"./kaj.js\": 671,\n\t\"./kam\": 672,\n\t\"./kam.js\": 672,\n\t\"./kcg\": 673,\n\t\"./kcg.js\": 673,\n\t\"./kde\": 674,\n\t\"./kde.js\": 674,\n\t\"./kea\": 675,\n\t\"./kea.js\": 675,\n\t\"./khq\": 676,\n\t\"./khq.js\": 676,\n\t\"./ki\": 677,\n\t\"./ki.js\": 677,\n\t\"./kk\": 678,\n\t\"./kk.js\": 678,\n\t\"./kkj\": 679,\n\t\"./kkj.js\": 679,\n\t\"./kl\": 680,\n\t\"./kl.js\": 680,\n\t\"./kln\": 681,\n\t\"./kln.js\": 681,\n\t\"./km\": 682,\n\t\"./km.js\": 682,\n\t\"./kn\": 683,\n\t\"./kn.js\": 683,\n\t\"./ko\": 684,\n\t\"./ko.js\": 684,\n\t\"./kok\": 685,\n\t\"./kok.js\": 685,\n\t\"./ks\": 686,\n\t\"./ks.js\": 686,\n\t\"./ksb\": 687,\n\t\"./ksb.js\": 687,\n\t\"./ksf\": 688,\n\t\"./ksf.js\": 688,\n\t\"./ksh\": 689,\n\t\"./ksh.js\": 689,\n\t\"./ku\": 690,\n\t\"./ku.js\": 690,\n\t\"./kw\": 691,\n\t\"./kw.js\": 691,\n\t\"./ky\": 692,\n\t\"./ky.js\": 692,\n\t\"./lag\": 693,\n\t\"./lag.js\": 693,\n\t\"./lb\": 694,\n\t\"./lb.js\": 694,\n\t\"./lg\": 695,\n\t\"./lg.js\": 695,\n\t\"./lkt\": 696,\n\t\"./lkt.js\": 696,\n\t\"./ln\": 697,\n\t\"./ln.js\": 697,\n\t\"./lo\": 698,\n\t\"./lo.js\": 698,\n\t\"./lrc\": 699,\n\t\"./lrc.js\": 699,\n\t\"./lt\": 700,\n\t\"./lt.js\": 700,\n\t\"./lu\": 701,\n\t\"./lu.js\": 701,\n\t\"./luo\": 702,\n\t\"./luo.js\": 702,\n\t\"./luy\": 703,\n\t\"./luy.js\": 703,\n\t\"./lv\": 704,\n\t\"./lv.js\": 704,\n\t\"./mas\": 705,\n\t\"./mas.js\": 705,\n\t\"./mer\": 706,\n\t\"./mer.js\": 706,\n\t\"./mfe\": 707,\n\t\"./mfe.js\": 707,\n\t\"./mg\": 708,\n\t\"./mg.js\": 708,\n\t\"./mgh\": 709,\n\t\"./mgh.js\": 709,\n\t\"./mgo\": 710,\n\t\"./mgo.js\": 710,\n\t\"./mi\": 711,\n\t\"./mi.js\": 711,\n\t\"./mk\": 712,\n\t\"./mk.js\": 712,\n\t\"./ml\": 713,\n\t\"./ml.js\": 713,\n\t\"./mn\": 714,\n\t\"./mn.js\": 714,\n\t\"./mo\": 715,\n\t\"./mo.js\": 715,\n\t\"./mr\": 716,\n\t\"./mr.js\": 716,\n\t\"./ms\": 717,\n\t\"./ms.js\": 717,\n\t\"./mt\": 718,\n\t\"./mt.js\": 718,\n\t\"./mua\": 719,\n\t\"./mua.js\": 719,\n\t\"./my\": 720,\n\t\"./my.js\": 720,\n\t\"./mzn\": 721,\n\t\"./mzn.js\": 721,\n\t\"./nah\": 722,\n\t\"./nah.js\": 722,\n\t\"./naq\": 723,\n\t\"./naq.js\": 723,\n\t\"./nb\": 724,\n\t\"./nb.js\": 724,\n\t\"./nd\": 725,\n\t\"./nd.js\": 725,\n\t\"./nds\": 726,\n\t\"./nds.js\": 726,\n\t\"./ne\": 727,\n\t\"./ne.js\": 727,\n\t\"./nl\": 728,\n\t\"./nl.js\": 728,\n\t\"./nmg\": 729,\n\t\"./nmg.js\": 729,\n\t\"./nn\": 730,\n\t\"./nn.js\": 730,\n\t\"./nnh\": 731,\n\t\"./nnh.js\": 731,\n\t\"./no\": 732,\n\t\"./no.js\": 732,\n\t\"./nqo\": 733,\n\t\"./nqo.js\": 733,\n\t\"./nr\": 734,\n\t\"./nr.js\": 734,\n\t\"./nso\": 735,\n\t\"./nso.js\": 735,\n\t\"./nus\": 736,\n\t\"./nus.js\": 736,\n\t\"./ny\": 737,\n\t\"./ny.js\": 737,\n\t\"./nyn\": 738,\n\t\"./nyn.js\": 738,\n\t\"./om\": 739,\n\t\"./om.js\": 739,\n\t\"./or\": 740,\n\t\"./or.js\": 740,\n\t\"./os\": 741,\n\t\"./os.js\": 741,\n\t\"./pa\": 742,\n\t\"./pa.js\": 742,\n\t\"./pap\": 743,\n\t\"./pap.js\": 743,\n\t\"./pl\": 744,\n\t\"./pl.js\": 744,\n\t\"./prg\": 745,\n\t\"./prg.js\": 745,\n\t\"./ps\": 746,\n\t\"./ps.js\": 746,\n\t\"./pt\": 747,\n\t\"./pt.js\": 747,\n\t\"./qu\": 748,\n\t\"./qu.js\": 748,\n\t\"./rm\": 749,\n\t\"./rm.js\": 749,\n\t\"./rn\": 750,\n\t\"./rn.js\": 750,\n\t\"./ro\": 751,\n\t\"./ro.js\": 751,\n\t\"./rof\": 752,\n\t\"./rof.js\": 752,\n\t\"./ru\": 753,\n\t\"./ru.js\": 753,\n\t\"./rw\": 754,\n\t\"./rw.js\": 754,\n\t\"./rwk\": 755,\n\t\"./rwk.js\": 755,\n\t\"./sah\": 756,\n\t\"./sah.js\": 756,\n\t\"./saq\": 757,\n\t\"./saq.js\": 757,\n\t\"./sbp\": 758,\n\t\"./sbp.js\": 758,\n\t\"./sc\": 759,\n\t\"./sc.js\": 759,\n\t\"./scn\": 760,\n\t\"./scn.js\": 760,\n\t\"./sd\": 761,\n\t\"./sd.js\": 761,\n\t\"./sdh\": 762,\n\t\"./sdh.js\": 762,\n\t\"./se\": 763,\n\t\"./se.js\": 763,\n\t\"./seh\": 764,\n\t\"./seh.js\": 764,\n\t\"./ses\": 765,\n\t\"./ses.js\": 765,\n\t\"./sg\": 766,\n\t\"./sg.js\": 766,\n\t\"./sh\": 767,\n\t\"./sh.js\": 767,\n\t\"./shi\": 768,\n\t\"./shi.js\": 768,\n\t\"./si\": 769,\n\t\"./si.js\": 769,\n\t\"./sk\": 770,\n\t\"./sk.js\": 770,\n\t\"./sl\": 771,\n\t\"./sl.js\": 771,\n\t\"./sma\": 772,\n\t\"./sma.js\": 772,\n\t\"./smi\": 773,\n\t\"./smi.js\": 773,\n\t\"./smj\": 774,\n\t\"./smj.js\": 774,\n\t\"./smn\": 775,\n\t\"./smn.js\": 775,\n\t\"./sms\": 776,\n\t\"./sms.js\": 776,\n\t\"./sn\": 777,\n\t\"./sn.js\": 777,\n\t\"./so\": 778,\n\t\"./so.js\": 778,\n\t\"./sq\": 779,\n\t\"./sq.js\": 779,\n\t\"./sr\": 780,\n\t\"./sr.js\": 780,\n\t\"./ss\": 781,\n\t\"./ss.js\": 781,\n\t\"./ssy\": 782,\n\t\"./ssy.js\": 782,\n\t\"./st\": 783,\n\t\"./st.js\": 783,\n\t\"./sv\": 784,\n\t\"./sv.js\": 784,\n\t\"./sw\": 785,\n\t\"./sw.js\": 785,\n\t\"./syr\": 786,\n\t\"./syr.js\": 786,\n\t\"./ta\": 787,\n\t\"./ta.js\": 787,\n\t\"./te\": 788,\n\t\"./te.js\": 788,\n\t\"./teo\": 789,\n\t\"./teo.js\": 789,\n\t\"./tg\": 790,\n\t\"./tg.js\": 790,\n\t\"./th\": 791,\n\t\"./th.js\": 791,\n\t\"./ti\": 792,\n\t\"./ti.js\": 792,\n\t\"./tig\": 793,\n\t\"./tig.js\": 793,\n\t\"./tk\": 794,\n\t\"./tk.js\": 794,\n\t\"./tl\": 795,\n\t\"./tl.js\": 795,\n\t\"./tn\": 796,\n\t\"./tn.js\": 796,\n\t\"./to\": 797,\n\t\"./to.js\": 797,\n\t\"./tr\": 798,\n\t\"./tr.js\": 798,\n\t\"./ts\": 799,\n\t\"./ts.js\": 799,\n\t\"./tt\": 800,\n\t\"./tt.js\": 800,\n\t\"./twq\": 801,\n\t\"./twq.js\": 801,\n\t\"./tzm\": 802,\n\t\"./tzm.js\": 802,\n\t\"./ug\": 803,\n\t\"./ug.js\": 803,\n\t\"./uk\": 804,\n\t\"./uk.js\": 804,\n\t\"./ur\": 805,\n\t\"./ur.js\": 805,\n\t\"./uz\": 806,\n\t\"./uz.js\": 806,\n\t\"./vai\": 807,\n\t\"./vai.js\": 807,\n\t\"./ve\": 808,\n\t\"./ve.js\": 808,\n\t\"./vi\": 809,\n\t\"./vi.js\": 809,\n\t\"./vo\": 810,\n\t\"./vo.js\": 810,\n\t\"./vun\": 811,\n\t\"./vun.js\": 811,\n\t\"./wa\": 812,\n\t\"./wa.js\": 812,\n\t\"./wae\": 813,\n\t\"./wae.js\": 813,\n\t\"./wo\": 814,\n\t\"./wo.js\": 814,\n\t\"./xh\": 815,\n\t\"./xh.js\": 815,\n\t\"./xog\": 816,\n\t\"./xog.js\": 816,\n\t\"./yav\": 817,\n\t\"./yav.js\": 817,\n\t\"./yi\": 818,\n\t\"./yi.js\": 818,\n\t\"./yo\": 819,\n\t\"./yo.js\": 819,\n\t\"./yue\": 820,\n\t\"./yue.js\": 820,\n\t\"./zgh\": 821,\n\t\"./zgh.js\": 821,\n\t\"./zh\": 822,\n\t\"./zh.js\": 822,\n\t\"./zu\": 823,\n\t\"./zu.js\": 823\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 1407;","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === \"localhost\" ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === \"[::1]\" ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register() {\r\n if (process.env.NODE_ENV === \"production\" && \"serviceWorker\" in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener(\"load\", () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then((registration) => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === \"installed\") {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log(\"New content is available; please refresh.\");\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log(\"Content is cached for offline use.\");\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error during service worker registration:\", error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then((response) => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get(\"content-type\").indexOf(\"javascript\") === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then((registration) => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n \"No internet connection found. App is running in offline mode.\"\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if (\"serviceWorker\" in navigator) {\r\n navigator.serviceWorker.ready.then((registration) => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","// #### HOW TO BUILD #####\r\n// # Use correct section below\r\n// # Set correct value for PUBLIC_URL in file .env\r\n// # in cmd run 'set PUBLIC_URL=https://stage.learnwarecenter.se/lwc/&&npm run build' (OBS NOTERA att exemplet är för STAGE)\r\n// ###########################\r\n\r\n// #### HOW TO RUN locally #####\r\n// # delete file .env (CHECKA INTE in borttagningen)\r\n// # in cmd run 'yarn start'\r\n\r\n/** Backend endpoints for the app and auth services. */\r\n\r\n//var _host = \"http://localhost\";\r\n//export const API_BASE_URL = `${_host}:5001/api`;\r\n//export const AUTH_BASE_URL = `${_host}:5010/api`;\r\n//export const SCORM_API_URL = `${_host}:5817/Scorm`;\r\n//export const LW_COURSE_API_URL = `${_host}:60200`;\r\n//export const BASE_LOGIN_REDIRECT_URL = `${_host}:3000`;\r\n//export const ENVIRONMENT = \"localhost\";\r\n//export const ENVIRONMENT_COLOR = \"#33ccff\";\r\n\r\n/** IIS deploy configuration for PROD. */\r\nvar _host = \"https://learnwarecenter.se\";\r\nexport const API_BASE_URL = `${_host}/lwcapi/api`;\r\nexport const AUTH_BASE_URL = `${_host}/auth/api`;\r\nexport const SCORM_API_URL = `${_host}/lwcscorm/scorm`;\r\nexport const LW_COURSE_API_URL = `${_host}/lwcommunicate`;\r\nexport const BASE_LOGIN_REDIRECT_URL = `${_host}/lwc`;\r\nexport const ENVIRONMENT = \"\";\r\nexport const ENVIRONMENT_COLOR = \"\";\r\n\r\n/** IIS deploy configuration for TEST. */\r\n//var _host = \"https://login5.competencetool.se/lwctest\";\r\n//export const API_BASE_URL = `${_host}/lwcapi/api`;\r\n//export const AUTH_BASE_URL = `${_host}/auth/api`;\r\n//export const SCORM_API_URL = `${_host}/lwcscorm/scorm`;\r\n//export const LW_COURSE_API_URL = `${_host}:60200`;\r\n//export const BASE_LOGIN_REDIRECT_URL = `${_host}/lwc`;\r\n//export const ENVIRONMENT = \"TEST\";\r\n//export const ENVIRONMENT_COLOR = \"#CC99FF\";\r\n\r\n/** IIS deploy configuration for STAGE. */\r\n//var _host = \"https://stage.learnwarecenter.se\";\r\n//export const API_BASE_URL = `${_host}/lwcapi/api`;\r\n//export const AUTH_BASE_URL = `${_host}/auth/api`;\r\n//export const SCORM_API_URL = `${_host}/lwcscorm/scorm`;\r\n//export const LW_COURSE_API_URL = `${_host}/lwcommunicate`;\r\n//export const BASE_LOGIN_REDIRECT_URL = `${_host}/lwc`;\r\n//export const ENVIRONMENT = \"STAGE\";\r\n//export const ENVIRONMENT_COLOR = \"#99ff99\";\r\n","import axios from \"axios\";\r\nimport {\r\n API_BASE_URL,\r\n AUTH_BASE_URL,\r\n BASE_LOGIN_REDIRECT_URL,\r\n} from \"../../constants/api.constants\";\r\n\r\nconst instance = axios.create({\r\n withCredentials: true,\r\n headers: {\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"Access-Control-Allow-Credentials\": \"true\",\r\n },\r\n});\r\n\r\ninstance.defaults.headers.common[\r\n \"Authorization\"\r\n] = `Bearer ${localStorage.getItem(\"token\")}`;\r\ninstance.defaults.headers.post[\"Content-Type\"] = \"application/json\";\r\ninstance.defaults.baseURL = API_BASE_URL;\r\n\r\ninstance.interceptors.response.use(\r\n function (response) {\r\n return response;\r\n },\r\n function (error) {\r\n const originalRequest = error.config;\r\n const userEmail = localStorage.getItem(\"email\");\r\n\r\n if (\r\n error.response &&\r\n (error.response.status === 401 || error.response.status === 403) &&\r\n !originalRequest._retry\r\n ) {\r\n originalRequest._retry = true;\r\n\r\n const refreshToken = window.localStorage.getItem(\"refresh_token\");\r\n\r\n return axios\r\n .post(`${AUTH_BASE_URL}/token/auth`, {\r\n email: userEmail,\r\n grant_type: \"refresh_token\",\r\n refresh_token: refreshToken,\r\n })\r\n .then(token => {\r\n if (token.data.result.code !== \"999\") {\r\n localStorage.clear();\r\n window.location.replace(`${BASE_LOGIN_REDIRECT_URL}/`);\r\n window.location.href = \"/\";\r\n }\r\n else {\r\n var res = JSON.parse(token.data.result.data);\r\n localStorage.setItem(\"email\", token.data.result.email);\r\n localStorage.setItem(\"token\", res.access_token);\r\n localStorage.setItem(\"refresh_token\", res.refresh_token);\r\n\r\n instance.defaults.headers.common[\"Authorization\"] =\r\n \"Bearer \" + res.access_token;\r\n originalRequest.headers[\"Authorization\"] =\r\n \"Bearer \" + res.access_token;\r\n }\r\n\r\n return instance(originalRequest);\r\n });\r\n }\r\n\r\n return Promise.reject(error);\r\n }\r\n);\r\n\r\nexport default instance;\r\n","import axios from \"../services/api/api\";\r\nimport { AUTH_BASE_URL } from \"../constants/api.constants\";\r\n\r\nexport const AUTHENTICATING = \"AUTHENTICATING\";\r\nexport const AUTHENTICATED = \"AUTHENTICATED\";\r\nexport const UNAUTHENTICATED = \"UNAUTHENTICATED\";\r\nexport const AUTHENTICATION_ERROR = \"AUTHENTICATION_ERROR\";\r\n\r\nexport const signInAction =\r\n ({ email, password }, history) =>\r\n async (dispatch) => {\r\n dispatch({\r\n type: AUTHENTICATING,\r\n payload: {\r\n isLoggingIn: true,\r\n error: null,\r\n },\r\n });\r\n\r\n await axios\r\n .post(`${AUTH_BASE_URL}/token/auth`, {\r\n email: email,\r\n password: password,\r\n grant_type: \"password\",\r\n })\r\n .then((res) => {\r\n if (res.data.result.code === \"999\") {\r\n var t = JSON.parse(res.data.result.data);\r\n\r\n var jwtDecode = require(\"jwt-decode\");\r\n var tfix = jwtDecode(t.access_token);\r\n var keys = Object.values(tfix);\r\n var roles = [];\r\n roles = keys[3];\r\n\r\n axios.defaults.headers.common[\"Authorization\"] = t.access_token;\r\n localStorage.setItem(\"token\", t.access_token);\r\n localStorage.setItem(\"refresh_token\", t.refresh_token);\r\n localStorage.setItem(\"email\", res.data.result.email);\r\n localStorage.setItem(\"role\", roles);\r\n\r\n // setTimeout(() => {\r\n dispatch({\r\n type: AUTHENTICATED,\r\n payload: {\r\n token: t.access_token,\r\n refresh_token: t.refresh_token,\r\n code: res.data.result.code,\r\n message: res.data.result.message,\r\n exp: tfix.exp,\r\n email: res.data.result.email,\r\n roles: roles,\r\n error: null,\r\n isLoggingIn: false,\r\n },\r\n });\r\n\r\n // }, 500);\r\n } else {\r\n dispatch({\r\n type: AUTHENTICATION_ERROR,\r\n payload: {\r\n error: \"signin.unauthorized\",\r\n isLoggingIn: false,\r\n },\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n dispatch({\r\n type: AUTHENTICATION_ERROR,\r\n payload: {\r\n error: \"signin.unauthorized\",\r\n isLoggingIn: false,\r\n message: err.message,\r\n },\r\n });\r\n });\r\n };\r\n\r\nexport function signOutAction() {\r\n axios.defaults.headers.common[\"Authorization\"] = null;\r\n window.localStorage.clear();\r\n return {\r\n type: UNAUTHENTICATED,\r\n };\r\n}\r\n","import axios from \"../services/api/api\";\r\n\r\nexport const FETCH_COURSES_BY_CLASS_BEGIN = \"FETCH_COURSES_BY_CLASS_BEGIN\";\r\nexport const FETCH_COURSES_BY_CLASS_FULFILLED =\r\n \"FETCH_COURSES_BY_CLASS_FULFILLED\";\r\nexport const FETCH_COURSES_BY_CLASS_REJECTED =\r\n \"FETCH_COURSES_BY_CLASS_REJECTED\";\r\n\r\nexport const FETCH_COURSES_BY_PROGRAM_BEGIN = \"FETCH_COURSES_BY_PROGRAM_BEGIN\";\r\nexport const FETCH_COURSES_BY_PROGRAM_FULFILLED =\r\n \"FETCH_COURSES_BY_PROGRAM_FULFILLED\";\r\nexport const FETCH_COURSES_BY_PROGRAM_REJECTED =\r\n \"FETCH_COURSES_BY_PROGRAM_REJECTED\";\r\n\r\nexport const FETCH_COURSES_BY_STUDENT_BEGIN = \"FETCH_COURSES_BY_STUDENT_BEGIN\";\r\nexport const FETCH_COURSES_BY_STUDENT_FULFILLED =\r\n \"FETCH_COURSES_BY_STUDENT_FULFILLED\";\r\nexport const FETCH_COURSES_BY_STUDENT_REJECTED =\r\n \"FETCH_COURSES_BY_STUDENT_REJECTED\";\r\n\r\nexport const FETCH_COURSES_BY_TEACHER_BEGIN = \"FETCH_COURSES_BY_TEACHER_BEGIN\";\r\nexport const FETCH_COURSES_BY_TEACHER_FULFILLED =\r\n \"FETCH_COURSES_BY_TEACHER_FULFILLED\";\r\nexport const FETCH_COURSES_BY_TEACHER_REJECTED =\r\n \"FETCH_COURSES_BY_TEACHER_REJECTED\";\r\n\r\nexport const FETCH_BEST_COURSE_BY_SCHOOL_BEGIN =\r\n \"FETCH_BEST_COURSE_BY_SCHOOL_BEGIN\";\r\nexport const FETCH_BEST_COURSE_BY_SCHOOL_FULFILLED =\r\n \"FETCH_BEST_COURSE_BY_SCHOOL_FULFILLED\";\r\nexport const FETCH_BEST_COURSE_BY_SCHOOL_REJECTED =\r\n \"FETCH_BEST_COURSE_BY_SCHOOL_REJECTED\";\r\n\r\nexport const FETCH_COURSESINPROGRESS_BY_SCHOOL_BEGIN =\r\n \"FETCH_COURSESINPROGRESS_BY_SCHOOL_BEGIN\";\r\nexport const FETCH_COURSESINPROGRESS_BY_SCHOOL_FULFILLED =\r\n \"FETCH_COURSESINPROGRESS_BY_SCHOOL_FULFILLED\";\r\nexport const FETCH_COURSESINPROGRESS_BY_SCHOOL_REJECTED =\r\n \"FETCH_COURSESINPROGRESS_BY_SCHOOL_REJECTED\";\r\n\r\nexport const FETCH_COURSE_LIST_BEGIN = \"FETCH_COURSE_LIST_BEGIN\";\r\nexport const FETCH_COURSE_LIST_FULFILLED = \"FETCH_COURSE_LIST_FULFILLED\";\r\nexport const FETCH_COURSE_LIST_REJECTED = \"FETCH_COURSE_LIST_REJECTED\";\r\n\r\nexport function fetchCourses() {\r\n return function(dispatch) {\r\n dispatch({\r\n type: FETCH_COURSE_LIST_BEGIN,\r\n payload: { loading: true }\r\n });\r\n axios\r\n .get(\"/course\")\r\n .then(response => {\r\n dispatch({\r\n type: FETCH_COURSE_LIST_FULFILLED,\r\n payload: response.data.result\r\n });\r\n })\r\n .catch(err => {\r\n dispatch({ type: FETCH_COURSE_LIST_REJECTED, payload: err });\r\n });\r\n };\r\n}\r\nexport function fecthAdminCourses() {\r\n return function(dispatch) {\r\n dispatch({\r\n type: FETCH_COURSE_LIST_BEGIN,\r\n payload: { loading: true }\r\n });\r\n axios\r\n .get(\"/GetAdminCourses\")\r\n .then(response => {\r\n dispatch({\r\n type: FETCH_COURSE_LIST_FULFILLED,\r\n payload: response.data.result\r\n });\r\n })\r\n .catch(err => {\r\n dispatch({ type: FETCH_COURSE_LIST_REJECTED, payload: err });\r\n });\r\n };\r\n}\r\nexport function fetchProgramLicenses() {\r\n return function(dispatch) {\r\n axios\r\n .get(\"/programlicense\")\r\n .then(response => {\r\n dispatch({\r\n type: \"FETCH_PROGRAMLICENSE_FULFILLED\",\r\n payload: response.data.result\r\n });\r\n })\r\n .catch(err => {\r\n dispatch({ type: \"FETCH_PROGRAMLICENSE_REJECTED\", payload: err });\r\n });\r\n };\r\n}\r\nexport function GetCoursesByClass(classId) {\r\n return function(dispatch) {\r\n dispatch({\r\n type: FETCH_COURSES_BY_CLASS_BEGIN,\r\n payload: { loading: true }\r\n });\r\n axios\r\n .get(\"/Course/GetCoursesWithResultsByClass/\" + classId)\r\n .then(response => {\r\n dispatch({\r\n type: FETCH_COURSES_BY_CLASS_FULFILLED,\r\n payload: response.data.result\r\n });\r\n })\r\n .catch(err => {\r\n dispatch({ type: FETCH_COURSES_BY_CLASS_REJECTED, payload: err });\r\n });\r\n };\r\n}\r\nexport function GetCoursesByProgram(programId) {\r\n return function(dispatch) {\r\n dispatch({\r\n type: FETCH_COURSES_BY_PROGRAM_BEGIN,\r\n payload: { loading: true }\r\n });\r\n axios\r\n .get(\"/Course/GetCoursesWithResultsByProgram/\" + programId)\r\n .then(response => {\r\n dispatch({\r\n type: FETCH_COURSES_BY_PROGRAM_FULFILLED,\r\n payload: response.data.result\r\n });\r\n })\r\n .catch(err => {\r\n dispatch({ type: FETCH_COURSES_BY_PROGRAM_REJECTED, payload: err });\r\n });\r\n };\r\n}\r\nexport function GetCoursesByStudent(studentId) {\r\n return function(dispatch) {\r\n dispatch({\r\n type: FETCH_COURSES_BY_STUDENT_BEGIN,\r\n payload: { loading: true }\r\n });\r\n axios\r\n .get(\"/Course/GetCoursesWithResultsByStudent/\" + studentId)\r\n .then(response => {\r\n dispatch({\r\n type: FETCH_COURSES_BY_STUDENT_FULFILLED,\r\n payload: response.data.result\r\n });\r\n })\r\n .catch(err => {\r\n dispatch({ type: FETCH_COURSES_BY_STUDENT_REJECTED, payload: err });\r\n });\r\n };\r\n}\r\nexport function GetCoursesByTeacher() {\r\n return function(dispatch) {\r\n dispatch({\r\n type: FETCH_COURSES_BY_TEACHER_BEGIN,\r\n payload: { loading: true }\r\n });\r\n\r\n axios\r\n .get(\r\n \"/Course/GetCoursesWithResultsByTeacher/\" +\r\n localStorage.getItem(\"email\")\r\n )\r\n .then(response => {\r\n dispatch({\r\n type: FETCH_COURSES_BY_TEACHER_FULFILLED,\r\n payload: response.data.result\r\n });\r\n })\r\n .catch(err => {\r\n dispatch({ type: FETCH_COURSES_BY_TEACHER_REJECTED, payload: err });\r\n });\r\n };\r\n}\r\n\r\nexport function GetBestCourseByTeacher() {\r\n return function(dispatch) {\r\n dispatch({\r\n type: FETCH_BEST_COURSE_BY_SCHOOL_BEGIN,\r\n payload: { loading: true }\r\n });\r\n\r\n axios\r\n .get(\"/Course/GetCourseWithBestResults/\" + localStorage.getItem(\"email\"))\r\n .then(response => {\r\n dispatch({\r\n type: FETCH_BEST_COURSE_BY_SCHOOL_FULFILLED,\r\n payload: response.data.result\r\n });\r\n })\r\n .catch(err => {\r\n dispatch({ type: FETCH_BEST_COURSE_BY_SCHOOL_REJECTED, payload: err });\r\n });\r\n };\r\n}\r\n\r\nexport function GetCoursesInProgressLastWeek(schoolId) {\r\n return function(dispatch) {\r\n dispatch({\r\n type: FETCH_COURSESINPROGRESS_BY_SCHOOL_BEGIN,\r\n payload: { loading: true }\r\n });\r\n\r\n axios\r\n .get(\r\n \"/Course/GetCoursesInProgressLastWeek/\" + localStorage.getItem(\"email\")\r\n )\r\n .then(response => {\r\n dispatch({\r\n type: FETCH_COURSESINPROGRESS_BY_SCHOOL_FULFILLED,\r\n payload: response.data.result\r\n });\r\n })\r\n .catch(err => {\r\n dispatch({\r\n type: FETCH_COURSESINPROGRESS_BY_SCHOOL_REJECTED,\r\n payload: err\r\n });\r\n });\r\n };\r\n}\r\n","import {\r\n FETCH_COURSES_BY_CLASS_BEGIN,\r\n FETCH_COURSES_BY_CLASS_FULFILLED,\r\n FETCH_COURSES_BY_CLASS_REJECTED,\r\n FETCH_COURSES_BY_PROGRAM_BEGIN,\r\n FETCH_COURSES_BY_PROGRAM_FULFILLED,\r\n FETCH_COURSES_BY_PROGRAM_REJECTED,\r\n FETCH_COURSES_BY_STUDENT_BEGIN,\r\n FETCH_COURSES_BY_STUDENT_FULFILLED,\r\n FETCH_COURSES_BY_STUDENT_REJECTED,\r\n FETCH_COURSES_BY_TEACHER_BEGIN,\r\n FETCH_COURSES_BY_TEACHER_FULFILLED,\r\n FETCH_COURSES_BY_TEACHER_REJECTED,\r\n FETCH_BEST_COURSE_BY_SCHOOL_BEGIN,\r\n FETCH_BEST_COURSE_BY_SCHOOL_FULFILLED,\r\n FETCH_BEST_COURSE_BY_SCHOOL_REJECTED,\r\n FETCH_COURSESINPROGRESS_BY_SCHOOL_BEGIN,\r\n FETCH_COURSESINPROGRESS_BY_SCHOOL_FULFILLED,\r\n FETCH_COURSESINPROGRESS_BY_SCHOOL_REJECTED,\r\n FETCH_COURSE_LIST_BEGIN,\r\n FETCH_COURSE_LIST_FULFILLED,\r\n FETCH_COURSE_LIST_REJECTED\r\n} from \"../actions/courseActions\";\r\n\r\nconst FetchCourse = (\r\n state = {\r\n course: {\r\n id: null,\r\n name: null,\r\n defaultPrice: null,\r\n description: null,\r\n modules: {\r\n id: null,\r\n name: null,\r\n price: null\r\n }\r\n },\r\n fetching: false,\r\n fetech: false,\r\n error: null\r\n },\r\n action\r\n) => {\r\n switch (action.type) {\r\n case \"FETCH_COURSE\": {\r\n return { ...state, fetching: true };\r\n }\r\n case \"FETCH_COURSE_REJECTED\": {\r\n return { ...state, fetching: false, error: action.payload };\r\n }\r\n case \"FETCH_COURSE_FULFILLED\": {\r\n return {\r\n ...state,\r\n fetching: false,\r\n fetched: true,\r\n programLicence: action.payload\r\n };\r\n }\r\n\r\n default: {\r\n return {\r\n ...state\r\n };\r\n }\r\n }\r\n};\r\n\r\nconst INIT_COURSE_LIST = {\r\n error: null,\r\n loading: true,\r\n result: []\r\n};\r\n\r\nexport function fetchCourseList(state = INIT_COURSE_LIST, action = {}) {\r\n switch (action.type) {\r\n case FETCH_COURSE_LIST_BEGIN: {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null\r\n };\r\n }\r\n case FETCH_COURSE_LIST_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n case FETCH_COURSE_LIST_REJECTED: {\r\n return {\r\n ...state,\r\n error: action.payload.error,\r\n result: []\r\n };\r\n }\r\n default: {\r\n return { ...state };\r\n }\r\n }\r\n}\r\n\r\nconst INIT_COURSE_BY_CLASS = {\r\n error: null,\r\n loading: false,\r\n result: [],\r\n statusCode: null\r\n};\r\n\r\nexport function coursesByClassReducer(\r\n state = INIT_COURSE_BY_CLASS,\r\n action = {}\r\n) {\r\n switch (action.type) {\r\n case FETCH_COURSES_BY_CLASS_BEGIN: {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null\r\n };\r\n }\r\n case FETCH_COURSES_BY_CLASS_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n case FETCH_COURSES_BY_CLASS_REJECTED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n result: []\r\n };\r\n }\r\n\r\n default: {\r\n return { ...state };\r\n }\r\n }\r\n}\r\n\r\nconst INIT_COURSE_BY_PROGRAM = {\r\n error: null,\r\n loading: false,\r\n result: [],\r\n statusCode: null\r\n};\r\n\r\nexport function coursesByProgramReducer(\r\n state = INIT_COURSE_BY_PROGRAM,\r\n action = {}\r\n) {\r\n switch (action.type) {\r\n case FETCH_COURSES_BY_PROGRAM_BEGIN: {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null\r\n };\r\n }\r\n case FETCH_COURSES_BY_PROGRAM_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n case FETCH_COURSES_BY_PROGRAM_REJECTED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n result: []\r\n };\r\n }\r\n\r\n default: {\r\n return { ...state };\r\n }\r\n }\r\n}\r\nconst INIT_COURSE_BY_STUDENT = {\r\n error: null,\r\n loading: false,\r\n result: [],\r\n statusCode: null\r\n};\r\n\r\nexport function coursesByStudentReducer(\r\n state = INIT_COURSE_BY_STUDENT,\r\n action = {}\r\n) {\r\n switch (action.type) {\r\n case FETCH_COURSES_BY_STUDENT_BEGIN: {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null\r\n };\r\n }\r\n case FETCH_COURSES_BY_STUDENT_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n case FETCH_COURSES_BY_STUDENT_REJECTED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n result: []\r\n };\r\n }\r\n\r\n default: {\r\n return { ...state };\r\n }\r\n }\r\n}\r\n\r\nconst INIT_COURSE_BY_TEACHER = {\r\n error: null,\r\n loading: false,\r\n result: [],\r\n statusCode: null\r\n};\r\n\r\nexport function coursesByTeacherReducer(\r\n state = INIT_COURSE_BY_TEACHER,\r\n action = {}\r\n) {\r\n switch (action.type) {\r\n case FETCH_COURSES_BY_TEACHER_BEGIN: {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null\r\n };\r\n }\r\n case FETCH_COURSES_BY_TEACHER_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n case FETCH_COURSES_BY_TEACHER_REJECTED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n result: []\r\n };\r\n }\r\n\r\n default: {\r\n return { ...state };\r\n }\r\n }\r\n}\r\n\r\nconst INIT_BEST_COURSE = {\r\n error: null,\r\n loading: false,\r\n result: [],\r\n statusCode: null\r\n};\r\n\r\nexport function bestCourseBySchoolReducer(\r\n state = INIT_BEST_COURSE,\r\n action = {}\r\n) {\r\n switch (action.type) {\r\n case FETCH_BEST_COURSE_BY_SCHOOL_BEGIN: {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null\r\n };\r\n }\r\n case FETCH_BEST_COURSE_BY_SCHOOL_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n case FETCH_BEST_COURSE_BY_SCHOOL_REJECTED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n result: []\r\n };\r\n }\r\n\r\n default: {\r\n return { ...state };\r\n }\r\n }\r\n}\r\n\r\nconst INIT_COURSESINPROGRESS = {\r\n error: null,\r\n loading: false,\r\n result: [],\r\n statusCode: null\r\n};\r\nexport function coursesInProgressBySchoolReducer(\r\n state = INIT_COURSESINPROGRESS,\r\n action = {}\r\n) {\r\n switch (action.type) {\r\n case FETCH_COURSESINPROGRESS_BY_SCHOOL_BEGIN: {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null\r\n };\r\n }\r\n case FETCH_COURSESINPROGRESS_BY_SCHOOL_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n case FETCH_COURSESINPROGRESS_BY_SCHOOL_REJECTED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n result: []\r\n };\r\n }\r\n\r\n default: {\r\n return { ...state };\r\n }\r\n }\r\n}\r\nexport default FetchCourse;","import axios from \"../services/api/api\";\r\n\r\nexport const FETCH_STUDENT_INFORMATION_BEGIN =\r\n \"FETCH_STUDENT_INFORMATION_BEGIN\";\r\nexport const FETCH_STUDENT_INFORMATION_FULFILLED =\r\n \"FETCH_STUDENT_INFORMATION_FULFILLED\";\r\nexport const FETCH_STUDENT_INFORMATION_REJECTED =\r\n \"FETCH_STUDENT_INFORMATION_REJECTED\";\r\n\r\nexport function fetchStudentInformation(email) {\r\n return function (dispatch) {\r\n dispatch({\r\n type: FETCH_STUDENT_INFORMATION_BEGIN,\r\n payload: { loading: true },\r\n });\r\n if (localStorage.getItem(\"email\")) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(\"/Student/MyResult\")\r\n .then((response) => {\r\n dispatch({\r\n type: FETCH_STUDENT_INFORMATION_FULFILLED,\r\n payload: response.data.result,\r\n });\r\n resolve(true);\r\n })\r\n .catch((err) => reject(err));\r\n });\r\n }\r\n };\r\n}\r\n\r\nexport const FETCH_STUDENT_COURSES = \"FETCH_STUDENT_COURSES\";\r\nexport const FETCH_STUDENT_COURSES_FULFILLED =\r\n \"FETCH_STUDENT_COURSES_FULFILLED\";\r\nexport const FETCH_STUDENT_COURSES_REJECTED = \"FETCH_STUDENT_COURSES_REJECTED\";\r\n\r\nexport function fetchStudentCoursesAction() {\r\n return function (dispatch) {\r\n if (localStorage.getItem(\"email\")) {\r\n dispatch({\r\n type: FETCH_STUDENT_COURSES,\r\n payload: { fetching: true },\r\n });\r\n\r\n axios\r\n .get(\"/student/MyCourses\")\r\n .then((response) => {\r\n dispatch({\r\n type: FETCH_STUDENT_COURSES_FULFILLED,\r\n payload: response.data.result,\r\n });\r\n })\r\n .catch((err) => {\r\n dispatch({\r\n type: FETCH_STUDENT_COURSES_REJECTED,\r\n payload: err,\r\n });\r\n });\r\n }\r\n };\r\n}\r\n\r\nexport function fetchStudentResultAction() {\r\n return (dispatch) => {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(\"/student/MyCourses\")\r\n .then((response) => {\r\n dispatch({\r\n type: FETCH_STUDENT_COURSES_FULFILLED,\r\n payload: response.data.result,\r\n });\r\n resolve(true);\r\n })\r\n .catch((err) => {\r\n dispatch({ type: FETCH_STUDENT_COURSES_REJECTED, payload: err });\r\n reject(err);\r\n });\r\n });\r\n };\r\n}\r\n\r\nexport const FETCH_STUDENTS_FOR_SCHOOL_BEGIN =\r\n \"FETCH_STUDENTS_FOR_SCHOOL_BEGIN\";\r\nexport const FETCH_STUDENTS_FOR_SCHOOL_FULFILLED =\r\n \"FETCH_STUDENTS_FOR_SCHOOL_FULFILLED\";\r\nexport const FETCH_STUDENTS_FOR_SCHOOL_REJECTED =\r\n \"FETCH_STUDENTS_FOR_SCHOOL_REJECTED\";\r\nexport function fetchStudentsForSchool(schoolId) {\r\n return (dispatch) => {\r\n dispatch({\r\n type: FETCH_STUDENTS_FOR_SCHOOL_BEGIN,\r\n payload: { loading: true },\r\n });\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(\"/SchoolsForAdmin\")\r\n .then((response) => {\r\n dispatch({\r\n type: FETCH_STUDENTS_FOR_SCHOOL_FULFILLED,\r\n payload: response.data.result,\r\n });\r\n resolve(true);\r\n })\r\n .catch((err) => {\r\n dispatch({ type: FETCH_STUDENTS_FOR_SCHOOL_REJECTED, payload: err });\r\n reject(err);\r\n });\r\n });\r\n };\r\n}\r\n","import {\r\n FETCH_STUDENT_INFORMATION_BEGIN,\r\n FETCH_STUDENT_INFORMATION_FULFILLED,\r\n FETCH_STUDENT_INFORMATION_REJECTED,\r\n} from \"../actions/studentActions\";\r\n\r\nconst STUDENT_INIT_STATE = {\r\n studentCourse: {\r\n id: null,\r\n name: null,\r\n description: null,\r\n imgUrl: null,\r\n disabled: null,\r\n hasResult: null,\r\n isDone: null,\r\n progressPercentage: null,\r\n lastRun: null,\r\n status: null,\r\n code: null,\r\n modules: {\r\n id: null,\r\n name: null,\r\n description: null,\r\n url: null,\r\n status: null,\r\n score: null,\r\n maxScore: null,\r\n hasPassed: null,\r\n progressPercentage: null,\r\n lastRun: null,\r\n nbrOfAttempts: null,\r\n maxActivityPoints: null,\r\n },\r\n },\r\n loading: false,\r\n fetching: false,\r\n fetech: false,\r\n error: null,\r\n};\r\n\r\nexport function studentCourse(state = STUDENT_INIT_STATE, action = {}) {\r\n switch (action.type) {\r\n case \"FETCH_STUDENT_COURSES\": {\r\n return { ...state, fetching: true };\r\n }\r\n case \"FETCH_STUDENT_COURSES_REJECTED\": {\r\n return { ...state, fetching: false, error: action.payload };\r\n }\r\n case \"FETCH_STUDENT_COURSES_FULFILLED\": {\r\n return {\r\n ...state,\r\n fetching: false,\r\n fetched: true,\r\n studentCourse: action.payload,\r\n };\r\n }\r\n case \"RUN_STUDENT_MODULE_REJECTED\": {\r\n return { ...state, fetching: false, error: action.payload };\r\n }\r\n default: {\r\n return {\r\n ...state,\r\n };\r\n }\r\n }\r\n}\r\n\r\nexport function studentResult(state = STUDENT_INIT_STATE, action = {}) {\r\n switch (action.type) {\r\n case \"FETCH_STUDENT_COURSES\": {\r\n return { ...state, fetching: true };\r\n }\r\n case \"FETCH_STUDENT_COURSES_REJECTED\": {\r\n return { ...state, fetching: false, error: action.payload };\r\n }\r\n case \"FETCH_STUDENT_COURSES_FULFILLED\": {\r\n return {\r\n ...state,\r\n fetching: false,\r\n fetched: true,\r\n studentCourse: action.payload,\r\n };\r\n }\r\n default: {\r\n return {\r\n ...state,\r\n };\r\n }\r\n }\r\n}\r\n\r\nconst INIT_STUDENT_INFORMATION = {\r\n error: null,\r\n loading: false,\r\n result: {\r\n classes: [],\r\n email: \"\",\r\n id: null,\r\n licenses: [],\r\n name: \"\",\r\n },\r\n};\r\n\r\nexport function studentInformationReducer(\r\n state = INIT_STUDENT_INFORMATION,\r\n action = {}\r\n) {\r\n switch (action.type) {\r\n case FETCH_STUDENT_INFORMATION_BEGIN: {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n };\r\n }\r\n case FETCH_STUDENT_INFORMATION_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload,\r\n };\r\n }\r\n case FETCH_STUDENT_INFORMATION_REJECTED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n result: [],\r\n };\r\n }\r\n default: {\r\n return { ...state };\r\n }\r\n }\r\n}\r\n","import axios from \"../services/api/api\";\r\n\r\nexport const FETCH_TEACHER_INFORMATION_BEGIN =\r\n \"FETCH_TEACHER_INFORMATION_BEGIN\";\r\nexport const FETCH_TEACHER_INFORMATION_FULFILLED =\r\n \"FETCH_TEACHER_INFORMATION_FULFILLED\";\r\nexport const FETCH_TEACHER_INFORMATION_REJECTED =\r\n \"FETCH_TEACHER_INFORMATION_REJECTED\";\r\n\r\nexport function fetchTeacherStudentsAction() {\r\n return function (dispatch) {\r\n dispatch({\r\n type: \"FETCH_TEACHER_STUDENTS_BEGIN\",\r\n payload: { loading: true },\r\n });\r\n\r\n var email = localStorage.getItem(\"email\");\r\n\r\n if (localStorage.getItem(\"tmpRole\") !== null)\r\n email = localStorage.getItem(\"tmpEmail\");\r\n\r\n if (localStorage.getItem(\"email\")) {\r\n axios\r\n .get(\r\n \"/Teacher/Students?teacherEmail=\" + email + \"&showActiveOnly=false\"\r\n )\r\n .then((response) => {\r\n dispatch({\r\n type: \"FETCH_TEACHER_STUDENTS_SUCCESS\",\r\n payload: response.data.result,\r\n });\r\n })\r\n .catch((err) => {\r\n dispatch({ type: \"FETCH_TEACHER_REJECTED\", payload: err });\r\n });\r\n }\r\n };\r\n}\r\n\r\nexport function fetchTeacherInformation() {\r\n return function (dispatch) {\r\n dispatch({\r\n type: FETCH_TEACHER_INFORMATION_BEGIN,\r\n payload: { loading: true },\r\n });\r\n if (localStorage.getItem(\"email\")) {\r\n var email = localStorage.getItem(\"email\");\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(\"/Teacher/ByEmail?teacherEmail=\" + email)\r\n .then((response) => {\r\n if (typeof response !== \"undefined\") {\r\n if (response.data.result.programmes) {\r\n localStorage.setItem(\r\n \"schoolName\",\r\n response.data.result.customer.name\r\n );\r\n\r\n localStorage.setItem(\r\n \"school\",\r\n JSON.stringify(response.data.result.customer)\r\n );\r\n }\r\n\r\n dispatch({\r\n type: FETCH_TEACHER_INFORMATION_FULFILLED,\r\n payload: response.data.result,\r\n });\r\n resolve(true);\r\n }\r\n })\r\n .catch((err) => {\r\n dispatch({\r\n type: FETCH_TEACHER_INFORMATION_REJECTED,\r\n payload: err,\r\n });\r\n reject(err);\r\n });\r\n });\r\n }\r\n };\r\n}\r\nexport function addClass(newClass, programid) {\r\n return {\r\n type: \"ADD_CLASS\",\r\n payload: { newClass, programid },\r\n };\r\n}\r\nexport function deleteClass(classid) {\r\n return {\r\n type: \"DELETE_CLASS\",\r\n payload: { classid },\r\n };\r\n}\r\nexport function updateClass(updateClass) {\r\n return {\r\n type: \"UPDATE_CLASS\",\r\n payload: { updateClass },\r\n };\r\n}\r\nexport function addStudent(newStudent, classid) {\r\n return {\r\n type: \"ADD_STUDENT\",\r\n payload: { newStudent, classid },\r\n };\r\n}\r\nexport function updateStudent(student) {\r\n return {\r\n type: \"UPDATE_TEACHER_STUDENT\",\r\n payload: { student },\r\n };\r\n}\r\n","import {\r\n FETCH_TEACHER_INFORMATION_BEGIN,\r\n FETCH_TEACHER_INFORMATION_FULFILLED,\r\n FETCH_TEACHER_INFORMATION_REJECTED\r\n} from \"../actions/teacherActions\";\r\n\r\nconst initialStateTeacherStudents = {\r\n loading: false,\r\n error: null,\r\n result: [],\r\n statusCode: null\r\n};\r\n\r\nexport function teacherStudentReducer(\r\n state = initialStateTeacherStudents,\r\n action\r\n) {\r\n switch (action.type) {\r\n case \"FETCH_TEACHER_STUDENTS_BEGIN\": {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null\r\n };\r\n }\r\n case \"FETCH_TEACHER_STUDENTS_SUCCESS\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n case \"FETCH_TEACHER_STUDENTS_FAILURE\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n result: []\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nconst FetchTeacher = (\r\n state = {\r\n teacher: {\r\n name: \"null\",\r\n email: null,\r\n fullAccess: null,\r\n programmes: []\r\n // classes: {\r\n // className: null,\r\n // schoolName: null\r\n // }\r\n },\r\n fetching: false,\r\n fetech: false,\r\n error: null\r\n },\r\n action\r\n) => {\r\n switch (action.type) {\r\n case \"FETCH_TEACHER\": {\r\n return { ...state, fetching: true };\r\n }\r\n case \"FETCH_TEACHER_REJECTED\": {\r\n return { ...state, fetching: false, error: action.payload };\r\n }\r\n case \"FETCH_TEACHER_FULFILLED\": {\r\n return {\r\n ...state,\r\n fetching: false,\r\n fetched: true,\r\n teacher: action.payload\r\n };\r\n }\r\n case \"FETCH_TEACHER_STUDENTS\": {\r\n return { ...state, fetching: true };\r\n }\r\n case \"FETCH_TEACHER_STUDENTS_REJECTED\": {\r\n return { ...state, fetching: false, error: action.payload };\r\n }\r\n case \"FETCH_TEACHER_STUDENTS_FULFILLED\": {\r\n return {\r\n ...state,\r\n fetching: false,\r\n fetched: true,\r\n students: action.payload\r\n };\r\n }\r\n\r\n default: {\r\n return {\r\n ...state\r\n };\r\n }\r\n }\r\n};\r\n\r\nconst INIT_TEACHER_INFORMATION = {\r\n error: null,\r\n loading: false,\r\n result: {\r\n schools: [\r\n {\r\n id: null,\r\n classes: [\r\n {\r\n id: null,\r\n name: \"\",\r\n schoolId: null\r\n }\r\n ],\r\n name: null,\r\n adresses: []\r\n }\r\n ],\r\n id: null,\r\n name: \"\",\r\n email: \"\",\r\n fullAccess: false,\r\n purchaser: false,\r\n activatedAccount: false\r\n },\r\n statusCode: null\r\n};\r\n\r\nexport function teacherInformationReducer(\r\n state = INIT_TEACHER_INFORMATION,\r\n action = {}\r\n) {\r\n // PLEASE NOTE:\r\n // below actions are unused\r\n // kept for instance - Ajinkya\r\n switch (action.type) {\r\n case FETCH_TEACHER_INFORMATION_BEGIN: {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null\r\n };\r\n }\r\n case FETCH_TEACHER_INFORMATION_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n case FETCH_TEACHER_INFORMATION_REJECTED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n result: []\r\n };\r\n }\r\n case \"ADD_CLASS\": {\r\n state.result.programmes\r\n .find(x => x.id === action.payload.programid)\r\n .classes.push(action.payload.newClass);\r\n\r\n return {\r\n ...state\r\n };\r\n }\r\n case \"DELETE_CLASS\": {\r\n state.result.programmes.forEach(program => {\r\n var index = program.classes.findIndex(\r\n x => x.id === action.payload.classid\r\n );\r\n if (index !== -1) program.classes.splice(index, 1);\r\n });\r\n\r\n return {\r\n ...state\r\n };\r\n }\r\n case \"UPDATE_CLASS\": {\r\n //Uppdatera bara namnet & inriktninge som visas på startsidan...detta objektet har en annan struktur än det som visas för läraren...\r\n //annars hade man ju kunna ersätta objektet rakt av....\r\n\r\n var moveToProgramIndex;\r\n var removeFromProgramIndex;\r\n var classToMove;\r\n var removeFromClassIndex;\r\n var currentProgramIndex = 0;\r\n\r\n state.result.programmes.forEach(program => {\r\n var index = program.classes.findIndex(\r\n x => x.id === action.payload.updateClass.id\r\n );\r\n var classToUpdate = program.classes[index];\r\n\r\n if (program.id === action.payload.updateClass.programme.id) {\r\n moveToProgramIndex = currentProgramIndex;\r\n }\r\n\r\n if (classToUpdate) {\r\n if (\r\n classToUpdate.programme.id !==\r\n action.payload.updateClass.programme.id\r\n ) {\r\n removeFromProgramIndex = currentProgramIndex;\r\n removeFromClassIndex = index;\r\n classToMove = classToUpdate;\r\n }\r\n\r\n classToUpdate.name = action.payload.updateClass.name;\r\n classToUpdate.orientation = action.payload.updateClass.orientation;\r\n classToUpdate.programme = action.payload.updateClass.programme;\r\n classToUpdate.teachers = action.payload.updateClass.teachers;\r\n }\r\n\r\n currentProgramIndex += 1;\r\n });\r\n\r\n if (classToMove) {\r\n state.result.programmes[removeFromProgramIndex].classes.splice(\r\n removeFromClassIndex,\r\n 1\r\n );\r\n state.result.programmes[moveToProgramIndex].classes.push(classToMove);\r\n }\r\n\r\n return {\r\n ...state\r\n };\r\n }\r\n case \"ADD_STUDENT\": {\r\n let classObj = null;\r\n\r\n state.result.programmes.forEach(program => {\r\n program.classes.forEach(clas => {\r\n if (clas.id === action.payload.classid) {\r\n classObj = {\r\n id: clas.id,\r\n name: clas.name,\r\n orientation: clas.orientation,\r\n programme: clas.programme\r\n };\r\n }\r\n });\r\n });\r\n\r\n let studentObj = {\r\n activatedAccount: false,\r\n class: classObj,\r\n email: action.payload.newStudent.email,\r\n id: action.payload.newStudent.id,\r\n name: action.payload.newStudent.name\r\n };\r\n\r\n state.result.programmes.forEach(program => {\r\n program.classes.forEach(clas => {\r\n if (clas.id === action.payload.classid) {\r\n clas.students.push(studentObj);\r\n }\r\n });\r\n });\r\n\r\n return {\r\n ...state\r\n };\r\n }\r\n case \"UPDATE_TEACHER_STUDENT\": {\r\n var isOnSameClass = false;\r\n\r\n state.result.programmes.forEach(program => {\r\n var studentClass = program.classes.find(\r\n clas => clas.id === action.payload.student.class.id\r\n );\r\n if (typeof studentClass !== \"undefined\") {\r\n isOnSameClass =\r\n studentClass.students.filter(\r\n student => student.id === action.payload.student.id\r\n ).length > 0;\r\n\r\n if (isOnSameClass) {\r\n var studentToUpdate = studentClass.students.find(\r\n x => x.id === action.payload.student.id\r\n );\r\n studentToUpdate.name = action.payload.student.name;\r\n studentToUpdate.email = action.payload.student.email;\r\n } else {\r\n studentClass.students.push({\r\n id: action.payload.student.id,\r\n name: action.payload.student.name,\r\n activatedAccount: action.payload.student.activatedAccount,\r\n email: action.payload.student.email\r\n });\r\n }\r\n }\r\n });\r\n\r\n //If the student is moved to other class, then remove the stundent from the old class\r\n if (!isOnSameClass) {\r\n state.result.programmes.forEach(program => {\r\n program.classes.forEach(clas => {\r\n if (clas.id !== action.payload.student.class.id) {\r\n var index = clas.students.findIndex(\r\n x => x.id === action.payload.student.id\r\n );\r\n if (index > -1) {\r\n clas.students.splice(index, 1);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n\r\n return { ...state };\r\n }\r\n default: {\r\n return { ...state };\r\n }\r\n }\r\n}\r\nexport default FetchTeacher;\r\n","const INIT_PRODUCTS = {\r\n schoolLicense: {\r\n school: {\r\n name: null,\r\n adresses: [\r\n {\r\n street: null,\r\n zipCode: null,\r\n city: null,\r\n invoice: false,\r\n },\r\n ],\r\n },\r\n license: {\r\n programLicenses: [\r\n {\r\n id: 0,\r\n name: null,\r\n price: 0,\r\n addedDate: null,\r\n courses: [\r\n {\r\n id: 0,\r\n name: null,\r\n price: 0,\r\n addedDate: null,\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n name: null,\r\n price: 0,\r\n currency: null,\r\n validTo: null,\r\n },\r\n loading: false,\r\n error: null,\r\n};\r\n\r\nexport function productsReducer(state = INIT_PRODUCTS, action = {}) {\r\n // PLEASE NOTE:\r\n // below actions are unused\r\n // kept for instance - Ajinkya\r\n switch (action.type) {\r\n case \"FETCH_PRODUCTS_BEGIN\": {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n };\r\n }\r\n case \"FETCH_PRODUCTS_FULFILLED\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload,\r\n };\r\n }\r\n case \"FETCH_PRODUCTS_REJECTED\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n result: [],\r\n };\r\n }\r\n default: {\r\n return { ...state };\r\n }\r\n }\r\n}\r\n\r\nconst INIT_STUDENTS_LICENSES = {\r\n resultNew: [],\r\n loading: false,\r\n error: null,\r\n};\r\n\r\nexport function studentWithLicenseReducer(\r\n state = INIT_STUDENTS_LICENSES,\r\n action = {}\r\n) {\r\n switch (action.type) {\r\n case \"FETCH_STUDENTS_WITH_LICENSE_NEW_BEGIN\": {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n resultNew: [],\r\n };\r\n }\r\n case \"FETCH_STUDENTS_WITH_LICENSE_NEW_FULFILLED\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n resultNew: action.payload,\r\n };\r\n }\r\n case \"FETCH_STUDENTS_WITH_LICENSE_NEW_REJECTED\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n resultNew: [],\r\n };\r\n }\r\n default: {\r\n return { ...state };\r\n }\r\n }\r\n}\r\n","export const ADD_TO_CART = \"ADD_TO_CART\";\r\nexport const DELETE_FROM_CART = \"DELETE_FROM_CART\";\r\nexport const ADD_STUDENT_TO_SHOP_CART = \"ADD_STUDENT_TO_SHOP_CART\";\r\nexport const DELETE_STUDENT_FROM_SHOP_CART = \"DELETE_STUDENT_FROM_SHOP_CART\";\r\nexport const CLEAN_SHOP_CART = \"CLEAN_SHOP_CART\";\r\nexport const SET_LASTADDED_ITEM = \"SET_LASTADDED_ITEM\";\r\nexport const DELETE_MANY_STUDENTS_FROM_SHOP_CART_AND_LAST_ADDED =\r\n \"DELETE_MANY_STUDENTS_FROM_SHOP_CART_AND_LAST_ADDED\";\r\nexport const ADD_MANY_STUDENTS_FROM_SHOP_CART_AND_LAST_ADDED =\r\n \"ADD_MANY_STUDENTS_FROM_SHOP_CART_AND_LAST_ADDED\";\r\n// Add item to cart\r\nexport function addToCart(prod) {\r\n return {\r\n type: ADD_TO_CART,\r\n payload: prod,\r\n };\r\n}\r\n\r\n// Remove item from cart\r\nexport function deleteFromCart(fortnoxNumber) {\r\n return {\r\n type: DELETE_FROM_CART,\r\n payload: fortnoxNumber,\r\n };\r\n}\r\n\r\n// Add student to cart item\r\nexport function addStudentToCartItem(student, fortnoxNumber) {\r\n return {\r\n type: ADD_STUDENT_TO_SHOP_CART,\r\n payload: { student: student, fortnoxNumber: fortnoxNumber },\r\n };\r\n}\r\n\r\n// Remove student from cart item\r\nexport function removeStudentFromCartItem(student, fortnoxNumber) {\r\n return {\r\n type: DELETE_STUDENT_FROM_SHOP_CART,\r\n payload: { student: student, fortnoxNumber: fortnoxNumber },\r\n };\r\n}\r\n\r\nexport function removeManyStudentsFromCartAndLastAdded(\r\n studentIds,\r\n fortnoxNumber\r\n) {\r\n return {\r\n type: DELETE_MANY_STUDENTS_FROM_SHOP_CART_AND_LAST_ADDED,\r\n payload: { studentIds: studentIds, fortnoxNumber: fortnoxNumber },\r\n };\r\n}\r\n\r\nexport function addManyStudentsFromCartAndLastAdded(students, fortnoxNumber) {\r\n return {\r\n type: ADD_MANY_STUDENTS_FROM_SHOP_CART_AND_LAST_ADDED,\r\n payload: { students: students, fortnoxNumber: fortnoxNumber },\r\n };\r\n}\r\n\r\n// Clear cart after shopping\r\nexport function clearCart() {\r\n return {\r\n type: CLEAN_SHOP_CART,\r\n };\r\n}\r\n\r\n//Add last added item\r\nexport function setLastAddedItem(lastAddedItem) {\r\n return {\r\n type: SET_LASTADDED_ITEM,\r\n payload: lastAddedItem,\r\n };\r\n}\r\n","import {\r\n ADD_TO_CART,\r\n DELETE_FROM_CART,\r\n ADD_STUDENT_TO_SHOP_CART,\r\n DELETE_STUDENT_FROM_SHOP_CART,\r\n CLEAN_SHOP_CART,\r\n SET_LASTADDED_ITEM,\r\n DELETE_MANY_STUDENTS_FROM_SHOP_CART_AND_LAST_ADDED,\r\n ADD_MANY_STUDENTS_FROM_SHOP_CART_AND_LAST_ADDED,\r\n} from \"../actions/newCartActions\";\r\n\r\nconst INIT_CART_STATE = {\r\n loading: true,\r\n error: null,\r\n result: [],\r\n lastAddedItem: {},\r\n};\r\n\r\nexport default function newCartReducer(state = INIT_CART_STATE, action = {}) {\r\n switch (action.type) {\r\n case ADD_TO_CART:\r\n if (\r\n !state.result.some(\r\n (ci) => ci.fortnoxNumber === action.payload.fortnoxNumber\r\n )\r\n ) {\r\n return {\r\n ...state,\r\n result: [...state.result, action.payload],\r\n };\r\n } else {\r\n return { ...state };\r\n }\r\n case DELETE_STUDENT_FROM_SHOP_CART:\r\n state.result.find(\r\n (prod) => prod.fortnoxNumber === action.payload.fortnoxNumber\r\n ).addedStudents = state.result\r\n .find((prod) => prod.fortnoxNumber === action.payload.fortnoxNumber)\r\n .addedStudents.filter((stud) => stud.id !== action.payload.student.id);\r\n return { ...state };\r\n case ADD_STUDENT_TO_SHOP_CART:\r\n state.result\r\n .find((prod) => prod.fortnoxNumber === action.payload.fortnoxNumber)\r\n .addedStudents.push(action.payload.student);\r\n return { ...state };\r\n case DELETE_FROM_CART:\r\n return {\r\n ...state,\r\n result: state.result.filter(\r\n (item) => item.fortnoxNumber !== action.payload\r\n ),\r\n };\r\n case DELETE_MANY_STUDENTS_FROM_SHOP_CART_AND_LAST_ADDED: {\r\n let tempResultForRemove = [...state.result];\r\n let tempLastAddedItemForRemove = { ...state.lastAddedItem };\r\n tempResultForRemove.find(\r\n (prod) => prod.fortnoxNumber === action.payload.fortnoxNumber\r\n ).addedStudents = tempResultForRemove\r\n .find((prod) => prod.fortnoxNumber === action.payload.fortnoxNumber)\r\n .addedStudents.filter(\r\n (stud) => !action.payload.studentIds.includes(stud.id)\r\n );\r\n if (tempLastAddedItemForRemove.isPlusPackage) {\r\n if (\r\n action.payload.fortnoxNumber ===\r\n tempLastAddedItemForRemove.plusPackage.fortnoxNumber\r\n ) {\r\n tempLastAddedItemForRemove.plusPackage.addedStudents =\r\n tempLastAddedItemForRemove.plusPackage.addedStudents.filter(\r\n (stud) => !action.payload.studentIds.includes(stud.id)\r\n );\r\n }\r\n } else {\r\n tempLastAddedItemForRemove.addedStudents =\r\n tempLastAddedItemForRemove.addedStudents.filter(\r\n (stud) => !action.payload.studentIds.includes(stud.id)\r\n );\r\n }\r\n return {\r\n ...state,\r\n result: tempResultForRemove,\r\n lastAddedItem: tempLastAddedItemForRemove,\r\n };\r\n }\r\n case ADD_MANY_STUDENTS_FROM_SHOP_CART_AND_LAST_ADDED: {\r\n let tempResultForAdd = [...state.result];\r\n let tempLastAddedItemForAdd = { ...state.lastAddedItem };\r\n if (!tempLastAddedItemForAdd.isPlusPackage) {\r\n action.payload.students.forEach((stud) => {\r\n if (\r\n !tempLastAddedItemForAdd.addedStudents.some(\r\n (existingStud) => existingStud.id === stud.id\r\n )\r\n ) {\r\n tempLastAddedItemForAdd.addedStudents.push(stud);\r\n }\r\n });\r\n } else {\r\n action.payload.students.forEach((stud) => {\r\n if (\r\n !tempLastAddedItemForAdd.plusPackage.addedStudents.some(\r\n (existingStud) => existingStud.id === stud.id\r\n )\r\n ) {\r\n tempLastAddedItemForAdd.plusPackage.addedStudents.push(stud);\r\n }\r\n });\r\n }\r\n action.payload.students.forEach((stud) => {\r\n if (\r\n !tempResultForAdd\r\n .find((prod) => prod.fortnoxNumber === action.payload.fortnoxNumber)\r\n .addedStudents.some((existingStud) => existingStud.id === stud.id)\r\n ) {\r\n tempResultForAdd\r\n .find((prod) => prod.fortnoxNumber === action.payload.fortnoxNumber)\r\n .addedStudents.push(stud);\r\n }\r\n });\r\n return {\r\n ...state,\r\n result: tempResultForAdd,\r\n lastAddedItem: tempLastAddedItemForAdd,\r\n };\r\n }\r\n case CLEAN_SHOP_CART:\r\n return { ...state, result: [], lastAddedItem: {} };\r\n case SET_LASTADDED_ITEM:\r\n return { ...state, lastAddedItem: action.payload };\r\n default: {\r\n return {\r\n ...state,\r\n };\r\n }\r\n }\r\n}\r\n","import axios from \"../services/api/api\";\r\n\r\nexport const FETCH_STUDENT_RESULTS_LAST_MONTH_BEGIN =\r\n \"FETCH_STUDENT_RESULTS_LAST_MONTH_BEGIN\";\r\nexport const FETCH_STUDENT_RESULTS_LAST_MONTH_FULFILLED =\r\n \"FETCH_STUDENT_RESULTS_LAST_MONTH_FULFILLED\";\r\nexport const FETCH_STUDENT_RESULTS_LAST_MONTH_REJECTED =\r\n \"FETCH_STUDENT_RESULTS_LAST_MONTH_REJECTED\";\r\n\r\nexport const FETCH_STUDENT_RESULTS_BY_STUDENT_BEGIN =\r\n \"FETCH_STUDENT_RESULTS_BY_STUDENT_BEGIN\";\r\nexport const FETCH_STUDENT_RESULTS_BY_STUDENT_FULFILLED =\r\n \"FETCH_STUDENT_RESULTS_BY_STUDENT_FULFILLED\";\r\nexport const FETCH_STUDENT_RESULTS_BY_STUDENT_REJECTED =\r\n \"FETCH_STUDENT_RESULTS_BY_STUDENT_REJECTED\";\r\n\r\nexport const FETCH_STUDENT_AVERAGE_RESULTS_BY_STUDENT_BEGIN =\r\n \"FETCH_STUDENT_AVERAGE_RESULTS_BY_STUDENT_BEGIN\";\r\nexport const FETCH_STUDENT_AVERAGE_RESULTS_BY_STUDENT_FULFILLED =\r\n \"FETCH_STUDENT_AVERAGE_RESULTS_BY_STUDENT_FULFILLED\";\r\nexport const FETCH_STUDENT_AVERAGE_RESULTS_BY_STUDENT_REJECTED =\r\n \"FETCH_STUDENT_AVERAGE_RESULTS_BY_STUDENT_REJECTED\";\r\n\r\nexport const FETCH_STUDENT_RESULTS_TIMELINE_BY_STUDENT_BEGIN =\r\n \"FETCH_STUDENT_RESULTS_TIMELINE_BY_STUDENT_BEGIN\";\r\nexport const FETCH_STUDENT_RESULTS_TIMELINE_BY_STUDENT_FULFILLED =\r\n \"FETCH_STUDENT_RESULTS_TIMELINE_BY_STUDENT_FULFILLED\";\r\nexport const FETCH_STUDENT_RESULTS_TIMELINE_BY_STUDENT_REJECTED =\r\n \"FETCH_STUDENT_RESULTS_TIMELINE_BY_STUDENT_REJECTED\";\r\n\r\nexport function fetchStudentResultsAction() {\r\n return function(dispatch) {\r\n dispatch({\r\n type: \"FETCH_STUDENT_RESULTS_BEGIN\",\r\n payload: { loading: true }\r\n });\r\n axios\r\n .get(\"/student/MyResults\")\r\n .then(response => {\r\n dispatch({\r\n type: \"FETCH_STUDENT_RESULTS_SUCCESS\",\r\n payload: response.data.result\r\n });\r\n })\r\n .catch(err => {\r\n dispatch({ type: \"FETCH_STUDENT_RESULTS_REJECTED\", payload: err });\r\n });\r\n };\r\n}\r\n\r\nexport function GetLastMonthsRunsByClassId(classId) {\r\n return function(dispatch) {\r\n dispatch({\r\n type: \"FETCH_STUDENT_RESULTS_LAST_MONTH_BEGIN\",\r\n payload: { loading: true }\r\n });\r\n axios\r\n .get(\"/studentresult/GetLastMonthsRunsByClassId/\" + classId)\r\n .then(response => {\r\n dispatch({\r\n type: \"FETCH_STUDENT_RESULTS_LAST_MONTH_FULFILLED\",\r\n payload: response.data.result\r\n });\r\n })\r\n .catch(err => {\r\n dispatch({\r\n type: \"FETCH_STUDENT_RESULTS_LAST_MONTH_REJECTED\",\r\n payload: err\r\n });\r\n });\r\n };\r\n}\r\n\r\nexport function GetAverageStudentResultByStudent(studentId) {\r\n return function(dispatch) {\r\n dispatch({\r\n type: FETCH_STUDENT_AVERAGE_RESULTS_BY_STUDENT_BEGIN,\r\n payload: { loading: true }\r\n });\r\n axios\r\n .get(\"/StudentResult/GetAverageScoreDataByStudent/\" + studentId)\r\n .then(response => {\r\n dispatch({\r\n type: FETCH_STUDENT_AVERAGE_RESULTS_BY_STUDENT_FULFILLED,\r\n payload: response.data.result\r\n });\r\n })\r\n .catch(err => {\r\n dispatch({\r\n type: FETCH_STUDENT_AVERAGE_RESULTS_BY_STUDENT_REJECTED,\r\n payload: err\r\n });\r\n });\r\n };\r\n}\r\n\r\nexport function GetStudentResultTimeline(studentId) {\r\n return function(dispatch) {\r\n dispatch({\r\n type: FETCH_STUDENT_RESULTS_TIMELINE_BY_STUDENT_BEGIN,\r\n payload: { loading: true }\r\n });\r\n axios\r\n .get(\"/StudentResult/GetStudentResultTimeline/\" + studentId)\r\n .then(response => {\r\n dispatch({\r\n type: FETCH_STUDENT_RESULTS_TIMELINE_BY_STUDENT_FULFILLED,\r\n payload: response.data.result\r\n });\r\n })\r\n .catch(err => {\r\n dispatch({\r\n type: FETCH_STUDENT_RESULTS_TIMELINE_BY_STUDENT_REJECTED,\r\n payload: err\r\n });\r\n });\r\n };\r\n}\r\n","import {\r\n FETCH_STUDENT_RESULTS_LAST_MONTH_BEGIN,\r\n FETCH_STUDENT_RESULTS_LAST_MONTH_FULFILLED,\r\n FETCH_STUDENT_RESULTS_LAST_MONTH_REJECTED,\r\n FETCH_STUDENT_RESULTS_BY_STUDENT_BEGIN,\r\n FETCH_STUDENT_RESULTS_BY_STUDENT_FULFILLED,\r\n FETCH_STUDENT_RESULTS_BY_STUDENT_REJECTED,\r\n FETCH_STUDENT_AVERAGE_RESULTS_BY_STUDENT_BEGIN,\r\n FETCH_STUDENT_AVERAGE_RESULTS_BY_STUDENT_FULFILLED,\r\n FETCH_STUDENT_AVERAGE_RESULTS_BY_STUDENT_REJECTED,\r\n FETCH_STUDENT_RESULTS_TIMELINE_BY_STUDENT_BEGIN,\r\n FETCH_STUDENT_RESULTS_TIMELINE_BY_STUDENT_FULFILLED,\r\n FETCH_STUDENT_RESULTS_TIMELINE_BY_STUDENT_REJECTED\r\n} from \"../actions/studentResultsActions\";\r\n\r\nconst initialStateStudentResults = {\r\n loading: true,\r\n error: null,\r\n result: [\r\n {\r\n id: null,\r\n student: {\r\n id: 1,\r\n name: null,\r\n email: null,\r\n classes: [\r\n {\r\n classId: 0,\r\n className: null,\r\n schoolId: 0,\r\n schoolName: null,\r\n active: false\r\n }\r\n ]\r\n },\r\n licenses: [\r\n {\r\n courses: [],\r\n programLicenses: []\r\n }\r\n ],\r\n\r\n status: null,\r\n score: 0,\r\n activityPoints: 0,\r\n lastRun: null,\r\n courseName: null,\r\n courseId: 0,\r\n module: null,\r\n moduleId: 0,\r\n maxScore: 0,\r\n approveLimit: 0,\r\n maxActivityPoints: 0,\r\n activityPointApproveLimit: 0,\r\n isFinalExam: false,\r\n studentIsDone: false,\r\n studentHasPassed: false\r\n }\r\n ],\r\n statusCode: null\r\n};\r\n\r\nexport function studentResultsReducer(\r\n state = initialStateStudentResults,\r\n action\r\n) {\r\n switch (action.type) {\r\n case \"FETCH_STUDENT_RESULTS_BEGIN\": {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null\r\n };\r\n }\r\n case \"FETCH_STUDENT_RESULTS_SUCCESS\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n case \"FETCH_STUDENT_RESULTS_FAILURE\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n result: []\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nconst INIT_STUDENTRUN_LAST_MONTH = {\r\n error: null,\r\n loading: false,\r\n result: [],\r\n statusCode: null\r\n};\r\n\r\nexport function studentRunReducer(\r\n state = INIT_STUDENTRUN_LAST_MONTH,\r\n action = {}\r\n) {\r\n switch (action.type) {\r\n case FETCH_STUDENT_RESULTS_LAST_MONTH_BEGIN: {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null\r\n };\r\n }\r\n case FETCH_STUDENT_RESULTS_LAST_MONTH_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n case FETCH_STUDENT_RESULTS_LAST_MONTH_REJECTED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n result: []\r\n };\r\n }\r\n\r\n default: {\r\n return { ...state };\r\n }\r\n }\r\n}\r\n\r\nconst INIT_STUDENT_RESULT_BY_STUDENT = {\r\n error: null,\r\n loading: false,\r\n result: [],\r\n statusCode: null\r\n};\r\n\r\nexport function studentResultByStudentReducer(\r\n state = INIT_STUDENT_RESULT_BY_STUDENT,\r\n action = {}\r\n) {\r\n switch (action.type) {\r\n case FETCH_STUDENT_RESULTS_BY_STUDENT_BEGIN: {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null\r\n };\r\n }\r\n case FETCH_STUDENT_RESULTS_BY_STUDENT_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n case FETCH_STUDENT_RESULTS_BY_STUDENT_REJECTED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n result: []\r\n };\r\n }\r\n\r\n default: {\r\n return { ...state };\r\n }\r\n }\r\n}\r\n\r\nconst INIT_STUDENT_AVERAGE_RESULT_BY_STUDENT = {\r\n error: null,\r\n loading: false,\r\n result: [],\r\n statusCode: null\r\n};\r\n\r\nexport function studentAverageResultByStudentReducer(\r\n state = INIT_STUDENT_AVERAGE_RESULT_BY_STUDENT,\r\n action = {}\r\n) {\r\n switch (action.type) {\r\n case FETCH_STUDENT_AVERAGE_RESULTS_BY_STUDENT_BEGIN: {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null\r\n };\r\n }\r\n case FETCH_STUDENT_AVERAGE_RESULTS_BY_STUDENT_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n case FETCH_STUDENT_AVERAGE_RESULTS_BY_STUDENT_REJECTED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n result: []\r\n };\r\n }\r\n\r\n default: {\r\n return { ...state };\r\n }\r\n }\r\n}\r\n\r\nconst INIT_STUDENT_RESULT_TIMELINE = {\r\n error: null,\r\n loading: false,\r\n result: [],\r\n statusCode: null\r\n};\r\n\r\nexport function studentResultTimelineReducer(\r\n state = INIT_STUDENT_RESULT_TIMELINE,\r\n action = {}\r\n) {\r\n switch (action.type) {\r\n case FETCH_STUDENT_RESULTS_TIMELINE_BY_STUDENT_BEGIN: {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null\r\n };\r\n }\r\n case FETCH_STUDENT_RESULTS_TIMELINE_BY_STUDENT_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n case FETCH_STUDENT_RESULTS_TIMELINE_BY_STUDENT_REJECTED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n result: []\r\n };\r\n }\r\n\r\n default: {\r\n return { ...state };\r\n }\r\n }\r\n}\r\n","const initialStateStudentProfile = {\r\n loading: false,\r\n error: null,\r\n student: {\r\n id: 1,\r\n name: null,\r\n email: null,\r\n classes: [],\r\n licenses: [\r\n {\r\n courses: [],\r\n programLicenses: []\r\n }\r\n ]\r\n },\r\n statusCode: null\r\n};\r\n\r\nexport function studentProfileReducer(\r\n state = initialStateStudentProfile,\r\n action\r\n) {\r\n switch (action.type) {\r\n case \"FETCH_STUDENT_PROFILE_BEGIN\": {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null\r\n };\r\n }\r\n case \"FETCH_STUDENT_PROFILE_SUCCESS\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n student: action.payload\r\n };\r\n }\r\n case \"FETCH_STUDENT_PROFILE_FAILURE\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n student: null\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","const initialStateTeacherResults = {\r\n loading: false,\r\n error: null,\r\n result: [\r\n {\r\n id: null,\r\n studentname: null,\r\n studentemail: null,\r\n classes: [\r\n {\r\n classId: 0,\r\n className: null,\r\n schoolId: 0,\r\n schoolName: null,\r\n active: false\r\n }\r\n ],\r\n courses: [],\r\n status: null,\r\n score: 0,\r\n activityPoints: 0,\r\n lastRun: null,\r\n courseName: null,\r\n courseId: 0,\r\n module: null,\r\n moduleId: 0,\r\n maxScore: 0,\r\n approveLimit: 0,\r\n maxActivityPoints: 0,\r\n activityPointApproveLimit: 0,\r\n isFinalExam: false,\r\n studentIsDone: false,\r\n studentHasPassed: false\r\n }\r\n ],\r\n statusCode: null\r\n};\r\n\r\nexport function teacherResultsReducer(\r\n state = initialStateTeacherResults,\r\n action\r\n) {\r\n switch (action.type) {\r\n case \"FETCH_TEACHER_RESULTS_BEGIN\": {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null\r\n };\r\n }\r\n case \"FETCH_TEACHER_RESULTS_SUCCESS\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n case \"FETCH_TEACHER_RESULTS_FAILURE\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n result: []\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","const initialStateTeacherCourses = {\r\n loading: false,\r\n error: null,\r\n result: [\r\n {\r\n id: null,\r\n coursename: null,\r\n description: null,\r\n imgurl: null,\r\n hasFinalExam: null,\r\n modules: [\r\n {\r\n coursemoduleid: 0,\r\n name: null,\r\n description: 0,\r\n approvallimit: 0\r\n }\r\n ],\r\n students: [\r\n {\r\n studentid: null,\r\n name: null,\r\n classname: null,\r\n status: null,\r\n donePercentage: null,\r\n nbrOfModules: 0,\r\n nbrOfDoneModules: 0,\r\n nbrOfTimes: 0\r\n }\r\n ]\r\n }\r\n ],\r\n statusCode: null\r\n};\r\n\r\nexport function teacherCoursesReducer(\r\n state = initialStateTeacherCourses,\r\n action\r\n) {\r\n switch (action.type) {\r\n case \"FETCH_TEACHER_COURSES_BEGIN\": {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null\r\n };\r\n }\r\n case \"FETCH_TEACHER_COURSES_SUCCESS\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n case \"FETCH_TEACHER_COURSES_FAILURE\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n result: []\r\n };\r\n }\r\n case \"UNLOCK_TEACHER_FINALEXAM_FULFILLED\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: null\r\n };\r\n }\r\n case \"UNLOCK_TEACHER_FINALEXAM_REJECTED\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","const initialStateTeacherModuleResults = {\r\n loading: false,\r\n error: null,\r\n result: [\r\n {\r\n courseModuleId: null,\r\n name: null,\r\n description: null,\r\n approvalLimit: null,\r\n url: null,\r\n students: [\r\n {\r\n studentId: null,\r\n name: null,\r\n className: null,\r\n status: null,\r\n statusNumber: null,\r\n score: null,\r\n hasPassed: false,\r\n isDone: false,\r\n isCompleted: false,\r\n approvalLimit: null,\r\n nbrOfAttempts: null,\r\n finalExamEnabled: false,\r\n activated: \"\"\r\n }\r\n ]\r\n }\r\n ],\r\n statusCode: null\r\n};\r\n\r\nexport function teacherModuleResultsReducer(\r\n state = initialStateTeacherModuleResults,\r\n action\r\n) {\r\n switch (action.type) {\r\n case \"FETCH_TEACHER_MODULE_RESULTS_BEGIN\": {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null\r\n };\r\n }\r\n case \"FETCH_TEACHER_MODULE_RESULTS_SUCCESS\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n case \"FETCH_TEACHER_MODULE_RESULTS_REJECTED\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n result: []\r\n };\r\n }\r\n case \"FETCH_TEACHER_FINALEXAM_RESULTS_BEGIN\": {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null\r\n };\r\n }\r\n case \"FETCH_TEACHER_FINALEXAM_RESULTS_SUCCESS\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n case \"FETCH_TEACHER_FINALEXAM_RESULTS_REJECTED\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n result: []\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","const INITIAL_INVOICE_HISTORY = {\r\n loading: true,\r\n error: null,\r\n result: []\r\n};\r\n\r\nexport const FETCH_INVOICE_HISTORY_BEGIN = \"FETCH_INVOICE_HISTORY_BEGIN\";\r\nexport const FETCH_INVOICE_HISTORY_FULFILLED =\r\n \"FETCH_INVOICE_HISTORY_FULFILLED\";\r\nexport const FETCH_INVOICE_HISTORY_REJECTED = \"FETCH_INVOICE_HISTORY_REJECTED\";\r\n\r\nexport function invoiceHistoryReducer(\r\n state = INITIAL_INVOICE_HISTORY,\r\n action = {}\r\n) {\r\n switch (action.type) {\r\n case FETCH_INVOICE_HISTORY_BEGIN: {\r\n return { ...state, loading: true, error: null };\r\n }\r\n case FETCH_INVOICE_HISTORY_FULFILLED: {\r\n if (action.payload.length > 0) action.payload.reverse();\r\n return { ...state, loading: false, error: null, result: action.payload };\r\n }\r\n case FETCH_INVOICE_HISTORY_REJECTED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error\r\n };\r\n }\r\n default: {\r\n return { ...state };\r\n }\r\n }\r\n}\r\n","export const UPDATE_FINAL_EXAM_STATUS_BEGIN = \"UPDATE_FINAL_EXAM_STATUS_BEGIN\";\r\nexport const UPDATE_FINAL_EXAM_STATUS_FULFILLED =\r\n \"UPDATE_FINAL_EXAM_STATUS_FULFILLED\";\r\nexport const UPDATE_FINAL_EXAM_STATUS_REJECTED =\r\n \"UPDATE_FINAL_EXAM_STATUS_REJECTED\";\r\n\r\nconst initialFinalExamState = {\r\n loading: false,\r\n result: [],\r\n error: null\r\n};\r\n\r\nexport function toggleFinalExamReducer(\r\n state = initialFinalExamState,\r\n action = {}\r\n) {\r\n switch (action.type) {\r\n case UPDATE_FINAL_EXAM_STATUS_BEGIN: {\r\n return { ...state, loading: true, error: null };\r\n }\r\n case UPDATE_FINAL_EXAM_STATUS_FULFILLED: {\r\n return { ...state, loading: false, error: null, result: action.payload };\r\n }\r\n case UPDATE_FINAL_EXAM_STATUS_REJECTED: {\r\n return { ...state, loading: false, error: action.payload.error };\r\n }\r\n default: {\r\n return { ...state };\r\n }\r\n }\r\n}\r\n","import axios from \"../services/api/api\";\r\n\r\nexport const FETCH_CLASSES_BEGIN = \"FETCH_CLASSES_BEGIN\";\r\nexport const FETCH_CLASSES_FULFILLED = \"FETCH_CLASSES_FULFILLED\";\r\nexport const FETCH_CLASSES_REJECTED = \"FETCH_CLASSES_REJECTED\";\r\n\r\nexport function fetchClasses(schoolId) {\r\n return function (dispatch) {\r\n dispatch({\r\n type: FETCH_CLASS_BEGIN,\r\n payload: { loading: true },\r\n });\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`/Class/GetBySchoolId/${schoolId}`)\r\n .then((response) => {\r\n dispatch({\r\n type: FETCH_CLASSES_FULFILLED,\r\n payload: response.data.result,\r\n });\r\n resolve(true);\r\n })\r\n .catch((err) => {\r\n dispatch({ type: FETCH_CLASSES_REJECTED, payload: err });\r\n reject(err);\r\n });\r\n });\r\n };\r\n}\r\n\r\nexport const FETCH_CLASS_BEGIN = \"FETCH_CLASS_BEGIN\";\r\nexport const FETCH_CLASS_FULFILLED = \"FETCH_CLASS_FULFILLED\";\r\nexport const FETCH_CLASS_REJECTED = \"FETCH_CLASS_REJECTED\";\r\n\r\nexport function fetchClass(classId) {\r\n return function (dispatch) {\r\n dispatch({\r\n type: FETCH_CLASS_BEGIN,\r\n payload: { loading: true },\r\n });\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`/Class/GetByClassId/${classId}`)\r\n .then((response) => {\r\n dispatch({\r\n type: FETCH_CLASS_FULFILLED,\r\n payload: response.data.result,\r\n });\r\n resolve(true);\r\n })\r\n .catch((err) => {\r\n dispatch({ type: FETCH_CLASS_REJECTED, payload: err });\r\n reject(err);\r\n });\r\n });\r\n };\r\n}\r\n\r\nexport const DELETE_CLASS_BEGIN = \"FETCH_CLASSES_BEGIN\";\r\nexport const DELETE_CLASS_FULFILLED = \"FETCH_CLASSES_FULFILLED\";\r\nexport const DELETE_CLASS_REJECTED = \"FETCH_CLASSES_REJECTED\";\r\n\r\nexport function deleteClass(classId) {\r\n return function (dispatch) {\r\n dispatch({\r\n type: DELETE_CLASS_BEGIN,\r\n payload: { loading: true },\r\n });\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .delete(`/Class/${classId}`)\r\n .then((response) => {\r\n dispatch({\r\n type: DELETE_CLASS_FULFILLED,\r\n payload: response.data.result,\r\n });\r\n resolve(true);\r\n })\r\n .catch((err) => {\r\n dispatch({ type: DELETE_CLASS_REJECTED, payload: err });\r\n reject(err);\r\n });\r\n });\r\n };\r\n}\r\n","import axios from \"../services/api/api\";\r\n\r\nexport const FETCH_COURSES_LIST_BEGIN = \"FETCH_COURSES_LIST_BEGIN\";\r\nexport const FETCH_COURSES_LIST_FULFILLED = \"FETCH_COURSES_LIST_FULFILLED\";\r\nexport const FETCH_COURSES_LIST_REJECTED = \"FETCH_COURSES_LIST_REJECTED\";\r\nexport const FETCH_SIXMONTHS_COURSES_LIST_BEGIN =\r\n \"FETCH_SIXMONTHS_COURSES_LIST_BEGIN\";\r\nexport const FETCH_SIXMONTHS_COURSES_LIST_FULFILLED =\r\n \"FETCH_SIXMONTHS_COURSES_LIST_FULFILLED\";\r\nexport const FETCH_SIXMONTHS_COURSES_LIST_REJECTED =\r\n \"FETCH_SIXMONTHS_COURSES_LIST_REJECTED\";\r\nexport const FETCH_COURSES_GRADES_BEGIN = \"FETCH_COURSES_GRADES_BEGIN\";\r\nexport const FETCH_COURSES_GRADES_FULFILLED = \"FETCH_COURSES_GRADES_FULFILLED\";\r\nexport const FETCH_COURSES_GRADES_REJECTED = \"FETCH_COURSES_GRADES_REJECTED\";\r\nexport const FETCH_ORPHAN_COURSES_BEGIN = \"FETCH_ORPHAN_COURSES_BEGIN\";\r\nexport const FETCH_ORPHAN_COURSES_FULFILLED = \"FETCH_ORPHAN_COURSES_FULFILLED\";\r\nexport const FETCH_ORPHAN_COURSES_REJECTED = \"FETCH_ORPHAN_COURSES_REJECTED\";\r\nexport function fetchCoursesForAdmin() {\r\n return (dispatch) => {\r\n dispatch({\r\n type: FETCH_COURSES_LIST_BEGIN,\r\n payload: { loading: true },\r\n });\r\n return new Promise((resolve, reject) => {\r\n if (localStorage.getItem(\"email\")) {\r\n axios\r\n .get(\"/Course/GetAdminCourses\")\r\n .then((response) => {\r\n dispatch({\r\n type: FETCH_COURSES_LIST_FULFILLED,\r\n payload: response.data.result,\r\n });\r\n resolve(true);\r\n })\r\n .catch((err) => {\r\n dispatch({ type: FETCH_COURSES_LIST_REJECTED, payload: err });\r\n reject(err);\r\n });\r\n }\r\n });\r\n };\r\n}\r\n\r\nexport function fetchOrphanCoursesForAdmin() {\r\n return (dispatch) => {\r\n dispatch({\r\n type: FETCH_ORPHAN_COURSES_BEGIN,\r\n payload: { loading: true },\r\n });\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(\"/Course/GetAdminOrphanCourses\")\r\n .then((response) => {\r\n dispatch({\r\n type: FETCH_ORPHAN_COURSES_FULFILLED,\r\n payload: response.data.result,\r\n });\r\n resolve(true);\r\n })\r\n .catch((err) => {\r\n dispatch({ type: FETCH_ORPHAN_COURSES_REJECTED, payload: err });\r\n reject(err);\r\n });\r\n });\r\n };\r\n}\r\n\r\nexport function fetchSlimCoursesForAdmin() {\r\n return (dispatch) => {\r\n dispatch({\r\n type: FETCH_SIXMONTHS_COURSES_LIST_BEGIN,\r\n payload: { loading: true },\r\n });\r\n return new Promise((resolve, reject) => {\r\n if (localStorage.getItem(\"email\")) {\r\n axios\r\n .get(\"/Course/GetAdminCoursesSlim\")\r\n .then((response) => {\r\n dispatch({\r\n type: FETCH_SIXMONTHS_COURSES_LIST_FULFILLED,\r\n payload: response.data.result,\r\n });\r\n resolve(true);\r\n })\r\n .catch((err) => {\r\n dispatch({\r\n type: FETCH_SIXMONTHS_COURSES_LIST_REJECTED,\r\n payload: err,\r\n });\r\n reject(err);\r\n });\r\n }\r\n });\r\n };\r\n}\r\n\r\nexport function fetchCourseGradesOnlyForLastSixMonths() {\r\n return function (dispatch) {\r\n dispatch({\r\n type: FETCH_COURSES_GRADES_BEGIN,\r\n payload: { loading: true },\r\n });\r\n axios\r\n .get(\"/Course/GetStudentScormModuleRatings?showOnlyLastSixMonths=true\")\r\n .then((response) => {\r\n dispatch({\r\n type: FETCH_COURSES_GRADES_FULFILLED,\r\n payload: response.data.result,\r\n });\r\n })\r\n .catch((err) => {\r\n dispatch({ type: FETCH_COURSES_GRADES_REJECTED, payload: err });\r\n });\r\n };\r\n}\r\n\r\nexport function fetchCourseGradesForAllTime() {\r\n return function (dispatch) {\r\n dispatch({\r\n type: FETCH_COURSES_GRADES_BEGIN,\r\n payload: { loading: true },\r\n });\r\n axios\r\n .get(\"/Course/GetStudentScormModuleRatings?showOnlyLastSixMonths=false\")\r\n .then((response) => {\r\n dispatch({\r\n type: FETCH_COURSES_GRADES_FULFILLED,\r\n payload: response.data.result,\r\n });\r\n })\r\n .catch((err) => {\r\n dispatch({ type: FETCH_COURSES_GRADES_REJECTED, payload: err });\r\n });\r\n };\r\n}\r\n","import axios from \"../services/api/api\";\r\n// import { DELETE_COURSE_FULFILLED } from \"./coursesActions\";\r\n\r\nexport const FETCH_MODULES_BEGIN = \"FETCH_MODULES_BEGIN\";\r\nexport const FETCH_MODULES_FULFILLED = \"FETCH_MODULES_FULFILLED\";\r\nexport const FETCH_MODULES_REJECTED = \"FETCH_MODULES_REJECTED\";\r\n\r\nexport const FETCH_ALL_MODULES_BEGIN = \"FETCH_ALL_MODULES_BEGIN\";\r\nexport const FETCH_ALL_MODULES_FULFILLED = \"FETCH_ALL_MODULES_FULFILLED\";\r\nexport const FETCH_ALL_MODULES_REJECTED = \"FETCH_ALL_MODULES_REJECTED\";\r\n\r\nexport const FETCH_ALL_MODULES_WITH_COURSES_BEGIN =\r\n \"FETCH_ALL_MODULES_WITH_COURSES_BEGIN\";\r\nexport const FETCH_ALL_MODULES_WITH_COURSES_FULFILLED =\r\n \"FETCH_ALL_MODULES_WITH_COURSES_FULFILLED\";\r\nexport const FETCH_ALL_MODULES_WITH_COURSES_REJECTED =\r\n \"FETCH_ALL_MODULES_WITH_COURSES_REJECTED\";\r\n\r\nexport const FETCH_LWNAMES_BEGIN = \"FETCH_LWNAMES_BEGIN\";\r\nexport const FETCH_LWNAMES_FULFILLED = \"FETCH_LWNAMES_FULFILLED\";\r\nexport const FETCH_LWNAMES_REJECTED = \"FETCH_LWNAMES_REJECTED\";\r\n\r\nexport const DELETE_MODULES_FULFILLED = \"DELETE_MODULES_FULFILLED\";\r\nexport const DELETE_MODULES_REJECTED = \"DELETE_MODULES_REJECTED\";\r\n\r\nexport function fetchModules(courseId) {\r\n return function (dispatch) {\r\n dispatch({\r\n type: FETCH_MODULES_BEGIN,\r\n payload: { loading: true },\r\n });\r\n axios\r\n .get(`/Module/GetByCourseId?courseId=${courseId}`)\r\n .then((response) => {\r\n dispatch({\r\n type: FETCH_MODULES_FULFILLED,\r\n payload: response.data.result,\r\n });\r\n })\r\n .catch((err) => {\r\n dispatch({ type: FETCH_MODULES_REJECTED, payload: err });\r\n });\r\n };\r\n}\r\n\r\nexport function fetchAllModules() {\r\n return function (dispatch) {\r\n dispatch({\r\n type: FETCH_ALL_MODULES_BEGIN,\r\n payload: { loading: true },\r\n });\r\n axios\r\n .get(`/Module`)\r\n .then((response) => {\r\n dispatch({\r\n type: FETCH_ALL_MODULES_FULFILLED,\r\n payload: response.data.result,\r\n });\r\n })\r\n .catch((err) => {\r\n dispatch({ type: FETCH_ALL_MODULES_REJECTED, payload: err });\r\n });\r\n };\r\n}\r\n\r\nexport function fetchModulesWithCourses() {\r\n return function (dispatch) {\r\n dispatch({\r\n type: FETCH_ALL_MODULES_WITH_COURSES_BEGIN,\r\n payload: { loading: true },\r\n });\r\n axios\r\n .get(`/Module/GetWithCourses`)\r\n .then((response) => {\r\n dispatch({\r\n type: FETCH_ALL_MODULES_WITH_COURSES_FULFILLED,\r\n payload: response.data.result,\r\n });\r\n })\r\n .catch((err) => {\r\n dispatch({\r\n type: FETCH_ALL_MODULES_WITH_COURSES_REJECTED,\r\n payload: err,\r\n });\r\n });\r\n };\r\n}\r\n\r\nexport function fetchAvailableLwNames() {\r\n return function (dispatch) {\r\n dispatch({\r\n type: FETCH_LWNAMES_BEGIN,\r\n payload: { loading: true },\r\n });\r\n axios\r\n .get(`/Module/GetValidLwFileNames`)\r\n .then((response) => {\r\n dispatch({\r\n type: FETCH_LWNAMES_FULFILLED,\r\n payload: response.data.result,\r\n });\r\n })\r\n .catch((err) => {\r\n dispatch({ type: FETCH_LWNAMES_REJECTED, payload: err });\r\n });\r\n };\r\n}\r\n\r\nexport function deleteModule(moduleId) {\r\n return (dispatch) => {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .delete(\"/Module/\" + moduleId)\r\n .then((response) => {\r\n dispatch({\r\n type: DELETE_MODULES_FULFILLED,\r\n });\r\n resolve(true);\r\n })\r\n .catch((err) => {\r\n dispatch({ type: DELETE_MODULES_REJECTED, payload: err });\r\n reject(err);\r\n });\r\n });\r\n };\r\n}\r\n","import {\r\n FETCH_MODULES_BEGIN,\r\n FETCH_MODULES_FULFILLED,\r\n FETCH_MODULES_REJECTED,\r\n FETCH_ALL_MODULES_BEGIN,\r\n FETCH_ALL_MODULES_FULFILLED,\r\n FETCH_ALL_MODULES_REJECTED,\r\n FETCH_ALL_MODULES_WITH_COURSES_BEGIN,\r\n FETCH_ALL_MODULES_WITH_COURSES_FULFILLED,\r\n FETCH_ALL_MODULES_WITH_COURSES_REJECTED,\r\n DELETE_MODULES_FULFILLED,\r\n DELETE_MODULES_REJECTED,\r\n FETCH_LWNAMES_BEGIN,\r\n FETCH_LWNAMES_FULFILLED,\r\n FETCH_LWNAMES_REJECTED,\r\n} from \"../actions/moduleActions\";\r\n\r\nexport function moduleReducer(\r\n state = {\r\n loading: false,\r\n result: [],\r\n modules: [],\r\n modulesWithCourses: [],\r\n error: null,\r\n },\r\n action\r\n) {\r\n switch (action.type) {\r\n case FETCH_MODULES_BEGIN: {\r\n return { ...state, loading: true };\r\n }\r\n case FETCH_MODULES_REJECTED: {\r\n return { ...state, loading: false, error: action.payload };\r\n }\r\n case FETCH_MODULES_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload,\r\n };\r\n }\r\n case FETCH_ALL_MODULES_BEGIN: {\r\n return { ...state, loading: true };\r\n }\r\n case FETCH_ALL_MODULES_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n modules: action.payload,\r\n };\r\n }\r\n case FETCH_ALL_MODULES_REJECTED: {\r\n return { ...state, loading: false, error: action.payload };\r\n }\r\n case FETCH_ALL_MODULES_WITH_COURSES_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n modulesWithCourses: action.payload,\r\n };\r\n }\r\n case FETCH_ALL_MODULES_WITH_COURSES_BEGIN: {\r\n return { ...state, loading: true };\r\n }\r\n case FETCH_ALL_MODULES_WITH_COURSES_REJECTED: {\r\n return { ...state, loading: false, error: action.payload };\r\n }\r\n case DELETE_MODULES_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n };\r\n }\r\n case DELETE_MODULES_REJECTED: {\r\n return { ...state, fetching: false, error: action.payload };\r\n }\r\n default: {\r\n return {\r\n ...state,\r\n };\r\n }\r\n }\r\n}\r\nconst INIT_LW_FILENAMES = {\r\n error: null,\r\n loading: true,\r\n result: [],\r\n};\r\n\r\nexport function lwFileNameReducer(state = INIT_LW_FILENAMES, action = {}) {\r\n switch (action.type) {\r\n case FETCH_LWNAMES_BEGIN: {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n };\r\n }\r\n case FETCH_LWNAMES_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload,\r\n };\r\n }\r\n case FETCH_LWNAMES_REJECTED: {\r\n return {\r\n ...state,\r\n error: action.payload.error,\r\n result: [],\r\n };\r\n }\r\n default: {\r\n return { ...state };\r\n }\r\n }\r\n}\r\n","import axios from \"../services/api/api\";\r\n\r\nexport const FETCH_ADMIN_USERS_BEGIN = \"FETCH_ADMIN_USERS_BEGIN\";\r\nexport const FETCH_ADMIN_USERS_FULFILLED = \"FETCH_ADMIN_USERS_FULFILLED\";\r\nexport const FETCH_ADMIN_USERS_REJECTED = \"FETCH_ADMIN_USERS_REJECTED\";\r\n\r\nexport function fetchAdminUsers() {\r\n return function(dispatch) {\r\n return new Promise((resolve, reject) => {\r\n dispatch({\r\n type: FETCH_ADMIN_USERS_BEGIN\r\n });\r\n\r\n axios\r\n .get(\"/user\")\r\n .then(response => {\r\n dispatch({\r\n type: FETCH_ADMIN_USERS_FULFILLED,\r\n payload: response.data.result\r\n });\r\n resolve(\"bulle\");\r\n })\r\n .catch(err => {\r\n dispatch({\r\n type: FETCH_ADMIN_USERS_REJECTED,\r\n payload: err.hasOwnProperty(\"message\") ? err.message : err\r\n });\r\n reject(err);\r\n });\r\n });\r\n };\r\n}\r\n\r\nexport function deleteAdminUser(id) {\r\n return function(dispatch) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .put(`/admin/deleteuser/${id}`)\r\n .then(response => {\r\n resolve();\r\n })\r\n .catch(err => {\r\n reject(err);\r\n });\r\n });\r\n };\r\n}\r\n","export const GET_ACTIVE_FINAL_EXAMS_BEGIN = \"GET_ACTIVE_FINAL_EXAMS_BEGIN\";\r\nexport const GET_ACTIVE_FINAL_EXAMS_FULFILLED =\r\n \"GET_ACTIVE_FINAL_EXAMS_FULFILLED\";\r\nexport const GET_ACTIVE_FINAL_EXAMS_REJECTED =\r\n \"GET_ACTIVE_FINAL_EXAMS_REJECTED\";\r\n\r\nexport const GET_NBROF_ACTIVATED_FINAL_EXAMS_BEGIN =\r\n \"GET_NBROF_ACTIVATED_FINAL_EXAMS_BEGIN\";\r\nexport const GET_NBROF_ACTIVATED_FINAL_EXAMS_FULFILLED =\r\n \"GET_NBROF_ACTIVATED_FINAL_EXAMS_FULFILLED\";\r\nexport const GET_NBROF_ACTIVATED_FINAL_EXAMS_REJECTED =\r\n \"GET_NBROF_ACTIVATED_FINAL_EXAMS_REJECTED\";\r\n\r\nconst initialFinalExamState = {\r\n loading: false,\r\n result: [],\r\n error: null\r\n};\r\n\r\nexport function finalExamReducer(state = initialFinalExamState, action = {}) {\r\n switch (action.type) {\r\n case GET_ACTIVE_FINAL_EXAMS_BEGIN: {\r\n return { ...state, loading: true, error: null };\r\n }\r\n case GET_ACTIVE_FINAL_EXAMS_FULFILLED: {\r\n return { ...state, loading: false, error: null, result: action.payload };\r\n }\r\n case GET_ACTIVE_FINAL_EXAMS_REJECTED: {\r\n return { ...state, loading: false, error: action.payload.error };\r\n }\r\n\r\n default: {\r\n return { ...state };\r\n }\r\n }\r\n}\r\n\r\nconst INIT_NBR_OF_ACTIVATED = {\r\n loading: false,\r\n result: [],\r\n error: null\r\n};\r\n\r\nexport function nbrOfActivatedFinalExamsReducer(\r\n state = INIT_NBR_OF_ACTIVATED,\r\n action = {}\r\n) {\r\n switch (action.type) {\r\n case GET_NBROF_ACTIVATED_FINAL_EXAMS_BEGIN: {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null\r\n };\r\n }\r\n case GET_NBROF_ACTIVATED_FINAL_EXAMS_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n case GET_ACTIVE_FINAL_EXAMS_REJECTED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n result: []\r\n };\r\n }\r\n\r\n default: {\r\n return { ...state };\r\n }\r\n }\r\n}\r\n","const INITIAL_PROGRAM_LICENSES = {\r\n loading: true,\r\n error: null,\r\n result: [],\r\n resultNew: [],\r\n};\r\n\r\nexport const FETCH_PROGRAM_LICENSES_BEGIN = \"FETCH_PROGRAM_LICENSES_BEGIN\";\r\nexport const FETCH_PROGRAM_LICENSES_FULFILLED =\r\n \"FETCH_PROGRAM_LICENSES_FULFILLED\";\r\nexport const FETCH_PROGRAM_LICENSES_REJECTED =\r\n \"FETCH_PROGRAM_LICENSES_REJECTED\";\r\n\r\nexport const FETCH_PROGRAM_LICENSES_BY_CUSTOMER_BEGIN =\r\n \"FETCH_PROGRAM_LICENSES_BY_CUSTOMER_BEGIN\";\r\nexport const FETCH_PROGRAM_LICENSES_BY_CUSTOMER_FULFILLED =\r\n \"FETCH_PROGRAM_LICENSES_BY_CUSTOMER_FULFILLED\";\r\nexport const FETCH_PROGRAM_LICENSES_BY_CUSTOMER_REJECTED =\r\n \"FETCH_PROGRAM_LICENSES_BY_CUSTOMER_REJECTED\";\r\nexport const FETCH_PROGRAM_LICENSES_BY_CUSTOMER_NEW_BEGIN =\r\n \"FETCH_PROGRAM_LICENSES_BY_CUSTOMER_NEW_BEGIN\";\r\nexport const FETCH_PROGRAM_LICENSES_BY_CUSTOMER_NEW_FULFILLED =\r\n \"FETCH_PROGRAM_LICENSES_BY_CUSTOMER_NEW_BEGIN\";\r\nexport const FETCH_PROGRAM_LICENSES_BY_CUSTOMER_NEW_REJECTED =\r\n \"FETCH_PROGRAM_LICENSES_BY_CUSTOMER_NEW_BEGIN\";\r\n\r\nexport function programLicenseReducer(\r\n state = INITIAL_PROGRAM_LICENSES,\r\n action = {}\r\n) {\r\n switch (action.type) {\r\n case FETCH_PROGRAM_LICENSES_BEGIN: {\r\n return { ...state, loading: true, error: null };\r\n }\r\n case FETCH_PROGRAM_LICENSES_FULFILLED: {\r\n return { ...state, loading: false, error: null, result: action.payload };\r\n }\r\n case FETCH_PROGRAM_LICENSES_REJECTED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n };\r\n }\r\n default: {\r\n return { ...state };\r\n }\r\n }\r\n}\r\n\r\nconst INITIAL_PROGRAM_LICENSES_BY_CUSTOMER = {\r\n loading: true,\r\n error: null,\r\n result: [],\r\n};\r\nexport function programLicenseByCustomerReducer(\r\n state = INITIAL_PROGRAM_LICENSES_BY_CUSTOMER,\r\n action = {}\r\n) {\r\n switch (action.type) {\r\n case FETCH_PROGRAM_LICENSES_BY_CUSTOMER_BEGIN: {\r\n return { ...state, loading: true, error: null };\r\n }\r\n case FETCH_PROGRAM_LICENSES_BY_CUSTOMER_FULFILLED: {\r\n return { ...state, loading: false, error: null, result: action.payload };\r\n }\r\n case FETCH_PROGRAM_LICENSES_BY_CUSTOMER_REJECTED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n };\r\n }\r\n default: {\r\n return { ...state };\r\n }\r\n }\r\n}\r\n","export const FETCH_TEACHER_NAVIGATION = \"FETCH_TEACHER_NAVIGATION\";\r\nexport const SET_TEACHER_NAVIGATION = \"SET_TEACHER_NAVIGATION\";\r\nexport const SET_TEACHER_NAVIGATION_PROPS = \"SET_TEACHER_NAVIGATION_PROPS\";\r\n\r\nexport function SetNavigationTab(tabNr) {\r\n return function (dispatch) {\r\n dispatch({\r\n type: \"SET_TEACHER_NAVIGATION\",\r\n payload: { tabNr: tabNr },\r\n });\r\n };\r\n}\r\n\r\nexport function SetNavigationProps(propName, propVar) {\r\n return function (dispatch) {\r\n dispatch({\r\n type: \"SET_TEACHER_NAVIGATION_PROPS\",\r\n payload: { propName: propName, propVar: propVar },\r\n });\r\n };\r\n}\r\n\r\nexport function GetNavigationTab() {\r\n return function (dispatch) {\r\n dispatch({\r\n type: \"FETCH_TEACHER_NAVIGATION\",\r\n });\r\n };\r\n}\r\n","import axios from \"../services/api/api\";\r\n\r\nexport const FETCH_NOTIFICATIONS_BEGIN = \"FETCH_NOTIFICATIONS_BEGIN\";\r\nexport const FETCH_NOTIFICATIONS_FULFILLED = \"FETCH_NOTIFICATIONS_FULFILLED\";\r\nexport const FETCH_NOTIFICATIONS_REJECTED = \"FETCH_NOTIFICATIONS_REJECTED\";\r\nexport const POST_NOTIFICATION_READ_STATUS_BEGIN =\r\n \"POST_NOTIFICATION_READ_STATUS_BEGIN\";\r\nexport const POST_NOTIFICATION_READ_STATUS_FULFILLED =\r\n \"POST_NOTIFICATION_READ_STATUS_FULFILLED\";\r\nexport const POST_NOTIFICATION_READ_ALL_STATUS_FULFILLED =\r\n \"POST_NOTIFICATION_READ_ALL_STATUS_FULFILLED\";\r\nexport const POST_NOTIFICATION_READ_STATUS_REJECTED =\r\n \"POST_NOTIFICATION_READ_STATUS_REJECTED\";\r\nexport const DELETE_NOTIFICATION_BEGIN = \"DELETE_NOTIFICATION_BEGIN\";\r\nexport const DELETE_NOTIFICATION_FULFILLED = \"DELETE_NOTIFICATION_FULFILLED\";\r\nexport const DELETE_NOTIFICATION_REJECTED = \"DELETE_NOTIFICATION_REJECTED\";\r\n\r\nexport function fetchNotifications(data) {\r\n return (dispatch) => {\r\n dispatch({\r\n type: FETCH_NOTIFICATIONS_BEGIN,\r\n payload: { loading: true },\r\n });\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`/User/GetNotices`)\r\n .then((response) => {\r\n dispatch({\r\n type: FETCH_NOTIFICATIONS_FULFILLED,\r\n payload: response.data.result,\r\n });\r\n resolve(true);\r\n })\r\n .catch((err) => {\r\n dispatch({ type: FETCH_NOTIFICATIONS_REJECTED, payload: err });\r\n reject(err);\r\n });\r\n });\r\n };\r\n}\r\n\r\nexport function postNotificationRead(notificationId, read) {\r\n return (dispatch) => {\r\n dispatch({\r\n type: POST_NOTIFICATION_READ_STATUS_BEGIN,\r\n payload: { loading: true },\r\n });\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .post(`/User/SetNoticeToRead?noticeId=${notificationId}`)\r\n .then(() => {\r\n dispatch({\r\n type: POST_NOTIFICATION_READ_STATUS_FULFILLED,\r\n payload: {\r\n id: notificationId,\r\n read: true,\r\n },\r\n });\r\n resolve(true);\r\n })\r\n .catch((err) => {\r\n dispatch({ type: FETCH_NOTIFICATIONS_REJECTED, payload: err });\r\n reject(err);\r\n });\r\n });\r\n };\r\n}\r\n\r\nexport function postSetNotificationsToRead(noticeIds) {\r\n return (dispatch) => {\r\n dispatch({\r\n type: POST_NOTIFICATION_READ_STATUS_BEGIN,\r\n payload: { loading: true },\r\n });\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .post(`/User/SetNoticesToRead`, { ids: noticeIds })\r\n .then((res) => {\r\n dispatch({\r\n type: POST_NOTIFICATION_READ_ALL_STATUS_FULFILLED,\r\n payload: res.data.result,\r\n });\r\n resolve(true);\r\n })\r\n .catch((err) => {\r\n dispatch({ type: FETCH_NOTIFICATIONS_REJECTED, payload: err });\r\n reject(err);\r\n });\r\n });\r\n };\r\n}\r\n\r\nexport function toggleDeleteNotification(notificationData) {\r\n return (dispatch) => {\r\n dispatch({\r\n type: DELETE_NOTIFICATION_BEGIN,\r\n payload: { loading: true },\r\n });\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .post(\r\n `/User/SetNoticeDeletedStatus?noticeId=${notificationData.notificationId}&isDeleted=${notificationData.isDeleted}`\r\n )\r\n .then((response) => {\r\n dispatch({\r\n type: DELETE_NOTIFICATION_FULFILLED,\r\n payload: {\r\n id: notificationData.notificationId,\r\n isDeleted: notificationData.isDeleted,\r\n },\r\n });\r\n resolve(true);\r\n })\r\n .catch((err) => {\r\n dispatch({ type: DELETE_NOTIFICATION_REJECTED, payload: err });\r\n reject(err);\r\n });\r\n });\r\n };\r\n}\r\n","export const SET_SUPERUSER_SCHOOL_TABLE_SCROLL =\r\n \"SET_SUPERUSER_SCHOOL_TABLE_SCROLL\";\r\n\r\nexport function setSuperuserSchoolTableScroll(scrollPos) {\r\n return function (dispatch) {\r\n dispatch({\r\n type: SET_SUPERUSER_SCHOOL_TABLE_SCROLL,\r\n payload: scrollPos,\r\n });\r\n };\r\n}\r\n","import { combineReducers } from \"redux\";\r\nimport { reducer as formReducer } from \"redux-form\";\r\nimport auth from \"./authReducer\";\r\nimport course from \"./courseReducer\";\r\nimport {\r\n studentCourse,\r\n studentInformationReducer,\r\n studentResult,\r\n} from \"./studentReducer\";\r\nimport {\r\n teacherStudentReducer,\r\n teacherInformationReducer,\r\n} from \"./teacherReducer\";\r\nimport { productsReducer, studentWithLicenseReducer } from \"./productsReducer\";\r\nimport newCartReducer from \"./newCartReducer\";\r\nimport {\r\n studentResultsReducer,\r\n studentRunReducer,\r\n studentResultByStudentReducer,\r\n studentAverageResultByStudentReducer,\r\n studentResultTimelineReducer,\r\n} from \"./studentResultsReducer\";\r\nimport { studentProfileReducer } from \"./studentProfileReducer\";\r\nimport { teacherResultsReducer } from \"./teacherResultsReducer\";\r\nimport { teacherCoursesReducer } from \"./teacherCoursesReducer\";\r\nimport { teacherModuleResultsReducer } from \"./teacherModuleResultsReducer\";\r\nimport { invoiceHistoryReducer } from \"./invoiceHistoryReducer\";\r\nimport { toggleFinalExamReducer } from \"./toggleFinalExamReducer\";\r\nimport { schoolReducer } from \"./schoolReducer\";\r\nimport { classReducer } from \"./classReducer\";\r\nimport { coursesListReducer } from \"./coursesListReducer\";\r\nimport { studentsForSchoolReducer } from \"./studentForSchoolReducer\";\r\nimport { moduleReducer, lwFileNameReducer } from \"./moduleReducer\";\r\nimport { adminUsersReducer } from \"./adminUsersReducer\";\r\nimport {\r\n coursesByClassReducer,\r\n coursesByProgramReducer,\r\n coursesByStudentReducer,\r\n coursesByTeacherReducer,\r\n bestCourseBySchoolReducer,\r\n coursesInProgressBySchoolReducer,\r\n} from \"./courseReducer\";\r\nimport { programmeReducer, fortnoxProgramReducer } from \"./programmeReducer\";\r\nimport { orientationReducer } from \"./orientationReducer\";\r\nimport { schoolDataReducer } from \"./schoolDataReducer\";\r\nimport {\r\n finalExamReducer,\r\n nbrOfActivatedFinalExamsReducer,\r\n} from \"./finalExamReducer\";\r\nimport {\r\n programLicenseReducer,\r\n programLicenseByCustomerReducer,\r\n} from \"./programLicenseReducer\";\r\nimport {\r\n studentRatingsReducer,\r\n moduleRatingsReducer,\r\n avgRatingsReducer,\r\n studentTotalRatingsReducer,\r\n} from \"./ratingsReducer\";\r\nimport { teacherTabNavReducer } from \"./teacherTabNavReducer\";\r\nimport { notificationsReducer } from \"./notificationsReducer\";\r\nimport { scrollReducer } from \"./scrollReducer\";\r\n\r\nexport default combineReducers({\r\n auth,\r\n form: formReducer,\r\n course,\r\n studentCourse,\r\n studentResult,\r\n teacherStudentReducer,\r\n productsReducer,\r\n newCartReducer,\r\n studentResultsReducer,\r\n studentProfileReducer,\r\n teacherResultsReducer,\r\n teacherCoursesReducer,\r\n studentInformationReducer,\r\n teacherModuleResultsReducer,\r\n teacherInformationReducer,\r\n invoiceHistoryReducer,\r\n toggleFinalExamReducer,\r\n schoolReducer,\r\n classReducer,\r\n coursesListReducer,\r\n studentsForSchoolReducer,\r\n moduleReducer,\r\n adminUsersReducer,\r\n studentRunReducer,\r\n studentResultByStudentReducer,\r\n coursesByClassReducer,\r\n coursesByProgramReducer,\r\n coursesByStudentReducer,\r\n coursesByTeacherReducer,\r\n programmeReducer,\r\n orientationReducer,\r\n schoolDataReducer,\r\n bestCourseBySchoolReducer,\r\n coursesInProgressBySchoolReducer,\r\n finalExamReducer,\r\n nbrOfActivatedFinalExamsReducer,\r\n studentAverageResultByStudentReducer,\r\n studentResultTimelineReducer,\r\n programLicenseReducer,\r\n programLicenseByCustomerReducer,\r\n studentWithLicenseReducer,\r\n fortnoxProgramReducer,\r\n lwFileNameReducer,\r\n studentRatingsReducer,\r\n moduleRatingsReducer,\r\n avgRatingsReducer,\r\n studentTotalRatingsReducer,\r\n teacherTabNavReducer,\r\n notificationsReducer,\r\n scrollReducer,\r\n});\r\n","import {\r\n AUTHENTICATING,\r\n AUTHENTICATED,\r\n UNAUTHENTICATED,\r\n AUTHENTICATION_ERROR,\r\n} from \"../actions/authActions\";\r\n\r\nexport default function AuthReducer(\r\n state = {\r\n auth: {\r\n token: null,\r\n refresh_token: null,\r\n code: null,\r\n message: null,\r\n exp: null,\r\n email: null,\r\n roles: null,\r\n error: null,\r\n isLoggingIn: false,\r\n },\r\n authenticated: false,\r\n },\r\n action\r\n) {\r\n switch (action.type) {\r\n case AUTHENTICATING:\r\n return { ...state, auth: action.payload, isLoggingIn: true };\r\n case AUTHENTICATED:\r\n return {\r\n ...state,\r\n authenticated: true,\r\n auth: action.payload,\r\n isLoggingIn: false,\r\n };\r\n case UNAUTHENTICATED:\r\n return {\r\n ...state,\r\n authenticated: false,\r\n auth: {\r\n token: null,\r\n refresh_token: null,\r\n code: null,\r\n message: null,\r\n exp: null,\r\n email: null,\r\n roles: null,\r\n error: null,\r\n isLoggingIn: false,\r\n },\r\n };\r\n case AUTHENTICATION_ERROR:\r\n return { ...state, auth: action.payload, isLoggingIn: false };\r\n default:\r\n return state;\r\n }\r\n}\r\n","export function schoolReducer(\r\n state = {\r\n loading: true,\r\n result: [],\r\n schoolResult: null,\r\n error: null\r\n },\r\n action\r\n) {\r\n switch (action.type) {\r\n case \"FETCH_SCHOOL_TEACHERS_BEGIN\": {\r\n return { ...state, loading: true };\r\n }\r\n case \"FETCH_SCHOOL_TEACHERS_REJECTED\": {\r\n return { ...state, loading: false, error: action.payload };\r\n }\r\n case \"FETCH_SCHOOL_TEACHERS_FULFILLED\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n case \"FETCH_SCHOOLS_BEGIN\": {\r\n return { ...state, loading: true };\r\n }\r\n case \"FETCH_SCHOOLS_REJECTED\": {\r\n return { ...state, loading: false, error: action.payload };\r\n }\r\n case \"FETCH_SCHOOLS_FULFILLED\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n schoolResult: action.payload\r\n };\r\n }\r\n default: {\r\n return {\r\n ...state\r\n };\r\n }\r\n }\r\n}\r\n","import {\r\n FETCH_CLASSES_BEGIN,\r\n FETCH_CLASSES_FULFILLED,\r\n FETCH_CLASSES_REJECTED,\r\n FETCH_CLASS_BEGIN,\r\n FETCH_CLASS_FULFILLED,\r\n FETCH_CLASS_REJECTED,\r\n} from \"../actions/classActions\";\r\n\r\nexport function classReducer(\r\n state = {\r\n loading: false,\r\n result: [],\r\n error: null,\r\n singleClass: [],\r\n loadingSingleClass: false,\r\n },\r\n action\r\n) {\r\n switch (action.type) {\r\n case FETCH_CLASSES_BEGIN: {\r\n return { ...state, loading: true };\r\n }\r\n case FETCH_CLASSES_REJECTED: {\r\n return { ...state, loading: false, error: action.payload };\r\n }\r\n case FETCH_CLASSES_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload,\r\n };\r\n }\r\n case FETCH_CLASS_BEGIN: {\r\n return { ...state, loadingSingleClass: true };\r\n }\r\n case FETCH_CLASS_REJECTED: {\r\n return { ...state, loadingSingleClass: false, error: action.payload };\r\n }\r\n case FETCH_CLASS_FULFILLED: {\r\n return {\r\n ...state,\r\n loadingSingleClass: false,\r\n singleClass: action.payload,\r\n };\r\n }\r\n default: {\r\n return {\r\n ...state,\r\n };\r\n }\r\n }\r\n}\r\n","import {\r\n FETCH_ORPHAN_COURSES_BEGIN,\r\n FETCH_ORPHAN_COURSES_FULFILLED,\r\n FETCH_ORPHAN_COURSES_REJECTED,\r\n FETCH_COURSES_LIST_BEGIN,\r\n FETCH_COURSES_LIST_REJECTED,\r\n FETCH_COURSES_LIST_FULFILLED,\r\n FETCH_SIXMONTHS_COURSES_LIST_BEGIN,\r\n FETCH_SIXMONTHS_COURSES_LIST_REJECTED,\r\n FETCH_SIXMONTHS_COURSES_LIST_FULFILLED,\r\n} from \"../actions/coursesActions\";\r\n\r\nexport function coursesListReducer(\r\n state = {\r\n loading: false,\r\n result: [],\r\n slimResult: [],\r\n error: null,\r\n orphanCourses: [],\r\n },\r\n action\r\n) {\r\n switch (action.type) {\r\n case FETCH_COURSES_LIST_BEGIN: {\r\n return { ...state, loading: true };\r\n }\r\n case FETCH_COURSES_LIST_REJECTED: {\r\n return { ...state, loading: false, error: action.payload };\r\n }\r\n case FETCH_COURSES_LIST_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload,\r\n };\r\n }\r\n case FETCH_SIXMONTHS_COURSES_LIST_BEGIN: {\r\n return { ...state, loading: true };\r\n }\r\n case FETCH_SIXMONTHS_COURSES_LIST_REJECTED: {\r\n return { ...state, loading: false, error: action.payload };\r\n }\r\n case FETCH_SIXMONTHS_COURSES_LIST_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n slimResult: action.payload,\r\n };\r\n }\r\n case FETCH_ORPHAN_COURSES_BEGIN: {\r\n return {\r\n ...state,\r\n loading: true,\r\n };\r\n }\r\n case FETCH_ORPHAN_COURSES_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n orphanCourses: action.payload,\r\n };\r\n }\r\n case FETCH_ORPHAN_COURSES_REJECTED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n };\r\n }\r\n default: {\r\n return {\r\n ...state,\r\n };\r\n }\r\n }\r\n}\r\n","import {\r\n FETCH_STUDENTS_FOR_SCHOOL_BEGIN,\r\n FETCH_STUDENTS_FOR_SCHOOL_FULFILLED,\r\n FETCH_STUDENTS_FOR_SCHOOL_REJECTED\r\n} from \"../actions/studentActions\";\r\n\r\nexport function studentsForSchoolReducer(\r\n state = {\r\n loading: false,\r\n result: [],\r\n schoolResult: [],\r\n error: null\r\n },\r\n action\r\n) {\r\n switch (action.type) {\r\n case FETCH_STUDENTS_FOR_SCHOOL_BEGIN: {\r\n return { ...state, loading: true };\r\n }\r\n case FETCH_STUDENTS_FOR_SCHOOL_REJECTED: {\r\n return { ...state, loading: false, error: action.payload };\r\n }\r\n case FETCH_STUDENTS_FOR_SCHOOL_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n default: {\r\n return {\r\n ...state\r\n };\r\n }\r\n }\r\n}\r\n","import {\r\n FETCH_ADMIN_USERS_BEGIN,\r\n FETCH_ADMIN_USERS_FULFILLED,\r\n FETCH_ADMIN_USERS_REJECTED\r\n} from \"../actions/adminUsersActions\";\r\n\r\nexport function adminUsersReducer(\r\n state = {\r\n loading: false,\r\n result: [],\r\n error: null\r\n },\r\n action\r\n) {\r\n switch (action.type) {\r\n case FETCH_ADMIN_USERS_BEGIN: {\r\n return { ...state, loading: true };\r\n }\r\n\r\n case FETCH_ADMIN_USERS_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n\r\n case FETCH_ADMIN_USERS_REJECTED: {\r\n return { ...state, loading: false, error: action.payload };\r\n }\r\n\r\n default: {\r\n return {\r\n ...state\r\n };\r\n }\r\n }\r\n}\r\n","export function programmeReducer(\r\n state = {\r\n loading: false,\r\n result: [],\r\n programmeResult: [],\r\n error: null\r\n },\r\n action\r\n) {\r\n switch (action.type) {\r\n case \"FETCH_PROGRAMME_BEGIN\": {\r\n return { ...state, loading: true };\r\n }\r\n case \"FETCH_PROGRAMME_REJECTED\": {\r\n return { ...state, loading: false, error: action.payload };\r\n }\r\n case \"FETCH_PROGRAMME_FULFILLED\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n case \"FETCH_PROGRAMMES_BEGIN\": {\r\n return { ...state, loading: true };\r\n }\r\n case \"FETCH_PROGRAMMES_REJECTED\": {\r\n return { ...state, loading: false, error: action.payload };\r\n }\r\n case \"FETCH_PROGRAMMES_FULFILLED\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n default: {\r\n return {\r\n ...state\r\n };\r\n }\r\n }\r\n}\r\n\r\nexport function fortnoxProgramReducer(\r\n state = {\r\n loading: false,\r\n result: [],\r\n error: null\r\n },\r\n action\r\n) {\r\n switch (action.type) {\r\n case \"FETCH_FORTNOX_PROGRAMS_BEGIN\": {\r\n return { ...state, loading: true };\r\n }\r\n case \"FETCH_FORTNOX_PROGRAMS_REJECTED\": {\r\n return { ...state, loading: false, error: action.payload };\r\n }\r\n case \"FETCH_FORTNOX_PROGRAMS_FULFILLED\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n default: {\r\n return {\r\n ...state\r\n };\r\n }\r\n }\r\n}\r\n","export function orientationReducer(\r\n state = {\r\n loading: false,\r\n result: [],\r\n orientationResult: [],\r\n error: null\r\n },\r\n action\r\n) {\r\n switch (action.type) {\r\n case \"FETCH_ORIENTATIONS_BEGIN\": {\r\n return { ...state, loading: true };\r\n }\r\n case \"FETCH_ORIENTATIONS_REJECTED\": {\r\n return { ...state, loading: false, error: action.payload };\r\n }\r\n case \"FETCH_ORIENTATIONS_FULFILLED\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n default: {\r\n return {\r\n ...state\r\n };\r\n }\r\n }\r\n}\r\n","export function schoolDataReducer(\r\n state = {\r\n loading: false,\r\n result: [],\r\n error: null\r\n },\r\n action\r\n) {\r\n switch (action.type) {\r\n case \"FETCH_SCHOOLDATA_BEGIN\": {\r\n return { ...state, loading: true };\r\n }\r\n case \"FETCH_SCHOOLDATA_REJECTED\": {\r\n return { ...state, loading: false, error: action.payload };\r\n }\r\n case \"FETCH_SCHOOLDATA_FULFILLED\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload\r\n };\r\n }\r\n default: {\r\n return {\r\n ...state\r\n };\r\n }\r\n }\r\n}\r\n","import {\r\n FETCH_COURSES_GRADES_BEGIN,\r\n FETCH_COURSES_GRADES_REJECTED,\r\n FETCH_COURSES_GRADES_FULFILLED\r\n} from \"../actions/coursesActions\";\r\n\r\nexport function studentRatingsReducer(\r\n state = {\r\n loading: true,\r\n result: [],\r\n error: null\r\n },\r\n action\r\n) {\r\n switch (action.type) {\r\n case FETCH_COURSES_GRADES_BEGIN: {\r\n return { ...state, loading: true };\r\n }\r\n case FETCH_COURSES_GRADES_REJECTED: {\r\n return { ...state, loading: false, error: action.payload };\r\n }\r\n case FETCH_COURSES_GRADES_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload.studentRatings\r\n };\r\n }\r\n default: {\r\n return {\r\n ...state\r\n };\r\n }\r\n }\r\n}\r\nexport function moduleRatingsReducer(\r\n state = {\r\n loading: true,\r\n result: [],\r\n error: null\r\n },\r\n action\r\n) {\r\n switch (action.type) {\r\n case FETCH_COURSES_GRADES_BEGIN: {\r\n return { ...state, loading: true };\r\n }\r\n case FETCH_COURSES_GRADES_REJECTED: {\r\n return { ...state, loading: false, error: action.payload };\r\n }\r\n case FETCH_COURSES_GRADES_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload.moduleRatings\r\n };\r\n }\r\n default: {\r\n return {\r\n ...state\r\n };\r\n }\r\n }\r\n}\r\nexport function avgRatingsReducer(\r\n state = {\r\n loading: true,\r\n result: [],\r\n error: null\r\n },\r\n action\r\n) {\r\n switch (action.type) {\r\n case FETCH_COURSES_GRADES_BEGIN: {\r\n return { ...state, loading: true };\r\n }\r\n case FETCH_COURSES_GRADES_REJECTED: {\r\n return { ...state, loading: false, error: action.payload };\r\n }\r\n case FETCH_COURSES_GRADES_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload.gradeAverage\r\n };\r\n }\r\n default: {\r\n return {\r\n ...state\r\n };\r\n }\r\n }\r\n}\r\nexport function studentTotalRatingsReducer(\r\n state = {\r\n loading: true,\r\n result: null,\r\n error: null\r\n },\r\n action\r\n) {\r\n switch (action.type) {\r\n case FETCH_COURSES_GRADES_BEGIN: {\r\n return { ...state, loading: true };\r\n }\r\n case FETCH_COURSES_GRADES_REJECTED: {\r\n return { ...state, loading: false, error: action.payload };\r\n }\r\n case FETCH_COURSES_GRADES_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n result: action.payload.totalNumberOfGrades\r\n };\r\n }\r\n default: {\r\n return {\r\n ...state\r\n };\r\n }\r\n }\r\n}\r\n","import {\r\n FETCH_TEACHER_NAVIGATION,\r\n SET_TEACHER_NAVIGATION,\r\n SET_TEACHER_NAVIGATION_PROPS,\r\n} from \"../actions/teacherTabNavActions\";\r\n\r\nexport function teacherTabNavReducer(\r\n state = {\r\n loading: false,\r\n tab: 1,\r\n error: null,\r\n selectedAplPeriodId: null,\r\n selectedAplTab: 1,\r\n },\r\n action\r\n) {\r\n switch (action.type) {\r\n case FETCH_TEACHER_NAVIGATION: {\r\n return { ...state };\r\n }\r\n case SET_TEACHER_NAVIGATION: {\r\n return { ...state, tab: action.payload.tabNr };\r\n }\r\n case SET_TEACHER_NAVIGATION_PROPS: {\r\n if (action.payload.propName === \"selectedAplPeriod\") {\r\n return {\r\n ...state,\r\n selectedAplPeriodId: action.payload.propVar,\r\n };\r\n } else if (action.payload.propName === \"selectedAplTab\") {\r\n return { ...state, selectedAplTab: action.payload.propVar };\r\n } else {\r\n return { ...state };\r\n }\r\n }\r\n default: {\r\n return {\r\n ...state,\r\n };\r\n }\r\n }\r\n}\r\n","import {\r\n FETCH_NOTIFICATIONS_BEGIN,\r\n FETCH_NOTIFICATIONS_FULFILLED,\r\n FETCH_NOTIFICATIONS_REJECTED,\r\n POST_NOTIFICATION_READ_STATUS_BEGIN,\r\n POST_NOTIFICATION_READ_STATUS_FULFILLED,\r\n POST_NOTIFICATION_READ_ALL_STATUS_FULFILLED,\r\n POST_NOTIFICATION_READ_STATUS_REJECTED,\r\n DELETE_NOTIFICATION_BEGIN,\r\n DELETE_NOTIFICATION_FULFILLED,\r\n DELETE_NOTIFICATION_REJECTED,\r\n} from \"../actions/notificationActions\";\r\n\r\nexport function notificationsReducer(\r\n state = {\r\n loading: false,\r\n notifications: [],\r\n error: null,\r\n },\r\n action\r\n) {\r\n switch (action.type) {\r\n case FETCH_NOTIFICATIONS_BEGIN: {\r\n return { ...state, loading: true };\r\n }\r\n case FETCH_NOTIFICATIONS_REJECTED: {\r\n return { ...state, loading: false, error: action.payload };\r\n }\r\n case FETCH_NOTIFICATIONS_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n notifications: action.payload,\r\n };\r\n }\r\n case POST_NOTIFICATION_READ_STATUS_BEGIN: {\r\n return { ...state, loading: true };\r\n }\r\n case POST_NOTIFICATION_READ_STATUS_FULFILLED: {\r\n let tempNotifications = [...state.notifications];\r\n tempNotifications.forEach((noti) => {\r\n if (noti.notice.id === action.payload.id) {\r\n noti.isSeenByMe = action.payload.read;\r\n }\r\n });\r\n return {\r\n ...state,\r\n loading: false,\r\n notifications: tempNotifications,\r\n };\r\n }\r\n case POST_NOTIFICATION_READ_ALL_STATUS_FULFILLED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n notifications: action.payload,\r\n };\r\n }\r\n case POST_NOTIFICATION_READ_STATUS_REJECTED: {\r\n return { ...state };\r\n }\r\n case DELETE_NOTIFICATION_BEGIN: {\r\n return { ...state, loading: true };\r\n }\r\n case DELETE_NOTIFICATION_FULFILLED: {\r\n let tempNotificationsForDelete = [...state.notifications];\r\n tempNotificationsForDelete.forEach((noti) => {\r\n if (noti.notice.id === action.payload.id) {\r\n noti.notice.isDeleted = action.payload.isDeleted;\r\n }\r\n });\r\n return {\r\n ...state,\r\n notifications: tempNotificationsForDelete,\r\n loading: false,\r\n };\r\n }\r\n case DELETE_NOTIFICATION_REJECTED: {\r\n return { ...state, loading: false };\r\n }\r\n default: {\r\n return {\r\n ...state,\r\n };\r\n }\r\n }\r\n}\r\n","import { SET_SUPERUSER_SCHOOL_TABLE_SCROLL } from \"../actions/scrollActions\";\r\n\r\nexport function scrollReducer(\r\n state = {\r\n superuserSchoolTableScroll: null,\r\n error: null,\r\n },\r\n action\r\n) {\r\n switch (action.type) {\r\n case SET_SUPERUSER_SCHOOL_TABLE_SCROLL: {\r\n return { ...state, superuserSchoolTableScroll: action.payload };\r\n }\r\n default: {\r\n return {\r\n ...state,\r\n };\r\n }\r\n }\r\n}\r\n","import { createStore, applyMiddleware, compose } from \"redux\";\r\n\r\nimport { createLogger } from \"redux-logger\";\r\nimport thunk from \"redux-thunk\";\r\nimport { createPromise } from \"redux-promise-middleware\";\r\nimport reducer from \"./reducers\";\r\n\r\nconst composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\r\nconst middleWare = [];\r\n\r\nmiddleWare.push(thunk);\r\nmiddleWare.push(createPromise());\r\n\r\nconst loggerMiddleware = createLogger({\r\n predicate: () => process.env.NODE_ENV === \"development\"\r\n});\r\nmiddleWare.push(loggerMiddleware);\r\n\r\nconst enhancer = composeEnhancers(applyMiddleware(...middleWare));\r\n\r\nexport default createStore(reducer, enhancer);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nexport default function requireAuth (ComposedComponent) {\r\n class Authentication extends Component {\r\n UNSAFE_componentWillMount() {\r\n if (!this.props.authenticated) {\r\n this.props.history.push(\"/login\");\r\n }\r\n }\r\n\r\n UNSAFE_componentWillUpdate(nextProps) {\r\n if (!nextProps.authenticated) {\r\n this.props.history.push(\"/login\");\r\n }\r\n }\r\n\r\n PropTypes = {\r\n router: PropTypes.object\r\n };\r\n\r\n render() {\r\n return ;\r\n }\r\n }\r\n\r\n function mapStateToProps(state) {\r\n return { authenticated: state.auth.authenticated };\r\n }\r\n\r\n return connect(mapStateToProps)(Authentication);\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nexport default function noRequireAuth (ComposedComponent) {\r\n class NotAuthentication extends Component {\r\n UNSAFE_componentWillMount() {\r\n if (this.props.authenticated) {\r\n this.props.history.push(\"/\");\r\n }\r\n }\r\n\r\n UNSAFE_componentWillUpdate(nextProps) {\r\n if (nextProps.authenticated) {\r\n this.props.history.push(\"/\");\r\n }\r\n }\r\n\r\n PropTypes = {\r\n router: PropTypes.object\r\n };\r\n\r\n render() {\r\n return ;\r\n }\r\n }\r\n\r\n function mapStateToProps(state) {\r\n return { authenticated: state.auth.authenticated };\r\n }\r\n\r\n return connect(mapStateToProps)(NotAuthentication);\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { signOutAction } from \"../../actions/authActions\";\r\nimport { connect } from \"react-redux\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\nclass ButtonLogout extends Component {\r\n signOut = () => {\r\n this.props.signOutAction();\r\n };\r\n\r\n userIcons = (role) => {\r\n switch (role) {\r\n case \"Teacher\":\r\n return \"graduation-cap\";\r\n case \"Student\":\r\n return \"user\";\r\n case \"Superuser\":\r\n return \"user-ninja\";\r\n case \"Admin\":\r\n return \"user-plus\";\r\n default:\r\n return \"user\";\r\n }\r\n };\r\n\r\n render() {\r\n var role = localStorage.getItem(\"role\") ? localStorage.getItem(\"role\") : \"\";\r\n var email = localStorage.getItem(\"email\");\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 {email}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default connect(null, { signOutAction })(ButtonLogout);\r\n","import React, { Component } from \"react\";\r\n\r\nclass ToggleHelp extends Component {\r\n state = {\r\n help: localStorage.getItem(\"help\")\r\n };\r\n toggleHelpOnOff = () => {\r\n this.setState({ help: !localStorage.getItem(\"help\") });\r\n localStorage.setItem(\"help\", !localStorage.getItem(\"help\"));\r\n };\r\n\r\n render() {\r\n return (\r\n
this.toggleHelpOnOff()}>\r\n {/* Releaseinfo */}\r\n
\r\n );\r\n }\r\n}\r\nexport default ToggleHelp;\r\n","import axios from \"../services/api/api\";\r\nimport { useQuery } from \"react-query\";\r\n\r\n//LICENSEQUERIES\r\nconst FetchInvoiceHistoryByEmail = async (email) => {\r\n const res = await axios.get(`/Shop/MyOrders`);\r\n return res.data.result;\r\n};\r\nexport function GetInvoiceHistoryByEmail(email) {\r\n return useQuery(\r\n [\"FetchInvoiceHistoryByEmail\", email],\r\n () => FetchInvoiceHistoryByEmail(email),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\n//SCHOOLQUERIES\r\nconst FetchSchoolDataBySchoolId = async (schoolId) => {\r\n const res = await axios.get(`/school/GetSchoolData/${schoolId}`);\r\n return res.data.result;\r\n};\r\nexport function GetSchoolDataBySchoolId(schoolId) {\r\n return useQuery(\r\n [\"FetchSchoolDataBySchoolId\", schoolId],\r\n () => FetchSchoolDataBySchoolId(schoolId),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\n//TEACHERQUERIES\r\nconst FetchTeacherInformation = async () => {\r\n var email = localStorage.getItem(\"email\");\r\n const res = await axios.get(`/Teacher/ByEmail?teacherEmail=${email}`);\r\n if (typeof res !== \"undefined\") {\r\n if (res.data.result.programmes) {\r\n localStorage.setItem(\"schoolName\", res.data.result.customer.name);\r\n\r\n localStorage.setItem(\"school\", JSON.stringify(res.data.result.customer));\r\n\r\n return res.data.result;\r\n }\r\n return res;\r\n }\r\n};\r\nexport function GetTeacherInformation() {\r\n return useQuery(\r\n [\"FetchTeacherInformation\"],\r\n () => FetchTeacherInformation(),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchTeacherInfoById = async (teacherId) => {\r\n const res = await axios.get(`/Teacher/${teacherId}`);\r\n return res.data.result;\r\n};\r\nexport function GetTeacherInfoById(teacherId) {\r\n return useQuery([\"FetchTeacherInfoById\", teacherId], () =>\r\n FetchTeacherInfoById(teacherId)\r\n );\r\n}\r\n\r\nconst FetchTeacherCourses = async () => {\r\n var email = localStorage.getItem(\"email\");\r\n const res = await axios.get(`/Teacher/Courses?email=${email}`);\r\n if (typeof res !== \"undefined\") {\r\n if (res.data.result.programmes) {\r\n localStorage.setItem(\"schoolName\", res.data.result.customer.name);\r\n\r\n localStorage.setItem(\"school\", JSON.stringify(res.data.result.customer));\r\n }\r\n return res.data.result;\r\n }\r\n};\r\nexport function GetTeacherCourses() {\r\n return useQuery([\"FetchTeacherCourses\"], () => FetchTeacherCourses());\r\n}\r\n\r\nconst FetchAvailableModuleAnswers = async () => {\r\n const res = await axios.get(`/Module/GetAvailableModuleAnswers`);\r\n return res.data.result;\r\n};\r\n\r\nexport function GetAvailableModuleAnswers() {\r\n return useQuery([\"FetchAvailableModuleAnswers\"], () =>\r\n FetchAvailableModuleAnswers()\r\n );\r\n}\r\n\r\n//PROGRAMQUERIES\r\nconst FetchProgramById = async (programId) => {\r\n const res = await axios.get(`/programme/${programId}`);\r\n return res.data.result;\r\n};\r\nexport function GetProgramById(programId) {\r\n return useQuery(\r\n [\"FetchProgramById\", programId],\r\n () => FetchProgramById(programId),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchResultsByProgramId = async (programId) => {\r\n const res = await axios.get(\r\n `/Course/GetCoursesWithResultsByProgram/${programId}`\r\n );\r\n return res.data.result;\r\n};\r\nexport function GetResultsByProgramId(programId) {\r\n return useQuery(\r\n [\"FetchResultsByProgramId\", programId],\r\n () => FetchResultsByProgramId(programId),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\n//CLASSQUERIES\r\nconst FetchClassByClassId = async (classId) => {\r\n const res = await axios.get(`/Class/GetByClassId/${classId}`);\r\n return res.data.result;\r\n};\r\nexport function GetClassByClassId(classId) {\r\n return useQuery(\r\n [\"FetchClassByClassId\", classId],\r\n () => FetchClassByClassId(classId),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchCoursesByClassId = async (classId) => {\r\n const res = await axios.get(\r\n `/Course/GetCoursesWithResultsByClass/${classId}`\r\n );\r\n return res.data.result;\r\n};\r\nexport function GetCoursesByClassId(classId) {\r\n return useQuery(\r\n [\"FetchCoursesByClassId\", classId],\r\n () => FetchCoursesByClassId(classId),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchModuleResultsByClassId = async (classId) => {\r\n const res = await axios.get(\r\n `/Teacher/ModuleResultsByClassId?classId=${classId}`\r\n );\r\n return res.data.result;\r\n};\r\nexport function GetModuleResultsByClassId(classId) {\r\n return useQuery(\r\n [\"FetchModuleResultsByClassId\", classId],\r\n () => FetchModuleResultsByClassId(classId),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\n//APLQUERIES\r\nconst FetchSupervisors = async (schoolId) => {\r\n const res = await axios.get(\r\n `/Apl/GetSupervisorsForSchool?schoolId=${schoolId}`\r\n );\r\n return res.data.result;\r\n};\r\nexport function GetSupervisors(schoolId) {\r\n return useQuery(\r\n [\"FetchSupervisors\", schoolId],\r\n () => FetchSupervisors(schoolId),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchSupervisorCompanies = async () => {\r\n const res = await axios.get(`/Apl/GetCompanies`);\r\n return res.data.result;\r\n};\r\nexport function GetSupervisorCompanies() {\r\n return useQuery(\r\n [\"FetchSupervisorCompanies\"],\r\n () => FetchSupervisorCompanies(),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchWorkCards = async () => {\r\n const res = await axios.get(`/Apl/GetWorkCards`);\r\n return res.data.result;\r\n};\r\nexport function GetWorkCards() {\r\n return useQuery([\"FetchWorkCards\"], () => FetchWorkCards(), {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n });\r\n}\r\n\r\nconst FetchAplAttendancesByStudentId = async (studentId) => {\r\n const res = await axios.get(\r\n `/Apl/AttendancesByStudent/?studentId=${studentId}`\r\n );\r\n return res.data.result;\r\n};\r\nexport function GetAplAttendancesByStudentId(studentId) {\r\n return useQuery(\r\n [\"FetchAplAttendancesByStudentId\", studentId],\r\n () => FetchAplAttendancesByStudentId(studentId),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchAplSupervisorsAndStudentsByPeriodId = async (periodId) => {\r\n let res = null;\r\n if (!periodId) {\r\n return res;\r\n } else {\r\n res = await axios.get(\r\n `/Apl/GetSupervisorsAndStudentsByPeriodId/?periodId=${periodId}`\r\n );\r\n return res.data.result;\r\n }\r\n};\r\nexport function GetSupervisorsAndStudentsByPeriodId(periodId) {\r\n return useQuery(\r\n [\"FetchAplSupervisorsAndStudentsByPeriodId\", periodId],\r\n () => FetchAplSupervisorsAndStudentsByPeriodId(periodId),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchAplStudentEvents = async (studentId) => {\r\n const res = await axios.get(`/Apl/GetStudentEvents/?studentId=${studentId}`);\r\n return res.data.result;\r\n};\r\nexport function GetAplStudentEvents(studentId) {\r\n return useQuery(\r\n [\"FetchAplStudentEvents\", { studentId }],\r\n () => FetchAplStudentEvents(studentId),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchAvailableStudentsForPeriod = async (data) => {\r\n if (data.candidates.candidateStudentIds.length > 0) {\r\n const res = await axios.post(\r\n `/Apl/GetStudentsPossibleToAdd`,\r\n data.candidates\r\n );\r\n return res.data.result;\r\n } else return [];\r\n};\r\n\r\nexport function GetAvailableStudentsForPeriod(data) {\r\n return useQuery(\r\n [\"FetchAvailableStudentsForPeriod\", { data }],\r\n () => FetchAvailableStudentsForPeriod(data),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchPeriods = async (level, id) => {\r\n let res = { data: { result: null } };\r\n if (level === \"Program\") {\r\n res = await axios.get(`/Apl/GetPeriodsByProgram/?programId=${id}`);\r\n } else if (level === \"Class\") {\r\n res = await axios.get(`/Apl/GetPeriodsByClass/?classId=${id}`);\r\n } else if (level === \"Student\") {\r\n res = await axios.get(`/Apl/GetPeriodsByStudent/?studentId=${id}`);\r\n }\r\n return res.data.result;\r\n};\r\n\r\nexport function GetPeriods(level, id) {\r\n return useQuery(\r\n [\"FetchPeriods\", [level, id]],\r\n () => FetchPeriods(level, id),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchEvents = async (level, periodId, objectId) => {\r\n let res = { data: { result: [] } };\r\n if (!periodId) {\r\n return res;\r\n } else {\r\n if (level === \"Program\") {\r\n res = await axios.get(\r\n `/Apl/GetStudentEventsProgram?periodId=${periodId}&programId=${objectId}`\r\n );\r\n } else if (level === \"Class\") {\r\n res = await axios.get(\r\n `/Apl/GetStudentEventsClass?periodId=${periodId}&classId=${objectId}`\r\n );\r\n } else if (level === \"Student\") {\r\n res = await axios.get(\r\n `/Apl/GetStudentEventsStudent?periodId=${periodId}&studentId=${objectId}`\r\n );\r\n }\r\n return res.data.result;\r\n }\r\n};\r\n\r\nexport function GetEvents(level, periodId, objectId) {\r\n return useQuery(\r\n [\"FetchEvents\", [level, periodId, objectId]],\r\n () => FetchEvents(level, periodId, objectId),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchWorkCardHours = async (level, periodId, objectId) => {\r\n let res = null;\r\n if (!periodId) {\r\n return res;\r\n } else {\r\n if (level === \"Program\") {\r\n res = await axios.get(\r\n `/Apl/GetWorkCardHoursByProgramAndPeriod/?programId=${objectId}&periodId=${periodId}`\r\n );\r\n } else if (level === \"Class\") {\r\n res = await axios.get(\r\n `/Apl/GetWorkCardHoursByClassAndPeriod/?classId=${objectId}&periodId=${periodId}`\r\n );\r\n } else if (level === \"Student\") {\r\n res = await axios.get(\r\n `/Apl/GetWorkCardHoursByStudentAndPeriod/?studentId=${objectId}&periodId=${periodId}`\r\n );\r\n }\r\n return res.data.result;\r\n }\r\n};\r\n\r\nexport function GetWorkCardHours(level, periodId, objectId) {\r\n return useQuery(\r\n [\"FetchWorkCardHours\", [level, periodId, objectId]],\r\n () => FetchWorkCardHours(level, periodId, objectId),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchAbsence = async (level, periodId, objectId) => {\r\n let res = null;\r\n if (!periodId) {\r\n return res;\r\n } else {\r\n if (level === \"Program\") {\r\n res = await axios.get(\r\n `/Apl/GetAbsenceByPeriodAndProgram/?programId=${objectId}&periodId=${periodId}`\r\n );\r\n } else if (level === \"Class\") {\r\n res = await axios.get(\r\n `/Apl/GetAbsenceByPeriodAndClass/?classId=${objectId}&periodId=${periodId}`\r\n );\r\n } else if (level === \"Student\") {\r\n res = await axios.get(\r\n `/Apl/GetAbsenceByPeriodAndStudent/?studentId=${objectId}&periodId=${periodId}`\r\n );\r\n }\r\n return res.data.result;\r\n }\r\n};\r\n\r\nexport function GetAbsence(level, periodId, objectId) {\r\n return useQuery(\r\n [\"FetchAbsence\", [level, periodId, objectId]],\r\n () => FetchAbsence(level, periodId, objectId),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchEvaluations = async (periodId) => {\r\n if (periodId) {\r\n const res = await axios.get(`/Apl/GetEvaluations?periodId=${periodId}`);\r\n return res.data.result;\r\n } else return null;\r\n};\r\n\r\nexport function GetEvaluations(periodId) {\r\n return useQuery(\r\n [\"FetchEvaluations\", periodId],\r\n () => FetchEvaluations(periodId),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchEvaluationQuestions = async (periodId) => {\r\n if (periodId) {\r\n const res = await axios.get(\r\n `/Apl/GetEvaluationQuestions?periodId=${periodId}`\r\n );\r\n return res.data.result;\r\n } else return null;\r\n};\r\n\r\nexport function GetEvaluationQuestions(periodId) {\r\n return useQuery(\r\n [\"FetchEvaluationQuestions\", periodId],\r\n () => FetchEvaluationQuestions(periodId),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\n//STUDENTQUERIES\r\n\r\nconst FetchStudentInfoByStudentId = async (studentId) => {\r\n const res = await axios.get(\"/student/?id=\" + studentId);\r\n return res.data.result;\r\n};\r\nexport function GetStudentInfoByStudentId(studentId) {\r\n return useQuery(\r\n [\"FetchStudentInfoByStudentId\", studentId],\r\n () => FetchStudentInfoByStudentId(studentId),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchCoursesByStudentEmail = async (studentEmail) => {\r\n if (studentEmail !== null) {\r\n const res = await axios.get(\"/student/Courses?email=\" + studentEmail);\r\n return res.data.result;\r\n }\r\n return null;\r\n};\r\nexport function GetCoursesByStudentEmail(studentEmail) {\r\n return useQuery(\r\n [\"FetchCoursesByStudentEmail\" + studentEmail, studentEmail],\r\n () => FetchCoursesByStudentEmail(studentEmail),\r\n {\r\n retry: 1,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchCoursesWithResultsByStudentId = async (studentId) => {\r\n const res = await axios.get(\r\n `/Course/GetCoursesWithResultsByStudent/${studentId}`\r\n );\r\n return res.data.result;\r\n};\r\nexport function GetCoursesWithResultsByStudentId(studentId) {\r\n return useQuery(\r\n [\"FetchCoursesWithResultsByStudentId\", studentId],\r\n () => FetchCoursesWithResultsByStudentId(studentId),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchAverageStudentScoreByStudentId = async (studentId) => {\r\n const res = await axios.get(\r\n `/StudentResult/GetAverageScoreDataByStudent/${studentId}`\r\n );\r\n return res.data.result;\r\n};\r\nexport function GetAverageStudentScoreByStudentId(studentId) {\r\n return useQuery(\r\n [\"FetchAverageStudentScoreByStudentId\", studentId],\r\n () => FetchAverageStudentScoreByStudentId(studentId),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchStudentResultTimelineByStudentId = async (studentId) => {\r\n const res = await axios.get(\r\n `/StudentResult/GetStudentResultTimeline/${studentId}`\r\n );\r\n return res.data.result;\r\n};\r\nexport function GetStudentResultTimelineByStudentId(studentId) {\r\n return useQuery(\r\n [\"FetchStudentResultTimelineByStudentId\", studentId],\r\n () => FetchStudentResultTimelineByStudentId(studentId),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\n//RESULTQUERIES\r\nconst FetchCourseResultsByCourseId = async (courseId) => {\r\n if (courseId === null) {\r\n return null;\r\n }\r\n var email = localStorage.getItem(\"email\");\r\n const res = await axios.get(\r\n `/Teacher/ModuleResults?teacheremail=${email}&courseId=${courseId}`\r\n );\r\n return res.data.result;\r\n};\r\nexport function GetCourseResultsByCourseId(courseId) {\r\n return useQuery(\r\n [\"FetchCourseResultsByCourseId\", courseId],\r\n () => FetchCourseResultsByCourseId(courseId),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchBestAndLatestStudentResultAnalysisData = async (\r\n studentId,\r\n courseId,\r\n moduleId\r\n) => {\r\n if (studentId === null || courseId === null || moduleId === null) {\r\n return null;\r\n }\r\n const res = await axios.get(\r\n `/Teacher/BestAndLatestStudentResultAnalysis?studentId=${studentId}&courseId=${courseId}&moduleId=${moduleId}`\r\n );\r\n return res.data.result;\r\n};\r\nexport function GetBestAndLatestStudentResultAnalysisData(\r\n studentId,\r\n courseId,\r\n moduleId\r\n) {\r\n return useQuery(\r\n [\r\n \"FetchBestAndLatestStudentResultAnalysisData\",\r\n { studentId, courseId, moduleId },\r\n ],\r\n () =>\r\n FetchBestAndLatestStudentResultAnalysisData(\r\n studentId,\r\n courseId,\r\n moduleId\r\n ),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchClassResultAnalysisData = async (classId, courseId, moduleId) => {\r\n if (classId === null || courseId === null || moduleId === null) {\r\n return null;\r\n }\r\n const res = await axios.get(\r\n `/Teacher/ClassResultAnalysis?classId=${classId}&courseId=${courseId}&moduleId=${moduleId}`\r\n );\r\n return res.data.result;\r\n};\r\nexport function GetClassResultAnalysisData(classId, courseId, moduleId) {\r\n return useQuery(\r\n [\"FetchClassResultAnalysisData\", { classId, courseId, moduleId }],\r\n () => FetchClassResultAnalysisData(classId, courseId, moduleId),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { ENVIRONMENT, ENVIRONMENT_COLOR } from \"../../constants/api.constants\";\r\n\r\nexport const EnvironmentInfo = () => {\r\n if (ENVIRONMENT || ENVIRONMENT != null) {\r\n return (\r\n

\r\n \r\n {ENVIRONMENT}\r\n \r\n

\r\n );\r\n } else {\r\n return null;\r\n }\r\n};\r\n\r\nexport const EnvironmentColor = () => {\r\n if (ENVIRONMENT_COLOR && ENVIRONMENT_COLOR != null) {\r\n const bgColor = {\r\n backgroundColor: ENVIRONMENT_COLOR\r\n };\r\n return bgColor;\r\n } else {\r\n return null;\r\n }\r\n};\r\n","import React, { Component } from \"react\";\r\nimport axios from \"axios\";\r\nimport { Collapse } from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\nexport class MaintenanceMessage extends Component {\r\n _isMounted = false;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n collapse: true,\r\n message: [],\r\n delay:600000\r\n };\r\n\r\n this.pollForMessage();\r\n }\r\n\r\n componentDidMount() {\r\n this.interval = setInterval(this.pollForMessage, this.state.delay);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (prevState.delay !== this.state.delay) {\r\n clearInterval(this.interval);\r\n this.interval = setInterval(this.pollForMessage, this.state.delay);\r\n }\r\n }\r\n\r\n componentWillUnmount(){\r\n clearInterval(this.interval);\r\n }\r\n\r\n pollForMessage = () => {\r\n var randomNumber = Math.floor(Math.random() * 1000000);\r\n axios.get(`${process.env.PUBLIC_URL}/message.json?v=` + randomNumber).then(res => {\r\n this.setState({ message: res.data.message });\r\n });\r\n }\r\n\r\n toggle = () => {\r\n this.setState({ collapse: !this.state.collapse });\r\n };\r\n\r\n render() {\r\n if (this.state.message.length > 0) {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.message}\r\n \r\n
\r\n );\r\n } else {\r\n return null;\r\n }\r\n }\r\n}\r\n\r\nexport default MaintenanceMessage;\r\n","import React, { Component } from \"react\";\r\nimport {\r\n ButtonDropdown,\r\n DropdownToggle,\r\n DropdownMenu,\r\n DropdownItem\r\n} from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { signOutAction } from \"../../actions/authActions\";\r\nimport { connect } from \"react-redux\";\r\n\r\nclass MobileLogout extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n dropdownOpen: false\r\n };\r\n }\r\n\r\n signOut = () => {\r\n this.props.signOutAction();\r\n };\r\n\r\n toggle = () => {\r\n this.setState({ dropdownOpen: !this.state.dropdownOpen });\r\n };\r\n\r\n render() {\r\n var role = localStorage.getItem(\"role\") ? localStorage.getItem(\"role\") : \"\";\r\n var email = localStorage.getItem(\"email\");\r\n var displayRole = \"Views.Header.DisplayLoginRole\" + role;\r\n\r\n if (role !== \"\") {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n  {email} ()\r\n \r\n \r\n Logga ut\r\n \r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n }\r\n}\r\n\r\nexport default connect(null, { signOutAction })(MobileLogout);\r\n","import React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Nav, NavbarToggler, NavItem, Badge } from \"reactstrap\";\r\nimport ButtonLogout from \"../Button/ButtonLogout\";\r\nimport ToggleHelp from \"../../components/Help/ToggleHelp\";\r\nimport { GetTeacherInformation } from \"../../actions/teacherQueries\";\r\nimport {\r\n EnvironmentInfo,\r\n EnvironmentColor,\r\n} from \"../EnvironmentInfo/EnvironmentInfo\";\r\nimport MaintenanceMessage from \"../MaintenanceMessage/MaintenanceMessage\";\r\nimport MobileLogout from \"../MobileLogout/MobileLogout\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { useSelector } from \"react-redux\";\r\n\r\nfunction Header(props) {\r\n const { auth } = props;\r\n\r\n var sidebarToggle = (e) => {\r\n e.preventDefault();\r\n document.body.classList.toggle(\"sidebar-hidden\");\r\n };\r\n\r\n var mobileSidebarToggle = (e) => {\r\n e.preventDefault();\r\n document.body.classList.toggle(\"sidebar-mobile-show\");\r\n };\r\n\r\n const teacherInfo =\r\n auth.auth.roles === \"Teacher\" ? GetTeacherInformation() : null;\r\n if (auth.auth.roles === \"Teacher\") {\r\n document.body.classList.remove(\"sidebar-hidden\");\r\n } else {\r\n document.body.classList.add(\"sidebar-hidden\");\r\n }\r\n\r\n const notifications = useSelector((state) => state.notificationsReducer);\r\n\r\n const showNotifications =\r\n auth.auth.roles === \"Teacher\" || auth.auth.roles === \"Student\";\r\n /* if (teacherInfo != null && teacherInfo.isLoading) {\r\n return null;\r\n } */\r\n\r\n return (\r\n \r\n {auth.auth.roles === \"Student\" && (\r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n \r\n\r\n {auth.auth.roles === \"Student\" && (\r\n \r\n \r\n \r\n )}\r\n {auth.auth.roles === \"Teacher\" && (\r\n \r\n \r\n \r\n )}\r\n {auth.auth.roles === \"Teacher\" && (\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n {auth.auth.roles === \"Teacher\" &&\r\n teacherInfo !== null &&\r\n !teacherInfo.isLoading && (\r\n \r\n )}\r\n {showNotifications && (\r\n \r\n )}\r\n \r\n\r\n \r\n \r\n );\r\n}\r\n\r\nconst mapStateToProps = (store) => {\r\n return {\r\n auth: store.auth,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(Header);\r\n","let navAuth = {\r\n items: [\r\n /*{\r\n name: 'Profile',\r\n url: '/student/studentprofile',\r\n icon: 'icon-user',\r\n badge: {\r\n // variant: 'info',\r\n // text: 'Info'\r\n }\r\n },*/\r\n {\r\n name: \"Resultat\",\r\n url: \"/student/studentresults\",\r\n icon: \"icon-list\",\r\n badge: {}\r\n },\r\n {\r\n name: \"Manual\",\r\n url: \"http://ftp.pol.se/public/LearnWARE/manual_LWC.pdf\",\r\n icon: \"info-circle\",\r\n bage: {}\r\n }\r\n ]\r\n};\r\n\r\nexport default navAuth;\r\n","export const navBarTeacher = (orgStructure) => [\r\n {\r\n name: \"Hem\",\r\n url: \"/\",\r\n icon: \"home\",\r\n },\r\n {\r\n title: true,\r\n name:\r\n localStorage.getItem(\"schoolName\") === null\r\n ? \"Min skola\"\r\n : localStorage.getItem(\"schoolName\"),\r\n url: \"/\",\r\n },\r\n {\r\n isProgramsAndClasses: true,\r\n programsAndClasses: [...orgStructure],\r\n },\r\n];\r\n\r\nexport default navBarTeacher;\r\n","import { Component } from \"react\";\r\n\r\nclass SidebarFooter extends Component {\r\n render() {\r\n return null;\r\n // Uncomment following code lines to add Sidebar Footer\r\n // return (\r\n //
\r\n // )\r\n }\r\n}\r\n\r\nexport default SidebarFooter;\r\n","import { Component } from \"react\";\r\n\r\nclass SidebarForm extends Component {\r\n render() {\r\n return null;\r\n // Uncomment following code lines to add Sidebar Form\r\n // return (\r\n //
\r\n // )\r\n }\r\n}\r\n\r\nexport default SidebarForm;\r\n","import { Component } from \"react\";\r\n\r\nclass SidebarHeader extends Component {\r\n render() {\r\n return null;\r\n // Uncomment following code lines to add Sidebar Header\r\n // return (\r\n //
\r\n // )\r\n }\r\n}\r\n\r\nexport default SidebarHeader;\r\n","import React from 'react'\r\nimport {Input, \r\n InputGroup, \r\n InputGroupAddon, \r\n InputGroupText,\r\n Row\r\n} from 'reactstrap';\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {withRouter} from 'react-router-dom';\r\n\r\nconst OrganisationSearchBar = function (props) {\r\n\r\n return (\r\n
\r\n \r\n { if (!event.currentTarget.contains(event.relatedTarget)) {props.setShowResultsField(false); }}}>\r\n props.setShowResultsField(true)} \r\n onChange={(event) => {props.setSearchFilter(event.target.value)}} \r\n type=\"text\"\r\n name=\"search\" \r\n autoComplete=\"off\"\r\n className={props.theme === \"dark\" ? \"search-bar--searchinput search-bar--searchinput-dark\" :\"search-bar--searchinput search-bar--searchinput-light\"}\r\n value={props.searchFilter !== \"\" ? props.searchFilter : \"\"} \r\n placeholder={props.placeHolder} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\nexport default withRouter(OrganisationSearchBar);\r\n","import React, {useState} from 'react'\r\nimport { Link } from 'react-router-dom';\r\nimport OrganisationSearchBar from './OrganisationSearchBar';\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\nexport default function OrganisationSearchBarContainer(props) {\r\n \r\nconst [searchFilter, setSearchFilter] = useState(\"\");\r\nconst [showResultsField, setShowResultsField] = useState(true);\r\nconst searchCriterias = props.searchCriterias;\r\n \r\nlet searchItems = [];\r\n\r\nif(!props.teacherInfo.isLoading) {\r\nif (props.teacherInfo.data.programmes !== undefined) {\r\n props.teacherInfo.data.programmes.forEach(prog => {\r\n if (searchCriterias.includes(\"programs\")){\r\n searchItems.push(\r\n {label: prog.name, \r\n value: {\r\n name: prog.name,\r\n type: \"program\",\r\n url:\"/teacher/programmeview/\" + \r\n prog.id +\"/\"+prog.name,\r\n icon: \"briefcase\"\r\n } \r\n })\r\n }\r\n prog.classes.forEach(cl => {\r\n if (searchCriterias.includes(\"classes\")) {\r\n searchItems.push(\r\n {label: cl.name, \r\n value: {\r\n name: cl.name,\r\n type: \"class\",\r\n url: \"/teacher/programmeview/\" +\r\n prog.id +\"/\"+prog.name+\r\n \"/classview/\" +\r\n cl.id +\"/\"+cl.name,\r\n icon: \"users\"\r\n } \r\n })\r\n }\r\n cl.students.forEach(stud => {\r\n if (searchCriterias.includes(\"students\")) {\r\n searchItems.push(\r\n {label: stud.name, \r\n value: {\r\n name: stud.name,\r\n type: \"student\",\r\n url: \"/teacher/programmeview/\" + \r\n prog.id +\"/\"+prog.name+\r\n \"/classview/\" +\r\n cl.id +\"/\"+cl.name+\r\n \"/studentview/\" +\r\n stud.id+\"/\"+stud.name,\r\n icon: \"user\"\r\n } \r\n })\r\n }\r\n })\r\n })\r\n })\r\n} \r\n \r\n let resetSearch = (value) => {\r\n setShowResultsField(false);\r\n setSearchFilter(value)\r\n }\r\n\r\n let searchList = () => {\r\n let sortedSearchItems = searchItems.sort((a,b) => (a.value.name > b.value.name) ? 1 : ((b.value.name > a.value.name) ? -1 : 0)); ;\r\n return sortedSearchItems.filter(item => {\r\n if (searchFilter === \"\") {\r\n return null;\r\n } else if (item.value.name.toLowerCase().includes(searchFilter.toLowerCase())) {\r\n return item;\r\n } else {\r\n return null;\r\n }\r\n }).slice(0, 5).map((item, i) => {\r\n return (\r\n
  • \r\n resetSearch(item.value.name)} \r\n to={{ pathname: item.value.url, activeTab: props.activeTab ? props.activeTab : null }}\r\n >\r\n \r\n {item.value.name}\r\n \r\n
  • )\r\n })\r\n}\r\n return (\r\n \r\n )\r\n}\r\nreturn null;\r\n}\r\n","import React from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { Badge, Nav, NavItem, NavLink as RsNavLink } from \"reactstrap\";\r\nimport { connect } from \"react-redux\";\r\nimport classNames from \"classnames\";\r\nimport navAuth from \"./_navAuth\";\r\nimport navBarTeacher from \"./_navBarTeacher\";\r\nimport SidebarFooter from \"../SidebarFooter/SidebarFooter\";\r\nimport SidebarForm from \"../SidebarForm/SidebarForm\";\r\nimport SidebarHeader from \"../SidebarHeader/SidebarHeader\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport OrganisationSearchBarContainer from \"../Inputs/OrganisationSearchBarContainer\";\r\nimport { GetTeacherInformation } from \"../../actions/teacherQueries\";\r\n\r\nfunction Sidebar(props) {\r\n let teacherInfo = null;\r\n\r\n var handleClick = (e) => {\r\n e.preventDefault();\r\n e.target.parentElement.classList.toggle(\"open\");\r\n };\r\n\r\n var activeRoute = (routeName, props) => {\r\n return props.location.pathname.indexOf(routeName) > -1\r\n ? \"nav-item nav-dropdown open\"\r\n : \"nav-item nav-dropdown\";\r\n };\r\n\r\n var hideMobile = () => {\r\n if (document.body.classList.contains(\"sidebar-mobile-show\")) {\r\n document.body.classList.toggle(\"sidebar-mobile-show\");\r\n }\r\n };\r\n\r\n var OrgStructure = (props) => {\r\n var orgStructure = [];\r\n if (teacherInfo.data.programmes !== undefined) {\r\n teacherInfo.data.programmes.forEach((prog) => {\r\n var classes = [];\r\n prog.classes.forEach((cl) => {\r\n var usersInClass = [];\r\n var sortingListUsersInClass = [];\r\n cl.students.forEach((stud) => {\r\n var student = {\r\n name: stud.name,\r\n url:\r\n \"/teacher/programmeview/\" +\r\n prog.id +\r\n \"/\" +\r\n prog.name +\r\n \"/classview/\" +\r\n cl.id +\r\n \"/\" +\r\n cl.name +\r\n \"/studentview/\" +\r\n stud.id +\r\n \"/\" +\r\n stud.name,\r\n icon: \"user\",\r\n type: \"student\",\r\n };\r\n sortingListUsersInClass.push(student);\r\n });\r\n sortingListUsersInClass = sortingListUsersInClass.sort(function (\r\n a,\r\n b\r\n ) {\r\n if (a.name < b.name) {\r\n return -1;\r\n }\r\n if (a.name > b.name) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n sortingListUsersInClass.forEach((user) => usersInClass.push(user));\r\n sortingListUsersInClass = [];\r\n cl.teachers.forEach((te) => {\r\n var teacher = {\r\n name: te.name,\r\n url:\r\n \"/teacher/programmeview/\" +\r\n prog.id +\r\n \"/\" +\r\n prog.name +\r\n \"/classview/\" +\r\n cl.id +\r\n \"/\" +\r\n cl.name +\r\n \"/teacherview/\" +\r\n te.id +\r\n \"/\" +\r\n te.name,\r\n icon: \"graduation-cap\",\r\n type: \"teacher\",\r\n };\r\n sortingListUsersInClass.push(teacher);\r\n });\r\n sortingListUsersInClass.sort(function (a, b) {\r\n if (a.name < b.name) {\r\n return -1;\r\n }\r\n if (a.name > b.name) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n sortingListUsersInClass.forEach((user) => usersInClass.push(user));\r\n var classo = {\r\n name: cl.name,\r\n url:\r\n \"/teacher/programmeview/\" +\r\n prog.id +\r\n \"/\" +\r\n prog.name +\r\n \"/classview/\" +\r\n cl.id +\r\n \"/\" +\r\n cl.name,\r\n icon: \"users\",\r\n type: \"class\",\r\n children: usersInClass,\r\n };\r\n classes.push(classo);\r\n });\r\n classes = classes.sort(function (a, b) {\r\n if (a.name < b.name) {\r\n return -1;\r\n }\r\n if (a.name > b.name) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n var programme = {\r\n name: prog.name,\r\n url: \"/teacher/programmeview/\" + prog.id + \"/\" + prog.name,\r\n icon: \"briefcase\",\r\n children: classes,\r\n type: \"program\",\r\n };\r\n\r\n orgStructure.push(programme);\r\n });\r\n }\r\n orgStructure = orgStructure.sort(function (a, b) {\r\n if (a.name < b.name) {\r\n return -1;\r\n }\r\n if (a.name > b.name) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n return orgStructure;\r\n };\r\n\r\n // badge addon to NavItem\r\n const badge = (badge) => {\r\n if (badge) {\r\n const classes = classNames(badge.class);\r\n return (\r\n \r\n {badge.text}\r\n \r\n );\r\n }\r\n };\r\n\r\n // simple wrapper for nav-title item\r\n const wrapper = (item) => {\r\n return item.wrapper && item.wrapper.element\r\n ? React.createElement(\r\n item.wrapper.element,\r\n item.wrapper.attributes,\r\n item.name\r\n )\r\n : item.name;\r\n };\r\n\r\n // nav list section title\r\n const title = (title, key) => {\r\n const classes = classNames(\"nav-title\", title.class);\r\n return (\r\n
  • \r\n {wrapper(title)}{\" \"}\r\n
  • \r\n );\r\n };\r\n\r\n // nav list divider\r\n const divider = (divider, key) => {\r\n const classes = classNames(\"divider\", divider.class);\r\n return
  • ;\r\n };\r\n\r\n // nav label with nav link\r\n const navLabel = (item, key) => {\r\n const classes = {\r\n item: classNames(\"hidden-cn\", item.class),\r\n link: classNames(\"nav-label\", item.class ? item.class : \"\"),\r\n icon: classNames(\r\n !item.icon ? \"fa fa-circle\" : item.icon,\r\n item.label.variant ? `text-${item.label.variant}` : \"\",\r\n item.label.class ? item.label.class : \"\"\r\n ),\r\n };\r\n return navLink(item, key, classes);\r\n };\r\n\r\n // nav item with nav link\r\n const navItem = (item, key) => {\r\n const classes = {\r\n item: classNames(item.class),\r\n link: classNames(\r\n \"nav-link\",\r\n item.variant ? `nav-link-${item.variant}` : \"\"\r\n ),\r\n icon: classNames(item.icon),\r\n };\r\n return navLink(item, key, classes);\r\n };\r\n\r\n // nav link\r\n const navLink = (item, key, classes) => {\r\n const url = item.url ? item.url : \"\";\r\n\r\n return (\r\n \r\n {isExternal(url) ? (\r\n \r\n \r\n \r\n \r\n {item.name}\r\n {badge(item.badge)}\r\n \r\n ) : url !== null && url !== \"\" ? (\r\n \r\n \r\n \r\n \r\n {item.name}\r\n {badge(item.badge)}\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n {item.name}\r\n {badge(item.badge)}\r\n \r\n )}\r\n \r\n );\r\n };\r\n\r\n // Dropdown and navlink\r\n const navItemAndDropdown = (item, key) => {\r\n const classes = {\r\n item: classNames(item.class),\r\n link: classNames(\r\n \"nav-link\",\r\n item.variant ? `nav-link-${item.variant}` : \"\"\r\n ),\r\n icon: classNames(item.icon),\r\n };\r\n const url = item.url ? item.url : \"\";\r\n return (\r\n
  • \r\n {\r\n handleClick(event);\r\n }}\r\n >\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n {item.name}\r\n {badge(item.badge)}\r\n \r\n\r\n
      {navList(item.children)}
    \r\n
  • \r\n );\r\n };\r\n\r\n // nav type\r\n const navType = (item, idx) =>\r\n item.title\r\n ? title(item, idx)\r\n : item.divider\r\n ? divider(item, idx)\r\n : item.label\r\n ? navLabel(item, idx)\r\n : item.children && (item.type === \"class\" || item.type === \"program\")\r\n ? navItemAndDropdown(item, idx)\r\n : navItem(item, idx);\r\n\r\n // nav list\r\n const navList = (items) => {\r\n return items.map((item, index) =>\r\n !item.isProgramsAndClasses ? (\r\n navType(item, index)\r\n ) : (\r\n \r\n {\" \"}\r\n {item.programsAndClasses.map((orgItem) => navType(orgItem, index))}\r\n \r\n )\r\n );\r\n };\r\n\r\n const isExternal = (url) => {\r\n const link = url ? url.substring(0, 4) : \"\";\r\n return link === \"http\";\r\n };\r\n\r\n let NavBar =
    \r\n )\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport Pacmanloader from \"../../components/Pacmanloader/Pacmanloader\";\r\nimport { GetTeacherInformation } from \"../../actions/teacherQueries\";\r\nimport { fetchNotifications } from \"../../actions/notificationActions\";\r\nimport { useDispatch } from \"react-redux\";\r\n\r\nfunction Teacher(props) {\r\n const teacherInfo = GetTeacherInformation();\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n if (!teacherInfo.isLoading && teacherInfo.data) {\r\n dispatch(fetchNotifications());\r\n }\r\n }, [dispatch, teacherInfo.data, teacherInfo.isLoading]);\r\n\r\n useEffect(() => {\r\n if (!teacherInfo.isLoading && teacherInfo.data) {\r\n let firstProgram = teacherInfo.data.programmes[0];\r\n props.history.push(\r\n \"/teacher/programmeview/\" + firstProgram.id + \"/\" + firstProgram.name\r\n );\r\n }\r\n }, [teacherInfo.isLoading, props.history, teacherInfo.data]);\r\n\r\n if (teacherInfo.isLoading) {\r\n return ;\r\n }\r\n\r\n return null;\r\n}\r\n\r\nexport default Teacher;\r\n","import axios from \"../services/api/api\";\r\nimport { AUTH_BASE_URL, API_BASE_URL } from \"../constants/api.constants\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\n/** HELPER FUNCTIONS **/\r\nconst toFormData = (file, paramName, fileName) => {\r\n if (!file) return null;\r\n\r\n var myData = new FormData();\r\n if (fileName !== null || fileName !== undefined) {\r\n myData.append(paramName, file, fileName);\r\n } else {\r\n myData.append(paramName, file);\r\n }\r\n return myData;\r\n};\r\n\r\nconst errorMessage = (err) => {\r\n if (err && err.response) {\r\n return err.response.data;\r\n } else if (err && err.request) {\r\n return err.request.data;\r\n } else {\r\n return ;\r\n }\r\n};\r\n/** END HELPER FUNCTIONS **/\r\n\r\nexport const HandleAddNewStudent = async (values) => {\r\n const data = await axios\r\n .post(\"/student\", {\r\n email: values.values.email,\r\n name: values.values.name,\r\n classId: values.values.classId,\r\n })\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const HandleMoveStudentsToClass = async (values) => {\r\n const data = await axios\r\n .post(\r\n `${API_BASE_URL}/Student/AddstudentsToClass?studentIds=${values.selectedStudentIds.join(\r\n \"&studentIds=\"\r\n )}&classId=${values.classId}`\r\n )\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const HandleUserNameChange = async (values) => {\r\n const data = await axios\r\n .put(\"/user/UpdateUser\", {\r\n name: values.newName,\r\n oldEmail: values.oldEmail,\r\n newEmail: values.newEmail,\r\n })\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const UploadDocument = async (values) => {\r\n const response = await axios\r\n .post(\r\n `${API_BASE_URL}/Teacher/UploadFileToCourse?courseId=${values.values.courseId}&teacherId=${values.values.teacherId}&classId=${values.values.classId}${values.values.moduleids}`,\r\n toFormData(values.values.file, \"file\", values.values.fileName),\r\n { headers: { \"Content-Type\": \"multipart/form-data;\" } }\r\n )\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return response;\r\n};\r\n\r\nexport const DeleteUpload = async (values) => {\r\n const response = await axios\r\n .post(\r\n `${API_BASE_URL}/Teacher/UploadDelete?item=${values.item}&classId=${values.classId}&courseId=${values.courseId}&teacherId=${values.teacherId}`\r\n )\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return response;\r\n};\r\n\r\nexport const UploadLink = async (values) => {\r\n const response = await axios\r\n .post(\r\n `${API_BASE_URL}/Teacher/UploadLinkToCourse?link=${values.values.link}&courseId=${values.values.courseId}&teacherId=${values.values.teacherId}&classId=${values.values.classId}${values.values.moduleids}`\r\n )\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return response;\r\n};\r\n\r\nexport const CheckIfEmailIsOccupied = async (values) => {\r\n const response = await axios\r\n .post(`${AUTH_BASE_URL}/token/IsEmailTaken/?email=${values.newEmail}`)\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return response;\r\n};\r\n\r\nexport const HandleUserEmailChange = async (values) => {\r\n if (values.oldEmail !== values.newEmail) {\r\n const data = await axios.post(`${AUTH_BASE_URL}/token/UpdateUserEmail`, {\r\n oldEmail: values.oldEmail,\r\n newEmail: values.newEmail,\r\n });\r\n axios\r\n .put(\"/user/UpdateUser\", {\r\n name: values.userName,\r\n oldEmail: values.oldEmail,\r\n newEmail: values.newEmail,\r\n })\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n }\r\n};\r\n\r\nexport const HandleFinalExamLockingAndUnlocking = async (values) => {\r\n const data = await axios\r\n .post(`${API_BASE_URL}/teacher/activatefinalexam`, values.values)\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const HandleStudentClassChange = async (values) => {\r\n const response = await axios\r\n .post(\"/Student/ChangeClass\", {\r\n Id: values.id,\r\n Name: values.name,\r\n class: {\r\n name: values.class.name,\r\n id: values.class.id,\r\n schoolId: values.class.schoolId,\r\n },\r\n })\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return response;\r\n};\r\n\r\nexport const HandleDeleteStudent = async (values) => {\r\n const response = await axios\r\n .post(\r\n `${API_BASE_URL}/User/SetDeleted?email=${\r\n values.studentEmail\r\n }&isDeleted=${true}`\r\n )\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return response;\r\n};\r\n\r\nexport const HandleClassEdit = async (values) => {\r\n const data = await axios\r\n .post(`${API_BASE_URL}/Class/UpdateClass`, {\r\n id: values.id,\r\n name: values.name,\r\n school: values.school,\r\n programme: values.programme,\r\n orientation: values.orientation,\r\n teachers: values.teachers,\r\n })\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const HandleAddNewTeacher = async (values) => {\r\n const data = await axios\r\n .post(`${API_BASE_URL}/Teacher`, {\r\n name: values.name,\r\n email: values.email,\r\n FullAccess: values.fullAccess,\r\n Purchaser: values.purchaser,\r\n })\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const HandleProgramEdit = async (program) => {\r\n const data = await axios\r\n .put(`${API_BASE_URL}/programme`, program.program)\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const AddNewClass = async (cl) => {\r\n const data = await axios\r\n .post(\"/class\", {\r\n name: cl.cl.name,\r\n school: cl.cl.school,\r\n programme: cl.cl.program,\r\n orientation: cl.cl.orientation,\r\n })\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const AddTeachersToClass = async (values) => {\r\n const data = await axios\r\n .post(\r\n `/AddTeachersToClass?teacherIds=${values.teacherIds.join(\r\n \"&teacherIds=\"\r\n )}&classId=${values.classId}`\r\n )\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const DeleteClass = async (classId) => {\r\n const data = await axios.delete(`/Class/${classId.id}`).catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\n// APL MUTATIONS\r\n\r\nexport const PostAplPeriod = async (period) => {\r\n const data = await axios.post(`/Apl/PostPeriod`, period).catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const PostSupervisorCompany = async (companyName) => {\r\n const data = await axios\r\n .post(`Apl/PostCompany?name=` + companyName)\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const PostAplWorkCard = async (WorkCard) => {\r\n const data = await axios.post(`/Apl/PostWorkCard`, WorkCard).catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const PostAplDocuments = async (file) => {\r\n const data = await axios\r\n .post(\r\n `/Apl/PostDocumentForPeriod?description=${file.description}&periodId=${\r\n file.periodId\r\n }&userIds=${file.userIds.join(\"&userIds=\")}`,\r\n toFormData(file.document, \"document\"),\r\n { headers: { \"Content-Type\": \"multipart/form-data;\" } }\r\n )\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const PostEvaluationQuestions = async (questions) => {\r\n const data = await axios\r\n .post(`/Apl/CreateEvaluationQuestions`, JSON.stringify(questions, null, 1))\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data.data.result;\r\n};\r\n\r\nexport const UpdateEvaluationQuestion = async (question) => {\r\n const data = await axios\r\n .post(\r\n `/Apl/UpdateEvaluationQuestion?questionId=${question.id}`,\r\n JSON.stringify(question.question, null, 1)\r\n )\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data.data.result;\r\n};\r\n\r\nexport const DeleteEvaluationQuestion = async (questionId) => {\r\n const data = await axios\r\n .delete(`/Apl/DeleteEvaluationQuestion?questionId=${questionId}`)\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const DeleteWorkstep = async (stepId) => {\r\n const data = await axios\r\n .delete(`/Apl/DeleteWorkStep?stepId=${stepId}`)\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const DeleteWorkstepComponent = async (componentId) => {\r\n const data = await axios\r\n .delete(`/Apl/DeleteComponent?componentId=${componentId}`)\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const EditWorkstepComponent = async (item) => {\r\n const data = await axios.patch(`/Apl/EditComponent`, item).catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const EditWorkStep = async (item) => {\r\n const data = await axios.patch(`/Apl/EditWorkStep`, item).catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const DeleteDocument = async (id) => {\r\n const data = await axios\r\n .delete(`/Apl/DeleteDocument?id=${id}`)\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const GetAplInformationPersons = async (id) => {\r\n const res = await axios\r\n .get(`/Apl/GetAplInformationPersons?periodId=${id}`)\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return res.data.result;\r\n};\r\n\r\nexport const PostAplInformationPerson = async (person) => {\r\n const data = await axios\r\n .post(`/Apl/PostAplInformationPerson`, person)\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const PostInformationPersonsAndUsersForPeriod = async (\r\n informationPersons\r\n) => {\r\n const data = await axios\r\n .post(`/Apl/SetInformationConnectionsForPeriod`, informationPersons)\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const UpdateInformationPerson = async (person) => {\r\n const data = await axios\r\n .post(`/Apl/UpdateInformationPerson`, person)\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const UpdateInformationPersonAddUsers = async (person) => {\r\n const data = await axios\r\n .post(`/Apl/UpdateInformationPersonAddUsers`, person)\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const UpdateInformationPersonRemoveUsers = async (person) => {\r\n const data = await axios\r\n .post(`/Apl/UpdateInformationPersonRemoveUsers`, person)\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const DeleteInformationPerson = async (id) => {\r\n const data = await axios\r\n .delete(`/Apl/DeleteInformationPerson?id=${id}`)\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const PostWorkCardComment = async (workCardComment) => {\r\n const res = await axios\r\n .post(\r\n `/Apl/PostWorkCardComment/?created=${workCardComment.created}&text=${workCardComment.text}&workRegistrationId=${workCardComment.workRegistrationId}`\r\n )\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return res.data.result;\r\n};\r\n\r\nexport const GetImageBlob = async (path) => {\r\n const res = await axios\r\n .get(`/Apl/GetImageBlob/?path=${path}`)\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return res.data.result;\r\n};\r\n\r\nexport const RemoveAplPeriod = async (data) => {\r\n const res = await axios\r\n .delete(`/Apl/DeletePeriod/?periodId=${data.periodId}`)\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return res;\r\n};\r\n\r\nexport const SetPeriodEndDate = async (data) => {\r\n const res = await axios\r\n .post(\r\n `/Apl/ChangePeriodEndDate/?periodId=${data.periodId}&newEndDate=${data.endDate}`\r\n )\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return res;\r\n};\r\n\r\nexport const ChangeStudentSupervisor = async (ssv) => {\r\n const res = await axios\r\n .post(\r\n `/Apl/ChangeStudentsCompanyOrSupervisor/?studentId=${ssv.studentId}&supervisorId=${ssv.supervisor.id}&companyId=${ssv.companyId}&periodId=${ssv.periodId}`\r\n )\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return res;\r\n};\r\n\r\nexport const AddStudentToPeriod = async (studentSupervisor) => {\r\n const res = await axios\r\n .post(\r\n `/Apl/AddStudentToPeriod?periodId=${studentSupervisor.periodId}&studentId=${studentSupervisor.studentId}&supervisorId=${studentSupervisor.supervisorId}&companyId=${studentSupervisor.companyId}`\r\n )\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return res;\r\n};\r\n\r\nexport const AddWorkSteps = async (workStepResource) => {\r\n const res = await axios\r\n .post(`/Apl/PostWorkSteps`, workStepResource)\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return res.data.result;\r\n};\r\n\r\nexport const AddWorkStepComponents = async (workStepComponentResource) => {\r\n const res = await axios\r\n .post(`/Apl/PostComponents`, workStepComponentResource)\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return res.data.result;\r\n};\r\n\r\nexport const RemoveStudentFromPeriod = async (student) => {\r\n const res = await axios\r\n .post(\r\n `/Apl/RemoveStudentFromPeriod?periodId=${student.periodId}&studentId=${student.studentId}`\r\n )\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return res.data.result;\r\n};\r\n\r\nexport const AddSchoolToSupervisor = async (supervisorSchool) => {\r\n const res = await axios\r\n .post(\r\n `/Apl/AddSchoolToSupervisor?supervisorId=${supervisorSchool.supervisorId}&schoolId=${supervisorSchool.schoolId}`\r\n )\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return res;\r\n};\r\n\r\nexport const ChangeLockStatusForModuleForStudent = async (postObject) => {\r\n const res = await axios\r\n .post(\r\n `/Module/SetModuleLockStatus?moduleId=${postObject.moduleId}&studentId=${postObject.currentLevelId}&locked=${postObject.locked}`\r\n )\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return res;\r\n};\r\n\r\nexport const ChangeLockStatusForModuleForClass = async (postObject) => {\r\n const res = await axios\r\n .post(\r\n `/Module/SetModuleLockStatusForClass?moduleId=${postObject.moduleId}&classId=${postObject.currentLevelId}&locked=${postObject.locked}`\r\n )\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return res;\r\n};\r\n\r\nexport const ChangeLockStatusForEntireCourseForMultipleStudents = async (\r\n postObject\r\n) => {\r\n const res = await axios\r\n .post(\r\n `/Course/SetCourseLockStatus?courseId=${postObject.courseId}&locked=${\r\n postObject.locked\r\n }&studentIds=${postObject.studentIds.join(\"&studentIds=\")}`\r\n )\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return res;\r\n};\r\n","import React, { Component } from \"react\";\r\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nclass ConfirmDialog extends Component {\r\n render() {\r\n return (\r\n \r\n {this.props.title}\r\n {this.props.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 ConfirmDialog;\r\n","import { useState } from \"react\";\r\nimport \"@devexpress/dx-react-grid-bootstrap4/dist/dx-react-grid-bootstrap4.css\";\r\nimport \"open-iconic/font/css/open-iconic-bootstrap.css\";\r\nimport { SortingState, IntegratedSorting } from \"@devexpress/dx-react-grid\";\r\nimport {\r\n Grid,\r\n TableHeaderRow,\r\n Table,\r\n} from \"@devexpress/dx-react-grid-bootstrap4\";\r\n\r\nexport default function DataGrid({\r\n rows,\r\n columns,\r\n tableColumnExtensions,\r\n sortingExtension,\r\n}) {\r\n const [columnExtensions] = useState(\r\n tableColumnExtensions ? tableColumnExtensions : null\r\n );\r\n const [integratedSortingColumnExtensions] = useState(\r\n sortingExtension ? sortingExtension : null\r\n );\r\n const TableComponent = ({ ...restProps }) => (\r\n \r\n );\r\n\r\n const getRowId = (row) => row.uniqueId;\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","import { Button } from \"reactstrap\";\r\nimport { FormattedMessage, injectIntl, intlShape } from \"react-intl\";\r\n\r\nexport function DisconnectTeacherFromClassButton(props) {\r\n return (\r\n
    \r\n props.promptRemoveTeacher(props.teacher)}\r\n >\r\n \r\n \r\n
    \r\n );\r\n}\r\nDisconnectTeacherFromClassButton.propTypes = {\r\n intl: intlShape.isRequired,\r\n};\r\nexport default injectIntl(DisconnectTeacherFromClassButton);\r\n","import React, { useState } from \"react\";\r\nimport { Tooltip } from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\nconst TooltipHelp = ({ placement, toolTipText, id }) => {\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 \r\n {toolTipText}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default TooltipHelp;\r\n","import {\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Button,\r\n Label,\r\n Row,\r\n Col,\r\n} from \"reactstrap\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport TooltipHelp from \"../Help/ToolTipHelp\";\r\n\r\nexport default function AddNewTeacherToClass(props) {\r\n function validateEmail(value) {\r\n let error;\r\n if (!value) {\r\n error = ;\r\n } else if (!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i.test(value)) {\r\n error = ;\r\n }\r\n return error;\r\n }\r\n\r\n function validateName(value) {\r\n let error;\r\n if (!value) {\r\n error = ;\r\n }\r\n return error;\r\n }\r\n\r\n return (\r\n \r\n \r\n {\" \"}\r\n \r\n props.onSubmit(values)}\r\n >\r\n {({ errors, touched }) => (\r\n <>\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.name && touched.name ? (\r\n
    {errors.name}
    \r\n ) : null}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.email && touched.email ? (\r\n
    {errors.email}
    \r\n ) : null}\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n \r\n }\r\n placement=\"right\"\r\n />\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n }\r\n placement=\"right\"\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n \r\n
    \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport {\r\n Button,\r\n Row,\r\n Col,\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Label,\r\n Badge,\r\n} from \"reactstrap\";\r\nimport moment from \"moment\";\r\nimport { DatePicker } from \"react-nice-dates\";\r\nimport { sv } from \"date-fns/locale\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\nexport default function PlusPackageVariantSelectModal({\r\n isOpen,\r\n toggle,\r\n selectedPlusPackageVariant,\r\n setSelectedPlusPackageVariant,\r\n selectedPlusPackage,\r\n handleAddPackageWithYears,\r\n currency,\r\n}) {\r\n const [errors, setErrors] = useState([]);\r\n const [articleExistsInCart, setArticleExistsInCart] = useState(null);\r\n const cart = useSelector((state) => state.newCartReducer);\r\n\r\n const handleSetPackage = () => {\r\n let hasErrors = false;\r\n if (Object.keys(selectedPlusPackageVariant).length === 0) {\r\n hasErrors = true;\r\n setErrors([\"noVariant\", \"noStartDate\"]);\r\n } else {\r\n if (!selectedPlusPackageVariant.option) {\r\n hasErrors = true;\r\n setErrors([\"noVariant\"]);\r\n }\r\n if (\r\n !selectedPlusPackageVariant.startDate &&\r\n articleExistsInCart === null\r\n ) {\r\n hasErrors = true;\r\n setErrors([\"noStartDate\"]);\r\n }\r\n if (\r\n selectedPlusPackageVariant.startDate !== undefined &&\r\n moment(selectedPlusPackageVariant.startDate).format(\"YYYYMMDD\") <\r\n moment().format(\"YYYYMMDD\")\r\n ) {\r\n hasErrors = true;\r\n setErrors([\"startDateTooEarly\"]);\r\n }\r\n if (!hasErrors) {\r\n handleAddPackageWithYears();\r\n }\r\n }\r\n };\r\n const getFormattedPrice = (price, years) => {\r\n let dividedPrice = Math.round((price / years) * 100) / 100;\r\n return currency === \"SEK\"\r\n ? `${dividedPrice} kr`\r\n : `${currency} ${dividedPrice}`;\r\n };\r\n\r\n const handleSetVariant = (option) => {\r\n if (\r\n cart.result.some((item) => item.fortnoxNumber === option.fortnoxNumber)\r\n ) {\r\n setArticleExistsInCart(\r\n cart.result.find((item) => item.fortnoxNumber === option.fortnoxNumber)\r\n .startDate\r\n );\r\n } else {\r\n setArticleExistsInCart(null);\r\n }\r\n setSelectedPlusPackageVariant({\r\n ...selectedPlusPackageVariant,\r\n option: {\r\n ...option,\r\n name: option.name,\r\n type: selectedPlusPackage.productVariant.type,\r\n },\r\n });\r\n setErrors(errors.filter((err) => err !== \"noVariant\"));\r\n };\r\n\r\n const handleSetStartDate = (date) => {\r\n setSelectedPlusPackageVariant({\r\n ...selectedPlusPackageVariant,\r\n startDate: date,\r\n });\r\n setErrors(\r\n errors.filter(\r\n (err) => err !== \"noStartDate\" && err !== \"startDateTooEarly\"\r\n )\r\n );\r\n };\r\n\r\n const handleCloseModal = () => {\r\n setErrors([]);\r\n toggle();\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 {selectedPlusPackage?.productVariant?.options?.map((option, i) => {\r\n return (\r\n \r\n \r\n handleSetVariant(option)}\r\n >\r\n \r\n \r\n {option.years} år.\r\n \r\n \r\n \r\n {getFormattedPrice(\r\n option.priceStudent !== undefined\r\n ? option.priceStudent\r\n : option.salesPrice,\r\n option.years\r\n )}\r\n /{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {articleExistsInCart !== null ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n handleSetStartDate(value)}\r\n locale={sv}\r\n format=\"yyyy-MM-dd\"\r\n readOnly={articleExistsInCart}\r\n >\r\n {({ inputProps, focused }) => (\r\n \r\n )}\r\n \r\n {errors.includes(\"noStartDate\") ? (\r\n \r\n \r\n \r\n ) : errors.includes(\"startDateTooEarly\") ? (\r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport {\r\n Button,\r\n Row,\r\n Col,\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Label,\r\n Badge,\r\n} from \"reactstrap\";\r\nimport moment from \"moment\";\r\nimport { DatePicker } from \"react-nice-dates\";\r\nimport { sv } from \"date-fns/locale\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\nexport default function PlusPackageVariantSelectOptionalModal({\r\n isOpen,\r\n toggle,\r\n selectedPlusPackageVariant,\r\n setSelectedPlusPackageVariant,\r\n selectedPlusPackage,\r\n currency,\r\n onProceed,\r\n}) {\r\n const [errors, setErrors] = useState([]);\r\n const [articleExistsInCart, setArticleExistsInCart] = useState(null);\r\n const cart = useSelector((state) => state.newCartReducer);\r\n\r\n const handleSetPackage = () => {\r\n let hasErrors = false;\r\n if (Object.keys(selectedPlusPackageVariant).length === 0) {\r\n hasErrors = true;\r\n setErrors([\"noVariant\", \"noStartDate\"]);\r\n } else {\r\n if (!selectedPlusPackageVariant.option) {\r\n hasErrors = true;\r\n setErrors([\"noVariant\"]);\r\n }\r\n if (\r\n !selectedPlusPackageVariant.startDate &&\r\n articleExistsInCart === null\r\n ) {\r\n hasErrors = true;\r\n setErrors([\"noStartDate\"]);\r\n }\r\n if (\r\n selectedPlusPackageVariant.startDate !== undefined &&\r\n moment(selectedPlusPackageVariant.startDate).format(\"YYYYMMDD\") <\r\n moment().format(\"YYYYMMDD\")\r\n ) {\r\n hasErrors = true;\r\n setErrors([\"startDateTooEarly\"]);\r\n }\r\n if (!hasErrors) {\r\n onProceed(true);\r\n }\r\n }\r\n };\r\n const getFormattedPrice = (price, years) => {\r\n let dividedPrice = Math.round((price / years) * 100) / 100;\r\n return currency === \"SEK\"\r\n ? `${dividedPrice} kr`\r\n : `${currency} ${dividedPrice}`;\r\n };\r\n\r\n const handleSetVariant = (option) => {\r\n if (\r\n cart.result.some((item) => item.fortnoxNumber === option.fortnoxNumber)\r\n ) {\r\n setArticleExistsInCart(\r\n cart.result.find((item) => item.fortnoxNumber === option.fortnoxNumber)\r\n .startDate\r\n );\r\n } else {\r\n setArticleExistsInCart(null);\r\n }\r\n setSelectedPlusPackageVariant({\r\n ...selectedPlusPackageVariant,\r\n option: {\r\n ...option,\r\n name: option.name,\r\n type: selectedPlusPackage.productVariant.type,\r\n },\r\n });\r\n setErrors(errors.filter((err) => err !== \"noVariant\"));\r\n };\r\n\r\n const handleSetStartDate = (date) => {\r\n setSelectedPlusPackageVariant({\r\n ...selectedPlusPackageVariant,\r\n startDate: date,\r\n });\r\n setErrors(\r\n errors.filter(\r\n (err) => err !== \"noStartDate\" && err !== \"startDateTooEarly\"\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 {selectedPlusPackage?.productVariant?.options?.map((option, i) => {\r\n return (\r\n \r\n \r\n handleSetVariant(option)}\r\n >\r\n \r\n \r\n {option.years} år.\r\n \r\n \r\n \r\n {getFormattedPrice(\r\n option.priceStudent !== undefined\r\n ? option.priceStudent\r\n : option.salesPrice,\r\n option.years\r\n )}\r\n /{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {articleExistsInCart !== null ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n handleSetStartDate(value)}\r\n locale={sv}\r\n format=\"yyyy-MM-dd\"\r\n readOnly={articleExistsInCart}\r\n >\r\n {({ inputProps, focused }) => (\r\n \r\n )}\r\n \r\n {errors.includes(\"noStartDate\") ? (\r\n \r\n \r\n \r\n ) : errors.includes(\"startDateTooEarly\") ? (\r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\n\r\nexport default function AlertModal({ close, isOpen, title, message }) {\r\n return (\r\n \r\n {title}\r\n {message}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","export const LicenseTypes = {\r\n PlusLicense: \"PlusLicense\", //Only apl, but as part of bundle\r\n APLOnly: \"APLOnly\", //Only apl, not as part of bundle\r\n StudentLicense: \"StudentLicense\", //Only studentlicense\r\n StudentLicencePlus: \"StudentLicencePlus\", //Bundle with studentlicense and plus\r\n};\r\n","import React, { useState } from \"react\";\r\nimport {\r\n Button,\r\n Card,\r\n CardImg,\r\n Row,\r\n Col,\r\n CardBody,\r\n CardFooter,\r\n CardTitle,\r\n} from \"reactstrap\";\r\nimport moment from \"moment\";\r\nimport PlusPackageVariantSelectModal from \"../Modal/PlusPackageVariantSelectModal\";\r\nimport PlusPackageVariantSelectOptionalModal from \"../Modal/PlusPackageVariantSelectOptionalModal\";\r\nimport AlertModal from \"../Modal/AlertModal\";\r\nimport { injectIntl } from \"react-intl\";\r\nimport _ from \"lodash\";\r\nimport { LicenseTypes } from \"../../constants/LicenseTypes\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nfunction ProductItem(props) {\r\n const [selectForYearsModalIsOpen, setSelectForYearsModalIsOpen] =\r\n useState(false);\r\n const [selectedPlusPackage, setSelectedPlusPackage] = useState({});\r\n const [selectedPlusPackageVariant, setSelectedPlusPackageVariant] = useState({\r\n startDate: new Date(),\r\n });\r\n const [promptItemAlreadyInCart, setPromptItemAlreadyInCart] = useState(false);\r\n const [itemForPromptInfoOnPlusPackage, setItemForPromptInfoOnPlusPackage] =\r\n useState(null);\r\n const [choosenPremiumLicense, setChoosenPremiumLicense] = useState({\r\n startDate: new Date(),\r\n });\r\n\r\n const getFormattedPrice = (price) => {\r\n return props.currency === \"SEK\"\r\n ? `${price} kr`\r\n : `${props.currency} ${price}`;\r\n };\r\n\r\n let validTo = moment(props.product.validTo).format(\"YYYY-MM-DD\");\r\n let isValid = moment(validTo).isAfter();\r\n\r\n const textManagerFailMessages = (e) => {\r\n if (!e.enablePackage) {\r\n return props.intl.formatMessage({\r\n id: \"OnlyAvailableForTeachersOnThisProgram\",\r\n });\r\n } else if (!isValid) {\r\n return props.intl.formatMessage(\r\n { id: \"YourProgramLicenseForProgramHasExpired\" },\r\n {\r\n name: e.product.name,\r\n }\r\n );\r\n } else if (e.isPackagePurchase) {\r\n return props.intl.formatMessage({\r\n id: \"PackageIsInCartNextStepChooseStudents\",\r\n });\r\n } else if (e.isCoursePurchase) {\r\n return props.intl.formatMessage({\r\n id: \"PackageIsInCartNextStepChooseStudents\",\r\n });\r\n }\r\n };\r\n\r\n const handleAddOrSelectVariant = (product, productVariant) => {\r\n if (productVariant.options) {\r\n setSelectedPlusPackage({\r\n product: product,\r\n productVariant: productVariant,\r\n });\r\n setSelectForYearsModalIsOpen(true);\r\n } else {\r\n setSelectedPlusPackage({\r\n product: product,\r\n productVariant: product.options.find(\r\n (item) => item.type === LicenseTypes.StudentLicencePlus\r\n ),\r\n });\r\n const itemToAdd = {\r\n name: productVariant.name,\r\n costCenter: props.product.fortNoxCostCenter,\r\n fortnoxNumber: productVariant.fortnoxNumber,\r\n programLicenseId: props.product.programLicenseId,\r\n priceStudent: productVariant.priceStudent,\r\n years: null,\r\n validFrom: null,\r\n type: productVariant.type,\r\n };\r\n //Check if current package already is in cart\r\n setItemForPromptInfoOnPlusPackage(itemToAdd);\r\n }\r\n };\r\n\r\n const handleProceedToAddProgramLicenseToCart = (addPremium) => {\r\n if (\r\n !addPremium ||\r\n _.isEmpty(\r\n choosenPremiumLicense || _.isEmpty(choosenPremiumLicense.option)\r\n )\r\n ) {\r\n props.handleOnAddPackage(itemForPromptInfoOnPlusPackage);\r\n } else {\r\n const studentLicenseToAdd = props.product.options.find(\r\n (item) => item.type === LicenseTypes.StudentLicense\r\n );\r\n const plusPackageToAdd = choosenPremiumLicense.option;\r\n props.handleOnAddPackage(\r\n { ...studentLicenseToAdd, addedStudents: [] },\r\n {\r\n ...plusPackageToAdd,\r\n startDate: choosenPremiumLicense.startDate,\r\n addedStudents: [],\r\n }\r\n );\r\n }\r\n setChoosenPremiumLicense({ startDate: new Date() });\r\n setItemForPromptInfoOnPlusPackage(null);\r\n };\r\n\r\n const handleAddPackageWithYears = () => {\r\n const itemToAdd = {\r\n name: selectedPlusPackageVariant.option.name,\r\n costCenter: props.product.fortNoxCostCenter,\r\n fortnoxNumber: selectedPlusPackageVariant.option.fortnoxNumber,\r\n programLicenseId: props.product.programLicenseId,\r\n priceStudent: selectedPlusPackageVariant.option.priceStudent,\r\n years: selectedPlusPackageVariant.option.years,\r\n startDate: selectedPlusPackageVariant.startDate,\r\n type: selectedPlusPackage.productVariant.type,\r\n programName: props.product.programName,\r\n };\r\n props.handleOnAddPackage(itemToAdd);\r\n setSelectForYearsModalIsOpen(false);\r\n };\r\n\r\n const handleCloseselectForYearsModal = () => {\r\n setSelectedPlusPackageVariant({\r\n startDate: new Date(),\r\n });\r\n setSelectForYearsModalIsOpen(false);\r\n };\r\n\r\n const getButtonTitle = (licenseType) => {\r\n switch (licenseType) {\r\n case LicenseTypes.StudentLicense:\r\n return props.intl.formatMessage({\r\n id: \"ProgramLicenseStoreInfo\",\r\n });\r\n case LicenseTypes.StudentLicencePlus:\r\n return props.intl.formatMessage({\r\n id: \"ProgramLicensePlusStoreInfo\",\r\n });\r\n case LicenseTypes.PlusLicense:\r\n return props.intl.formatMessage({\r\n id: \"OnlyPlusPackageStoreInfo\",\r\n });\r\n default:\r\n return props.intl.formatMessage({\r\n id: \"ProgramLicenseStoreInfo\",\r\n });\r\n }\r\n };\r\n\r\n const cardFooterOk = (\r\n \r\n {props.product.options.map((productVariant, i) => {\r\n if (productVariant.type !== \"StudentLicencePlus\") {\r\n return (\r\n \r\n \r\n \r\n handleAddOrSelectVariant(props.product, productVariant)\r\n }\r\n >\r\n \r\n {productVariant.name}\r\n \r\n {!productVariant.options ? (\r\n \r\n \r\n {getFormattedPrice(productVariant.priceStudent)}\r\n /licens\r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n {\" \" +\r\n getFormattedPrice(props.cheapestPlusLicensePrice)}\r\n /\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n })}\r\n \r\n );\r\n\r\n const cardFooterNotOk = (\r\n \r\n {textManagerFailMessages(props)}\r\n \r\n );\r\n\r\n return (\r\n <>\r\n \r\n \r\n {props.product.name.includes(\"LearnWARE programlicens\") && (\r\n \r\n \r\n {props.product.name.replace(\"LearnWARE programlicens\", \"\")}\r\n \r\n \r\n )}\r\n {!props.enablePackage && (\r\n \r\n \r\n {props.product.packageName}\r\n \r\n \r\n )}\r\n\r\n {!props.enablePackage ? cardFooterNotOk : cardFooterOk}\r\n \r\n\r\n handleCloseselectForYearsModal()}\r\n selectedPlusPackageVariant={selectedPlusPackageVariant}\r\n setSelectedPlusPackageVariant={setSelectedPlusPackageVariant}\r\n selectedPlusPackage={selectedPlusPackage}\r\n setSelectForYearsModalIsOpen={setSelectForYearsModalIsOpen}\r\n handleAddPackageWithYears={handleAddPackageWithYears}\r\n currency={props.currency}\r\n />\r\n setItemForPromptInfoOnPlusPackage(null)}\r\n onProceed={handleProceedToAddProgramLicenseToCart}\r\n selectedPlusPackageVariant={choosenPremiumLicense}\r\n setSelectedPlusPackageVariant={setChoosenPremiumLicense}\r\n selectedPlusPackage={selectedPlusPackage}\r\n setSelectForYearsModalIsOpen={setSelectForYearsModalIsOpen}\r\n currency={props.currency}\r\n />\r\n setPromptItemAlreadyInCart(false)}\r\n isOpen={promptItemAlreadyInCart}\r\n title={props.intl.formatMessage({\r\n id: \"ProductIsAlreadyInCart\",\r\n })}\r\n message={props.intl.formatMessage({\r\n id: \"YouCanOnlyAddTheSameProductOnceInSameOrder\",\r\n })}\r\n />\r\n \r\n );\r\n}\r\nexport default injectIntl(ProductItem);\r\n","import React, { useState } from \"react\";\r\nimport {\r\n Button,\r\n Card,\r\n CardImg,\r\n Row,\r\n Col,\r\n CardFooter,\r\n CardTitle,\r\n} from \"reactstrap\";\r\nimport moment from \"moment\";\r\nimport PlusPackageVariantSelectModal from \"../Modal/PlusPackageVariantSelectModal\";\r\nimport AlertModal from \"../Modal/AlertModal\";\r\nimport { injectIntl } from \"react-intl\";\r\nimport { LicenseTypes } from \"../../constants/LicenseTypes\";\r\n\r\nfunction AplProductItem({\r\n lastAddedProduct,\r\n handleOnAddPackage,\r\n enablePackage,\r\n product,\r\n currency,\r\n intl,\r\n}) {\r\n const [selectForYearsModalIsOpen, setSelectForYearsModalIsOpen] =\r\n useState(false);\r\n const [selectedPlusPackage, setSelectedPlusPackage] = useState({});\r\n const [selectedPlusPackageVariant, setSelectedPlusPackageVariant] = useState({\r\n startDate: new Date(),\r\n });\r\n const [promptItemAlreadyInCart, setPromptItemAlreadyInCart] = useState(false);\r\n\r\n let validTo = moment(product.validTo).format(\"YYYY-MM-DD\");\r\n let isValid = moment(validTo).isAfter();\r\n\r\n const handleAddOrSelectVariant = (item) => {\r\n let currentAplVariant = { name: \"APL By LearnWARE\", options: item.options };\r\n setSelectedPlusPackage({\r\n productVariant: currentAplVariant,\r\n });\r\n setSelectForYearsModalIsOpen(true);\r\n };\r\n\r\n const handleAddPackageWithYears = () => {\r\n //Sätt rätt pricestudent\r\n const itemToAdd = {\r\n name: selectedPlusPackageVariant.option.description,\r\n costCenter: product.fortNoxCostCenter,\r\n fortnoxNumber: selectedPlusPackageVariant.option.fortnoxNumber,\r\n programLicenseId: product.programLicenseId,\r\n priceStudent: selectedPlusPackageVariant.option.salesPrice,\r\n years: selectedPlusPackageVariant.option.years,\r\n startDate: selectedPlusPackageVariant.startDate,\r\n type: LicenseTypes.APLOnly,\r\n programName: product.programName,\r\n };\r\n handleOnAddPackage(itemToAdd);\r\n setSelectForYearsModalIsOpen(false);\r\n };\r\n\r\n const handleCloseselectForYearsModal = () => {\r\n setSelectedPlusPackageVariant({ startDate: new Date() });\r\n setSelectForYearsModalIsOpen(false);\r\n };\r\n\r\n const cardFooterOk = (\r\n \r\n \r\n \r\n handleAddOrSelectVariant(product)}\r\n >\r\n \r\n
    \r\n {product.name}\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 Apl\r\n \r\n {cardFooterOk}\r\n \r\n\r\n handleCloseselectForYearsModal()}\r\n selectedPlusPackageVariant={selectedPlusPackageVariant}\r\n setSelectedPlusPackageVariant={setSelectedPlusPackageVariant}\r\n selectedPlusPackage={selectedPlusPackage}\r\n setSelectForYearsModalIsOpen={setSelectForYearsModalIsOpen}\r\n handleAddPackageWithYears={handleAddPackageWithYears}\r\n currency={currency}\r\n />\r\n setPromptItemAlreadyInCart(false)}\r\n isOpen={promptItemAlreadyInCart}\r\n title={intl.formatMessage({ id: \"ProductIsAlreadyInCart\" })}\r\n message={intl.formatMessage({\r\n id: \"YouCanOnlyAddTheSameProductOnceInSameOrder\",\r\n })}\r\n />\r\n \r\n );\r\n}\r\nexport default injectIntl(AplProductItem);\r\n","import React, { useEffect, useState, useCallback } from \"react\";\r\nimport { Row, Col, Input, Label, Collapse, Button } from \"reactstrap\";\r\nimport { useSelector } from \"react-redux\";\r\nimport moment from \"moment\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { LicenseTypes } from \"../../constants/LicenseTypes\";\r\nimport { SortingState, IntegratedSorting } from \"@devexpress/dx-react-grid\";\r\nimport {\r\n Grid,\r\n Table,\r\n TableHeaderRow,\r\n TableColumnResizing,\r\n} from \"@devexpress/dx-react-grid-bootstrap4\";\r\nimport \"@devexpress/dx-react-grid-bootstrap4/dist/dx-react-grid-bootstrap4.css\";\r\n\r\nconst TableComponent = ({ ...restProps }) => (\r\n \r\n);\r\n\r\nexport default function ShopStudentsSelect({\r\n studentsOnCurrentProgram,\r\n lastAddedProduct,\r\n addOrRemoveStudentFromCartItem,\r\n allStudentsWithLicenses,\r\n allStudents,\r\n preselectedStudent,\r\n removeManyFromCart,\r\n addManyToCart,\r\n allChecked,\r\n setAllChecked,\r\n}) {\r\n const [studentsForAdding, setStudentsForAdding] = useState([]);\r\n const [filteredStudentsForSelect, setFilteredStudentsForSelect] = useState(\r\n []\r\n );\r\n const [filterStudentsBy, setFilteredStudentsBy] = useState(\"\");\r\n const [studentsWithCurrentLicense, setStudentsWithCurrentLicense] = useState(\r\n []\r\n );\r\n const [showStudentsWithLicense, setShowStudentsWithLicense] = useState(false);\r\n\r\n const [columns] = useState([\r\n { name: \"input\", title: \"Välj\" },\r\n { name: \"name\", title: \"Namn\" },\r\n { name: \"class\", title: \"Klass\" },\r\n { name: \"aplLicense\", title: \"Apl-licens\" },\r\n ]);\r\n const [rowsForSelect, setRowsForSelect] = useState([]);\r\n const [rowsForNotSelect, setRowsForNotSelect] = useState([]);\r\n const [sortingForSelect, setSortingForSelect] = useState([\r\n { columnName: \"name\", direction: \"asc\" },\r\n ]);\r\n const [sortingForNotSelect, setSortingForNotSelect] = useState([\r\n { columnName: \"name\", direction: \"asc\" },\r\n ]);\r\n const [sortingStateColumnExtensions] = useState([\r\n { columnName: \"input\", sortingEnabled: false, width: 10 },\r\n { columnName: \"name\", sortingEnabled: true },\r\n { columnName: \"class\", sortingEnabled: true },\r\n { columnName: \"aplLicense\", sortingEnabled: false },\r\n ]);\r\n\r\n const defaultColumnWidths = [\r\n { columnName: \"input\", width: 100 },\r\n { columnName: \"name\", width: 300 },\r\n { columnName: \"class\", width: 300 },\r\n { columnName: \"aplLicense\", width: 400 },\r\n ];\r\n const cart = useSelector((state) => state.newCartReducer);\r\n\r\n const checkStudentHasLicense = useCallback(\r\n (studentLicenses) => {\r\n const lastAddedValidFrom = lastAddedProduct.isPlusPackage\r\n ? lastAddedProduct.plusPackage.validFrom\r\n : lastAddedProduct.validFrom;\r\n\r\n const lastAddedYears = lastAddedProduct.isPlusPackage\r\n ? lastAddedProduct.studentLicense.years\r\n : 3;\r\n\r\n if (studentLicenses.hasValidAplLicense) {\r\n if (\r\n moment(studentLicenses.aplLicenseValidTo) >=\r\n moment(lastAddedValidFrom)\r\n ) {\r\n return true;\r\n }\r\n } else if (studentLicenses.aplLicenseValidFrom) {\r\n let newStartDate = moment(lastAddedValidFrom).format(\"YYYYMMDD\");\r\n let newEndDate = moment(lastAddedValidFrom)\r\n .add(lastAddedYears, \"y\")\r\n .format(\"YYYYMMDD\");\r\n let existingStartDate = moment(\r\n studentLicenses.aplLicenseValidFrom\r\n ).format(\"YYYYMMDD\");\r\n let existingEnddate = moment(studentLicenses.aplLicenseValidTo).format(\r\n \"YYYYMMDD\"\r\n );\r\n if (newEndDate > existingStartDate && newStartDate < existingEnddate) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n },\r\n [lastAddedProduct]\r\n );\r\n\r\n useEffect(() => {\r\n let tempAllStudentsWithLicenseWithoutName = [];\r\n let studentsWithCurrentStudentLicense = [];\r\n let studentsWithConflictingAplLicense = [];\r\n if (lastAddedProduct.isPlusPackage) {\r\n studentsOnCurrentProgram.forEach((stud) => {\r\n if (checkStudentHasLicense(stud.licenses)) {\r\n studentsWithConflictingAplLicense.push(stud);\r\n }\r\n });\r\n }\r\n //Set studentsWithCurrentStudentLicense\r\n tempAllStudentsWithLicenseWithoutName =\r\n allStudentsWithLicenses.resultNew.filter((stud) =>\r\n stud.programLicenseIds.includes(\r\n lastAddedProduct.isPlusPackage\r\n ? lastAddedProduct.studentLicense.programLicenseId\r\n : lastAddedProduct.programLicenseId\r\n )\r\n );\r\n tempAllStudentsWithLicenseWithoutName.forEach((licStud) => {\r\n let currStud = allStudents.result.find(\r\n (stud) => stud.id === licStud.studentId\r\n );\r\n if (currStud) {\r\n let studentToAdd = {\r\n name: currStud.name,\r\n id: currStud.id,\r\n class: currStud.class,\r\n licenses: licStud.programLicenseIds,\r\n };\r\n studentsWithCurrentStudentLicense.push(studentToAdd);\r\n }\r\n });\r\n //If generic apl license selected show all students\r\n if (lastAddedProduct.type === LicenseTypes.APLOnly) {\r\n let tempStudentsForNotChoosing = [];\r\n let tempStudentsForChoosing = [];\r\n const tempAllStudents = [];\r\n allStudents.result.forEach((stud) => {\r\n const licenses = allStudentsWithLicenses.resultNew.find(\r\n (studWL) => studWL.studentId === stud.id\r\n );\r\n let studentToAdd = {\r\n name: stud.name,\r\n id: stud.id,\r\n class: stud.class,\r\n licenses: licenses,\r\n };\r\n tempAllStudents.push(studentToAdd);\r\n });\r\n tempAllStudents.forEach((stud) => {\r\n if (checkStudentHasLicense(stud.licenses)) {\r\n tempStudentsForNotChoosing.push({ ...stud, hasApl: true });\r\n } else {\r\n tempStudentsForChoosing.push({ ...stud, hasApl: false });\r\n }\r\n });\r\n setStudentsForAdding(tempStudentsForChoosing);\r\n setFilteredStudentsForSelect(tempStudentsForChoosing);\r\n setStudentsWithCurrentLicense(tempStudentsForNotChoosing);\r\n //If pluslicense Show only students on current program that doesnt have apl\r\n } else if (lastAddedProduct.type === LicenseTypes.PlusLicense) {\r\n let tempStudentsForNotChoosing = [];\r\n let tempStudentsForChoosing = [];\r\n const tempAllStudents = [];\r\n allStudents.result.forEach((stud) => {\r\n const licenses = allStudentsWithLicenses.resultNew.find(\r\n (studWL) => studWL.studentId === stud.id\r\n );\r\n let studentToAdd = {\r\n name: stud.name,\r\n id: stud.id,\r\n class: stud.class,\r\n licenses: licenses,\r\n };\r\n tempAllStudents.push(studentToAdd);\r\n });\r\n tempAllStudents.forEach((stud) => {\r\n if (checkStudentHasLicense(stud.licenses)) {\r\n tempStudentsForNotChoosing.push({ ...stud, hasApl: true });\r\n } else {\r\n tempStudentsForChoosing.push({ ...stud, hasApl: false });\r\n }\r\n });\r\n tempStudentsForChoosing = tempStudentsForChoosing.filter((stud) =>\r\n stud.licenses.programLicenseIds.includes(\r\n lastAddedProduct.programLicenseId\r\n )\r\n );\r\n tempStudentsForChoosing = tempStudentsForChoosing.filter((stud) =>\r\n studentsOnCurrentProgram.some((progStud) => progStud.id === stud.id)\r\n );\r\n setStudentsForAdding(tempStudentsForChoosing);\r\n setFilteredStudentsForSelect(tempStudentsForChoosing);\r\n setStudentsWithCurrentLicense(tempStudentsForNotChoosing);\r\n //StudentLicens, visa alla elever som inte har elevlicens\r\n } else if (lastAddedProduct.type === LicenseTypes.StudentLicense) {\r\n let tempStudentsForChoosing = studentsOnCurrentProgram.filter(\r\n (stud) =>\r\n !stud.licenses.programLicenseIds.includes(\r\n lastAddedProduct.programLicenseId\r\n )\r\n );\r\n let tempStudentsForNotChoosing = studentsOnCurrentProgram.filter((stud) =>\r\n stud.licenses.programLicenseIds.includes(\r\n lastAddedProduct.programLicenseId\r\n )\r\n );\r\n setStudentsWithCurrentLicense(tempStudentsForNotChoosing);\r\n setStudentsForAdding(tempStudentsForChoosing);\r\n setFilteredStudentsForSelect(tempStudentsForChoosing);\r\n } else if (lastAddedProduct.isPlusPackage) {\r\n //Visa alla elever som inte har licens och som inte har apl för perioden.\r\n let tempStudentsForChoosing = studentsOnCurrentProgram.filter(\r\n (stud) =>\r\n !stud.licenses.programLicenseIds.includes(\r\n lastAddedProduct.studentLicense.programLicenseId\r\n )\r\n );\r\n studentsWithConflictingAplLicense.forEach((studwithconflict) => {\r\n tempStudentsForChoosing = tempStudentsForChoosing.filter(\r\n (stud) => stud.id !== studwithconflict.id\r\n );\r\n });\r\n\r\n let tempStudentsForNotChoosing = studentsOnCurrentProgram.filter((stud) =>\r\n stud.licenses.programLicenseIds.includes(\r\n lastAddedProduct.studentLicense.programLicenseId\r\n )\r\n );\r\n studentsWithConflictingAplLicense.forEach((studWithconflicting) => {\r\n if (\r\n !tempStudentsForNotChoosing.some(\r\n (stud) => stud.id === studWithconflicting.id\r\n )\r\n ) {\r\n tempStudentsForNotChoosing.push({\r\n ...studWithconflicting,\r\n hasApl: true,\r\n });\r\n } else {\r\n tempStudentsForNotChoosing.find(\r\n (stud) => stud.id === studWithconflicting.id\r\n ).hasApl = true;\r\n }\r\n });\r\n setStudentsWithCurrentLicense(tempStudentsForNotChoosing);\r\n setStudentsForAdding(tempStudentsForChoosing);\r\n setFilteredStudentsForSelect(tempStudentsForChoosing);\r\n }\r\n\r\n if (preselectedStudent) {\r\n setStudentsForAdding(\r\n studentsOnCurrentProgram.filter(\r\n (stud) => stud.id === preselectedStudent.id\r\n )\r\n );\r\n setFilteredStudentsForSelect(\r\n studentsOnCurrentProgram.filter(\r\n (stud) => stud.id === preselectedStudent.id\r\n )\r\n );\r\n }\r\n }, [\r\n studentsOnCurrentProgram,\r\n lastAddedProduct,\r\n allStudents.result,\r\n allStudentsWithLicenses.resultNew,\r\n allStudents.loading,\r\n allStudentsWithLicenses.loading,\r\n preselectedStudent,\r\n checkStudentHasLicense,\r\n ]);\r\n\r\n useEffect(() => {\r\n if (filterStudentsBy.length > 0) {\r\n setFilteredStudentsForSelect(\r\n studentsForAdding.filter(\r\n (stud) =>\r\n stud.name.toLowerCase().includes(filterStudentsBy.toLowerCase()) ||\r\n stud.class.name\r\n .toLowerCase()\r\n .includes(filterStudentsBy.toLowerCase())\r\n )\r\n );\r\n } else {\r\n setFilteredStudentsForSelect(studentsForAdding);\r\n }\r\n }, [filterStudentsBy, studentsForAdding]);\r\n\r\n const handleToggleAllStudents = () => {\r\n if (allChecked) {\r\n removeManyFromCart(filteredStudentsForSelect);\r\n setAllChecked(false);\r\n } else {\r\n addManyToCart(filteredStudentsForSelect);\r\n setAllChecked(true);\r\n }\r\n };\r\n\r\n const handleGetCheckStatus = useCallback(\r\n (studentId) => {\r\n if (lastAddedProduct.isPlusPackage) {\r\n if (\r\n cart.result.some(\r\n (cartitem) =>\r\n cartitem.fortnoxNumber ===\r\n lastAddedProduct.studentLicense.fortnoxNumber &&\r\n cartitem.addedStudents.some(\r\n (addedstud) => addedstud.id === studentId\r\n )\r\n )\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n if (\r\n cart.result.some(\r\n (cartitem) =>\r\n cartitem.fortnoxNumber === lastAddedProduct.fortnoxNumber &&\r\n cartitem.addedStudents.some(\r\n (addedstud) => addedstud.id === studentId\r\n )\r\n )\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n },\r\n [lastAddedProduct, cart.result]\r\n );\r\n\r\n useEffect(() => {\r\n if (lastAddedProduct) {\r\n let tempStudentsForSelect = [];\r\n filteredStudentsForSelect.forEach((stud, i) => {\r\n let tempStudentToAdd = {\r\n input: null,\r\n name: null,\r\n class: null,\r\n aplLicense: null,\r\n };\r\n tempStudentToAdd.name = stud.name;\r\n tempStudentToAdd.input = (\r\n addOrRemoveStudentFromCartItem(stud)}\r\n checked={handleGetCheckStatus(stud.id)}\r\n disabled={\r\n lastAddedProduct.type !== LicenseTypes.StudentLicense &&\r\n checkStudentHasLicense(stud.licenses)\r\n }\r\n />\r\n );\r\n tempStudentToAdd.class = stud.class.name;\r\n tempStudentToAdd.aplLicense =\r\n lastAddedProduct.type === LicenseTypes.StudentLicense ? (\r\n \"\"\r\n ) : stud.licenses.aplLicenseValidTo !== null ? (\r\n stud.licenses.hasValidAplLicense ? (\r\n <>\r\n {\" \"}\r\n {moment(stud.licenses.aplLicenseValidTo).format(\"YYYY-MM-DD\")}\r\n \r\n ) : (\r\n \r\n )\r\n ) : null;\r\n tempStudentsForSelect.push(tempStudentToAdd);\r\n });\r\n setRowsForSelect(tempStudentsForSelect);\r\n }\r\n }, [\r\n filteredStudentsForSelect,\r\n addOrRemoveStudentFromCartItem,\r\n checkStudentHasLicense,\r\n lastAddedProduct,\r\n cart.result,\r\n handleGetCheckStatus,\r\n ]);\r\n\r\n useEffect(() => {\r\n let tempStudentsForNotSelect = [];\r\n studentsWithCurrentLicense.forEach((stud, i) => {\r\n let tempStudentToAdd = {\r\n input: null,\r\n name: null,\r\n class: null,\r\n aplLicense: null,\r\n };\r\n tempStudentToAdd.name = stud.name;\r\n tempStudentToAdd.input = (\r\n \r\n );\r\n tempStudentToAdd.class = stud.class.name;\r\n tempStudentToAdd.aplLicense =\r\n lastAddedProduct.type === LicenseTypes.StudentLicense ? (\r\n \"\"\r\n ) : stud.licenses.aplLicenseValidTo !== null ? (\r\n stud.licenses.hasValidAplLicense ? (\r\n <>\r\n {\" \"}\r\n {moment(stud.licenses.aplLicenseValidTo).format(\"YYYY-MM-DD\")}\r\n \r\n ) : (\r\n \r\n )\r\n ) : null;\r\n tempStudentsForNotSelect.push(tempStudentToAdd);\r\n });\r\n setRowsForNotSelect(tempStudentsForNotSelect);\r\n }, [studentsWithCurrentLicense, lastAddedProduct.type]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n setFilteredStudentsBy(data.target.value)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n handleToggleAllStudents()}\r\n checked={allChecked}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n (\r\n <>\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n tableComponent={TableComponent}\r\n />\r\n \r\n\r\n \r\n
    \r\n\r\n <>\r\n \r\n \r\n \r\n setShowStudentsWithLicense(!showStudentsWithLicense)\r\n }\r\n className=\"mb-3\"\r\n >\r\n {showStudentsWithLicense ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n (\r\n <>\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Table } from \"reactstrap\";\r\n\r\nconst CartStudentList = (props) => {\r\n let studentList = props.addedStudentList.map((p, i) => (\r\n \r\n {p.name}\r\n {p.class.name}\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 {studentList}\r\n
    \r\n Namn\r\n \r\n Klass\r\n
    \r\n );\r\n};\r\n\r\nexport default CartStudentList;\r\n","import React from \"react\";\r\nimport { Collapse, Col, Row } from \"reactstrap\";\r\nimport CartStudentList from \"./CartStudentList\";\r\n\r\nclass CartItem extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.toggle = this.toggle.bind(this);\r\n this.state = { collapse: false };\r\n }\r\n\r\n toggle() {\r\n this.setState({ collapse: !this.state.collapse });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Produkt: {this.props.cartItem?.name}\r\n \r\n \r\n\r\n \r\n \r\n Antal: \r\n {this.props.cartItem?.addedStudents?.length}\r\n \r\n \r\n\r\n \r\n \r\n Á-pris: {this.props.cartItem?.priceStudent} kr\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {!this.props.readonly && (\r\n this.props.handleDeleteFromCart()}\r\n type=\"button\"\r\n className=\"btn btn-sm btn-block btn-danger float-right\"\r\n >\r\n Ta bort \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.collapse ? \"Dölj\" : \"Visa\"} elever (\r\n {this.props.cartItem?.addedStudents?.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
    \r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default CartItem;\r\n","import React from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Row, Col, Card, CardHeader, CardBody, Button } from \"reactstrap\";\r\nimport CartItem from \"./cartItem\";\r\nimport { deleteFromCart } from \"../../actions/newCartActions\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { withRouter } from \"react-router-dom\";\r\n\r\nfunction NewCart({ currency, history }) {\r\n const cart = useSelector((state) => state.newCartReducer);\r\n const dispatch = useDispatch();\r\n\r\n const handleDeleteFromCart = (cartItem) => {\r\n dispatch(deleteFromCart(cartItem.fortnoxNumber));\r\n };\r\n\r\n const getFormattedPrice = (price) => {\r\n if (!currency) {\r\n return `${price} kr`;\r\n }\r\n return currency === \"SEK\" ? `${price} kr` : `${price} ${currency}`;\r\n };\r\n\r\n const totalAmount = () => {\r\n return cart.result.reduce((acum, item) => {\r\n acum += item.priceStudent * item.addedStudents.length;\r\n return acum;\r\n }, 0);\r\n };\r\n const handleCheckIfIsLastAdded = (cartItem) => {\r\n if (cart.lastAddedItem.isPlusPackage) {\r\n if (\r\n cart.lastAddedItem.studentLicense.fortnoxNumber ===\r\n cartItem.fortnoxNumber ||\r\n cart.lastAddedItem.plusPackage.fortnoxNumber === cartItem.fortnoxNumber\r\n )\r\n return true;\r\n } else {\r\n if (cart.lastAddedItem.fortnoxNumber === cartItem.fortnoxNumber) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n const buildCartList = () => {\r\n return cart.result.map((cartItem, i) => {\r\n return (\r\n handleDeleteFromCart(cartItem)}\r\n isLatestAdded={handleCheckIfIsLastAdded(cartItem)}\r\n />\r\n );\r\n });\r\n };\r\n\r\n const buildCart = () => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {buildCartList()}\r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const buildCartTotal = () => {\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\" \"}\r\n
    \r\n :{\" \"}\r\n {getFormattedPrice(totalAmount())}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {cart.result.length > 0 ? (\r\n \r\n item.addedStudents.length > 0)\r\n }\r\n outline\r\n color=\"primary\"\r\n onClick={() => history.push(\"/teacher/shop/confirmedorder\")}\r\n >\r\n \r\n \r\n \r\n ) : (\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 {cart.result.length !== 0 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default withRouter(NewCart);\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport {\r\n addToCart,\r\n addStudentToCartItem,\r\n removeStudentFromCartItem,\r\n setLastAddedItem,\r\n removeManyStudentsFromCartAndLastAdded,\r\n addManyStudentsFromCartAndLastAdded,\r\n} from \"../../actions/newCartActions\";\r\nimport {\r\n fetchProgramLicenses,\r\n fetchStudentsWithLicenseNew,\r\n} from \"../../actions/productsActions\";\r\nimport {\r\n Card,\r\n CardTitle,\r\n Row,\r\n Col,\r\n Collapse,\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Button,\r\n} from \"reactstrap\";\r\nimport ProductItem from \"./ProductItem\";\r\nimport { PacmanLoader } from \"react-spinners\";\r\nimport {\r\n fetchTeacherStudentsAction,\r\n fetchTeacherInformation,\r\n} from \"../../actions/teacherActions\";\r\nimport AplProductItem from \"./AplProductItem\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport ShopStudentsSelect from \"./ShopStudentsSelect\";\r\nimport NewCart from \"./NewCart\";\r\nimport moment from \"moment\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport _ from \"lodash\";\r\nimport { LicenseTypes } from \"../../constants/LicenseTypes\";\r\n\r\nconst ProductsList = (props) => {\r\n const [currency, setCurrency] = useState(\"SEK\");\r\n const [animateStudents, setAnimateStudents] = useState(false);\r\n const [collapseProducts, setCollapseProducts] = useState(false);\r\n const [collapseStudents, setCollapseStudents] = useState(true);\r\n const [licenseInfoModalIsOpen, setLicenseInfoModalIsOpen] = useState(false);\r\n const [sortedLicenses, setSortedLicenses] = useState([]);\r\n const [sortedGenericAplLicenses, setSortedGenericAplLicenses] = useState([]);\r\n const [studentsOnCurrentProgram, setStudentsOnCurrentProgram] = useState([]);\r\n const [allChecked, setAllChecked] = useState(false);\r\n const dispatch = useDispatch();\r\n\r\n const products = useSelector((state) => state.productsReducer);\r\n const cart = useSelector((state) => state.newCartReducer);\r\n const students = useSelector((state) => state.teacherStudentReducer);\r\n const teacherInfo = useSelector((state) => state.teacherInformationReducer);\r\n const studentWithLicenses = useSelector(\r\n (state) => state.studentWithLicenseReducer\r\n );\r\n const handleSetStudentsOnProgram = useCallback(\r\n (costCenter) => {\r\n if (!studentWithLicenses.loading) {\r\n const studentsOnProgram = [];\r\n students.result.forEach((stud) => {\r\n if (\r\n stud.class.programme.costCenter === costCenter ||\r\n cart.lastAddedItem.type === LicenseTypes.APLOnly\r\n ) {\r\n const licenses = studentWithLicenses.resultNew.find(\r\n (lic) => lic.studentId === stud.id\r\n );\r\n studentsOnProgram.push({\r\n name: stud.name,\r\n id: stud.id,\r\n class: { name: stud.class.name, id: stud.class.id },\r\n licenses: licenses,\r\n });\r\n }\r\n });\r\n setStudentsOnCurrentProgram(studentsOnProgram);\r\n }\r\n },\r\n [\r\n cart.lastAddedItem.type,\r\n studentWithLicenses.resultNew,\r\n students.result,\r\n studentWithLicenses.loading,\r\n ]\r\n );\r\n\r\n useEffect(() => {\r\n dispatch(fetchProgramLicenses(JSON.parse(localStorage.getItem(\"school\"))));\r\n dispatch(\r\n fetchStudentsWithLicenseNew(JSON.parse(localStorage.getItem(\"school\")))\r\n );\r\n dispatch(fetchTeacherStudentsAction());\r\n dispatch(fetchTeacherInformation());\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n if (!teacherInfo.loading && teacherInfo.result.customer) {\r\n setCurrency(teacherInfo.result.customer.currency);\r\n }\r\n }, [teacherInfo.result, teacherInfo.loading]);\r\n\r\n useEffect(() => {\r\n if (!_.isEmpty(cart.lastAddedItem)) {\r\n handleSetStudentsOnProgram(\r\n cart.lastAddedItem.isPlusPackage\r\n ? cart.lastAddedItem.studentLicense.costCenter\r\n : cart.lastAddedItem.costCenter\r\n );\r\n }\r\n }, [cart.lastAddedItem, handleSetStudentsOnProgram]);\r\n\r\n const dispachPackageAddToCart = (itemToAdd, plusPackageToAdd) => {\r\n itemToAdd.validFrom = itemToAdd.validFrom ? itemToAdd.validFrom : moment();\r\n itemToAdd.addedStudents = [];\r\n if (plusPackageToAdd) {\r\n const itemToSetAsLastAdded = {\r\n isPlusPackage: true,\r\n plusPackage: { ...plusPackageToAdd, validFrom: itemToAdd.validFrom },\r\n studentLicense: itemToAdd,\r\n };\r\n dispatch(setLastAddedItem(itemToSetAsLastAdded));\r\n dispatch(\r\n addToCart({\r\n ...plusPackageToAdd,\r\n validFrom: plusPackageToAdd.startDate,\r\n name:\r\n plusPackageToAdd.name +\r\n \" (giltig från \" +\r\n moment(plusPackageToAdd.startDate).format(\"YYYY-MM-DD\") +\r\n \")\",\r\n })\r\n );\r\n dispatch(addToCart(itemToAdd));\r\n } else {\r\n if (itemToAdd.type === LicenseTypes.PlusLicense) {\r\n dispatch(setLastAddedItem(itemToAdd));\r\n dispatch(\r\n addToCart({\r\n ...itemToAdd,\r\n validFrom: itemToAdd.startDate,\r\n name:\r\n itemToAdd.name +\r\n \" (giltig från \" +\r\n moment(itemToAdd.startDate).format(\"YYYY-MM-DD\") +\r\n \")\",\r\n })\r\n );\r\n dispatch(addToCart(itemToAdd));\r\n } else {\r\n let tempItemToAdd = { ...itemToAdd };\r\n if (itemToAdd.type === LicenseTypes.APLOnly) {\r\n tempItemToAdd.name =\r\n itemToAdd.name +\r\n \" (giltig från \" +\r\n moment(itemToAdd.startDate).format(\"YYYY-MM-DD\") +\r\n \")\";\r\n }\r\n dispatch(setLastAddedItem(tempItemToAdd));\r\n dispatch(addToCart(tempItemToAdd));\r\n }\r\n }\r\n handleSetStudentsOnProgram(itemToAdd.costCenter);\r\n toggle();\r\n setAllChecked(false);\r\n };\r\n\r\n const toggle = () => {\r\n setAnimateStudents(!animateStudents);\r\n setCollapseProducts(true);\r\n };\r\n\r\n const toggleProducts = () => {\r\n setCollapseProducts(!collapseProducts);\r\n };\r\n\r\n const removeManyFromCart = (students) => {\r\n let studentIds = [];\r\n students.forEach((stud) => {\r\n studentIds.push(stud.id);\r\n });\r\n if (cart.lastAddedItem.isPlusPackage) {\r\n dispatch(\r\n removeManyStudentsFromCartAndLastAdded(\r\n studentIds,\r\n cart.lastAddedItem.studentLicense.fortnoxNumber\r\n )\r\n );\r\n dispatch(\r\n removeManyStudentsFromCartAndLastAdded(\r\n studentIds,\r\n cart.lastAddedItem.plusPackage.fortnoxNumber\r\n )\r\n );\r\n } else {\r\n dispatch(\r\n removeManyStudentsFromCartAndLastAdded(\r\n studentIds,\r\n cart.lastAddedItem.fortnoxNumber\r\n )\r\n );\r\n }\r\n };\r\n\r\n const addManyToCart = (students) => {\r\n if (cart.lastAddedItem.isPlusPackage) {\r\n dispatch(\r\n addManyStudentsFromCartAndLastAdded(\r\n students,\r\n cart.lastAddedItem.studentLicense.fortnoxNumber\r\n )\r\n );\r\n dispatch(\r\n addManyStudentsFromCartAndLastAdded(\r\n students,\r\n cart.lastAddedItem.plusPackage.fortnoxNumber\r\n )\r\n );\r\n } else {\r\n dispatch(\r\n addManyStudentsFromCartAndLastAdded(\r\n students,\r\n cart.lastAddedItem.fortnoxNumber\r\n )\r\n );\r\n }\r\n };\r\n\r\n const addOrRemoveStudentFromCartItem = (student) => {\r\n //ADD or Remove student based on cart users.\r\n if (cart.lastAddedItem.isPlusPackage) {\r\n if (\r\n cart.lastAddedItem.studentLicense.addedStudents.some(\r\n (stud) => stud.id === student.id\r\n ) ||\r\n cart.lastAddedItem.plusPackage.addedStudents.some(\r\n (stud) => stud.id === student.id\r\n )\r\n ) {\r\n //Remove student\r\n dispatch(\r\n removeStudentFromCartItem(\r\n student,\r\n cart.lastAddedItem.studentLicense.fortnoxNumber\r\n )\r\n );\r\n dispatch(\r\n removeStudentFromCartItem(\r\n student,\r\n cart.lastAddedItem.plusPackage.fortnoxNumber\r\n )\r\n );\r\n //Remove from lastaddeditem from cart.lastAddedItem.plusPackage.addedStudents And cart.lastAddedItem.studentLicense.addedStudents\r\n let tempLastAddedItem = { ...cart.lastAddedItem };\r\n tempLastAddedItem.plusPackage.addedStudents =\r\n tempLastAddedItem.plusPackage.addedStudents.filter(\r\n (stud) => stud.id !== student.id\r\n );\r\n\r\n tempLastAddedItem.studentLicense.addedStudents =\r\n tempLastAddedItem.studentLicense.addedStudents.filter(\r\n (stud) => stud.id !== student.id\r\n );\r\n dispatch(setLastAddedItem(tempLastAddedItem));\r\n } else {\r\n //Add student\r\n if (\r\n !cart.result\r\n .find(\r\n (item) =>\r\n item.fortnoxNumber ===\r\n cart.lastAddedItem.studentLicense.fortnoxNumber\r\n )\r\n .addedStudents.some((stud) => stud.id === student.id)\r\n ) {\r\n dispatch(\r\n addStudentToCartItem(\r\n student,\r\n cart.lastAddedItem.studentLicense.fortnoxNumber\r\n )\r\n );\r\n }\r\n //Block add if student already exists in cart.result\r\n if (\r\n !cart.result\r\n .find(\r\n (item) =>\r\n item.fortnoxNumber ===\r\n cart.lastAddedItem.plusPackage.fortnoxNumber\r\n )\r\n .addedStudents.some((stud) => stud.id === student.id)\r\n ) {\r\n dispatch(\r\n addStudentToCartItem(\r\n student,\r\n cart.lastAddedItem.plusPackage.fortnoxNumber\r\n )\r\n );\r\n }\r\n //Add to lastaddeditem to cart.lastAddedItem.plusPackage.addedStudents\r\n let tempLastAddedItem = { ...cart.lastAddedItem };\r\n if (\r\n !tempLastAddedItem.plusPackage.addedStudents.some(\r\n (stud) => stud.id === student.id\r\n )\r\n ) {\r\n tempLastAddedItem.plusPackage.addedStudents.push(student);\r\n }\r\n //And cart.lastAddedItem.studentLicense.addedStudents\r\n if (\r\n !tempLastAddedItem.studentLicense.addedStudents.some(\r\n (stud) => stud.id === student.id\r\n )\r\n ) {\r\n tempLastAddedItem.studentLicense.addedStudents.push(student);\r\n }\r\n dispatch(setLastAddedItem(tempLastAddedItem));\r\n }\r\n //If lastAddedItem is not pluspackage\r\n } else {\r\n if (\r\n cart.lastAddedItem.addedStudents.some((stud) => stud.id === student.id)\r\n ) {\r\n //Remove student\r\n dispatch(\r\n removeStudentFromCartItem(student, cart.lastAddedItem.fortnoxNumber)\r\n );\r\n //Remove from lastaddeditem from cart.lastAddedItem.addedStudents\r\n let tempLastAddedItem = { ...cart.lastAddedItem };\r\n tempLastAddedItem.addedStudents =\r\n tempLastAddedItem.addedStudents.filter(\r\n (stud) => stud.id !== student.id\r\n );\r\n dispatch(setLastAddedItem(tempLastAddedItem));\r\n } else {\r\n //Add student\r\n if (\r\n !cart.result\r\n .find(\r\n (item) => item.fortnoxNumber === cart.lastAddedItem.fortnoxNumber\r\n )\r\n .addedStudents.some((stud) => stud.id === student.id)\r\n ) {\r\n dispatch(\r\n addStudentToCartItem(student, cart.lastAddedItem.fortnoxNumber)\r\n );\r\n }\r\n //Add to lastaddeditem to cart.lastAddedItem.addedStudents\r\n let tempLastAddedItem = { ...cart.lastAddedItem };\r\n if (\r\n !tempLastAddedItem.addedStudents.some(\r\n (stud) => stud.id === student.id\r\n )\r\n ) {\r\n tempLastAddedItem.addedStudents.push(student);\r\n }\r\n dispatch(setLastAddedItem(tempLastAddedItem));\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (!products.loading && products.result) {\r\n let tempSortedLicenses = [];\r\n products.result.options.forEach((lic) => {\r\n let tempProd = {\r\n programLicenseId: lic.programLicense.id,\r\n programName: lic.programLicense.fortNoxProgram.programName,\r\n addedDate: lic.programLicense.addedDate,\r\n fortnoxNumber: lic.programLicense.articleNumber,\r\n name: lic.programLicense.name,\r\n price: lic.programLicense.price,\r\n validTo: lic.programLicense.validTo,\r\n fortNoxCostCenter:\r\n lic.programLicense.fortNoxProgram.fortNoxCostCenter,\r\n options: [],\r\n };\r\n tempProd.options.push({\r\n type: LicenseTypes.StudentLicense,\r\n name: lic.studentLicense.description,\r\n fortnoxNumber: lic.studentLicense.articleNumber,\r\n priceStudent: Number(lic.studentLicense.salesPrice),\r\n programLicenseId: lic.programLicense.id,\r\n costCenter: lic.programLicense.fortNoxProgram.fortNoxCostCenter,\r\n });\r\n\r\n //Add the license with plus package\r\n tempProd.options.push({\r\n type: LicenseTypes.StudentLicencePlus,\r\n name: \"LearnWARE Pluspaket\",\r\n options: [],\r\n });\r\n products.result.aplBundle.forEach((licOpt) => {\r\n let tempItemToAdd = {\r\n fortnoxNumber: licOpt.articleNumber,\r\n priceStudent: Number(licOpt.salesPrice),\r\n years: licOpt.years,\r\n name: licOpt.description,\r\n };\r\n tempProd.options\r\n .find(\r\n (licenseOption) =>\r\n licenseOption.type === LicenseTypes.StudentLicencePlus\r\n )\r\n .options.push(tempItemToAdd);\r\n });\r\n\r\n //Add the plus package\r\n tempProd.options.push({\r\n type: LicenseTypes.PlusLicense,\r\n name: \"Enbart pluspaket\",\r\n options: [],\r\n });\r\n products.result.aplBundle.forEach((licOpt) => {\r\n let tempItemToAdd = {\r\n fortnoxNumber: licOpt.articleNumber,\r\n priceStudent: Number(licOpt.salesPrice),\r\n years: licOpt.years,\r\n name: licOpt.description,\r\n };\r\n tempProd.options\r\n .find(\r\n (licenseOption) => licenseOption.type === LicenseTypes.PlusLicense\r\n )\r\n .options.push(tempItemToAdd);\r\n });\r\n tempSortedLicenses.push(tempProd);\r\n });\r\n setSortedLicenses(tempSortedLicenses);\r\n let tempOptionsForGeneric = [];\r\n products.result.aplStandAlone.forEach((option) => {\r\n tempOptionsForGeneric.push({\r\n ...option,\r\n fortnoxNumber: option.articleNumber,\r\n });\r\n });\r\n let tempSortedGenericAplLicenses = {\r\n name: \"APL By Learnware\",\r\n options: tempOptionsForGeneric,\r\n };\r\n setSortedGenericAplLicenses(tempSortedGenericAplLicenses);\r\n }\r\n }, [products.result, products.loading]);\r\n\r\n if (\r\n products.loading === true ||\r\n teacherInfo.loading === true ||\r\n studentWithLicenses.loading === true ||\r\n students.loading === true\r\n ) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n let productList = [];\r\n if (sortedLicenses.length) {\r\n productList = sortedLicenses.map((p, i) => {\r\n let available = teacherInfo.result.programmes.filter(\r\n (x) => x.costCenter === p.fortNoxCostCenter\r\n );\r\n if (!available.length > 0 && props.inModal) {\r\n return null;\r\n } else {\r\n var productPlusLicenses = p.options?.find(\r\n (item) => item.type === \"PlusLicense\"\r\n );\r\n if (productPlusLicenses) {\r\n var licenseWithLowestPrice = productPlusLicenses.options.reduce(\r\n (prev, curr) =>\r\n prev.priceStudent / prev.years < curr.priceStudent / curr.years\r\n ? prev\r\n : curr\r\n );\r\n }\r\n return (\r\n 0}\r\n isExpired={moment(p.validTo) < moment()}\r\n product={p}\r\n currency={currency}\r\n cheapestPlusLicensePrice={\r\n licenseWithLowestPrice.priceStudent / licenseWithLowestPrice.years\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 0\r\n ? \"bg-success rounded-circle pl-1 pr-1 text-center align-middle lead float-left mr-4\"\r\n : \"bg-primary rounded-circle pl-1 pr-1 text-center align-middle lead float-left mr-4 animated bounce\"\r\n }\r\n >\r\n 0 ? \"\" : \"d-none\"}\r\n />\r\n \r\n 1\r\n \r\n
    \r\n \r\n
    \r\n {!collapseProducts ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n \r\n\r\n setLicenseInfoModalIsOpen(true)}\r\n outline\r\n color=\"primary\"\r\n >\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n {productList}\r\n\r\n !plic.programLicense.hasExpired\r\n ).length > 0\r\n }\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n 0\r\n ? \"bg-success animated bounce rounded-circle pl-1 pr-1 text-center align-middle lead float-left mr-4\"\r\n : animateStudents\r\n ? \"bg-primary animated bounce rounded-circle pl-1 pr-1 text-center align-middle lead float-left mr-4\"\r\n : \"bg-secondary rounded-circle pl-1 pr-1 text-center align-middle lead float-left mr-4\"\r\n }\r\n >\r\n 0 ? \"\" : \"d-none\"\r\n }\r\n />\r\n 0 ? \"\" : \"d-none\"\r\n }\r\n >\r\n \r\n setCollapseStudents(!collapseStudents)}\r\n >\r\n
    \r\n {collapseStudents ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {\" \"}\r\n \r\n {cart.lastAddedItem.name &&\r\n Object.keys(cart.result).length > 0\r\n ? cart.lastAddedItem.name\r\n : \"\"}\r\n \r\n
    \r\n \r\n \r\n \r\n 0 && collapseStudents\r\n }\r\n >\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n\r\n setLicenseInfoModalIsOpen(false)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n :{\" \"}\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n :{\" \"}\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n :{\" \"}\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n setLicenseInfoModalIsOpen(false)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default withRouter(ProductsList);\r\n","import axios from \"../services/api/api\";\r\n\r\nexport const ADD_PRODUCT = \"ADD_PRODUCT\";\r\nexport const UPDATE_PRODUCT = \"UPDATE_PRODUCT\";\r\nexport const FETCH_PRODUCTS_BEGIN = \"FETCH_PRODUCTS_BEGIN\";\r\nexport const FETCH_PRODUCTS_FULFILLED = \"FETCH_PRODUCTS_FULFILLED\";\r\nexport const FETCH_PRODUCTS_REJECTED = \"FETCH_PRODUCTS_REJECTED\";\r\nexport const FETCH_STUDENTS_WITH_LICENSE_NEW_BEGIN =\r\n \"FETCH_STUDENTS_WITH_LICENSE_NEW_BEGIN\";\r\nexport const FETCH_STUDENTS_WITH_LICENSE_NEW_FULFILLED =\r\n \"FETCH_STUDENTS_WITH_LICENSE_NEW_FULFILLED\";\r\nexport const FETCH_STUDENTS_WITH_LICENSE_NEW_REJECTED =\r\n \"FETCH_STUDENTS_WITH_LICENSE_NEW_REJECTED\";\r\n\r\nexport function addProduct({ id, title, description, price }) {\r\n return {\r\n type: ADD_PRODUCT,\r\n payload: { id, title, description, price },\r\n };\r\n}\r\nexport function updateProduct({ id, title }) {\r\n return {\r\n type: UPDATE_PRODUCT,\r\n payload: { id, title },\r\n };\r\n}\r\n\r\nexport function fetchProgramLicenses(school) {\r\n return function (dispatch) {\r\n dispatch({ type: \"FETCH_PRODUCTS_BEGIN\", payload: { loading: true } });\r\n axios\r\n .get(`/ShopNew/GetLicenses?schoolId=${school.id}`)\r\n .then((response) => {\r\n dispatch({\r\n type: \"FETCH_PRODUCTS_FULFILLED\",\r\n payload: response.data.result,\r\n });\r\n })\r\n .catch((err) => {\r\n dispatch({ type: \"FETCH_PRODUCTS_REJECTED\", payload: err });\r\n });\r\n };\r\n}\r\n\r\nexport function fetchStudentsWithLicenseNew(school) {\r\n return function (dispatch) {\r\n dispatch({\r\n type: \"FETCH_STUDENTS_WITH_LICENSE_NEW_BEGIN\",\r\n payload: { loading: true },\r\n });\r\n axios\r\n .get(`/ShopNew/LicenseStatusForStudents?schoolId=${school.id}`)\r\n .then((response) => {\r\n dispatch({\r\n type: \"FETCH_STUDENTS_WITH_LICENSE_NEW_FULFILLED\",\r\n payload: response.data.result,\r\n });\r\n })\r\n .catch((err) => {\r\n dispatch({\r\n type: \"FETCH_STUDENTS_WITH_LICENSE_NEW_REJECTED\",\r\n payload: err,\r\n });\r\n });\r\n };\r\n}\r\n\r\nexport function fetchLicense(schoolName) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .post(`/School/License`, {\r\n Name: schoolName,\r\n })\r\n .then((response) => {\r\n return resolve(response.data.result);\r\n })\r\n .catch((err) => {\r\n return reject(err);\r\n });\r\n });\r\n}\r\n","import React from \"react\";\r\nimport { Modal, ModalHeader, ModalBody } from \"reactstrap\";\r\nimport { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport ProductsList from \"../LicenseManagement/ProductsList\";\r\n\r\nconst StudentLicenseManagemenModal = ({\r\n preselectedStudent,\r\n className,\r\n toggle,\r\n isOpen,\r\n}) => {\r\n const toggleModal = () => {\r\n toggle();\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\nconst mapStateToProps = (store) => {\r\n return {\r\n products: store.productsReducer,\r\n cart: store.newCartReducer,\r\n students: store.teacherStudentReducer,\r\n teacherInfo: store.teacherInformationReducer,\r\n studentWithLicenses: store.studentWithLicenseReducer,\r\n };\r\n};\r\n\r\nexport default withRouter(\r\n connect(mapStateToProps)(StudentLicenseManagemenModal)\r\n);\r\n","import React from \"react\";\r\nimport { Row, Col, CustomInput, FormGroup } from \"reactstrap\";\r\n\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\nexport default function FinalExamUnlocker(props) {\r\n const mappedCourses = () => {\r\n if (props.courses) {\r\n return props.courses.map((course, i) => (\r\n \r\n \r\n \r\n \r\n

    {course.name}

    \r\n \r\n \r\n \r\n \r\n \r\n props.handleLockUnlockFinalExam(event, course)\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n ));\r\n }\r\n };\r\n\r\n return (\r\n {mappedCourses()}\r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport FinalExamUnlocker from \"./FinalExamUnlocker\";\r\nimport { HandleFinalExamLockingAndUnlocking } from \"../../actions/teacherMutations\";\r\nimport { useMutation, useQueryClient } from \"react-query\";\r\nimport { toast } from \"react-toastify\";\r\nimport { Col, Card, CardTitle, Collapse, CardBody } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport TooltipHelp from \"../Help/ToolTipHelp\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\nexport default function FinalExamUnlockerContainer(props) {\r\n const [showCoursesForUnlocking, setShowCoursesForUnlocking] = useState(false);\r\n const [collapsed, setCollapsed] = useState([]);\r\n\r\n const mutateFinalExamToggler = useMutation(\r\n HandleFinalExamLockingAndUnlocking\r\n );\r\n const queryClient = useQueryClient();\r\n\r\n const handleStudentLockUnlockFinalExam = (event, course) => {\r\n let postData = [];\r\n let studentCourses = props.studentCoursesWithStudentModule.data.filter(\r\n (x) => x.id === course.id\r\n );\r\n studentCourses[0].students.forEach((student) => {\r\n postData.push({\r\n Id: student.studentCourse.id,\r\n FinalExamEnabled: event.target.checked,\r\n });\r\n });\r\n postData.forEach((module) => {\r\n let values = [\r\n { Id: module.Id, FinalExamEnabled: module.FinalExamEnabled },\r\n ];\r\n mutateFinalExamToggler.mutate(\r\n {\r\n values,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n queryClient.invalidateQueries(\r\n \"FetchCoursesWithResultsByStudentId\"\r\n );\r\n queryClient.invalidateQueries(\r\n \"FetchCoursesByStudentEmail\" + props.studentEmail\r\n );\r\n } else {\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n });\r\n };\r\n const handleClassLockUnlockFinalExam = (event, course) => {\r\n let values = [];\r\n course.students.forEach((student) => {\r\n values.push({\r\n Id: student.studentCourse.id,\r\n FinalExamEnabled: event.target.checked,\r\n });\r\n });\r\n mutateFinalExamToggler.mutate(\r\n {\r\n values,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n queryClient.invalidateQueries(\"FetchCoursesByClassId\");\r\n } else {\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n };\r\n\r\n const studentcoursesWithFinalExam = () => {\r\n if (props.courses) {\r\n let data = props.courses.filter((course) => {\r\n let courseWithFinalExam =\r\n props.studentCoursesWithStudentModule.data.some(\r\n (c) => c.id === course.id && c.hasFinalExam\r\n );\r\n return courseWithFinalExam;\r\n });\r\n return data;\r\n }\r\n return null;\r\n };\r\n\r\n const classCoursesWithFinalExam = () => {\r\n let data = [];\r\n let courses = props.courses.filter((course) => course.hasFinalExam);\r\n courses.forEach((c) => {\r\n let finalExamEnabled = false;\r\n c.students.forEach((stud) => {\r\n if (stud.studentCourse.finalExamEnabled) {\r\n finalExamEnabled = true;\r\n }\r\n });\r\n let courseToAdd = {\r\n imgUrl: c.imgUrl,\r\n finalExamEnabled: finalExamEnabled,\r\n name: c.courseName,\r\n id: c.id,\r\n students: c.students,\r\n };\r\n data.push(courseToAdd);\r\n });\r\n return data;\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n setCollapsed(!collapsed)}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n \r\n \r\n }\r\n placement=\"right\"\r\n />\r\n
    \r\n \r\n \r\n {props.studentHasNoLicense ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import { FormattedMessage } from \"react-intl\";\r\n\r\nexport const checkNameLengthAndCharacters = (nameToCheck) => {\r\n // do the test strings contain these terms?\r\n const conditions = [\"<\", \">\", \"\\\\\", \"/\"];\r\n\r\n if (conditions.some((el) => nameToCheck.includes(el))) {\r\n return ;\r\n } else if (nameToCheck.trim().length > 50) {\r\n return ;\r\n } else {\r\n return true;\r\n }\r\n};\r\n","import { useState } from \"react\";\r\nimport { useFormik } from \"formik\";\r\nimport { FormattedMessage, injectIntl } from \"react-intl\";\r\nimport { HandleAddNewStudent } from \"../../actions/teacherMutations\";\r\nimport { Button, Input, Row } from \"reactstrap\";\r\nimport { useMutation, useQueryClient } from \"react-query\";\r\nimport { toast } from \"react-toastify\";\r\nimport { checkNameLengthAndCharacters } from \"../../Utilities/checkerFunctions\";\r\n\r\nfunction CreateStudentInClassForm({\r\n classId,\r\n toggle,\r\n toggleAndAddLicense,\r\n purchaserTeacher,\r\n intl,\r\n}) {\r\n const mutateStudentAdd = useMutation(HandleAddNewStudent);\r\n const queryClient = useQueryClient();\r\n const [addStudentLicense, setAddStudentLicense] = useState(false);\r\n\r\n const toggleAddLicense = (event) => {\r\n setAddStudentLicense(event.target.checked);\r\n };\r\n\r\n const formik = useFormik({\r\n initialValues: {\r\n email: \"\",\r\n name: \"\",\r\n classId: classId,\r\n },\r\n onSubmit: (values) => {\r\n if (checkNameLengthAndCharacters(values.name) !== true) {\r\n toast.warn(checkNameLengthAndCharacters(values.name));\r\n } else {\r\n mutateStudentAdd.mutate(\r\n {\r\n values,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n toast.success();\r\n queryClient.invalidateQueries(\"FetchTeacherInformation\");\r\n queryClient.invalidateQueries(\"FetchClassByClassId\");\r\n if (addStudentLicense) {\r\n toggleAndAddLicense(data.data.result);\r\n } else {\r\n toggle();\r\n }\r\n } else {\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data);\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 toggleAddLicense(event)}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\nexport default injectIntl(CreateStudentInClassForm);\r\n","import React from \"react\";\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport CreateStudentInClassForm from \"../Forms/CreateStudentInClassForm\";\r\n\r\nexport default function CreateStudentInClass(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}\r\n","import React from \"react\";\r\nimport { withFormik, Form, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport { FormGroup, Label, Button } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { toast } from \"react-toastify\";\r\nimport axios from \"../../services/api/api\";\r\nimport Select from \"react-select\";\r\nimport Creatable from \"react-select/creatable\";\r\nimport { API_BASE_URL } from \"../../constants/api.constants\";\r\n\r\nconst UpdateClassForm = (props) => {\r\n const { values, errors, touched, isSubmitting, dismissModal } = props;\r\n\r\n const handleChange = (selected) => {\r\n values.selectedTeachers = selected.map((t) =>\r\n values.teacherSelection.find((x) => x.id === t.value)\r\n );\r\n };\r\n\r\n const getPreselectedTeachers = () => {\r\n var teachers = [];\r\n if (!values.classToUpdate) return teachers;\r\n values.classToUpdate.teachers.forEach((c) => {\r\n teachers.push({\r\n value: c.id,\r\n label: c.name,\r\n clearableValue: true,\r\n });\r\n });\r\n return teachers;\r\n };\r\n\r\n const getPreselectedProgramme = () => {\r\n if (!values.classToUpdate) return null;\r\n return {\r\n label: values.classToUpdate.programme.name,\r\n value: values.classToUpdate.programme.id,\r\n clearableValue: true,\r\n };\r\n };\r\n\r\n const handleProgramChange = (selected) => {\r\n values.selectedProgramme = values.programmeSelection.find(\r\n (x) => x.id === selected.value\r\n );\r\n };\r\n\r\n const handleOrientationChange = (e) => {\r\n e\r\n ? (values.selectedOrientation = {\r\n id: typeof e.value === \"string\" ? 0 : e.value,\r\n name: e.label,\r\n })\r\n : (values.selectedOrientation = { id: 0, name: \"\" });\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n {errors.className && touched.className && (\r\n
    {errors.className}
    \r\n )}\r\n
    \r\n\r\n \r\n \r\n \"Det finns inga valbara lärare för klassen\"}\r\n onChange={(selected) => handleChange(selected)}\r\n defaultValue={getPreselectedTeachers()}\r\n options={values.teacherSelection.map((option) => ({\r\n ...option,\r\n label: option.name,\r\n value: option.id,\r\n clearableValue: true,\r\n }))}\r\n />\r\n \r\n \r\n \r\n \"Det finns inga valbara program\"}\r\n onChange={(e) => handleProgramChange(e)}\r\n defaultValue={getPreselectedProgramme()}\r\n options={\r\n values.programmeSelection.length\r\n ? values.programmeSelection.map((option) => ({\r\n ...option,\r\n label: option.name,\r\n value: option.id,\r\n clearableValue: true,\r\n }))\r\n : []\r\n }\r\n />\r\n\r\n {errors.selectedProgramme && touched.selectedProgramme && (\r\n
    {errors.selectedProgramme}
    \r\n )}\r\n
    \r\n \r\n \r\n \"Det finns inga valbara program\"}\r\n onChange={(e) => handleOrientationChange(e)}\r\n defaultValue={\r\n values.classToUpdate && values.classToUpdate.orientation\r\n ? {\r\n label: values.classToUpdate.orientation.name,\r\n value: values.classToUpdate.orientation.id.toString(),\r\n clearableValue: true,\r\n }\r\n : null\r\n }\r\n options={values.orientationSelection.map((option) => ({\r\n ...option,\r\n label: option.name,\r\n value: option.id.toString(),\r\n clearableValue: true,\r\n }))}\r\n />\r\n\r\n {errors.selectedOrientation && touched.selectedOrientation && (\r\n
    {errors.selectedOrientation}
    \r\n )}\r\n
    \r\n \r\n {isSubmitting ? \"Vänta...\" : \"Spara\"}\r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst FormikForm = withFormik({\r\n mapPropsToValues: (props) => ({\r\n classToUpdate: props.classToUpdate,\r\n className: props.classToUpdate ? props.classToUpdate.name : \"\",\r\n teacherSelection: props.teacherSelection,\r\n programmeSelection: props.programmeSelection,\r\n orientationSelection: props.orientationSelection\r\n ? props.orientationSelection\r\n : [],\r\n selectedTeachers: props.classToUpdate ? props.classToUpdate.teachers : [],\r\n selectedProgramme: props.classToUpdate ? props.classToUpdate.programme : [],\r\n selectedOrientation:\r\n props.classToUpdate && props.classToUpdate.orientation\r\n ? props.classToUpdate.orientation\r\n : null,\r\n }),\r\n\r\n validationSchema: Yup.object().shape({\r\n className: Yup.string().required(\r\n \r\n ),\r\n selectedProgramme: Yup.mixed().required(\r\n \r\n ),\r\n // selectedOrientation: Yup.mixed().required(\r\n // \r\n // )\r\n }),\r\n\r\n handleSubmit(values, { props, resetForm, setSubmitting }) {\r\n axios\r\n .post(`${API_BASE_URL}/Class/UpdateClass`, {\r\n id: values.classToUpdate.id,\r\n name: values.className,\r\n school: values.school,\r\n programme: values.selectedProgramme,\r\n orientation: values.selectedOrientation,\r\n teachers: values.selectedTeachers,\r\n })\r\n .then((res) => {\r\n toast.success(\"Klassen har uppdaterats\", {\r\n position: \"top-right\",\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n autoClose: 3000,\r\n });\r\n resetForm();\r\n props.reloadAfterProceed(res.data.result);\r\n props.dismissModal();\r\n })\r\n .catch((err) => {\r\n toast.error(err.response ? err.response.data : err.message, {\r\n position: \"top-right\",\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n autoClose: 3000,\r\n });\r\n });\r\n setSubmitting(false);\r\n },\r\n})(UpdateClassForm);\r\n\r\nexport default FormikForm;\r\n","import React from \"react\";\r\nimport { Modal, ModalHeader, ModalBody } from \"reactstrap\";\r\nimport UpdateClassForm from \"../Forms/UpdateClassForm\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nclass UpdateClassModal extends React.Component {\r\n render() {\r\n var className = this.props.classToUpdate\r\n ? this.props.classToUpdate.name\r\n : \"\";\r\n return (\r\n \r\n \r\n \r\n   Uppdatera {className}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default UpdateClassModal;\r\n","import React, { useState } from \"react\";\r\nimport { Label, Button } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { toast } from \"react-toastify\";\r\nimport { useMutation, useQueryClient } from 'react-query';\r\nimport { HandleMoveStudentsToClass } from '../../actions/teacherMutations';\r\nimport Select from \"react-select\";\r\n\r\nconst MoveStudentsToClassForm = props => {\r\n\r\n const [isSubmitting, setIsSubmitting] = useState(false);\r\n const [selectedStudentIds, setSelectedStudentIds] = useState([]);\r\n const [validationError, setValidationError] = useState(null);\r\n const mutateMoveStudents = useMutation(HandleMoveStudentsToClass);\r\n const queryClient = useQueryClient();\r\n\r\n const handleChange = selected => {\r\n let studentsToAdd = [];\r\n selected.forEach(selectedStud => {\r\n studentsToAdd.push(selectedStud.id);\r\n })\r\n setValidationError(null);\r\n setSelectedStudentIds(studentsToAdd);\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if(selectedStudentIds.length < 1) {\r\n setValidationError();\r\n } else {\r\n setValidationError(null);\r\n setIsSubmitting(true);\r\n\r\n await mutateMoveStudents.mutate({\r\n selectedStudentIds: selectedStudentIds,\r\n classId: props.classId\r\n },\r\n {\r\n onSuccess: data => {\r\n if(data && data.status > 199 && data.status < 300) {\r\n toast.success();\r\n queryClient.invalidateQueries('FetchTeacherInformation');\r\n queryClient.invalidateQueries('FetchClassByClassId', props.classId);\r\n } else {\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: data => {\r\n toast.warn(data);\r\n }\r\n }); \r\n setIsSubmitting(false);\r\n props.dismissModal(); \r\n } \r\n }\r\n\r\n const getFilteredStudents = () => {\r\n var students = [];\r\n props.students.forEach(s => {\r\n if (props.existingStudents.findIndex(es => es.id === s.id) === -1) {\r\n students.push(s);\r\n }\r\n });\r\n return students;\r\n };\r\n\r\n return (\r\n
    \r\n \r\n handleChange(selected)}\r\n options={getFilteredStudents().map(option => ({\r\n ...option,\r\n label: option.name,\r\n value: option.id,\r\n clearableValue: true\r\n }))}\r\n />\r\n {validationError}\r\n
    \r\n \r\n {isSubmitting ? : }\r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default MoveStudentsToClassForm;\r\n","import React, { Component } from \"react\";\r\nimport { \r\n Modal, \r\n ModalHeader, \r\n ModalBody \r\n} from \"reactstrap\";\r\nimport MoveStudentsToClassForm from \"../../components/Forms/MoveStudentsToClassForm\";\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nclass MoveExistingStudentToClassModal extends Component {\r\n \r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default MoveExistingStudentToClassModal;\r\n","import React from \"react\";\r\nimport { withFormik, Form, Field } from \"formik\";\r\nimport { FormGroup, Label, Button, ModalFooter } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { toast } from \"react-toastify\";\r\nimport axios from \"../../services/api/api\";\r\nimport * as Yup from \"yup\";\r\n\r\nconst ImportForm = ({\r\n errors,\r\n touched,\r\n isSubmitting,\r\n dismissModal,\r\n studentClasses,\r\n setFieldValue,\r\n values,\r\n preSelectedClass,\r\n}) => {\r\n const handleFileChanged = (file) => {\r\n setFieldValue(\"file\", file);\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n Ladda hem importmall\r\n \r\n
    \r\n
    \r\n {preSelectedClass === true ? (\r\n \"\"\r\n ) : (\r\n \r\n \r\n \r\n \r\n -- Välj en klass från listan --\r\n \r\n {studentClasses.map((c) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n {errors.studentClassId && touched.studentClassId && (\r\n
    {errors.studentClassId}
    \r\n )}\r\n
    \r\n )}\r\n\r\n \r\n \r\n handleFileChanged(e.currentTarget.files[0])}\r\n />\r\n {errors.file && touched.file && (\r\n
    {errors.file}
    \r\n )}\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst toFormData = (file) => {\r\n if (!file) return null;\r\n\r\n var myData = new FormData();\r\n myData.append(\"excelFile\", file);\r\n return myData;\r\n};\r\n\r\nconst FormikForm = withFormik({\r\n mapPropsToValues: (props) => ({\r\n studentClassId: props.preSelectedClassId || -1,\r\n file: props.file,\r\n }),\r\n\r\n validationSchema: Yup.object().shape({\r\n studentClassId: Yup.number().min(\r\n 1,\r\n \r\n ),\r\n }),\r\n\r\n handleSubmit(values, { props, resetForm, setErrors, setSubmitting }) {\r\n if (!values.file) {\r\n setErrors({\r\n file: (\r\n \r\n ),\r\n });\r\n setSubmitting(false);\r\n return;\r\n }\r\n\r\n axios\r\n .post(\r\n \"/Student/AddToClassByFile?ClassId=\" + values.studentClassId,\r\n toFormData(values.file),\r\n { headers: { \"Content-Type\": \"multipart/form-data;\" } }\r\n )\r\n .then((response) => {\r\n toast.success(\r\n ,\r\n {\r\n position: \"top-right\",\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n autoClose: 3000,\r\n }\r\n );\r\n props.updateStudents();\r\n props.dismissModal();\r\n })\r\n .catch((err) => {\r\n setErrors({\r\n file: err.response\r\n ? err.response.data.split(\"\\n\").map(function (item, key) {\r\n return (\r\n \r\n {item}\r\n
    \r\n
    \r\n );\r\n })\r\n : null,\r\n });\r\n setSubmitting(false);\r\n });\r\n },\r\n})(ImportForm);\r\n\r\nexport default FormikForm;\r\n","import { Modal, ModalHeader, ModalBody } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport ImportStudentsForm from \"../Forms/ImportStudentsForm\";\r\n\r\nexport default function ImportStudentsToClassModal(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","import React, { Component } from \"react\";\r\nimport { Button } from \"reactstrap\";\r\nimport { signOutAction } from \"../../actions/authActions\";\r\nimport { connect } from \"react-redux\";\r\nimport axios from \"../../services/api/api\";\r\nimport { toast } from \"react-toastify\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nclass ButtonSendActivationMail extends Component {\r\n sendActivationMail = () => {\r\n axios\r\n .post(`/User/SendActivationMail?email=${this.props.user.email}`)\r\n .then((res) => {\r\n toast.success(\r\n \"Det har skickats ett nytt aktiveringsmail till användaren\"\r\n );\r\n })\r\n .catch((err) => {\r\n toast.warn(\r\n `Det gick inte att skicka ut ett nytt aktiveringsmail till användaren`\r\n );\r\n });\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.props.printButtonText ? \" Skicka ett nytt aktiveringsmail\" : \"\"}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(null, { signOutAction })(ButtonSendActivationMail);\r\n","import { useState, Fragment, useEffect } from \"react\";\r\nimport {\r\n Card,\r\n Col,\r\n CardTitle,\r\n CardBody,\r\n CardImg,\r\n Row,\r\n Collapse,\r\n} from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n ChangeLockStatusForModuleForStudent,\r\n ChangeLockStatusForModuleForClass,\r\n ChangeLockStatusForEntireCourseForMultipleStudents,\r\n} from \"../../actions/teacherMutations\";\r\nimport { useMutation, useQueryClient } from \"react-query\";\r\nimport { toast } from \"react-toastify\";\r\nimport { BeatLoader } from \"react-spinners\";\r\nimport { CTooltip } from \"@coreui/react\";\r\nimport { injectIntl } from \"react-intl\";\r\n\r\nconst ModuleLocker = ({ level, courses, currentLevelId, students, intl }) => {\r\n const [modulesCollapseOpen, setModulesCollapseOpen] = useState([]);\r\n const [collapsed, setCollapsed] = useState([]);\r\n const [coursesLoadingLock, setCoursesLoadingLock] = useState([]);\r\n const [coursesLockStatus, setCoursesLockStatus] = useState([]);\r\n const [toggleUpdateCourseLockStatus, setToggleUpdateCourseLockStatus] =\r\n useState(false);\r\n\r\n const queryClient = useQueryClient();\r\n const changeLockStatusForModuleForClass = useMutation(\r\n ChangeLockStatusForModuleForClass\r\n );\r\n const changeLockStatusForModuleForStudent = useMutation(\r\n ChangeLockStatusForModuleForStudent\r\n );\r\n const changeLockStatusForEntireCourseForMultipleStudents = useMutation(\r\n ChangeLockStatusForEntireCourseForMultipleStudents\r\n );\r\n\r\n useEffect(() => {\r\n if (courses) {\r\n const lockStatuses = {\r\n locked: \"locked\",\r\n partiallyLocked: \"partiallyLocked\",\r\n unlocked: \"unlocked\",\r\n };\r\n const tempCoursesLockStatus = [];\r\n courses.forEach((c) => {\r\n const courseToAdd = { courseId: c.id, isLocked: lockStatuses.unlocked };\r\n if (\r\n c.modules\r\n .filter((m) => !m.isFinalExam)\r\n .some(\r\n (mod) =>\r\n mod.isLocked || mod.isLockedBySomeButNotAllStudentsInClass\r\n )\r\n ) {\r\n if (\r\n c.modules.filter((m) => !m.isFinalExam).every((mod) => mod.isLocked)\r\n ) {\r\n courseToAdd.isLocked = lockStatuses.locked;\r\n } else {\r\n courseToAdd.isLocked = lockStatuses.partiallyLocked;\r\n }\r\n }\r\n tempCoursesLockStatus.push(courseToAdd);\r\n });\r\n setCoursesLockStatus(tempCoursesLockStatus);\r\n }\r\n }, [courses, toggleUpdateCourseLockStatus]);\r\n\r\n const toggleModulesOpen = (courseId) => {\r\n if (modulesCollapseOpen.includes(courseId)) {\r\n setModulesCollapseOpen((prev) =>\r\n prev.filter((element) => {\r\n return element !== courseId;\r\n })\r\n );\r\n } else {\r\n setModulesCollapseOpen((prevstate) => [...prevstate, courseId]);\r\n }\r\n };\r\n\r\n const handleSetLockStatus = (\r\n moduleId,\r\n statusToSet,\r\n courseId,\r\n isSetFromPartial\r\n ) => {\r\n const postObject = {\r\n moduleId: moduleId,\r\n currentLevelId: currentLevelId,\r\n locked: statusToSet,\r\n };\r\n switch (level) {\r\n case \"Class\": {\r\n changeLockStatusForModuleForClass.mutate(postObject, {\r\n throwOnError: true,\r\n onSuccess: () => {\r\n let tempCoursesData = [...courses];\r\n tempCoursesData\r\n .find((c) => c.id === courseId)\r\n .modules.find((mod) => mod.moduleId === moduleId).isLocked =\r\n statusToSet;\r\n if (isSetFromPartial) {\r\n tempCoursesData\r\n .find((c) => c.id === courseId)\r\n .modules.find(\r\n (mod) => mod.moduleId === moduleId\r\n ).isLockedBySomeButNotAllStudentsInClass = false;\r\n }\r\n queryClient.setQueryData(\r\n [\"FetchCoursesByClassId\", currentLevelId],\r\n tempCoursesData\r\n );\r\n setToggleUpdateCourseLockStatus(!toggleUpdateCourseLockStatus);\r\n },\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n });\r\n break;\r\n }\r\n case \"Student\": {\r\n changeLockStatusForModuleForStudent.mutate(postObject, {\r\n throwOnError: true,\r\n onSuccess: (data) => {\r\n let tempCoursesData = [...courses];\r\n tempCoursesData\r\n .find((c) => c.id === courseId)\r\n .modules.find((mod) => mod.moduleId === moduleId).isLocked =\r\n statusToSet;\r\n queryClient.setQueryData(\r\n [\"FetchCoursesWithResultsByStudentId\", currentLevelId],\r\n tempCoursesData\r\n );\r\n setToggleUpdateCourseLockStatus(!toggleUpdateCourseLockStatus);\r\n },\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n });\r\n break;\r\n }\r\n default: {\r\n return null;\r\n }\r\n }\r\n };\r\n const getModuleLockStatusText = (lockStatus) => {\r\n switch (lockStatus) {\r\n case \"unlocked\":\r\n return ;\r\n case \"locked\":\r\n return ;\r\n case \"partiallyLocked\":\r\n return ;\r\n default:\r\n return <>;\r\n }\r\n };\r\n\r\n const lockStatusForCourse = (courseId) => {\r\n if (coursesLockStatus.length > 0) {\r\n let courseLockStatus = coursesLockStatus.find(\r\n (c) => c.courseId === courseId\r\n );\r\n return (\r\n \r\n
    \r\n {getModuleLockStatusText(courseLockStatus.isLocked)}\r\n
    \r\n \r\n );\r\n }\r\n };\r\n\r\n const mappedModules = (course) => {\r\n return course.modules.map((mod) => {\r\n return !mod.isFinalExam ? (\r\n \r\n {mod.isLockedBySomeButNotAllStudentsInClass && level === \"Class\" ? (\r\n \r\n \r\n handleSetLockStatus(mod.moduleId, true, course.id, true)\r\n }\r\n >\r\n {mod.name}\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n handleSetLockStatus(mod.moduleId, !mod.isLocked, course.id)\r\n }\r\n >\r\n {mod.name}\r\n \r\n {mod.isLocked ? (\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\r\n const handleSetLockCompleteCourseForAll = (lock, courseId) => {\r\n setCoursesLoadingLock([...coursesLoadingLock, courseId]);\r\n const postObject = {\r\n courseId: courseId,\r\n locked: lock,\r\n studentIds: students,\r\n };\r\n changeLockStatusForEntireCourseForMultipleStudents.mutate(postObject, {\r\n throwOnError: true,\r\n onSuccess: () => {\r\n let tempCoursesData = [...courses];\r\n let tempCourse = tempCoursesData.find((c) => c.id === courseId);\r\n tempCourse.modules.forEach((mod) => {\r\n mod.isLocked = lock;\r\n mod.isLockedBySomeButNotAllStudentsInClass = false;\r\n });\r\n\r\n queryClient.setQueryData(\r\n [\"FetchCoursesWithResultsByStudentId\", currentLevelId],\r\n tempCoursesData\r\n );\r\n setToggleUpdateCourseLockStatus(!toggleUpdateCourseLockStatus);\r\n setCoursesLoadingLock((prevState) =>\r\n prevState.filter((c) => c !== courseId)\r\n );\r\n },\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n });\r\n };\r\n\r\n const mappedCourses = () => {\r\n if (courses) {\r\n const addedCourses = [];\r\n return courses.map((course, i) => {\r\n if (!addedCourses.find((c) => c.id === course.id)) {\r\n addedCourses.push(course);\r\n return (\r\n \r\n \r\n \r\n {lockStatusForCourse(course.id)}\r\n \r\n toggleModulesOpen(course.id)}\r\n />\r\n \r\n {coursesLoadingLock.includes(course.id) ? (\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n handleSetLockCompleteCourseForAll(true, course.id)\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n handleSetLockCompleteCourseForAll(false, course.id)\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n\r\n
    toggleModulesOpen(course.id)}>\r\n \r\n \r\n {course.courseName}\r\n
    \r\n \r\n\r\n \r\n {mappedModules(course)}\r\n \r\n
    \r\n
    \r\n );\r\n } else {\r\n return null;\r\n }\r\n });\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n setCollapsed(!collapsed)}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n \r\n \r\n \r\n {\" \"}\r\n ()\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n {mappedCourses()}\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n};\r\nexport default injectIntl(ModuleLocker);\r\n","import React, { useState } from \"react\";\r\nimport CardSubtitle from \"reactstrap/lib/CardSubtitle\";\r\nimport { Card, Row, Col, CardTitle, Button, Badge } from \"reactstrap\";\r\nimport { CRow, CCol, CForm, CLabel, CInput, CFormGroup } from \"@coreui/react\";\r\nimport { useMutation, useQueryClient } from \"react-query\";\r\nimport {\r\n HandleUserNameChange,\r\n HandleUserEmailChange,\r\n CheckIfEmailIsOccupied,\r\n HandleClassEdit,\r\n HandleAddNewTeacher,\r\n HandleDeleteStudent,\r\n} from \"../../actions/teacherMutations\";\r\nimport ConfirmDialog from \"../Modal/ConfirmDialog\";\r\nimport { toast } from \"react-toastify\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport Select from \"react-select\";\r\nimport \"@inovua/reactdatagrid-community/index.css\";\r\nimport { PacmanLoader } from \"react-spinners\";\r\nimport DataGrid from \"../DataGrids/DataGrid\";\r\nimport DisconnectTeacherFromClassButton from \"../Button/DisconnectTeacherFromClassButton\";\r\nimport AddNewTeacherToClass from \"../Modal/AddNewTeacherToClass\";\r\nimport StudentLicenseManagemenModal from \"../Modal/StudentLicenseManagemenModal\";\r\nimport FinalExamUnlockerContainer from \"./FinalExamUnlockerContainer\";\r\nimport uuid from \"uuid\";\r\nimport CreateStudentInClass from \"../Modal/CreateStudentInClass\";\r\nimport UpdateClassModal from \"../Modal/UpdateClassModal\";\r\nimport MoveExistingStudentToClassModal from \"../Modal/MoveExistingStudentToClassModal\";\r\nimport ImportStudentsToClassModal from \"../Modal/ImportStudentsToClassModal\";\r\nimport ButtonSendActivationMail from \"../Button/ButtonSendActivationMail\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { checkNameLengthAndCharacters } from \"../../Utilities/checkerFunctions\";\r\nimport ModuleLocker from \"./ModuleLocker\";\r\n\r\nexport default function ClassAdministration(props) {\r\n const [teacherForRemoval, setTeacherForRemoval] = useState(\"\");\r\n const [removingTeacher, setRemovingTeacher] = useState(false);\r\n const [promptTeacherRemoval, setPromptTeacherRemoval] = useState(false);\r\n const [studentForRemoval, setStudentForRemoval] = useState(\"\");\r\n const [promptStudentRemoval, setPromptStudentRemoval] = useState(false);\r\n const [updateClassModal, setUpdateClassModal] = useState(false);\r\n const [addNewStudentToClassModal, setAddNewStudentToClassModal] =\r\n useState(false);\r\n const [addStudentToClassModal, setAddStudentToClassModal] = useState(false);\r\n const [licenseModalOpen, setLicenseModalOpen] = useState(false);\r\n const [selectedStudentForLicense, setSelectedStudentForLicense] =\r\n useState(null);\r\n const [addNewTeacherModalOpen, setAddNewTeacherModalOpen] = useState(false);\r\n const [updatingClass, setUpdatingClass] = useState(false);\r\n const [showCourses, setShowCourses] = useState(false);\r\n const [importStudentsModalOpen, setImportStudentsModalOpen] = useState(false);\r\n const [updatingUserId, setUpdatingUserId] = useState(null);\r\n const [classNameInvalidSigns, setClassNameInvalidSigns] = useState(false);\r\n\r\n const mutateStudentName = useMutation(HandleUserNameChange);\r\n const mutateStudentEmail = useMutation(HandleUserEmailChange);\r\n const mutateAddNewTeacher = useMutation(HandleAddNewTeacher);\r\n const mutateCheckStudentEmail = useMutation(CheckIfEmailIsOccupied);\r\n const mutateDeleteStudent = useMutation(HandleDeleteStudent);\r\n const mutateEditClass = useMutation(HandleClassEdit);\r\n const queryClient = useQueryClient();\r\n\r\n let values = {\r\n id: props.classData.data.id,\r\n name: props.classData.data.name,\r\n school: props.teacherInfo.data.customer.name,\r\n programme: props.classData.data.programme,\r\n orientation: props.classData.data.orientation,\r\n teachers: props.classData.data.teachers,\r\n };\r\n\r\n const handleAddTeacherSelect = (event) => {\r\n if (event.value === \"addNewTeacher\") {\r\n setAddNewTeacherModalOpen(true);\r\n } else {\r\n handleAddTeacherToClass(event.value);\r\n }\r\n };\r\n\r\n function compare(a, b) {\r\n if (a.name < b.name) {\r\n return -1;\r\n }\r\n if (a.name > b.name) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n const promptRemoveTeacher = (teacher) => {\r\n setTeacherForRemoval(teacher);\r\n setPromptTeacherRemoval(true);\r\n };\r\n\r\n const promptRemoveStudent = (student) => {\r\n setStudentForRemoval(student);\r\n setPromptStudentRemoval(true);\r\n };\r\n\r\n const toggleImportStudentsModal = () => {\r\n setImportStudentsModalOpen((prev) => !prev);\r\n };\r\n\r\n const reload = () => {};\r\n\r\n const reloadClass = () => {\r\n queryClient.invalidateQueries(\"FetchTeacherInformation\");\r\n queryClient.invalidateQueries(\"FetchClassByClassId\");\r\n };\r\n\r\n var allStudents = [];\r\n\r\n props.teacherInfo.data.programmes.forEach((prog) => {\r\n prog.classes.forEach((cl) => {\r\n cl.students.forEach((stud) => {\r\n allStudents.push(stud);\r\n });\r\n });\r\n });\r\n\r\n allStudents = allStudents.sort(compare);\r\n var studentsInClass = [];\r\n props.classData.data.students.forEach((stud) => {\r\n studentsInClass.push(stud);\r\n });\r\n\r\n const openAddNewStudentToClassModal = () => {\r\n toggleModals(\"addNewStudentToClass\");\r\n };\r\n const openAddStudentToClassModal = () => {\r\n toggleModals(\"addStudentToClass\");\r\n };\r\n\r\n const closeAddNewStudentAndAddLicense = (student) => {\r\n let newStudent = {\r\n id: student.id,\r\n name: student.name,\r\n email: student.email,\r\n class: {\r\n id: props.classData.data.id,\r\n name: props.classData.data.name,\r\n programme: props.classData.data.programme,\r\n orientation: props.classData.data.orientation,\r\n },\r\n };\r\n toggleModals(\"addNewStudentToClass\");\r\n setSelectedStudentForLicense(newStudent);\r\n setLicenseModalOpen(true);\r\n };\r\n\r\n const toggleModals = (entity) => {\r\n switch (entity) {\r\n case \"addNewStudentToClass\":\r\n setAddNewStudentToClassModal(!addNewStudentToClassModal);\r\n break;\r\n case \"addStudentToClass\":\r\n setAddStudentToClassModal(!addStudentToClassModal);\r\n break;\r\n case \"updateClass\":\r\n setUpdateClassModal(!updateClassModal);\r\n break;\r\n default:\r\n this.setState({ studentModal: !this.state.studentModal });\r\n }\r\n };\r\n\r\n const handleAddNewTeacher = (values) => {\r\n setAddNewTeacherModalOpen(false);\r\n if (checkNameLengthAndCharacters(values.name) !== true) {\r\n toast.warn(checkNameLengthAndCharacters(values.name));\r\n } else {\r\n mutateAddNewTeacher.mutate(\r\n {\r\n name: values.name,\r\n email: values.email,\r\n fullAccess: values.fullAccess,\r\n purchaser: values.purchaser,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n handleAddTeacherToClass(data.data.result);\r\n } else {\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n }\r\n };\r\n\r\n const handleAddTeacherToClass = (teacherToAdd) => {\r\n let teachers = values.teachers;\r\n teachers.push(teacherToAdd);\r\n mutateEditClass.mutate(\r\n {\r\n id: values.id,\r\n name: values.name,\r\n school: values.school,\r\n programme: values.programme,\r\n orientation: values.orientation,\r\n teachers: teachers,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n queryClient.invalidateQueries(\"FetchTeacherInformation\");\r\n queryClient.invalidateQueries(\"FetchClassByClassId\");\r\n setPromptTeacherRemoval(false);\r\n toast.success();\r\n } else {\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n setPromptTeacherRemoval(false);\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n };\r\n\r\n const toggleNewTeacherModal = () => {\r\n setAddNewTeacherModalOpen((prevstate) => !prevstate);\r\n };\r\n\r\n const handleRemoveTeacher = async () => {\r\n setRemovingTeacher(true);\r\n setPromptTeacherRemoval(false);\r\n let tempClassData = props.classData.data;\r\n var teachers = props.classData.data.teachers.filter(function (teacher) {\r\n return teacher.id !== teacherForRemoval.id;\r\n });\r\n tempClassData.teachers = teachers;\r\n queryClient.setQueryData(\r\n [\"FetchClassByClassId\", props.classData.data.id],\r\n tempClassData\r\n );\r\n await mutateEditClass.mutate(\r\n {\r\n id: values.id,\r\n name: values.name,\r\n school: values.school,\r\n programme: values.programme,\r\n orientation: values.orientation,\r\n teachers: teachers,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n setRemovingTeacher(false);\r\n if (data && data.status > 199 && data.status < 300) {\r\n queryClient.invalidateQueries(\"FetchTeacherInformation\");\r\n toast.success();\r\n } else {\r\n tempClassData.teachers.push(teacherForRemoval);\r\n queryClient.setQueryData(\r\n [\"FetchClassByClassId\", props.classData.data.id],\r\n tempClassData\r\n );\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n tempClassData.teachers.push(teacherForRemoval);\r\n queryClient.setQueryData(\r\n [\"FetchClassByClassId\", props.classData.data.id],\r\n tempClassData\r\n );\r\n setRemovingTeacher(false);\r\n setPromptTeacherRemoval(false);\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n };\r\n\r\n const handleDeleteStudent = () => {\r\n setPromptStudentRemoval(false);\r\n setUpdatingClass(true);\r\n mutateDeleteStudent.mutate(\r\n {\r\n studentEmail: studentForRemoval.email,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n queryClient.invalidateQueries(\"FetchTeacherInformation\");\r\n queryClient.invalidateQueries(\"FetchClassByClassId\");\r\n setUpdatingClass(false);\r\n toast.success();\r\n } else {\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n setUpdatingClass(false);\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n };\r\n\r\n const handleChangedClassName = (event) => {\r\n if (\r\n event.target.name === \"className\" &&\r\n event.target.value !== props.classData.data.name\r\n ) {\r\n if (!event.target.value.match(/^[A-Za-z0-9,\\-,\",Å,å,Ä,ä,Ö,ö ]+$/)) {\r\n setClassNameInvalidSigns(true);\r\n return null;\r\n }\r\n setClassNameInvalidSigns(false);\r\n setUpdatingClass(true);\r\n values.newName = event.target.value;\r\n mutateEditClass.mutate(\r\n {\r\n id: props.classData.data.id,\r\n name: values.newName,\r\n school: values.school,\r\n programme: values.programme,\r\n orientation: values.orientation,\r\n teachers: values.teachers,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n queryClient.invalidateQueries(\"FetchTeacherInformation\");\r\n queryClient.invalidateQueries(\"FetchClassByClassId\");\r\n setPromptTeacherRemoval(false);\r\n setUpdatingClass(false);\r\n toast.success();\r\n } else {\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n setPromptTeacherRemoval(false);\r\n setUpdatingClass(false);\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n } else {\r\n setClassNameInvalidSigns(false);\r\n }\r\n };\r\n\r\n const handleChangeProgram = (event, field) => {\r\n if (\r\n (field === \"classProgram\" &&\r\n event.value !== props.classData.data.programme) ||\r\n (field === \"classOrientation\" &&\r\n event.value !== props.classData.data.orientation)\r\n ) {\r\n setUpdatingClass(true);\r\n if (field === \"classProgram\") {\r\n values.programme = event.value;\r\n } else if (field === \"classOrientation\") {\r\n values.orientation = event.value;\r\n }\r\n mutateEditClass.mutate(\r\n {\r\n id: props.classData.data.id,\r\n name: values.name,\r\n school: values.school,\r\n programme: values.programme,\r\n orientation: values.orientation,\r\n teachers: values.teachers,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n queryClient.invalidateQueries(\"FetchTeacherInformation\");\r\n queryClient.invalidateQueries(\"FetchClassByClassId\");\r\n setPromptTeacherRemoval(false);\r\n setUpdatingClass(false);\r\n toast.success();\r\n } else {\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n setPromptTeacherRemoval(false);\r\n setUpdatingClass(false);\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n }\r\n };\r\n\r\n const handleChangedUser = (event, user, field, userType) => {\r\n if (field === \"name\") {\r\n handleChangedUserName(user, event.target.value, userType);\r\n } else if (field === \"email\") {\r\n checkEmailOnChange(user, event.target.value, userType);\r\n }\r\n };\r\n\r\n const handleChangedUserName = async (user, newUserName, userType) => {\r\n if (newUserName !== user.name) {\r\n const nameCheck = checkNameLengthAndCharacters(newUserName);\r\n if (nameCheck !== true) {\r\n toast.warn(nameCheck);\r\n } else {\r\n setUpdatingUserId(user.id);\r\n mutateStudentName.mutate(\r\n {\r\n oldEmail: user.email,\r\n newEmail: user.email,\r\n newName: newUserName,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n let tempClassData = props.classData.data;\r\n if (userType === \"student\") {\r\n tempClassData.students.find(\r\n (stud) => stud.id === user.id\r\n ).name = newUserName;\r\n } else if (userType === \"teacher\") {\r\n tempClassData.teachers.find(\r\n (teach) => teach.id === user.id\r\n ).name = newUserName;\r\n }\r\n queryClient.refetchQueries({\r\n queryKey: [\"FetchTeacherInformation\"],\r\n });\r\n queryClient.setQueryData(\r\n [\"FetchClassByClassId\", props.classData.data.id],\r\n tempClassData\r\n );\r\n setUpdatingUserId(null);\r\n toast.success();\r\n } else {\r\n toast.warn(data);\r\n setUpdatingUserId(null);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n setUpdatingUserId(null);\r\n toast.warn(data);\r\n },\r\n }\r\n );\r\n }\r\n }\r\n };\r\n\r\n const checkEmailOnChange = (user, newUserEmail, userType) => {\r\n if (user.email !== newUserEmail) {\r\n if (\r\n !/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/.test(\r\n newUserEmail\r\n )\r\n ) {\r\n toast.warn();\r\n } else {\r\n setUpdatingUserId(user.id);\r\n mutateCheckStudentEmail.mutate(\r\n {\r\n oldEmail: user.email,\r\n newEmail: newUserEmail,\r\n studentName: user.name,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n if (data.data === true) {\r\n setUpdatingUserId(null);\r\n toast.warn();\r\n } else {\r\n handleChangedUserEmail(user, newUserEmail, userType);\r\n }\r\n } else {\r\n setUpdatingUserId(null);\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n setUpdatingUserId(null);\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n }\r\n }\r\n };\r\n\r\n const handleChangedUserEmail = (user, newUserEmail, userType) => {\r\n mutateStudentEmail.mutate(\r\n {\r\n oldEmail: user.email,\r\n newEmail: newUserEmail,\r\n userName: user.name,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n let tempClassData = props.classData.data;\r\n if (userType === \"student\") {\r\n tempClassData.students.find((stud) => stud.id === user.id).email =\r\n newUserEmail;\r\n } else if (userType === \"teacher\") {\r\n tempClassData.teachers.find(\r\n (teach) => teach.id === user.id\r\n ).email = newUserEmail;\r\n }\r\n queryClient.setQueryData(\r\n [\"FetchClassByClassId\", props.classData.data.id],\r\n tempClassData\r\n );\r\n setUpdatingUserId(null);\r\n toast.success();\r\n } else {\r\n toast.warn(data);\r\n setUpdatingUserId(null);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n setUpdatingUserId(null);\r\n },\r\n }\r\n );\r\n };\r\n\r\n if (props.classData.isLoading || props.classCoursesData.isLoading) {\r\n return ;\r\n }\r\n\r\n const studentTableColumns = [\r\n { name: \"name\", title: },\r\n { name: \"email\", title: },\r\n { name: \"activatedAccount\", title: },\r\n { name: \"disconnect\", title: },\r\n { name: \"licences\", title: },\r\n ];\r\n\r\n const studentTableColumnExtensions = [\r\n { columnName: \"licences\", wordWrapEnabled: true },\r\n ];\r\n\r\n const studentEditField = (student, field) => {\r\n return (\r\n handleChangedUser(event, student, field, \"student\")}\r\n >\r\n );\r\n };\r\n const teacherEditField = (teacher, field) => {\r\n if (props.teacherInfo.data.fullAccess) {\r\n return (\r\n \r\n handleChangedUser(event, teacher, field, \"teacher\")\r\n }\r\n >\r\n );\r\n } else {\r\n return teacher[field];\r\n }\r\n };\r\n\r\n const handleAddLicense = (stud) => {\r\n setSelectedStudentForLicense(stud);\r\n setLicenseModalOpen(true);\r\n };\r\n\r\n const toggleStudentLicenseModal = () => {\r\n setLicenseModalOpen((prev) => !prev);\r\n };\r\n\r\n const licensesBadge = (stud) => {\r\n let studentHasLicense = false;\r\n stud.licenses.forEach((studLic) => {\r\n if (studLic.programLicenses.length > 0) {\r\n studentHasLicense = true;\r\n }\r\n });\r\n if (studentHasLicense) {\r\n let licenses = [];\r\n stud.licenses.forEach((studLic) => {\r\n studLic.programLicenses.forEach((license) => {\r\n var licName = license.name;\r\n if (licName.includes(\"programlicens\")) {\r\n licName = licName.replace(\"programlicens\", \"elevlicens\");\r\n }\r\n licenses.push(licName);\r\n });\r\n });\r\n return licenses.map((license) => (\r\n \r\n {license}\r\n \r\n ));\r\n } else {\r\n return (\r\n handleAddLicense(stud)}\r\n >\r\n \r\n \r\n );\r\n }\r\n };\r\n const studentActivationHandler = (student) => {\r\n if (student.activatedAccount) {\r\n return ;\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n };\r\n\r\n const studentTableDataSource = [];\r\n props.classData.data.students.forEach((stud) => {\r\n let student = {\r\n uniqueId: stud.id,\r\n name:\r\n updatingUserId === stud.id ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n studentEditField(stud, \"name\")\r\n ),\r\n email: updatingUserId === stud.id ? \"\" : studentEditField(stud, \"email\"),\r\n activatedAccount:\r\n updatingUserId === stud.id ? \"\" : studentActivationHandler(stud),\r\n disconnect:\r\n updatingUserId === stud.id ? (\r\n \"\"\r\n ) : (\r\n promptRemoveStudent(stud)}\r\n >\r\n \r\n \r\n ),\r\n licences: updatingUserId === stud.id ? \"\" : licensesBadge(stud),\r\n };\r\n studentTableDataSource.push(student);\r\n });\r\n\r\n const teacherTableColumns = [\r\n { name: \"name\", title: },\r\n { name: \"email\", title: },\r\n { name: \"activatedAccount\", title: },\r\n { name: \"purchaser\", title: },\r\n {\r\n name: \"fullAccessTeacher\",\r\n title: ,\r\n },\r\n { name: \"edit\", title: },\r\n ];\r\n\r\n const teacherTableDataSource = [];\r\n props.classData.data.teachers.forEach((teach) => {\r\n let teacher = {\r\n uniqueId: teach.id,\r\n name:\r\n updatingUserId === teach.id ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n teacherEditField(teach, \"name\")\r\n ),\r\n email:\r\n updatingUserId === teach.id ? \"\" : teacherEditField(teach, \"email\"),\r\n activatedAccount:\r\n updatingUserId === teach.id ? (\r\n \"\"\r\n ) : teach.activatedAccount ? (\r\n \r\n ) : (\r\n \r\n ),\r\n purchaser:\r\n updatingUserId === teach.id ? (\r\n \"\"\r\n ) : teach.purchaser ? (\r\n \r\n ) : (\r\n \r\n ),\r\n fullAccessTeacher:\r\n updatingUserId === teach.id ? (\r\n \"\"\r\n ) : teach.fullAccess ? (\r\n \r\n ) : (\r\n \r\n ),\r\n edit:\r\n updatingUserId === teach.id ? (\r\n \"\"\r\n ) : (\r\n \r\n ),\r\n };\r\n teacherTableDataSource.push(teacher);\r\n });\r\n\r\n const searchList = () => {\r\n return props.classCoursesData.data.map((course, i) => (\r\n \r\n {course.name}\r\n \r\n ));\r\n };\r\n\r\n const toggleCoursesDropdown = () => {\r\n setShowCourses((prevstate) => !prevstate);\r\n };\r\n\r\n const programSelectOptions = [];\r\n props.teacherInfo.data.programmes.forEach((program) => {\r\n let prog = { value: program, label: program.name };\r\n programSelectOptions.push(prog);\r\n });\r\n\r\n const currentProgramOption = {\r\n value: props.classData.data.programme ? props.classData.data.programme : \"\",\r\n label: props.classData.data.programme\r\n ? props.classData.data.programme.name\r\n : \"\",\r\n };\r\n\r\n const orientationSelectOptions = [];\r\n props.schoolInfo.data.orientations.forEach((orientation) => {\r\n let orient = { value: orientation, label: orientation.name };\r\n orientationSelectOptions.push(orient);\r\n });\r\n\r\n const currentOrientation = { value: \"\", label: \"\" };\r\n if (props.classData.data.orientation != null) {\r\n currentOrientation.value = props.classData.data.orientation;\r\n currentOrientation.label = props.classData.data.orientation.name;\r\n }\r\n\r\n const teacherSelectOptions = () => {\r\n let teacherSelectOptions = [];\r\n let addNew = {\r\n value: \"addNewTeacher\",\r\n label: ,\r\n };\r\n\r\n props.schoolInfo.data.teachers.forEach((teacher) => {\r\n let teach = { value: teacher, label: teacher.name };\r\n let teacherIsTeacherInClass = false;\r\n props.classData.data.teachers.forEach((teacherInClass) => {\r\n if (teacherInClass.id === teach.value.id) {\r\n teacherIsTeacherInClass = true;\r\n }\r\n });\r\n if (!teacherIsTeacherInClass) {\r\n teacherSelectOptions.push(teach);\r\n }\r\n });\r\n teacherSelectOptions.sort((a, b) =>\r\n a.label > b.label ? 1 : b.label > a.label ? -1 : 0\r\n );\r\n\r\n if (teacherSelectOptions.length > 0) {\r\n teacherSelectOptions.splice(0, 0, teacherSelectOptions.pop());\r\n }\r\n teacherSelectOptions.unshift(addNew);\r\n return teacherSelectOptions;\r\n };\r\n\r\n const compareNamePriority = (a, b) => {\r\n const priorityA = a.props.defaultValue;\r\n const priorityB = b.props.defaultValue;\r\n if (priorityA === priorityB) {\r\n return 0;\r\n }\r\n return priorityA < priorityB ? -1 : 1;\r\n };\r\n const compareFormattedPriority = (a, b) => {\r\n const priorityA = a.props.id;\r\n const priorityB = b.props.id;\r\n if (priorityA === priorityB) {\r\n return 0;\r\n }\r\n return priorityA < priorityB ? -1 : 1;\r\n };\r\n\r\n const studentIntegratedSortingColumnExtensions = [\r\n { columnName: \"name\", compare: compareNamePriority },\r\n { columnName: \"email\", compare: compareNamePriority },\r\n { columnName: \"activatedAccount\", compare: compareFormattedPriority },\r\n ];\r\n\r\n const teacherIntegratedSortingColumnExtensions = [\r\n { columnName: \"activatedAccount\", compare: compareFormattedPriority },\r\n { columnName: \"purchaser\", compare: compareFormattedPriority },\r\n { columnName: \"fullAccessTeacher\", compare: compareFormattedPriority },\r\n { columnName: \"edit\", compare: compareFormattedPriority },\r\n ];\r\n const getStudentIds = () => {\r\n let listOfIds = [];\r\n props.classData.data.students.forEach((stud) => {\r\n listOfIds.push(stud.id);\r\n });\r\n return listOfIds;\r\n };\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {updatingClass ? (\r\n
    \r\n {\" \"}\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n :\r\n \r\n \r\n {classNameInvalidSigns ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n \r\n :\r\n \r\n \r\n handleChangeProgram(event, \"classProgram\")\r\n }\r\n />\r\n \r\n \r\n \r\n :\r\n \r\n \r\n handleChangeProgram(event, \"classOrientation\")\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n openAddNewStudentToClassModal()}\r\n >\r\n \r\n \r\n openAddStudentToClassModal()}\r\n >\r\n \r\n \r\n toggleImportStudentsModal()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n }\r\n onChange={handleAddTeacherSelect}\r\n />\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n\r\n \r\n setPromptTeacherRemoval(!promptTeacherRemoval)}\r\n title={}\r\n message={\r\n \r\n }\r\n onProceed={handleRemoveTeacher}\r\n />\r\n setPromptStudentRemoval(!promptStudentRemoval)}\r\n title={}\r\n message={\r\n \r\n }\r\n onProceed={handleDeleteStudent}\r\n />\r\n \r\n closeAddNewStudentAndAddLicense(stud)}\r\n toggle={() => toggleModals(\"addNewStudentToClass\")}\r\n purchaserTeacher={props.teacherInfo.data.purchaser}\r\n />\r\n\r\n toggleModals(\"addStudentToClass\")}\r\n students={allStudents}\r\n loadStudents={reloadClass}\r\n existingStudents={studentsInClass}\r\n />\r\n\r\n toggleModals(\"updateClass\")}\r\n classToUpdate={props.classData.data}\r\n dismissModal={() => toggleModals(\"updateClass\")}\r\n programmeSelection={props.schoolInfo.data.programmes}\r\n teacherSelection={props.schoolInfo.data.teachers}\r\n orientationSelection={props.schoolInfo.data.orientations}\r\n onProceed={reload}\r\n />\r\n \r\n
    \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { Row, Col, Card, CardTitle, CardSubtitle } from \"reactstrap\";\r\nimport { CRow, CCol, CForm, CLabel, CInput, CFormGroup } from \"@coreui/react\";\r\nimport {\r\n HandleUserNameChange,\r\n HandleStudentClassChange,\r\n HandleUserEmailChange,\r\n CheckIfEmailIsOccupied,\r\n} from \"../../actions/teacherMutations\";\r\nimport { GetCoursesByStudentEmail } from \"../../actions/teacherQueries\";\r\nimport ButtonSendActivationMail from \"../Button/ButtonSendActivationMail\";\r\nimport { useMutation, useQueryClient } from \"react-query\";\r\nimport { toast } from \"react-toastify\";\r\nimport FinalExamUnlockerContainer from \"./FinalExamUnlockerContainer\";\r\nimport Select from \"react-select\";\r\nimport { PacmanLoader } from \"react-spinners\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { checkNameLengthAndCharacters } from \"../../Utilities/checkerFunctions\";\r\nimport ModuleLocker from \"./ModuleLocker\";\r\n\r\nexport default function StudentAdministration(props) {\r\n const queryClient = useQueryClient();\r\n\r\n const [updatingStudent, setUpdatingStudent] = useState(false);\r\n const [showCourses, setShowCourses] = useState(false);\r\n const [emailOccupied, setEmailOccupied] = useState(false);\r\n const [invalidEmail, setInvalidEmail] = useState(false);\r\n const mutateStudentName = useMutation(HandleUserNameChange);\r\n const mutateStudentClass = useMutation(HandleStudentClassChange);\r\n const mutateStudentEmail = useMutation(HandleUserEmailChange);\r\n const mutateCheckStudentEmail = useMutation(CheckIfEmailIsOccupied);\r\n const studentCourses = GetCoursesByStudentEmail(\r\n props.studentHasLicense ? props.student.email : null\r\n );\r\n\r\n let values = {\r\n student: props.student,\r\n oldEmail: props.student.email,\r\n newEmail: props.student.email,\r\n oldName: props.student.name,\r\n newName: props.student.name,\r\n class: {\r\n name: props.student.class.name,\r\n id: props.student.class.id,\r\n schoolId: props.student.class.schoolId,\r\n },\r\n };\r\n\r\n const handleChangedStudentName = (event) => {\r\n if (event.target.value !== props.student.name) {\r\n const nameCheck = checkNameLengthAndCharacters(event.target.value);\r\n if (nameCheck !== true) {\r\n toast.warn(nameCheck);\r\n } else {\r\n values.oldName = props.student.name;\r\n let studentData = props.student;\r\n studentData.name = event.target.value;\r\n queryClient.setQueryData([\"GetStudentInfoByStudentId\"], studentData);\r\n\r\n setUpdatingStudent(true);\r\n mutateStudentName.mutate(\r\n {\r\n oldEmail: values.oldEmail,\r\n newEmail: values.oldEmail,\r\n newName: event.target.value,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n queryClient.invalidateQueries([\"FetchTeacherInformation\"]);\r\n setUpdatingStudent(false);\r\n toast.success();\r\n } else {\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n studentData.name = values.oldName;\r\n queryClient.setQueryData(\r\n [\"GetStudentInfoByStudentId\"],\r\n studentData\r\n );\r\n setUpdatingStudent(false);\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n }\r\n }\r\n };\r\n\r\n const checkEmailOnChange = (event) => {\r\n if (\r\n !/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/.test(\r\n event.target.value\r\n )\r\n ) {\r\n setInvalidEmail(true);\r\n } else {\r\n setInvalidEmail(false);\r\n mutateCheckStudentEmail.mutate(\r\n {\r\n oldEmail: values.oldEmail,\r\n newEmail:\r\n event.target.name === \"email\" &&\r\n event.target.value !== props.student.email\r\n ? event.target.value\r\n : values.newEmail,\r\n studentName:\r\n event.target.name === \"name\" &&\r\n event.target.value !== props.student.name\r\n ? event.target.value\r\n : values.newName,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n if (data.data === true) {\r\n setEmailOccupied(true);\r\n } else {\r\n setEmailOccupied(false);\r\n handleChangedStudentEmail(event);\r\n }\r\n } else {\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n setUpdatingStudent(false);\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n }\r\n };\r\n\r\n const handleChangedStudentEmail = (event) => {\r\n let studentData = props.student;\r\n studentData.email = event.target.value;\r\n queryClient.setQueryData([\"GetStudentInfoByStudentId\"], studentData);\r\n\r\n setUpdatingStudent(true);\r\n mutateStudentEmail.mutate(\r\n {\r\n oldEmail: values.oldEmail,\r\n newEmail:\r\n event.target.name === \"email\" ? event.target.value : values.oldEmail,\r\n userName:\r\n event.target.name === \"name\" &&\r\n event.target.value !== props.student.name\r\n ? event.target.value\r\n : values.newName,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n setUpdatingStudent(false);\r\n toast.success();\r\n queryClient.invalidateQueries([\"FetchTeacherInformation\"]);\r\n queryClient.invalidateQueries([\r\n \"GetCoursesWithResultsByStudentId\",\r\n props.student.id,\r\n ]);\r\n } else {\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n let studentData = props.student;\r\n studentData.email = values.oldEmail;\r\n queryClient.setQueryData([\"GetStudentInfoByStudentId\"], studentData);\r\n setUpdatingStudent(false);\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n };\r\n\r\n const handleChangedStudentClass = (value) => {\r\n setUpdatingStudent(true);\r\n mutateStudentClass.mutate(\r\n {\r\n id: props.student.id,\r\n name: props.student.name,\r\n class: {\r\n name: value.value.name,\r\n id: value.value.id,\r\n schoolId: props.student.class.schoolId,\r\n },\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n queryClient.invalidateQueries([\"FetchTeacherInformation\"]);\r\n\r\n setUpdatingStudent(false);\r\n toast.success();\r\n } else {\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n setUpdatingStudent(false);\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n };\r\n\r\n if (props.school) {\r\n if (!props.student.class)\r\n props.student.class = {\r\n id: 0,\r\n name: \"\",\r\n };\r\n props.student.class.schoolId = props.school.id;\r\n }\r\n\r\n var teacherClasses = [];\r\n props.teacherInfo.programmes.forEach((program) => {\r\n program.classes.forEach((cl) => {\r\n teacherClasses.push(cl);\r\n });\r\n });\r\n\r\n const toggleCoursesDropdown = () => {\r\n setShowCourses((prevstate) => !prevstate);\r\n };\r\n\r\n const searchList = () => {\r\n return studentCourses.data.map((course, i) => (\r\n \r\n {course.name}\r\n \r\n ));\r\n };\r\n\r\n const classSelectOptions = [];\r\n teacherClasses.forEach((cl) => {\r\n let cls = { value: cl, label: cl.name };\r\n classSelectOptions.push(cls);\r\n });\r\n\r\n const currentClassOption = { value: \"\", label: \"\" };\r\n if (props.student.class.name != null) {\r\n currentClassOption.value = props.student.class.name;\r\n currentClassOption.label = props.student.class.name;\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {updatingStudent ? (\r\n
    \r\n {\" \"}\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n \r\n \r\n :\r\n \r\n {emailOccupied ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {invalidEmail ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n\r\n \r\n\r\n {props.studentHasLicense && (\r\n \r\n )}\r\n
    \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { withFormik, Form, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport { FormGroup, Label, Button } from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { useMutation } from \"react-query\";\r\nimport { CheckIfEmailIsOccupied } from \"../../actions/teacherMutations\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { toast } from \"react-toastify\";\r\nimport Select from \"react-select\";\r\nimport AddNewTeacherToClass from \"../Modal/AddNewTeacherToClass\";\r\nimport DataGrid from \"../DataGrids/DataGrid\";\r\nimport uuid from \"uuid\";\r\n\r\nconst CreateClassInProgramForm = ({\r\n values,\r\n errors,\r\n touched,\r\n isSubmitting,\r\n toggleModal,\r\n newTeachersToAdd,\r\n setNewTeachersToAdd,\r\n}) => {\r\n const [teachersToAdd, setTeachersToAdd] = useState([]);\r\n const [teachersForAdding, setTeachersForAdding] = useState(values.teachers);\r\n const [addNewTeacherModalOpen, setAddNewTeacherModalOpen] = useState(false);\r\n const mutateCheckEmailTaken = useMutation(CheckIfEmailIsOccupied);\r\n const handleChange = (selected) => {\r\n if (selected.value === \"AddNewTeacher\") {\r\n setAddNewTeacherModalOpen(true);\r\n } else {\r\n let teacherToAdd = {\r\n id: selected.id,\r\n name: selected.name,\r\n email: selected.email,\r\n fullAccess: selected.fullAccess,\r\n purchaser: selected.purchaser,\r\n isNewTeacher: selected.isNewTeacher,\r\n };\r\n setTeachersToAdd([...teachersToAdd, teacherToAdd]);\r\n setTeachersForAdding(\r\n teachersForAdding.filter((teacher) => teacher.id !== selected.id)\r\n );\r\n }\r\n };\r\n\r\n const removeTeacherFromAddList = (teacher) => {\r\n if (newTeachersToAdd.some((nt) => nt.id === teacher.id)) {\r\n setNewTeachersToAdd(newTeachersToAdd.filter((t) => t.id !== teacher.id));\r\n } else {\r\n setTeachersToAdd([\r\n ...teachersToAdd.filter(function (t) {\r\n return t.email !== teacher.email;\r\n }),\r\n ]);\r\n setTeachersForAdding([...teachersForAdding, teacher]);\r\n }\r\n };\r\n\r\n const handleAddNewTeacher = (values) => {\r\n toggleAddTeacherModal();\r\n mutateCheckEmailTaken.mutate(\r\n {\r\n newEmail: values.email,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n if (data.data === true) {\r\n toast.warn();\r\n } else {\r\n let newTeacherToAdd = {\r\n id: uuid(),\r\n email: values.email,\r\n fullAccess: values.fullAccess,\r\n name: values.name,\r\n purchaser: values.purchaser,\r\n isNewTeacher: true,\r\n };\r\n setNewTeachersToAdd([...newTeachersToAdd, newTeacherToAdd]);\r\n }\r\n }\r\n },\r\n }\r\n );\r\n };\r\n\r\n let teachersDataSource = [];\r\n teachersToAdd.forEach((teacher, i) => {\r\n let teacherToAdd = {\r\n uniqueId: teacher.id,\r\n name: teacher.name,\r\n email: teacher.email,\r\n fullAccess: teacher.fullAccess ? (\r\n \r\n ) : (\r\n \r\n ),\r\n purchaser: teacher.purchaser ? (\r\n \r\n ) : (\r\n \r\n ),\r\n edit: (\r\n \r\n ),\r\n };\r\n teachersDataSource.push(teacherToAdd);\r\n });\r\n\r\n newTeachersToAdd.forEach((newTeacher) => {\r\n let newTeacherToAdd = {\r\n uniqueId: newTeacher.id,\r\n name: newTeacher.name,\r\n email: newTeacher.email,\r\n fullAccess: newTeacher.fullAccess ? (\r\n \r\n ) : (\r\n \r\n ),\r\n purchaser: newTeacher.purchaser ? (\r\n \r\n ) : (\r\n \r\n ),\r\n edit: (\r\n \r\n ),\r\n };\r\n teachersDataSource.push(newTeacherToAdd);\r\n });\r\n\r\n const toggleAddTeacherModal = () => {\r\n setAddNewTeacherModalOpen((prev) => !prev);\r\n };\r\n\r\n const teachersTableColumns = [\r\n { name: \"edit\", title: \" \" },\r\n { name: \"name\", title: },\r\n { name: \"email\", title: },\r\n { name: \"fullAccess\", title: },\r\n { name: \"purchaser\", title: },\r\n ];\r\n\r\n const selectableTeachers = () => {\r\n let teachers = teachersForAdding.map((option) => ({\r\n ...option,\r\n key: option.id,\r\n label: option.name,\r\n value: option.id,\r\n clearableValue: values.fullAccess ? true : false,\r\n }));\r\n teachers.unshift({ label: \"Lägg till ny lärare\", value: \"AddNewTeacher\" });\r\n return teachers;\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n {errors.name && touched.name && (\r\n
    {errors.name}
    \r\n )}\r\n
    \r\n\r\n \r\n \r\n }\r\n isMulti={false}\r\n noOptionsMessage={() => (\r\n \r\n )}\r\n onChange={(selected) => handleChange(selected)}\r\n options={selectableTeachers()}\r\n defaultValue={\r\n !values.fullAccess\r\n ? {\r\n label: values.preselectedTeacher.name,\r\n value: values.preselectedTeacher.id,\r\n clearableValue: false,\r\n }\r\n : \"\"\r\n }\r\n />\r\n \r\n {teachersToAdd.length > 0 || newTeachersToAdd.length > 0 ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n\r\n (values.teachersToAdd = teachersToAdd)}\r\n >\r\n {isSubmitting ? (\r\n \r\n ) : (\r\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 FormikForm = withFormik({\r\n //todo-preselct teacher with loggedin if not fullaccess....\r\n mapPropsToValues: (props) => ({\r\n name: \"\",\r\n school: props.school,\r\n teachers: props.teachers,\r\n orientations: props.orientations ? props.orientations : [],\r\n selectedExistingTeacherIds: props.fullAccess\r\n ? []\r\n : props.preselectedTeacher\r\n ? props.preselectedTeacher.id\r\n : 0,\r\n selectedProgramme: null,\r\n selectedOrientation: \"\",\r\n fullAccess: props.fullAccess ? props.fullAccess : true,\r\n }),\r\n validationSchema: Yup.object().shape({\r\n name: Yup.string()\r\n .required(\r\n \r\n )\r\n .matches(\r\n /^[A-Za-z0-9,\\-,\", Å,å,Ä,ä,Ö,ö ]+$/,\r\n \"Klassnamnet innehåller ogiltiga tecken. Klassnamnet kan innehålla bokstäver, siffror, bindestreck, citationstecken och mellanslag.\"\r\n ),\r\n //TODO Lyft ut ovanstående text till sv.json. Behöver nog injectIntl, går inte med formattedmessage.\r\n }),\r\n\r\n handleSubmit(values, { props }) {\r\n let teacherIdsToAdd = [];\r\n let cl;\r\n values.teachersToAdd.forEach((t) => {\r\n teacherIdsToAdd.push(t.id);\r\n });\r\n cl = {\r\n name: values.name,\r\n school: values.school,\r\n programme: props.program,\r\n orientation: { id: 0, name: values.selectedOrientation },\r\n teachers: teacherIdsToAdd,\r\n };\r\n props.handleAddedClass(cl);\r\n },\r\n})(CreateClassInProgramForm);\r\n\r\nexport default FormikForm;\r\n","import React, { useState } from \"react\";\r\nimport { Modal, ModalHeader, ModalBody } from \"reactstrap\";\r\nimport CreateClassInProgramForm from \"../Forms/CreateClassInProgramForm\";\r\nimport ImportStudentsForm from \"../Forms/ImportStudentsForm\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nexport default function CreateClassInProgram(props) {\r\n const [importStudentStage, setImportStudentStage] = useState(false);\r\n const [createdClass, setCreatedClass] = useState(null);\r\n const moveToNextStep = (createdClass) => {\r\n setCreatedClass(createdClass);\r\n setImportStudentStage(true);\r\n };\r\n\r\n const toggleModal = () => {\r\n setImportStudentStage(false);\r\n props.toggle();\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {!importStudentStage ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { Col, Row, Card, CardTitle, Button, CardSubtitle } from \"reactstrap\";\r\nimport { toast } from \"react-toastify\";\r\nimport { useMutation, useQueryClient } from \"react-query\";\r\nimport { CRow, CCol, CForm, CLabel, CFormGroup } from \"@coreui/react\";\r\nimport {\r\n AddNewClass,\r\n DeleteClass,\r\n AddTeachersToClass,\r\n} from \"../../actions/teacherMutations\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport \"@inovua/reactdatagrid-community/index.css\";\r\nimport CreateClassInProgram from \"../Modal/CreateClassInProgram\";\r\nimport ConfirmDialog from \"../Modal/ConfirmDialog\";\r\nimport DataGrid from \"../DataGrids/DataGrid\";\r\nimport ImportStudentsToClassModal from \"../Modal/ImportStudentsToClassModal\";\r\nimport { HandleAddNewTeacher } from \"../../actions/teacherMutations\";\r\n\r\nexport default function ProgramAdministration(props) {\r\n const [promptClassRemoval, setPromptClassRemoval] = useState(false);\r\n const [classForRemoval, setClassForRemoval] = useState(null);\r\n const [addClassModalOpen, setAddClassModalOpen] = useState(false);\r\n const [importStudentsModalOpen, setImportStudentsModalOpen] = useState(false);\r\n const [createdClassId, setCreatedClassId] = useState(null);\r\n const [\r\n importStudentsAfterCreatingClass,\r\n setImportStudentsAfterCreatingClass,\r\n ] = useState(false);\r\n const [newTeachersToAdd, setNewTeachersToAdd] = useState([]);\r\n const addClassMutation = useMutation(AddNewClass);\r\n const deleteClassMutation = useMutation(DeleteClass);\r\n const handleAddTeachersToClass = useMutation(AddTeachersToClass);\r\n const mutateAddNewTeacher = useMutation(HandleAddNewTeacher);\r\n const queryClient = useQueryClient();\r\n\r\n const promptRemoveClass = (value) => {\r\n setClassForRemoval(value);\r\n setPromptClassRemoval(true);\r\n };\r\n\r\n const hideImportStudentsModal = () => {\r\n setImportStudentsModalOpen(false);\r\n };\r\n\r\n const deleteClassColumn = (value) => {\r\n return (\r\n promptRemoveClass(value)}\r\n >\r\n \r\n \r\n );\r\n };\r\n\r\n const classesTableDataSource = [];\r\n props.programInfo.data.classes.forEach((cl) => {\r\n let cls = { uniqueId: cl.id, name: cl.name, edit: deleteClassColumn(cl) };\r\n classesTableDataSource.push(cls);\r\n });\r\n\r\n const toggleAddClassModal = () => {\r\n setImportStudentsAfterCreatingClass(false);\r\n setAddClassModalOpen((prevState) => !prevState);\r\n };\r\n\r\n const closeAddClassModal = () => {\r\n setImportStudentsAfterCreatingClass(false);\r\n setAddClassModalOpen(false);\r\n };\r\n\r\n const toggleAddClassAndImportModal = () => {\r\n setImportStudentsAfterCreatingClass(true);\r\n setAddClassModalOpen((prevState) => !prevState);\r\n };\r\n\r\n const classesTableColumns = [\r\n { name: \"name\", title: },\r\n { name: \"edit\", title: \"Editera\" },\r\n ];\r\n\r\n const reloadProgramAndTeacherData = () => {\r\n if (importStudentsModalOpen) {\r\n setImportStudentsModalOpen(false);\r\n }\r\n queryClient.invalidateQueries(\"FetchTeacherInformation\");\r\n queryClient.invalidateQueries(\"FetchProgramById\");\r\n };\r\n\r\n const handleDeleteClass = () => {\r\n deleteClassMutation.mutate(\r\n {\r\n id: classForRemoval.id,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n setPromptClassRemoval(false);\r\n queryClient.invalidateQueries(\"FetchTeacherInformation\");\r\n queryClient.invalidateQueries(\"FetchProgramById\");\r\n toast.success();\r\n } else {\r\n setPromptClassRemoval(false);\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response ? data.response.data : data.request.data);\r\n },\r\n }\r\n );\r\n };\r\n\r\n const handleAddedClass = async (cl) => {\r\n var classToAdd = {\r\n name: cl.name,\r\n school: props.programInfo.data.customer,\r\n program: props.programInfo.data,\r\n orientation: cl.orientation,\r\n };\r\n addClassMutation.mutate(\r\n {\r\n cl: classToAdd,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n setCreatedClassId(data.data.result.id);\r\n if (newTeachersToAdd.length > 0) {\r\n addNewTeachersToClass(newTeachersToAdd, data.data.result.id);\r\n }\r\n if (cl.teachers.length > 0) {\r\n addTeachersToClass(cl.teachers, data.data.result.id);\r\n } else {\r\n toggleAddClassModal();\r\n reloadProgramAndTeacherData();\r\n toast.success();\r\n }\r\n if (importStudentsAfterCreatingClass) {\r\n setImportStudentsModalOpen(true);\r\n }\r\n } else {\r\n toggleAddClassModal();\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toggleAddClassModal();\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n };\r\n\r\n const addNewTeachersToClass = (teachers, classId) => {\r\n teachers.forEach((teacher) => {\r\n mutateAddNewTeacher.mutate(\r\n {\r\n name: teacher.name,\r\n email: teacher.email,\r\n fullAccess: teacher.fullAccess,\r\n purchaser: teacher.purchaser,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data?.status > 199 && data.status < 300) {\r\n let teacherIdsToAdd = [];\r\n teacherIdsToAdd.push(data.data.result.id);\r\n addTeachersToClass(teacherIdsToAdd, classId);\r\n } else {\r\n toast.warn(data);\r\n }\r\n },\r\n }\r\n );\r\n });\r\n };\r\n\r\n const addTeachersToClass = (teacherIds, classId) => {\r\n handleAddTeachersToClass.mutate(\r\n {\r\n teacherIds: teacherIds,\r\n classId: classId,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n closeAddClassModal();\r\n reloadProgramAndTeacherData();\r\n toast.success();\r\n } else {\r\n toggleAddClassModal();\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n closeAddClassModal();\r\n toast.warn(data.response.data);\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 \r\n \r\n \r\n :\r\n \r\n {props.programInfo.data.name}\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n setPromptClassRemoval(!promptClassRemoval)}\r\n title={}\r\n message={\r\n classForRemoval ? (\r\n \r\n ) : (\r\n \"\"\r\n )\r\n }\r\n onProceed={handleDeleteClass}\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { useEffect } from \"react\";\r\nimport ClassAdministration from \"../ClassAdministration\";\r\nimport StudentAdministration from \"../StudentAdministration\";\r\nimport ProgramAdministration from \"../ProgramAdministration\";\r\n\r\nexport default function TeacherAdmin(props) {\r\n const [currentLevel, setCurrentLevel] = useState();\r\n\r\n useEffect(() => {\r\n setCurrentLevel(props.level);\r\n }, [props.level]);\r\n\r\n const renderLevel = () => {\r\n switch (currentLevel) {\r\n case \"Class\":\r\n //CLASS\r\n return (\r\n \r\n );\r\n //CLASS END\r\n case \"Student\":\r\n //STUDENT\r\n return (\r\n \r\n );\r\n //STUDENT END\r\n case \"Program\":\r\n //PROGRAM\r\n return (\r\n \r\n );\r\n //PROGRAM END\r\n default:\r\n return
    ;\r\n }\r\n };\r\n\r\n return
    {renderLevel()}
    ;\r\n}\r\n","import React, { useState } from \"react\";\r\nimport \"@devexpress/dx-react-grid-bootstrap4/dist/dx-react-grid-bootstrap4.css\";\r\nimport \"open-iconic/font/css/open-iconic-bootstrap.css\";\r\nimport {\r\n Grid,\r\n TableHeaderRow,\r\n TableTreeColumn,\r\n TableColumnResizing,\r\n VirtualTable,\r\n} from \"@devexpress/dx-react-grid-bootstrap4\";\r\nimport {\r\n CustomTreeData,\r\n TreeDataState,\r\n IntegratedSorting,\r\n SortingState,\r\n} from \"@devexpress/dx-react-grid\";\r\n\r\nconst TableComponent = ({ ...restProps }) => (\r\n \r\n);\r\n\r\nexport default function ResultTable(props) {\r\n let usersData;\r\n\r\n const getChildRows = (row, rootRows) => {\r\n const childRows = rootRows.filter(\r\n (r) => r.parentId === (row ? row.id : null)\r\n );\r\n return childRows.length ? childRows : null;\r\n };\r\n\r\n const [defaultColumnWidths] = useState(props.columnExtensions);\r\n\r\n const statusPriority = {\r\n InProgress: 1,\r\n NotStarted: 0,\r\n Done: 2,\r\n Completed: 3,\r\n };\r\n\r\n const comparePriority = (a, b) => {\r\n let priorityA = -1;\r\n let priorityB = -1;\r\n if (a !== undefined) {\r\n priorityA = statusPriority[a.props.status];\r\n }\r\n if (b !== undefined) {\r\n priorityB = statusPriority[b.props.status];\r\n }\r\n if (priorityA === priorityB) {\r\n return 0;\r\n }\r\n return priorityA < priorityB ? -1 : 1;\r\n };\r\n\r\n const [integratedSortingColumnExtensions] = useState([\r\n { columnName: \"status\", compare: comparePriority },\r\n ]);\r\n const [sortingStateColumnExtensions] = useState([\r\n { columnName: \"showResult\", sortingEnabled: false },\r\n { columnName: \"score\", sortingEnabled: false },\r\n { columnName: \"activityPoints\", sortingEnabled: false },\r\n { columnName: \"lastRun\", sortingEnabled: false },\r\n ]);\r\n\r\n usersData = props.tableData;\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}\r\n","import React from \"react\";\r\nimport { CBadge } from \"@coreui/react\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nexport default function StatusBadge({ status }) {\r\n const statusMessage = ;\r\n const colors = {\r\n InProgress: \"warning\",\r\n NotStarted: \"secondary\",\r\n Done: \"success\",\r\n Completed: \"success\",\r\n };\r\n const values = {\r\n NotStarted: \"0\",\r\n InProgress: \"1\",\r\n Done: \"2\",\r\n Completed: \"3\",\r\n };\r\n\r\n return (\r\n \r\n {statusMessage}\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Card, CardHeader, CardBody, CardTitle, Row, Col } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nconst StudentFillIn = (props) => {\r\n const isCorrect = props.data.correct;\r\n var studentAnswer = props.data.studentAnswer.split(\"|#|\");\r\n var correctAnswer = props.data.correctAnswer.split(\"|#|\");\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {props.data.question}\r\n \r\n \r\n {isCorrect ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\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 StudentFillIn;\r\n","import React from \"react\";\r\nimport { Card, CardHeader, CardBody, CardTitle, Row, Col } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nconst StudentMatching = (props) => {\r\n const isCorrect = props.data.correct;\r\n var pairKey = [];\r\n var studentAnswer = [];\r\n var correctAnswer = [];\r\n\r\n props.data.correctAnswer.split(\"[,]\").forEach((element) => {\r\n pairKey.push(element.split(\"[.]\")[0]);\r\n correctAnswer.push(element.split(\"[.]\")[1]);\r\n });\r\n\r\n props.data.studentAnswer.split(\"[,]\").forEach((element) => {\r\n studentAnswer.push(element.split(\"[.]\")[1]);\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {props.data.question}\r\n \r\n \r\n {isCorrect ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n \r\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 StudentMatching;\r\n","import React from \"react\";\r\nimport { Card, CardHeader, CardBody, CardTitle, Row, Col } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nexport default function MultipleChoice(props) {\r\n const isCorrect = props.data.correct;\r\n var studentAnswer = props.data.studentAnswer.split(\"[,]\");\r\n var correctAnswer = props.data.correctAnswer.split(\"[,]\");\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {props.data.question}\r\n \r\n \r\n {isCorrect ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n );\r\n })}\r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Card, CardHeader, CardBody, CardTitle, Row, Col } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nconst StudentSequence = (props) => {\r\n const isCorrect = props.data.correct;\r\n var studentAnswer = [];\r\n var correctAnswer = [];\r\n\r\n props.data.studentAnswer.split(\"[,]\").forEach((element, index) => {\r\n if (index % 2 === 1) {\r\n studentAnswer.push(element);\r\n }\r\n });\r\n\r\n props.data.correctAnswer.split(\"[,]\").forEach((element, index) => {\r\n if (index % 2 === 1) {\r\n correctAnswer.push(element);\r\n }\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {props.data.question}\r\n \r\n \r\n {isCorrect ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\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 StudentSequence;\r\n","import React from \"react\";\r\nimport { GetBestAndLatestStudentResultAnalysisData } from \"../../actions/teacherQueries\";\r\nimport { Row, Col, Card, CardHeader, CardBody, Collapse } from \"reactstrap\";\r\nimport StudentFillIn from \"../ResultQuestionOverview/StudentFillIn\";\r\nimport StudentMatching from \"../ResultQuestionOverview/StudentMatching\";\r\nimport StudentMultipleChoice from \"../ResultQuestionOverview/StudentMultipleChoice\";\r\nimport StudentSequence from \"../ResultQuestionOverview/StudentSequence\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport Fab from \"@mui/material/Fab\";\r\n\r\nfunction renderSwitch(data, index) {\r\n switch (data.type) {\r\n case \"choice\":\r\n return ;\r\n case \"sequencing\":\r\n return ;\r\n case \"matching\":\r\n return ;\r\n case \"fill-in\":\r\n return ;\r\n case \"true-false\":\r\n return ;\r\n default:\r\n return
    ;\r\n }\r\n}\r\n\r\nexport default function StudentResultQuestionOverview({\r\n studentId,\r\n courseId,\r\n moduleId,\r\n courseName,\r\n moduleName,\r\n bestResultIsOpen,\r\n toggleBest,\r\n latestResultIsOpen,\r\n toggleLatest,\r\n}) {\r\n const studentResultData = GetBestAndLatestStudentResultAnalysisData(\r\n studentId,\r\n courseId,\r\n moduleId\r\n );\r\n\r\n if (!studentResultData.data) {\r\n return
    ;\r\n }\r\n\r\n function linesToParagraphs(...nodes) {\r\n return nodes\r\n .map((node) =>\r\n typeof node === \"string\"\r\n ? node.split(\"\\n\").map((text) =>

    {text}

    )\r\n : node\r\n )\r\n .reduce((nodes, node) => nodes.concat(node), []);\r\n }\r\n\r\n return (\r\n
    \r\n {studentResultData.data &&\r\n studentResultData.data.length > 0 &&\r\n studentResultData.data.map((item, index) => {\r\n return (\r\n \r\n \r\n {\r\n index === 0 ? toggleLatest() : toggleBest();\r\n }}\r\n >\r\n {\" \"}\r\n \r\n \r\n {item.isBestResult ? (\r\n item.isLatestResult ? (\r\n \r\n \r\n
    \r\n
    \r\n ) : (\r\n \r\n \r\n
    \r\n
    \r\n )\r\n ) : item.isLatestResult ? (\r\n \r\n \r\n
    \r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n
    \r\n {(index === 1 && bestResultIsOpen) ||\r\n (index === 0 && latestResultIsOpen) ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n {courseName}\r\n  - \r\n {moduleName}\r\n  - \r\n {item.cleanTimeStamp}\r\n
    \r\n \r\n \r\n\r\n \r\n \r\n \r\n {item.questionAnswerList.map((obj, index) => {\r\n return (\r\n \r\n {renderSwitch(obj, index)}\r\n \r\n );\r\n })}\r\n \r\n {\r\n window.scrollTo({\r\n top: 0,\r\n behavior: \"smooth\",\r\n });\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n })}\r\n {studentResultData.data && studentResultData.data.length < 1 && (\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n
    \r\n \r\n {linesToParagraphs}\r\n \r\n
    \r\n \r\n \r\n )}\r\n
    \r\n );\r\n}\r\n","export const ModuleType = {\r\n SCORM: 0,\r\n LEARNWARE: 1\r\n};\r\n","import { ModuleType } from \"../constants/ModuleType\";\r\nimport { SCORM_API_URL, LW_COURSE_API_URL } from \"../constants/api.constants\";\r\n\r\nexport function getWinOptions() {\r\n var winOptions = \"toolbar=no,status=no,location=no,menubar=no,scrollbars=yes\";\r\n winOptions = winOptions + \",width=\" + window.screen.availWidth.toString();\r\n winOptions = winOptions + \",height=\" + window.screen.availHeight.toString();\r\n return winOptions;\r\n}\r\n\r\nexport function composeUrl(\r\n userId,\r\n courseId,\r\n moduleId,\r\n moduleType,\r\n studentResultId,\r\n moduleUrl,\r\n studentName,\r\n numberOfRuns\r\n) {\r\n var url;\r\n var email = localStorage.getItem(\"email\");\r\n var numOfRunsIncramented = (numberOfRuns += 1);\r\n if (moduleType === ModuleType.LEARNWARE || moduleType === \"LearnWare\") {\r\n url =\r\n `${LW_COURSE_API_URL}/Home/StartLwCourse?` +\r\n \"email=\" +\r\n email +\r\n \"&userId=\" +\r\n userId +\r\n \"&courseId=\" +\r\n courseId +\r\n \"&moduleId=\" +\r\n moduleId;\r\n } else {\r\n url =\r\n `${SCORM_API_URL}/BootstrapDialog?` +\r\n \"userId=\" +\r\n userId +\r\n \"&studentResultId=\" +\r\n studentResultId +\r\n \"&courseId=\" +\r\n courseId +\r\n \"&moduleId=\" +\r\n moduleId +\r\n \"&url=\" +\r\n moduleUrl +\r\n \"&name=\" +\r\n studentName +\r\n \"&run=\" +\r\n numOfRunsIncramented;\r\n }\r\n return `${url}&tick=${Date.now()}`;\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { GetCoursesByStudentEmail } from \"../../actions/teacherQueries\";\r\nimport Pacmanloader from \"../Pacmanloader/Pacmanloader\";\r\nimport ResultTable from \"../Results/ResultTable\";\r\nimport StatusBadge from \"../Badges/StatusBadge\";\r\nimport moment from \"moment\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { Button } from \"reactstrap\";\r\nimport StudentResultQuestionOverview from \"../Results/StudentResultQuestionOverview\";\r\nimport { getWinOptions } from \"../../Utilities/moduleHelper\";\r\nimport { LW_COURSE_API_URL } from \"../../constants/api.constants\";\r\n\r\nexport default function StudentResultOverview({ studentEmail, studentId }) {\r\n const studentCourses = GetCoursesByStudentEmail(studentEmail);\r\n const [moduleId, setModuleId] = useState(null);\r\n const [courseId, setCourseId] = useState(null);\r\n const [moduleName, setModuleName] = useState(null);\r\n const [courseName, setCourseName] = useState(null);\r\n const [latestResultIsOpen, setLatestResultIsOpen] = useState(true);\r\n const toggleLatest = () => setLatestResultIsOpen(!latestResultIsOpen);\r\n const [bestResultIsOpen, setBestResultIsOpen] = useState(true);\r\n const toggleBest = () => setBestResultIsOpen(!bestResultIsOpen);\r\n\r\n const viewAt2Result = (studentEmail, currentCourseId, currentModuleId) => {\r\n var winOptions = getWinOptions;\r\n window.open(\r\n `${LW_COURSE_API_URL}/Home/ViewModuleResult?` +\r\n \"email=\" +\r\n studentEmail +\r\n \"&courseId=\" +\r\n currentCourseId +\r\n \"&moduleId=\" +\r\n currentModuleId,\r\n \"\",\r\n winOptions\r\n );\r\n };\r\n const viewScormResult = (courseId, moduleId, courseName, moduleName) => {\r\n setModuleId(moduleId);\r\n setCourseId(courseId);\r\n setModuleName(moduleName);\r\n setCourseName(courseName);\r\n setBestResultIsOpen(true);\r\n setLatestResultIsOpen(true);\r\n window.scrollTo({\r\n top: 0,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n\r\n if (studentCourses.isLoading) {\r\n return ;\r\n }\r\n\r\n const columnExtensions = [\r\n { columnName: \"name\", width: 280 },\r\n { columnName: \"showResult\", width: 140 },\r\n { columnName: \"status\", width: 100 },\r\n { columnName: \"donePercentage\", width: 150 },\r\n { columnName: \"score\", width: 170 },\r\n { columnName: \"nbrOfAttempts\", width: 130 },\r\n { columnName: \"activityPoints\", width: 170 },\r\n { columnName: \"lastRun\", width: 200 },\r\n ];\r\n\r\n const columns = [\r\n { title: , name: \"name\" },\r\n { title: , name: \"showResult\" },\r\n { title: , name: \"status\" },\r\n { title: , name: \"donePercentage\" },\r\n { title: , name: \"score\" },\r\n {\r\n title: ,\r\n name: \"nbrOfAttempts\",\r\n },\r\n { title: , name: \"activityPoints\" },\r\n { title: , name: \"lastRun\" },\r\n ];\r\n\r\n let tableData = [];\r\n studentCourses.data.forEach((c) => {\r\n let lastRun = c.modules.some((mod) => mod.lastRun !== null)\r\n ? new Date(\r\n Math.max(...c.modules.map((e) => new Date(e.lastRun)))\r\n ).toString()\r\n : null;\r\n let course = {\r\n id: \"c\" + c.id,\r\n parentId: null,\r\n name: c.name,\r\n status: ,\r\n donePercentage: c.progressPercentage,\r\n lastRun: lastRun === null ? null : moment(lastRun).format(\"lll\"),\r\n };\r\n tableData.push(course);\r\n let sortedModules = c.modules.sort((a, b) => {\r\n return a.sortOrder - b.sortOrder;\r\n });\r\n sortedModules.forEach((m) => {\r\n let module = {\r\n id: \"m\" + m.id,\r\n parentId: \"c\" + c.id,\r\n name: m.name,\r\n status: ,\r\n statusCode: m.status,\r\n score: m.score ? m.score + \"/\" + m.maxScore : 0,\r\n nbrOfAttempts: m.nbrOfAttempts,\r\n activityPoints: m.maxActivityPoints\r\n ? m.activityPoints + \"/\" + m.maxActivityPoints\r\n : 0,\r\n lastRun:\r\n m.lastRun === null\r\n ? null\r\n : moment(m.lastRun).format(\"Do MMMM YYYY, HH:mm\"),\r\n showResult:\r\n m.status !== \"NotStarted\" ? (\r\n viewAt2Result(studentEmail, c.id, m.id)\r\n : () => viewScormResult(c.id, m.id, c.name, m.name)\r\n }\r\n >\r\n \r\n \r\n ) : null,\r\n };\r\n tableData.push(module);\r\n });\r\n });\r\n\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n}\r\n","import { HorizontalBar } from \"@reactchartjs/react-chart.js\";\r\nimport { Card, CardTitle, Col, Row } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nconst CourseModulesResultsBar = ({ primaryData, secondaryData }) => {\r\n const options = {\r\n responsive: true,\r\n legend: {\r\n onClick: null,\r\n },\r\n indexAxis: \"y\",\r\n scales: {\r\n height: \"300px\",\r\n suggestedMax: 10,\r\n suggestedMin: 10,\r\n yAxes: [\r\n {\r\n stacked: true,\r\n ticks: {\r\n beginAtZero: true,\r\n },\r\n },\r\n ],\r\n xAxes: [\r\n {\r\n stacked: true,\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 \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default CourseModulesResultsBar;\r\n","import { CTooltip } from \"@coreui/react\";\r\nimport ScrollContainer from \"react-indiana-drag-scroll\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardTitle,\r\n Row,\r\n Col,\r\n Container,\r\n} from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport Slider from \"react-slick\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\n\r\nexport default function ClassMultipleChoice({\r\n question,\r\n answersStudent,\r\n correctAnswer,\r\n students,\r\n amountOfStudentresults,\r\n sliderSettings,\r\n questionIndex,\r\n}) {\r\n var correctAnswerList = correctAnswer.split(\"[,]\");\r\n\r\n return (\r\n \r\n \r\n {question}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n {answersStudent.map((item, index) => {\r\n var studentNames = \"\";\r\n item.studentIds.forEach((id) => {\r\n var student = students.find((obj) => {\r\n return obj.id === id;\r\n });\r\n studentNames +=\r\n studentNames === \"\" ? student.name : \", \" + student.name;\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 \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import { CTooltip } from \"@coreui/react\";\r\nimport { Card, CardBody, CardHeader, CardTitle, Row, Col } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport Slider from \"react-slick\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\n\r\nexport default function ClassSequence({\r\n question,\r\n answersStudent,\r\n correctAnswer,\r\n students,\r\n amountOfStudentresults,\r\n sliderSettings,\r\n questionIndex,\r\n}) {\r\n var answer = [];\r\n\r\n correctAnswer.split(\"[,]\").forEach((element, index) => {\r\n if (index % 2 === 1) {\r\n answer.push(element);\r\n }\r\n });\r\n\r\n return (\r\n \r\n \r\n {question}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n {answersStudent.map((item, index) => {\r\n var studentNames = \"\";\r\n item.studentIds.forEach((id) => {\r\n var student = students.find((obj) => {\r\n return obj.id === id;\r\n });\r\n studentNames +=\r\n studentNames === \"\" ? student.name : \", \" + student.name;\r\n });\r\n var count = 0;\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
    \r\n
    \r\n );\r\n}\r\n","import { CTooltip } from \"@coreui/react\";\r\nimport { Card, CardBody, CardHeader, CardTitle, Row, Col } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport Slider from \"react-slick\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\n\r\nexport default function ClassFillIn({\r\n question,\r\n answersStudent,\r\n correctAnswer,\r\n students,\r\n amountOfStudentresults,\r\n sliderSettings,\r\n questionIndex,\r\n}) {\r\n var correctAnswerList = correctAnswer.split(\"|#|\");\r\n\r\n return (\r\n \r\n \r\n {question}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n {answersStudent.map((item, index) => {\r\n var studentNames = \"\";\r\n item.studentIds.forEach((id) => {\r\n var student = students.find((obj) => {\r\n return obj.id === id;\r\n });\r\n studentNames +=\r\n studentNames === \"\" ? student.name : \", \" + student.name;\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
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import { CTooltip } from \"@coreui/react\";\r\nimport { Card, CardBody, CardHeader, CardTitle, Row, Col } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport Slider from \"react-slick\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\n\r\nexport default function ClassMatching({\r\n question,\r\n answersStudent,\r\n correctAnswer,\r\n students,\r\n amountOfStudentresults,\r\n sliderSettings,\r\n questionIndex,\r\n}) {\r\n var answer = [];\r\n var pairKey = [];\r\n\r\n correctAnswer.split(\"[,]\").forEach((element) => {\r\n pairKey.push(element.split(\"[.]\")[0]);\r\n answer.push(element.split(\"[.]\")[1]);\r\n });\r\n\r\n return (\r\n \r\n \r\n {question}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n {answersStudent.map((item, index) => {\r\n var studentNames = \"\";\r\n item.studentIds.forEach((id) => {\r\n var student = students.find((obj) => {\r\n return obj.id === id;\r\n });\r\n studentNames +=\r\n studentNames === \"\" ? student.name : \", \" + student.name;\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 \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import { GetClassResultAnalysisData } from \"../../actions/teacherQueries\";\r\nimport Pacmanloader from \"../Pacmanloader/Pacmanloader\";\r\nimport { Row, Col, Card, CardHeader, CardBody, Collapse } from \"reactstrap\";\r\nimport ClassMultipleChoice from \"../ResultQuestionOverview/ClassMultipleChoice\";\r\nimport ClassSequence from \"../ResultQuestionOverview/ClassSequence\";\r\nimport ClassFillIn from \"../ResultQuestionOverview/ClassFillIn\";\r\nimport ClassMatching from \"../ResultQuestionOverview/ClassMatching\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport Fab from \"@mui/material/Fab\";\r\n\r\nfunction NextArrow(props) {\r\n const { onClick } = props;\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nfunction PrevArrow(props) {\r\n const { onClick } = props;\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default function ClassResultQuestionOverview({\r\n classId,\r\n students,\r\n courseId,\r\n moduleId,\r\n moduleName,\r\n courseName,\r\n resultIsOpen,\r\n toggle,\r\n resultDummyRef,\r\n}) {\r\n const classResult = GetClassResultAnalysisData(classId, courseId, moduleId);\r\n function renderSwitch(obj, index) {\r\n var sliderSettings = {\r\n className: \"slider variable-width\",\r\n dots: true,\r\n infinite: false,\r\n centerMode: false,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n variableWidth: true,\r\n centerPadding: \"0\",\r\n nextArrow: ,\r\n prevArrow: ,\r\n };\r\n\r\n switch (obj.type) {\r\n case \"choice\":\r\n return (\r\n \r\n );\r\n case \"sequencing\":\r\n return (\r\n \r\n );\r\n case \"matching\":\r\n return (\r\n \r\n );\r\n case \"fill-in\":\r\n return (\r\n \r\n );\r\n case \"true-false\":\r\n return (\r\n \r\n );\r\n default:\r\n return
    ;\r\n }\r\n }\r\n\r\n if (!classResult.data) {\r\n return ;\r\n }\r\n\r\n function linesToParagraphs(...nodes) {\r\n return nodes\r\n .map((node) =>\r\n typeof node === \"string\"\r\n ? node.split(\"\\n\").map((text) =>

    {text}

    )\r\n : node\r\n )\r\n .reduce((nodes, node) => nodes.concat(node), []);\r\n }\r\n\r\n return (\r\n
    \r\n {classResult.data && classResult.data.length > 0 && (\r\n \r\n \r\n \r\n \r\n
    \r\n {resultIsOpen ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n {courseName}\r\n  - \r\n {moduleName}\r\n
    \r\n \r\n \r\n \r\n \r\n {classResult.data.map((obj, index) => {\r\n return (\r\n \r\n {renderSwitch(obj, index)}\r\n \r\n );\r\n })}\r\n \r\n {\r\n window.scrollTo({\r\n top: 300,\r\n behavior: \"smooth\",\r\n });\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n {classResult.data && classResult.data.length < 1 && (\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n
    \r\n \r\n {linesToParagraphs}\r\n \r\n
    \r\n \r\n \r\n )}\r\n
    \r\n );\r\n}\r\n","import { useState, useEffect, useCallback } from \"react\";\r\nimport Pacmanloader from \"../Pacmanloader/Pacmanloader\";\r\nimport Select from \"react-select\";\r\nimport ResultTable from \"../Results/ResultTable\";\r\nimport StatusBadge from \"../Badges/StatusBadge\";\r\nimport { Row, Col, Button } from \"reactstrap\";\r\nimport { FormattedMessage, injectIntl, intlShape } from \"react-intl\";\r\nimport CourseModulesResultsBar from \"../Results/CourseModulesResultsBar\";\r\nimport moment from \"moment\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport ClassResultQuestionOverview from \"../Results/ClassResultQuestionOverview\";\r\nimport { getWinOptions } from \"../../Utilities/moduleHelper\";\r\nimport { LW_COURSE_API_URL } from \"../../constants/api.constants\";\r\nimport StudentResultQuestionOverview from \"../Results/StudentResultQuestionOverview\";\r\n\r\nfunction ClassResultOverview({ classData, classCoursesData, intl, history }) {\r\n const [resultTableData, setResultTableData] = useState(null);\r\n const [primaryModulesData, setPrimaryModulesData] = useState({});\r\n const [secondaryModulesData, setSecondaryModulesData] = useState({});\r\n const [courseId, setCourseId] = useState(null);\r\n const [moduleId, setModuleId] = useState(null);\r\n const [courseName, setCourseName] = useState(null);\r\n const [moduleName, setModuleName] = useState(null);\r\n const [showClassResult, setShowClassResult] = useState(false);\r\n const [classResultIsOpen, setClassResultIsOpen] = useState(false);\r\n const [showStudentResult, setShowStudentResult] = useState(false);\r\n const [studentForScormResults, setStudentForScormResults] = useState({});\r\n const [studentBestResultIsOpen, setStudentBestResultIsOpen] = useState(false);\r\n const [studentLatestResultIsOpen, setStudentLatestResultIsOpen] =\r\n useState(false);\r\n\r\n const toggle = () => setClassResultIsOpen(!classResultIsOpen);\r\n const toggleLatestStudentResult = () =>\r\n setStudentLatestResultIsOpen(!studentLatestResultIsOpen);\r\n\r\n const toggleBestStudentResult = () =>\r\n setStudentBestResultIsOpen(!studentBestResultIsOpen);\r\n\r\n const viewAt2Result = (studentEmail, currentCourseId, currentModuleId) => {\r\n var winOptions = getWinOptions;\r\n window.open(\r\n `${LW_COURSE_API_URL}/Home/ViewModuleResult?` +\r\n \"email=\" +\r\n studentEmail +\r\n \"&courseId=\" +\r\n currentCourseId +\r\n \"&moduleId=\" +\r\n currentModuleId,\r\n \"\",\r\n winOptions\r\n );\r\n };\r\n\r\n const viewScormResultForClass = (\r\n courseId,\r\n moduleId,\r\n courseName,\r\n moduleName\r\n ) => {\r\n setShowClassResult(true);\r\n setShowStudentResult(false);\r\n setCourseId(courseId);\r\n setModuleId(moduleId);\r\n setCourseName(courseName);\r\n setModuleName(moduleName);\r\n setStudentBestResultIsOpen(false);\r\n setStudentLatestResultIsOpen(false);\r\n setClassResultIsOpen(true);\r\n window.scrollTo({\r\n top: 300,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n\r\n const viewScormResultForStudent = (\r\n courseId,\r\n moduleId,\r\n courseName,\r\n moduleName,\r\n studentId,\r\n studentName\r\n ) => {\r\n setShowStudentResult(true);\r\n setShowClassResult(false);\r\n setCourseId(courseId);\r\n setModuleId(moduleId);\r\n setCourseName(courseName);\r\n setModuleName(moduleName);\r\n setStudentForScormResults({ name: studentName, id: studentId });\r\n setStudentBestResultIsOpen(true);\r\n setStudentLatestResultIsOpen(true);\r\n window.scrollTo({\r\n top: 300,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n\r\n const setResultData = useCallback(\r\n (course) => {\r\n let tableData = [];\r\n let primaryChartData = {\r\n labels: [],\r\n datasets: [\r\n {\r\n label: intl.formatMessage({ id: \"Done\" }),\r\n value: \"Done\",\r\n data: [],\r\n backgroundColor: \"#65C587\",\r\n },\r\n {\r\n label: intl.formatMessage({ id: \"InProgress\" }),\r\n value: \"InProgress\",\r\n data: [],\r\n backgroundColor: \"#FDC929\",\r\n },\r\n {\r\n label: intl.formatMessage({ id: \"NotStarted\" }),\r\n value: \"NotStarted\",\r\n data: [],\r\n backgroundColor: \"grey\",\r\n border: \"1px solid black\",\r\n },\r\n ],\r\n };\r\n let secondaryChartData = {\r\n labels: [],\r\n datasets: [\r\n {\r\n label: intl.formatMessage({ id: \"Done\" }),\r\n value: \"Done\",\r\n data: [],\r\n backgroundColor: \"#65C587\",\r\n },\r\n {\r\n label: intl.formatMessage({ id: \"InProgress\" }),\r\n value: \"InProgress\",\r\n data: [],\r\n backgroundColor: \"#FDC929\",\r\n },\r\n {\r\n label: intl.formatMessage({ id: \"NotStarted\" }),\r\n value: \"NotStarted\",\r\n data: [],\r\n backgroundColor: \"grey\",\r\n border: \"1px solid black\",\r\n },\r\n ],\r\n };\r\n let currentCourse = classCoursesData.data.filter(\r\n (c) => c.id === course.id\r\n );\r\n let sortedModules = currentCourse[0].modules.sort((a, b) => {\r\n return a.sortOrder - b.sortOrder;\r\n });\r\n sortedModules.forEach((mod, i) => {\r\n let studentsWithResults = [];\r\n let notStarted = 0;\r\n let inProgress = 0;\r\n let done = 0;\r\n let module = {\r\n id: \"m\" + mod.moduleId,\r\n parentId: null,\r\n name: mod.name,\r\n showResult:\r\n mod.moduleType !== 1 ? (\r\n \r\n viewScormResultForClass(\r\n currentCourse[0].id,\r\n mod.moduleId,\r\n currentCourse[0].courseName,\r\n mod.name\r\n )\r\n }\r\n >\r\n \r\n \r\n ) : null,\r\n };\r\n tableData.push(module);\r\n if (i < currentCourse[0].modules.length / 2) {\r\n primaryChartData.labels.push(mod.name);\r\n } else {\r\n secondaryChartData.labels.push(mod.name);\r\n }\r\n mod.students.forEach((stud) => {\r\n studentsWithResults.push(stud.studentId);\r\n let studentToAdd = stud;\r\n let student = {\r\n studentId: studentToAdd.studentId,\r\n id: \"s\" + studentToAdd.studentId,\r\n parentId: \"m\" + mod.moduleId,\r\n showResult:\r\n mod.moduleType === 1 ? (\r\n \r\n viewAt2Result(stud.email, currentCourse[0].id, mod.moduleId)\r\n }\r\n >\r\n \r\n \r\n ) : (\r\n \r\n viewScormResultForStudent(\r\n currentCourse[0].id,\r\n mod.moduleId,\r\n currentCourse[0].name,\r\n mod.name,\r\n stud.studentId,\r\n stud.name\r\n )\r\n }\r\n >\r\n \r\n \r\n ),\r\n name: studentToAdd.name,\r\n status: ,\r\n statusCode: studentToAdd.status,\r\n score:\r\n (studentToAdd.score ? studentToAdd.score : 0) +\r\n \"/\" +\r\n studentToAdd.maxScore,\r\n nbrOfAttempts: studentToAdd.nbrOfAttempts\r\n ? studentToAdd.nbrOfAttempts\r\n : 0,\r\n activityPoints:\r\n (studentToAdd.activityPoints ? studentToAdd.activityPoints : 0) +\r\n \"/\" +\r\n studentToAdd.maxActivityPoints,\r\n lastRun: moment(studentToAdd.lastRun).format(\"lll\"),\r\n };\r\n tableData.push(student);\r\n switch (stud.status) {\r\n case \"InProgress\":\r\n inProgress++;\r\n break;\r\n case \"Done\":\r\n done++;\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n notStarted = currentCourse[0].students.length - mod.students.length;\r\n let studentsNotStarted = [];\r\n currentCourse[0].students.forEach((stud) => {\r\n if (!studentsWithResults.includes(stud.studentId)) {\r\n studentsNotStarted.push(stud);\r\n }\r\n });\r\n studentsNotStarted.forEach((stud) => {\r\n let studentNotStarted = {\r\n id: \"s\" + stud.studentId,\r\n parentId: \"m\" + mod.moduleId,\r\n name: stud.name,\r\n status: ,\r\n score: 0,\r\n activityPoints: 0,\r\n nbrOfAttempts: 0,\r\n };\r\n tableData.push(studentNotStarted);\r\n });\r\n if (i < currentCourse[0].modules.length / 2) {\r\n primaryChartData.datasets\r\n .find((element) => element.value === \"InProgress\")\r\n .data.push(inProgress);\r\n primaryChartData.datasets\r\n .find((element) => element.value === \"NotStarted\")\r\n .data.push(notStarted);\r\n primaryChartData.datasets\r\n .find((element) => element.value === \"Done\")\r\n .data.push(done);\r\n } else {\r\n secondaryChartData.datasets\r\n .find((element) => element.value === \"InProgress\")\r\n .data.push(inProgress);\r\n secondaryChartData.datasets\r\n .find((element) => element.value === \"NotStarted\")\r\n .data.push(notStarted);\r\n secondaryChartData.datasets\r\n .find((element) => element.value === \"Done\")\r\n .data.push(done);\r\n }\r\n });\r\n setPrimaryModulesData(primaryChartData);\r\n setSecondaryModulesData(secondaryChartData);\r\n setResultTableData(tableData);\r\n },\r\n\r\n [classCoursesData.data, intl]\r\n );\r\n\r\n useEffect(() => {\r\n if (!classCoursesData.isLoading) {\r\n setResultData(classCoursesData.data[0]);\r\n }\r\n }, [classCoursesData.isLoading, classCoursesData.data, setResultData]);\r\n\r\n if (classCoursesData.isLoading) {\r\n return ;\r\n }\r\n\r\n let columnExtensions = [\r\n { columnName: \"name\", width: 280 },\r\n { columnName: \"showResult\", width: 140 },\r\n { columnName: \"status\", width: 100 },\r\n { columnName: \"score\", width: 170 },\r\n { columnName: \"nbrOfAttempts\", width: 130 },\r\n { columnName: \"activityPoints\", width: 160 },\r\n { columnName: \"lastRun\", width: 200 },\r\n ];\r\n\r\n let columns = [\r\n { title: , name: \"name\" },\r\n { title: , name: \"showResult\" },\r\n { title: , name: \"status\" },\r\n { title: , name: \"score\" },\r\n {\r\n title: ,\r\n name: \"nbrOfAttempts\",\r\n },\r\n { title: , name: \"activityPoints\" },\r\n { title: , name: \"lastRun\" },\r\n ];\r\n\r\n const courses = [];\r\n classCoursesData.data.forEach((c) => {\r\n let course = { id: c.id, courseName: c.courseName };\r\n courses.push(course);\r\n });\r\n const firstCourse = classCoursesData.data[0];\r\n\r\n var studentIdArray = [];\r\n classData.students.forEach((student) => {\r\n studentIdArray.push(student.id);\r\n });\r\n\r\n const handleChangedCourse = (value) => {\r\n setShowStudentResult(false);\r\n setResultData(value);\r\n };\r\n\r\n return (\r\n
    \r\n \r\n \r\n ({\r\n ...option,\r\n label: option.courseName,\r\n value: option.id,\r\n }))}\r\n onChange={(value) => {\r\n handleChangedCourse(value);\r\n }}\r\n />\r\n \r\n \r\n
    \r\n \r\n
    \r\n {moduleId && courseId && showClassResult && (\r\n \r\n )}\r\n {showStudentResult && (\r\n \r\n )}\r\n {resultTableData !== null ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n );\r\n}\r\nClassResultOverview.propTypes = {\r\n intl: intlShape.isRequired,\r\n};\r\n\r\nexport default withRouter(injectIntl(ClassResultOverview));\r\n","import moment from \"moment\";\r\nimport React from \"react\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport ResultTable from \"../Results/ResultTable\";\r\n\r\nexport default function ProgramResultOverview(props) {\r\n let columnExtensions = [\r\n { columnName: \"name\", width: 260 },\r\n { columnName: \"avgScore\", width: 250 },\r\n { columnName: \"avgPercDone\", width: 250 },\r\n { columnName: \"avgNumTries\", width: 250 },\r\n { columnName: \"avgActivityPoints\", width: 260 },\r\n { columnName: \"lastRun\", width: 180 },\r\n ];\r\n\r\n let columns = [\r\n { title: , name: \"name\" },\r\n { title: , name: \"avgScore\" },\r\n { title: , name: \"avgPercDone\" },\r\n { title: , name: \"avgNumTries\" },\r\n {\r\n title: ,\r\n name: \"avgActivityPoints\",\r\n },\r\n { title: , name: \"lastRun\" },\r\n ];\r\n\r\n let resultTableData = [];\r\n\r\n props.coursesData.data.forEach((course) => {\r\n let courseToAdd = {\r\n name: course.courseName,\r\n id: \"c\" + course.id,\r\n parentId: null,\r\n };\r\n resultTableData.push(courseToAdd);\r\n course.classes.forEach((classRes) => {\r\n let classToAdd = {\r\n name: classRes.name,\r\n parentId: \"c\" + course.id,\r\n avgScore: classRes.averageScore,\r\n avgPercDone: classRes.donePercentage,\r\n avgNumTries: classRes.averageNumberOfTimes,\r\n avgActivityPoints: classRes.averageActivityPoints,\r\n lastRun:\r\n classRes.lastRun === null\r\n ? null\r\n : moment(classRes.lastRun).format(\"lll\"),\r\n };\r\n resultTableData.push(classToAdd);\r\n });\r\n });\r\n\r\n return (\r\n \r\n );\r\n}\r\n","import { useState, useEffect } from \"react\";\r\nimport StudentResultOverview from \"../StudentResultOverview\";\r\nimport ClassResultOverview from \"../ClassResultOverview\";\r\nimport ProgramResultOverview from \"../ProgramResultOverview\";\r\n\r\nexport default function TeacherResultOverview(props) {\r\n const [level, setLevel] = useState();\r\n\r\n useEffect(() => {\r\n setLevel(props.level);\r\n }, [props.level]);\r\n\r\n const renderLevel = () => {\r\n switch (level) {\r\n case \"Class\":\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n case \"Student\":\r\n if (props.studentHasLicense) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n Eleven har inga licenser och därmed inga resultat att visa.\r\n
    \r\n );\r\n }\r\n case \"Program\":\r\n return ;\r\n\r\n default:\r\n return
    ;\r\n }\r\n };\r\n\r\n return
    {renderLevel()}
    ;\r\n}\r\n","import React from \"react\";\r\nimport { Bar } from \"@reactchartjs/react-chart.js\";\r\nimport { Card, CardTitle } from \"reactstrap\";\r\n\r\nconst StackedBar = (props) => {\r\n let data;\r\n if (props.temptype === \"Student\") {\r\n data = {\r\n labels: [],\r\n datasets: [\r\n {\r\n label: \"Inte påbörjad\",\r\n data: [0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0],\r\n backgroundColor: \"grey\",\r\n border: \"1px solid black\",\r\n },\r\n {\r\n label: \"Påbörjad\",\r\n data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0],\r\n backgroundColor: \"#FDC929\",\r\n },\r\n {\r\n label: \"Godkänd\",\r\n data: [1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1],\r\n backgroundColor: \"#65C587\",\r\n },\r\n ],\r\n };\r\n } else {\r\n data = {\r\n labels: [],\r\n datasets: [\r\n {\r\n label: \"Inte påbörjad\",\r\n data: [0, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 0, 0, 10, 0, 0],\r\n backgroundColor: \"grey\",\r\n border: \"1px solid black\",\r\n },\r\n {\r\n label: \"Påbörjad\",\r\n data: [0, 3, 0, 0, 4, 0, 0, 6, 0, 0, 2, 1, 0, 4, 1, 0],\r\n backgroundColor: \"#FDC929\",\r\n },\r\n {\r\n label: \"Godkänd\",\r\n data: [10, 4, 4, 6, 0, 4, 3, 0, 2, 6, 4, 3, 1, 4, 0, 1],\r\n backgroundColor: \"#65C587\",\r\n },\r\n ],\r\n };\r\n }\r\n\r\n if (props.coursesData) {\r\n props.coursesData.data.forEach((course) => {\r\n data.labels.push(course.courseName);\r\n });\r\n }\r\n\r\n const options = {\r\n scales: {\r\n yAxes: [\r\n {\r\n stacked: true,\r\n ticks: {\r\n beginAtZero: true,\r\n },\r\n },\r\n ],\r\n xAxes: [\r\n {\r\n stacked: true,\r\n },\r\n ],\r\n },\r\n };\r\n\r\n return (\r\n \r\n Resultat per kurs\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default StackedBar;\r\n","import React from \"react\";\r\nimport { Pie } from \"@reactchartjs/react-chart.js\";\r\nimport { Card, CardTitle } from \"reactstrap\";\r\n\r\nexport default function PieChart(props) {\r\n const data = {\r\n labels: [],\r\n datasets: [\r\n {\r\n label: \"Antal med alla aktivitetspoäng\",\r\n data: [12, 19, 3, 5, 2, 3],\r\n backgroundColor: [\r\n \"#cc7aaf\",\r\n \"#7ccfc5\",\r\n \"#7aafcc\",\r\n \"#7acc97\",\r\n \"#8275cc\",\r\n \"#cc75bf\",\r\n ],\r\n borderColor: [\r\n \"rgba(255, 99, 132, 1)\",\r\n \"rgba(54, 162, 235, 1)\",\r\n \"rgba(255, 206, 86, 1)\",\r\n \"rgba(75, 192, 192, 1)\",\r\n \"rgba(153, 102, 255, 1)\",\r\n \"rgba(255, 159, 64, 1)\",\r\n ],\r\n borderWidth: 1,\r\n },\r\n ],\r\n };\r\n if (props.coursesData) {\r\n props.coursesData.data.forEach((course) => {\r\n data.labels.push(course.courseName);\r\n });\r\n }\r\n\r\n return (\r\n \r\n Aktivitetspoäng\r\n
    \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { PolarArea } from \"@reactchartjs/react-chart.js\";\r\nimport { Card, CardTitle } from \"reactstrap\";\r\n\r\nexport default function Polar(props) {\r\n const data = {\r\n labels: [],\r\n datasets: [\r\n {\r\n label: \"Antal med alla aktivitetspoäng\",\r\n data: [12, 19, 3, 5, 2, 3],\r\n backgroundColor: [\r\n \"#cc7aaf\",\r\n \"#7ccfc5\",\r\n \"#7aafcc\",\r\n \"#7acc97\",\r\n \"#8275cc\",\r\n \"#cc75bf\",\r\n ],\r\n borderColor: [\r\n \"rgba(255, 99, 132, 1)\",\r\n \"rgba(54, 162, 235, 1)\",\r\n \"rgba(255, 206, 86, 1)\",\r\n \"rgba(75, 192, 192, 1)\",\r\n \"rgba(153, 102, 255, 1)\",\r\n \"rgba(255, 159, 64, 1)\",\r\n ],\r\n borderWidth: 1,\r\n },\r\n ],\r\n };\r\n if (props.coursesData) {\r\n props.coursesData.data.forEach((course) => {\r\n data.labels.push(course.courseName);\r\n });\r\n }\r\n return (\r\n \r\n Max aktivitetspoäng\r\n
    \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Line } from \"@reactchartjs/react-chart.js\";\r\nimport { Card, CardTitle } from \"reactstrap\";\r\n\r\nexport default function LineChart(props) {\r\n let data;\r\n if (props.temptype === \"Student\") {\r\n data = {\r\n labels: [],\r\n datasets: [\r\n {\r\n label: \"Inte påbörjad\",\r\n data: [0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0],\r\n backgroundColor: \"white\",\r\n },\r\n {\r\n label: \"Påbörjad\",\r\n data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0],\r\n backgroundColor: \"#FDC929\",\r\n },\r\n {\r\n label: \"Godkänd\",\r\n data: [1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1],\r\n backgroundColor: \"#65C587\",\r\n },\r\n ],\r\n };\r\n } else {\r\n data = {\r\n labels: [],\r\n datasets: [\r\n {\r\n label: \"Inte påbörjad\",\r\n data: [0, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 0, 0, 10, 0, 0],\r\n backgroundColor: \"white\",\r\n border: \"1px solid black\",\r\n },\r\n {\r\n label: \"Påbörjad\",\r\n data: [0, 3, 0, 0, 4, 0, 0, 6, 0, 0, 2, 1, 0, 4, 1, 0],\r\n backgroundColor: \"#FDC929\",\r\n },\r\n {\r\n label: \"Godkänd\",\r\n data: [10, 4, 4, 6, 0, 4, 3, 0, 2, 6, 4, 3, 1, 4, 0, 1],\r\n backgroundColor: \"#65C587\",\r\n },\r\n ],\r\n };\r\n }\r\n\r\n if (props.coursesData) {\r\n props.coursesData.data.forEach((course) => {\r\n data.labels.push(course.courseName);\r\n });\r\n }\r\n const options = {\r\n scales: {\r\n yAxes: [\r\n {\r\n ticks: {\r\n beginAtZero: true,\r\n },\r\n },\r\n ],\r\n },\r\n };\r\n return (\r\n <>\r\n \r\n Resultat per kurs\r\n
    \r\n \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { useEffect } from \"react\";\r\nimport ResultsChartPerCourse from \"../ResultsChartPerCourse\";\r\nimport ActivityPointsPie from \"../ActivityPointsPie\";\r\nimport ActivityPointsPolar from \"../ActivitypointsPolar\";\r\nimport TempLineChart from \"../TempLineChart\";\r\nimport { Row, Col } from \"reactstrap\";\r\n\r\nexport default function TeacherResultAnalysis(props) {\r\n const [level, setLevel] = useState();\r\n\r\n useEffect(() => {\r\n setLevel(props.level);\r\n }, [props.level]);\r\n const renderLevel = () => {\r\n switch (level) {\r\n case \"Class\":\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 \r\n
    \r\n );\r\n case \"Student\":\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 \r\n
    \r\n );\r\n case \"Program\":\r\n return (\r\n
    \r\n Samma data som övriga vyer.\r\n
    \r\n );\r\n default:\r\n return
    ;\r\n }\r\n };\r\n\r\n return
    {renderLevel()}
    ;\r\n}\r\n","import { useState } from \"react\";\r\nimport { Input, Col, Row } from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport uuid from \"uuid\";\r\n\r\nexport default function SelectCoursesAndModules(props) {\r\n const [courseDropdown, setCourseDropdown] = useState(null);\r\n\r\n let mappedCourses = () => {\r\n return props.courses.map((course) => (\r\n <>\r\n \r\n \r\n setCourseDropdown(courseDropdown !== course.id ? course.id : null)\r\n }\r\n >\r\n \r\n \r\n \r\n {course.courseName}\r\n \r\n \r\n props.handleCheckCourses(event, course.id)}\r\n />\r\n \r\n \r\n {course.modules.map((mod, i) => (\r\n \r\n ))}\r\n
    \r\n \r\n ));\r\n };\r\n\r\n return
    {mappedCourses()}
    ;\r\n}\r\n","import { useState } from \"react\";\r\nimport {\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Input,\r\n Button,\r\n} from \"reactstrap\";\r\nimport SelectCoursesAndModules from \"./SelectCoursesAndModules\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nexport default function AddLinkModal(props) {\r\n const [linkSelected, setLinkSelected] = useState(false);\r\n const [selectedModules, setSelectedModules] = useState([]);\r\n const [selectedCourse, setSelectedCourse] = useState(null);\r\n const [linkToUpload, setLinkToUpload] = useState(null);\r\n const [invalidLink, setInvalidLink] = useState(false);\r\n\r\n let handleCheckModules = (event, id) => {\r\n if (event.target.checked && !selectedModules.includes(id)) {\r\n setSelectedModules([...selectedModules, id]);\r\n } else if (!event.target.checked && selectedModules.includes(id)) {\r\n setSelectedModules([\r\n ...selectedModules.filter(function (mid) {\r\n return mid !== id;\r\n }),\r\n ]);\r\n }\r\n };\r\n\r\n let handleCheckCourses = (event, id) => {\r\n if (event.target.checked) {\r\n setSelectedCourse(id);\r\n } else {\r\n setSelectedCourse(null);\r\n setSelectedModules([]);\r\n }\r\n };\r\n\r\n function validateURL(textval) {\r\n var urlregex = new RegExp(\r\n \"^(http|https|ftp)://([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|([a-zA-Z0-9-]+.)*[a-zA-Z0-9-]+.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(/($|[a-zA-Z0-9.,?'\\\\+&%$#=~_-]+))*$\"\r\n );\r\n return urlregex.test(textval);\r\n }\r\n\r\n let checkLink = (event) => {\r\n if (validateURL(event.target.value)) {\r\n setInvalidLink(false);\r\n setLinkToUpload(event.target.value);\r\n } else {\r\n setInvalidLink(true);\r\n }\r\n };\r\n\r\n let checkAndSetLink = () => {\r\n if (!invalidLink) {\r\n setLinkSelected(true);\r\n }\r\n };\r\n\r\n let toggleModal = () => {\r\n setLinkSelected(false);\r\n setSelectedCourse(null);\r\n setSelectedModules([]);\r\n setInvalidLink(false);\r\n setLinkToUpload(null);\r\n props.toggleLinkModal();\r\n };\r\n\r\n let handleuppload = () => {\r\n let selection = { courses: [], modules: [] };\r\n selection.courses = selectedCourse;\r\n selection.modules = selectedModules;\r\n props.handleUploadLink(selection, linkToUpload);\r\n toggleModal();\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {!linkSelected ? (\r\n <>\r\n \r\n checkLink(event)}\r\n placeholder=\"https://www.google.se\"\r\n />{\" \"}\r\n {invalidLink ? (\r\n \r\n {\" \"}\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n\r\n \r\n \r\n {!linkSelected ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {\" \"}\r\n \r\n \r\n \r\n );\r\n}\r\n","import { useState } from \"react\";\r\nimport {\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Input,\r\n FormGroup,\r\n Label,\r\n FormText,\r\n Button,\r\n} from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport SelectCoursesAndModules from \"./SelectCoursesAndModules\";\r\n\r\nexport default function AddDocumentsModal(props) {\r\n const [documentSelected, setDocumentSelected] = useState(false);\r\n const [selectedModules, setSelectedModules] = useState([]);\r\n const [selectedCourse, setSelectedCourse] = useState(null);\r\n const [fileToUpload, setFileToUpload] = useState(null);\r\n\r\n let toggleDocModal = () => {\r\n setDocumentSelected(false);\r\n setSelectedModules([]);\r\n setSelectedCourse(null);\r\n props.toggleDocumentModal();\r\n };\r\n\r\n let handleFile = (e) => {\r\n setFileToUpload(e.target.files[0]);\r\n setDocumentSelected(true);\r\n };\r\n let handleCheckModules = (event, id) => {\r\n if (event.target.checked && !selectedModules.includes(id)) {\r\n setSelectedModules([...selectedModules, id]);\r\n } else if (!event.target.checked && selectedModules.includes(id)) {\r\n setSelectedModules([\r\n ...selectedModules.filter(function (mid) {\r\n return mid !== id;\r\n }),\r\n ]);\r\n }\r\n };\r\n\r\n let handleCheckCourses = (event, id) => {\r\n if (event.target.checked) {\r\n setSelectedCourse(id);\r\n } else {\r\n setSelectedCourse(null);\r\n setSelectedModules([]);\r\n }\r\n };\r\n\r\n let handleuppload = () => {\r\n let selection = { courses: [], modules: [] };\r\n selection.courses = selectedCourse;\r\n selection.modules = selectedModules;\r\n props.handleUploadDocument(selection, fileToUpload);\r\n setDocumentSelected(false);\r\n props.toggleDocumentModal();\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {!documentSelected ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n {documentSelected ? (\r\n \r\n Ok\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { Card, CardTitle, Row, CardSubtitle, Button, Col } from \"reactstrap\";\r\nimport { UploadDocument, UploadLink } from \"../../actions/teacherMutations\";\r\nimport { useMutation, useQueryClient } from \"react-query\";\r\nimport AddLinkModal from \"../Modal/AddLinkModal\";\r\nimport AddDocumentsModal from \"../Modal/AddDocumentModal\";\r\nimport { toast } from \"react-toastify\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nexport default function DocumentPlaceHolder(props) {\r\n const [linkModalOpen, setLinkModalOpen] = useState(false);\r\n const [documentModalOpen, setDocumentModalOpen] = useState(false);\r\n const mutateUploadDocument = useMutation(UploadDocument);\r\n const mutateUploadLink = useMutation(UploadLink);\r\n const queryClient = useQueryClient();\r\n\r\n const toggleLinkModal = () => {\r\n setLinkModalOpen((prevState) => !prevState);\r\n };\r\n\r\n const toggleDocumentModal = () => {\r\n setDocumentModalOpen((prevState) => !prevState);\r\n };\r\n\r\n const handleUploadLink = (coursesAndModules, link) => {\r\n let courseModuleIds = \"\";\r\n if (coursesAndModules.modules.length > 0) {\r\n coursesAndModules.modules.forEach((mod) => {\r\n courseModuleIds += \"&forTheseModules=\" + mod;\r\n });\r\n }\r\n let values = {\r\n link: link,\r\n classId: props.classId,\r\n courseId: coursesAndModules.courses,\r\n teacherId: props.teacherInfo.data.id,\r\n moduleids: courseModuleIds,\r\n };\r\n mutateUploadLink.mutate(\r\n {\r\n values,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n queryClient.invalidateQueries(\"FetchCoursesByClassId\");\r\n toast.success(\"Länken har laddats upp\");\r\n } else {\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data);\r\n },\r\n }\r\n );\r\n };\r\n\r\n const handleUploadDocument = (coursesAndModules, file) => {\r\n let courseModuleIds = \"\";\r\n if (coursesAndModules.modules.length > 0) {\r\n coursesAndModules.modules.forEach((mod) => {\r\n courseModuleIds += \"&forTheseModules=\" + mod;\r\n });\r\n }\r\n\r\n let fileName = file.name.toLowerCase();\r\n fileName = fileName.replace(\"ä\", \"a\").replace(\"å\", \"a\").replace(\"ö\", \"o\");\r\n\r\n let values = {\r\n file: file,\r\n fileName: fileName,\r\n classId: props.classId,\r\n courseId: coursesAndModules.courses,\r\n teacherId: props.teacherInfo.data.id,\r\n moduleids: courseModuleIds,\r\n };\r\n\r\n mutateUploadDocument.mutate(\r\n {\r\n values,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n queryClient.invalidateQueries(\"FetchCoursesByClassId\");\r\n toast.success(\"Dokumentet har laddats upp\");\r\n } else {\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data);\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport ClassDocuments from \"../ClassDocuments\";\r\n\r\nexport default function TeacherDocuments(props) {\r\n const [level, setLevel] = useState();\r\n\r\n useEffect(() => {\r\n setLevel(props.level);\r\n }, [props.level]);\r\n const renderLevel = () => {\r\n switch (level) {\r\n case \"Class\":\r\n return (\r\n \r\n );\r\n case \"Student\":\r\n return
    Student
    ;\r\n case \"Program\":\r\n return
    Program
    ;\r\n default:\r\n return
    ;\r\n }\r\n };\r\n\r\n return
    {renderLevel()}
    ;\r\n}\r\n","import axios from \"../services/api/api\";\r\n\r\nexport function fetchTeacherCoursesAction() {\r\n return function(dispatch) {\r\n var email = localStorage.getItem(\"email\");\r\n\r\n dispatch({\r\n type: \"FETCH_TEACHER_COURSES_BEGIN\",\r\n payload: { loading: true }\r\n });\r\n axios\r\n .get(\"/Teacher/Courses?email=\" + email)\r\n .then(response => {\r\n dispatch({\r\n type: \"FETCH_TEACHER_COURSES_SUCCESS\",\r\n payload: response.data.result\r\n });\r\n })\r\n .catch(err => {\r\n dispatch({ type: \"FETCH_TEACHER_COURSES_REJECTED\", payload: err });\r\n });\r\n };\r\n}\r\nexport function addCourseModuleResultSetting() {\r\n return function(dispatch) {};\r\n}\r\n\r\nexport function unlockTeacherFinalExam(courseId, moduleId) {\r\n return async dispatch => {\r\n if (localStorage.getItem(\"email\")) {\r\n await axios\r\n .post(\r\n \"/Teacher/ActivateFinalExamForTeacher?email=\" +\r\n localStorage.getItem(\"email\") +\r\n \"&courseId=\" +\r\n courseId +\r\n \"&moduleId=\" +\r\n moduleId\r\n )\r\n .then(response => {\r\n dispatch({\r\n type: \"UNLOCK_TEACHER_FINALEXAM_FULFILLED\",\r\n payload: response.data.result\r\n });\r\n })\r\n .catch(err => {\r\n dispatch({ type: \"UNLOCK_TEACHER_FINALEXAM_REJECTED\", payload: err });\r\n });\r\n }\r\n };\r\n}\r\n","import React from \"react\";\r\nimport { Badge, Button } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\nconst StudentStatus = props => {\r\n let statusClass = null;\r\n let statusIcon = null;\r\n\r\n if (props.status === null) {\r\n return
    ;\r\n }\r\n if (props.status === \"InProgress\") {\r\n statusClass = \"bg-warning theme-color text-white float-right\";\r\n statusIcon = null;\r\n }\r\n if (props.status === \"Done\" && !props.clickable) {\r\n statusClass = \"bg-success theme-color text-white float-right\";\r\n statusIcon = ;\r\n }\r\n if (props.status === \"Done\" && props.clickable) {\r\n statusClass = \"bg-success theme-color text-white float-right\";\r\n statusIcon = ;\r\n }\r\n\r\n if (props.status === \"Completed\") {\r\n statusClass = \"bg-primary theme-color text-white float-right\";\r\n statusIcon = null;\r\n }\r\n if (props.clickable) {\r\n return (\r\n \r\n {statusIcon}\r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n {statusIcon}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n};\r\n\r\nexport default StudentStatus;\r\n","import React from \"react\";\r\nimport { ListGroupItem, Button } from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport StudentStatus from \"../Student/StudentStatus\";\r\nimport moment from \"moment\";\r\n\r\nconst TeacherModule = (props) => {\r\n let mappedStatus;\r\n let mappedTime;\r\n\r\n if (props.showStatus && props.module.students.length > 0) {\r\n mappedStatus = (\r\n \r\n );\r\n mappedTime = (\r\n
    \r\n \r\n  \r\n {moment(props.module.students[0].lastRun).format(\"YY-MM-DD HH:mm\")}\r\n
    \r\n );\r\n }\r\n return (\r\n \r\n {\r\n props.runModule(\r\n props.courseId,\r\n props.module.moduleId,\r\n props.module.url,\r\n props.module.moduleType\r\n );\r\n }}\r\n >\r\n \r\n \r\n {props.module.name}\r\n\r\n {\r\n props.navigateToResult(props.courseId, props.module.courseModuleId);\r\n }}\r\n >\r\n \r\n \r\n {mappedStatus}\r\n {mappedTime}\r\n \r\n );\r\n};\r\n\r\nexport default TeacherModule;\r\n","import React from \"react\";\r\nimport { Progress } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nconst StudentProgress = props => {\r\n if (props.doneModules > 0) {\r\n if (props.doneModules === props.totalModules) {\r\n return (\r\n \r\n
    \r\n {props.doneModules}/{props.totalModules}{\" \"}\r\n \r\n
    \r\n \r\n );\r\n }\r\n return (\r\n \r\n \r\n {props.doneModules}/{props.totalModules}{\" \"}\r\n \r\n
    \r\n \r\n );\r\n }\r\n\r\n return
    ;\r\n};\r\n\r\nexport default StudentProgress;\r\n","import React from \"react\";\r\nimport { Badge } from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\nconst CourseSubject = props => {\r\n if (props.subject === null) {\r\n return
    ;\r\n }\r\n\r\n return (\r\n \r\n \r\n    Ämne: {props.subject}\r\n \r\n );\r\n};\r\n\r\nexport default CourseSubject;\r\n","import React from \"react\";\r\nimport { ListGroupItem, Button, Row, Col } from \"reactstrap\";\r\nimport { GiKey } from \"react-icons/gi\";\r\nimport axios from \"../../services/api/api\";\r\nimport { API_BASE_URL } from \"../../constants/api.constants\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nexport default function TeacherModuleAnswersAndDocs({\r\n module,\r\n answersAvaliable,\r\n}) {\r\n const handleOpenAnswers = () => {\r\n axios\r\n .get(\r\n `${API_BASE_URL}/Module/GetModuleAnswers?moduleId=${module.moduleId}`,\r\n {\r\n responseType: \"blob\",\r\n }\r\n )\r\n .then((response) => {\r\n const file = new Blob([response.data], {\r\n type: \"application/pdf\",\r\n });\r\n //Build a URL from the file\r\n const fileURL = URL.createObjectURL(file);\r\n //Open the URL on new Window\r\n window.open(fileURL, \"Facit\", 'fullscreen=\"yes\"');\r\n })\r\n .catch(async (error) => {\r\n let responseObj = await error.response.data.text();\r\n if (responseObj.trim() === \"FileNotFound\") {\r\n toast.warn(\r\n ,\r\n {\r\n position: \"top-right\",\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n autoClose: 3000,\r\n }\r\n );\r\n } else {\r\n toast.warn(\r\n responseObj ? (\r\n responseObj\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 handleOpenAnswers(e);\r\n }}\r\n >\r\n \r\n \r\n \r\n {module.name}\r\n \r\n \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport TeacherModule from \"../Teacher/TeacherModule\";\r\nimport {\r\n Col,\r\n Card,\r\n CardImg,\r\n CardBody,\r\n CardTitle,\r\n CardSubtitle,\r\n CardFooter,\r\n Collapse,\r\n Button,\r\n ListGroup,\r\n Row,\r\n Badge,\r\n ListGroupItem,\r\n Dropdown,\r\n DropdownToggle,\r\n DropdownMenu,\r\n} from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport StudentStatus from \"../Student/StudentStatus\";\r\nimport { toast } from \"react-toastify\";\r\nimport StudentProgress from \"../Student/StudentProgress\";\r\nimport CourseSubject from \"./CourseSubject\";\r\nimport { DeleteUpload } from \"../../actions/teacherMutations\";\r\nimport { useMutation, useQueryClient } from \"react-query\";\r\nimport ConfirmDialog from \"../Modal/ConfirmDialog\";\r\nimport { getWinOptions, composeUrl } from \"../../Utilities/moduleHelper\";\r\nimport moment from \"moment\";\r\nimport { FormattedMessage, injectIntl, intlShape } from \"react-intl\";\r\nimport uuid from \"uuid\";\r\nimport TeacherModuleAnswersAndDocs from \"../Teacher/TeacherModuleAnswersAndDocs\";\r\nimport Pacmanloader from \"../Pacmanloader/Pacmanloader\";\r\n\r\nconst CourseItem = (props) => {\r\n const [modDocsDropdownOpen, setModDocsDropdownOpen] = useState([]);\r\n const [showFullDescription, setShowFullDescription] = useState([]);\r\n const [promptDeleteUpload, setPromptDeleteUpload] = useState(false);\r\n const [courseDocuments, setCourseDocuments] = useState(\r\n props.course.courseUploads ? props.course.courseUploads : []\r\n );\r\n\r\n const [uploadForRemoval, setUploadForRemoval] = useState([]);\r\n const mutateDeleteUpload = useMutation(DeleteUpload);\r\n\r\n const queryClient = useQueryClient();\r\n\r\n if (props.availableModuleAnswers.isLoading) {\r\n return ;\r\n }\r\n\r\n const handleDeleteUpload = () => {\r\n setPromptDeleteUpload(false);\r\n mutateDeleteUpload.mutate(\r\n {\r\n item: uploadForRemoval.item,\r\n classId: uploadForRemoval.classId,\r\n courseId: uploadForRemoval.courseId,\r\n teacherId: uploadForRemoval.teacherId,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n toast.success();\r\n queryClient.invalidateQueries(\"FetchCoursesByClassId\");\r\n setCourseDocuments([\r\n ...courseDocuments.filter(function (doc) {\r\n return doc.id !== uploadForRemoval.docId;\r\n }),\r\n ]);\r\n setUploadForRemoval([]);\r\n } else {\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n };\r\n\r\n const togglePromptDeleteUpload = (item, classId, courseId, docId) => {\r\n let deleteInfo = {\r\n item: item,\r\n classId: classId,\r\n courseId: courseId,\r\n teacherId: props.teacherInfo.data.id,\r\n docId: docId,\r\n };\r\n setUploadForRemoval(deleteInfo);\r\n setPromptDeleteUpload(true);\r\n };\r\n\r\n const handleOpenModule = (courseId, moduleId, moduleUrl, moduleType) => {\r\n const studentResultId = -1;\r\n\r\n const userId = -1;\r\n var url = composeUrl(\r\n userId,\r\n courseId,\r\n moduleId,\r\n moduleType,\r\n studentResultId,\r\n moduleUrl,\r\n null\r\n );\r\n var winOptions = getWinOptions();\r\n window.open(url, \"\", winOptions);\r\n };\r\n\r\n const handleGoToModuleResult = (courseId, moduleId) => {\r\n props.navigateToModuleResult(courseId, moduleId);\r\n };\r\n\r\n let mappedModules = [];\r\n let mappedModulesForAnswersAndDocuments = [];\r\n let disabled = true;\r\n\r\n let mappedStatus;\r\n let mappedProgress;\r\n let mappedLastRun;\r\n\r\n let courseHasFinalExam = props.course.hasFinalExam;\r\n let studentCourseId = 0;\r\n let finalExamEnabled = false;\r\n let finalExamDate = \"\";\r\n\r\n if (props.showCourseStatus !== undefined) {\r\n if (props.course.students.length > 0) {\r\n let finalExamSetForCourse = props.finalExamCoursesSet.filter(\r\n (x) => x.id === props.course.id\r\n );\r\n if (finalExamSetForCourse.length > 0) {\r\n finalExamEnabled = finalExamSetForCourse[0].enable;\r\n studentCourseId = finalExamSetForCourse[0].studentCourseId;\r\n finalExamDate = finalExamSetForCourse[0].setDate;\r\n } else {\r\n if (props.course.students[0].studentCourse != null) {\r\n studentCourseId = props.course.students[0].studentCourse.id;\r\n finalExamEnabled =\r\n props.course.students[0].studentCourse.finalExamEnabled;\r\n\r\n if (finalExamEnabled) {\r\n finalExamDate = moment(\r\n props.course.students[0].studentCourse.finalExamStartDate\r\n ).format(\"YYYY-MM-DD\");\r\n }\r\n }\r\n }\r\n\r\n mappedStatus = (\r\n \r\n \r\n
    \r\n );\r\n\r\n mappedProgress = (\r\n \r\n );\r\n\r\n if (props.course.students[0].lastRun !== \"0001-01-01T00:00:00\")\r\n mappedLastRun = (\r\n \r\n \r\n  \r\n {moment(props.course.students[0].lastRun).format(\"YY-MM-DD HH:mm\")}\r\n \r\n );\r\n } else {\r\n mappedStatus = ;\r\n }\r\n }\r\n\r\n let moduleDocs = (moduleIdsAsString) => {\r\n let modulesIds = moduleIdsAsString.split(\",\");\r\n let modules = [];\r\n modulesIds.forEach((modId) => {\r\n props.course.modules.forEach((mod) => {\r\n if (mod.moduleId.toString() === modId) {\r\n modules.push(mod);\r\n }\r\n });\r\n });\r\n return modules.map((mod) =>
    {mod.name}
    );\r\n };\r\n\r\n let modDocstoggle = (docId) => {\r\n if (!modDocsDropdownOpen.includes(docId)) {\r\n setModDocsDropdownOpen([...modDocsDropdownOpen, docId]);\r\n } else {\r\n setModDocsDropdownOpen([\r\n ...modDocsDropdownOpen.filter(function (id) {\r\n return id !== docId;\r\n }),\r\n ]);\r\n }\r\n };\r\n\r\n let hiddenDescStyle = {\r\n maxHeight: \"40px\",\r\n textOverflow: \"ellipsis\",\r\n fontWeight: \"normal\",\r\n overflow: \"hidden\",\r\n };\r\n\r\n let showingDescStyle = {\r\n maxHeight: \"300px\",\r\n textOverflow: \"none\",\r\n fontWeight: \"normal\",\r\n overflow: \"visible\",\r\n };\r\n\r\n let handleShowFullDescription = (courseId) => {\r\n if (!showFullDescription.includes(courseId)) {\r\n setShowFullDescription([...showFullDescription, courseId]);\r\n } else {\r\n setShowFullDescription([\r\n ...showFullDescription.filter(function (id) {\r\n return id !== courseId;\r\n }),\r\n ]);\r\n }\r\n };\r\n\r\n let mappedDocuments = [];\r\n if (props.displayDocuments) {\r\n mappedDocuments = courseDocuments.map((doc) => {\r\n if (doc.fileUrl != null) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {doc.value}\r\n \r\n {doc.moduleIdsAsString ? (\r\n \r\n modDocstoggle(doc.id)}\r\n >\r\n \r\n \r\n \r\n \r\n {moduleDocs(doc.moduleIdsAsString)}\r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n\r\n \r\n {moment(doc.uploaded).format(\"YYYY-MM-DD\")}\r\n \r\n {doc.uploadedBy === props.teacherInfo.data.id}\r\n \r\n \r\n togglePromptDeleteUpload(\r\n doc.value,\r\n doc.classId,\r\n doc.courseId,\r\n doc.id\r\n )\r\n }\r\n />{\" \"}\r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {doc.value}\r\n \r\n {doc.moduleIdsAsString ? (\r\n \r\n modDocstoggle(doc.id)}\r\n >\r\n \r\n \r\n \r\n \r\n {moduleDocs(doc.moduleIdsAsString)}\r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n {moment(doc.uploaded).format(\"YYYY-MM-DD\")}\r\n \r\n {doc.uploadedBy === props.teacherInfo.data.id}\r\n \r\n \r\n togglePromptDeleteUpload(\r\n doc.value,\r\n doc.classId,\r\n doc.courseId,\r\n doc.id\r\n )\r\n }\r\n />{\" \"}\r\n \r\n \r\n \r\n );\r\n }\r\n });\r\n }\r\n mappedModules = props.course.modules.map((module) => (\r\n \r\n ));\r\n\r\n mappedModulesForAnswersAndDocuments = props.course.modules.map((module) => (\r\n mod.moduleId === module.moduleId\r\n )}\r\n module={module}\r\n courseId={props.course.id}\r\n />\r\n ));\r\n return (\r\n \r\n \r\n {mappedLastRun}\r\n {mappedStatus}\r\n \r\n\r\n
    \r\n \r\n {mappedProgress}\r\n
    \r\n \r\n \r\n {props.course.courseName}\r\n \r\n \r\n \r\n {props.course.description}\r\n
    \r\n
    \r\n handleShowFullDescription(props.course.id)}\r\n className=\"fake-link d-block\"\r\n >\r\n {showFullDescription.includes(props.course.id) ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n \r\n \r\n \r\n props.toggleModules(props.course.id)}\r\n className=\"text-left w-100 p-1\"\r\n inline=\"false\"\r\n >\r\n \r\n   \r\n \r\n \r\n {props.displayDocuments ? (\r\n \r\n props.toggleDocumentOpen(props.course.id)}\r\n >\r\n \r\n  \r\n \r\n \r\n {courseDocuments.length}\r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n props.toggleTeacherMaterials(props.course.id)}\r\n >\r\n \r\n   \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {mappedModules}\r\n \r\n \r\n \r\n {props.displayDocuments ? (\r\n \r\n \r\n \r\n {mappedDocuments}\r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n \r\n {mappedModulesForAnswersAndDocuments}\r\n \r\n \r\n \r\n \r\n \r\n 0 && courseHasFinalExam\r\n ? \"float-left\"\r\n : \"d-none\"\r\n }\r\n onClick={() =>\r\n props.toggleFinalExamAction(\r\n studentCourseId,\r\n !finalExamEnabled,\r\n props.course.id,\r\n props.course.courseName\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n\r\n setPromptDeleteUpload(!promptDeleteUpload)}\r\n title={}\r\n message={\r\n \r\n }\r\n onProceed={handleDeleteUpload}\r\n />\r\n \r\n );\r\n};\r\n\r\nCourseItem.propTypes = {\r\n intl: intlShape.isRequired,\r\n};\r\n\r\nexport default injectIntl(CourseItem);\r\n","import React, { useState } from \"react\";\r\nimport { unlockTeacherFinalExam } from \"../../../actions/teacherCoursesAction\";\r\nimport {\r\n Row,\r\n Col,\r\n Card,\r\n Form,\r\n FormGroup,\r\n Label,\r\n Input,\r\n Collapse,\r\n} from \"reactstrap\";\r\nimport { GetAvailableModuleAnswers } from \"../../../actions/teacherQueries\";\r\nimport { PacmanLoader } from \"react-spinners\";\r\nimport CourseItem from \"../../../components/Course/CourseItem\";\r\nimport { getWinOptions, composeUrl } from \"../../../Utilities/moduleHelper\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport CardHeader from \"reactstrap/lib/CardHeader\";\r\nimport CardBody from \"reactstrap/lib/CardBody\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nfunction TeacherCoursesView(props) {\r\n TeacherCoursesView.propTypes = {\r\n coursesData: PropTypes.object.isRequired,\r\n };\r\n\r\n const [classesToShow] = useState(props.coursesData);\r\n const [filterSearch, setFilterSearch] = useState(\"\");\r\n const [toggleModules, setToggleModules] = useState([]);\r\n const [collapseLicenses, setCollapseLicenses] = useState([]);\r\n const [documentIsOpen, setDocumentsIsOpen] = useState(false);\r\n const [teacherMaterialsIsOpen, setTeacherMaterialsIsOpen] = useState(false);\r\n const [openedTeacherMaterials, setOpenedTeacherMaterials] = useState([]);\r\n const [openedDocuments, setOpenedDocuments] = useState([]);\r\n const availableModuleAnswers = GetAvailableModuleAnswers();\r\n const goToModuleResults = (courseId, moduleId) => {\r\n if (courseId !== null) {\r\n props.history.push({\r\n pathname: \"/teacher/courseview/moduleresults\",\r\n state: { course: courseId, module: moduleId },\r\n });\r\n }\r\n };\r\n\r\n const filterSearchfunc = (event) => {\r\n setFilterSearch(event.target.value);\r\n };\r\n\r\n const stopEnter = (event) => {\r\n if (event.which === 13 /* Enter */) {\r\n event.preventDefault();\r\n }\r\n };\r\n\r\n const openModule = (courseId, moduleId, moduleUrl, moduleType) => {\r\n const studentResultId = -1;\r\n const userId = -1;\r\n\r\n if (moduleUrl == null) {\r\n this.setError();\r\n return;\r\n }\r\n\r\n props.dispatch(unlockTeacherFinalExam(courseId, moduleId)).then(() => {\r\n var url = composeUrl(\r\n userId,\r\n courseId,\r\n moduleId,\r\n moduleType,\r\n studentResultId,\r\n moduleUrl,\r\n null\r\n );\r\n\r\n var winOptions = getWinOptions();\r\n window.open(url, \"\", winOptions);\r\n });\r\n };\r\n\r\n const collapseLicensesfunc = (license) => {\r\n let collapsed = collapseLicenses;\r\n\r\n if (collapsed.indexOf(license) === -1) collapsed.push(license);\r\n else collapsed.splice(collapsed.indexOf(license), 1);\r\n setCollapseLicenses(collapsed);\r\n };\r\n\r\n if (classesToShow.isLoading) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n let filteredList = classesToShow.data;\r\n\r\n if (filterSearch.length > 0) {\r\n filteredList = classesToShow.data.filter(\r\n (course) =>\r\n course.courseName.toLowerCase().indexOf(filterSearch.toLowerCase()) !==\r\n -1\r\n );\r\n }\r\n\r\n const toggleModule = (courseId) => {\r\n if (!toggleModules.includes(courseId)) {\r\n if (openedDocuments.includes(courseId)) {\r\n setOpenedDocuments([\r\n ...openedDocuments.filter(function (id) {\r\n return id !== courseId;\r\n }),\r\n ]);\r\n }\r\n if (openedTeacherMaterials.includes(courseId)) {\r\n setOpenedTeacherMaterials([\r\n ...openedTeacherMaterials.filter(function (id) {\r\n return id !== courseId;\r\n }),\r\n ]);\r\n }\r\n setToggleModules([...toggleModules, courseId]);\r\n } else {\r\n setToggleModules([\r\n ...toggleModules.filter(function (id) {\r\n return id !== courseId;\r\n }),\r\n ]);\r\n }\r\n };\r\n\r\n const toggleDocuments = (courseId) => {\r\n let od = openedDocuments;\r\n if (!od.includes(courseId)) {\r\n if (toggleModules.includes(courseId)) {\r\n setToggleModules([\r\n ...toggleModules.filter(function (id) {\r\n return id !== courseId;\r\n }),\r\n ]);\r\n }\r\n if (openedTeacherMaterials.includes(courseId)) {\r\n setOpenedTeacherMaterials([\r\n ...openedTeacherMaterials.filter(function (id) {\r\n return id !== courseId;\r\n }),\r\n ]);\r\n }\r\n od.push(courseId);\r\n } else {\r\n od = od.filter((el) => el !== courseId);\r\n }\r\n setOpenedDocuments(od);\r\n setDocumentsIsOpen(!documentIsOpen);\r\n };\r\n\r\n const toggleTeacherMaterials = (courseId) => {\r\n let om = openedTeacherMaterials;\r\n if (!om.includes(courseId)) {\r\n if (toggleModules.includes(courseId)) {\r\n setToggleModules([\r\n ...toggleModules.filter(function (id) {\r\n return id !== courseId;\r\n }),\r\n ]);\r\n }\r\n if (openedDocuments.includes(courseId)) {\r\n setOpenedDocuments([\r\n ...openedDocuments.filter(function (id) {\r\n return id !== courseId;\r\n }),\r\n ]);\r\n }\r\n om.push(courseId);\r\n } else {\r\n om = om.filter((el) => el !== courseId);\r\n }\r\n setOpenedTeacherMaterials(om);\r\n setTeacherMaterialsIsOpen(!teacherMaterialsIsOpen);\r\n };\r\n\r\n let licenses = [];\r\n classesToShow.data.forEach((x) => {\r\n if (licenses.indexOf(x.programLicenseName) === -1)\r\n licenses.push(x.programLicenseName);\r\n });\r\n\r\n let mappedLicenses = [];\r\n\r\n mappedLicenses = licenses.map((license, i) => (\r\n \r\n \r\n collapseLicensesfunc(license)}\r\n >\r\n {license}\r\n \r\n \r\n \r\n \r\n {filteredList\r\n .filter((x) => x.programLicenseName === license)\r\n .sort((a, b) => {\r\n return a.courseName > b.courseName ? 1 : 0;\r\n })\r\n .map((course) => (\r\n -1}\r\n openModule={openModule}\r\n disableViewResults={true}\r\n navigateToCourse={goToModuleResults}\r\n documentIsOpen={documentIsOpen}\r\n toggleDocumentOpen={toggleDocuments}\r\n openedDocuments={openedDocuments}\r\n teacherMaterialsIsOpen={teacherMaterialsIsOpen}\r\n setTeacherMaterialsIsOpen={setTeacherMaterialsIsOpen}\r\n toggleTeacherMaterials={toggleTeacherMaterials}\r\n openedTeacherMaterials={openedTeacherMaterials}\r\n availableModuleAnswers={availableModuleAnswers}\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
    stopEnter(event)}>\r\n \r\n \r\n   \r\n filterSearchfunc(event)}\r\n placeholder=\"Kursens namn\"\r\n />\r\n \r\n
    \r\n
    \r\n {mappedLicenses}\r\n
    \r\n );\r\n}\r\n\r\nexport default TeacherCoursesView;\r\n","import React, { useEffect, useState } from \"react\";\r\n\r\nexport default function TeacherChat(props) {\r\n const [level, setLevel] = useState();\r\n\r\n useEffect(() => {\r\n setLevel(props.level);\r\n }, [props.level]);\r\n const renderLevel = () => {\r\n switch (level) {\r\n case \"Class\":\r\n return
    Chatt
    ;\r\n case \"Student\":\r\n return
    Student
    ;\r\n case \"Program\":\r\n return
    Program
    ;\r\n default:\r\n return
    ;\r\n }\r\n };\r\n\r\n return
    {renderLevel()}
    ;\r\n}\r\n","import {useState, useEffect} from 'react'\r\n\r\nexport default function useViewport () {\r\n const [width, setWidth] = useState(window.innerWidth);\r\n \r\n useEffect(() => {\r\n const handleWindowResize = () => setWidth(window.innerWidth);\r\n window.addEventListener(\"resize\", handleWindowResize);\r\n return () => window.removeEventListener(\"resize\", handleWindowResize);\r\n }, []);\r\n \r\n // Return the width so we can use it in our components\r\n return { width };\r\n }","import React from \"react\";\r\nimport { Nav, NavItem, NavLink } from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nexport default function TabNav({ level, handlePostNavTab, tab }) {\r\n return (\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Nav, NavItem, NavLink } from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nexport default function MobileTabNav({ level, handlePostNavTab, tab }) {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n}\r\n","import useViewport from \"../../../Utilities/useViewport\";\r\nimport TabNav from \"./TabNav\";\r\nimport MobileTabNav from \"./MobileTabNav\";\r\nimport { SetNavigationTab } from \"../../../actions/teacherTabNavActions\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\n\r\nexport default function TabNavSelector(props) {\r\n const { width } = useViewport();\r\n const breakpoint = 620;\r\n\r\n const dispatch = useDispatch();\r\n const handlePostNavTab = (tab) => {\r\n dispatch(SetNavigationTab(tab));\r\n };\r\n const tab = useSelector((state) => state.teacherTabNavReducer);\r\n\r\n const NavTabsOnlyInClass = [5, 6];\r\n if (props.level !== \"class\" && NavTabsOnlyInClass.includes(tab.tab)) {\r\n handlePostNavTab(1);\r\n }\r\n return width < breakpoint ? (\r\n \r\n ) : (\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Row, Col } from \"reactstrap\";\r\nimport styled from \"styled-components\";\r\nimport \"react-nice-dates/build/style.css\";\r\nimport { ChevronRight } from \"@styled-icons/bootstrap/ChevronRight\";\r\nimport { CLabel, CInput } from \"@coreui/react\";\r\nimport { DateRangePicker, START_DATE, END_DATE } from \"react-nice-dates\";\r\nimport { sv } from \"date-fns/locale\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\nexport default function CreateAPLPeriodGeneral({\r\n aplName,\r\n aplStartDate,\r\n aplEndDate,\r\n aplHoursPerWeek,\r\n aplDaysPerWeek,\r\n handleSetDaysPerWeek,\r\n handleSetHoursPerWeek,\r\n handleSetName,\r\n handleSetStartDate,\r\n handleSetEndDate,\r\n setAplValidationErrors,\r\n aplValidationErrors,\r\n}) {\r\n const validateName = (data) => {\r\n if (data.target.value === \"\") {\r\n setAplValidationErrors([...aplValidationErrors, \"aplName\"]);\r\n } else {\r\n setAplValidationErrors(\r\n aplValidationErrors.filter((item) => item !== \"aplName\")\r\n );\r\n handleSetName(data.target.value);\r\n }\r\n };\r\n\r\n const validateDate = (date, startOrEnd) => {\r\n if (date === \"\") {\r\n setAplValidationErrors([...aplValidationErrors, \"aplDate\"]);\r\n } else {\r\n setAplValidationErrors(\r\n aplValidationErrors.filter((item) => item !== \"aplDate\")\r\n );\r\n if (startOrEnd === \"start\") {\r\n handleSetStartDate(date);\r\n } else {\r\n handleSetEndDate(date);\r\n }\r\n }\r\n };\r\n /***********Commented until furher notice, when implemented uncomment*************/\r\n /* const validateAplHoursPerWeek = (data) => {\r\n if (data === \"\") {\r\n setAplValidationErrors([...aplValidationErrors, \"aplHoursPerWeek\"]);\r\n } else {\r\n setAplValidationErrors(\r\n aplValidationErrors.filter((item) => item !== \"aplHoursPerWeek\")\r\n );\r\n handleSetHoursPerWeek(data);\r\n }\r\n };\r\n\r\n const validateAplDaysPerWeek = (data) => {\r\n if (data === \"\") {\r\n setAplValidationErrors([...aplValidationErrors, \"aplDaysPerWeek\"]);\r\n } else {\r\n setAplValidationErrors(\r\n aplValidationErrors.filter((item) => item !== \"aplDaysPerWeek\")\r\n );\r\n handleSetDaysPerWeek(data);\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 \r\n \r\n \r\n \r\n \r\n \r\n :{\" \"}\r\n \r\n \r\n \r\n validateName(data)}\r\n />\r\n {aplValidationErrors.some((item) => item === \"aplName\") ? (\r\n

    \r\n \r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n validateDate(value, \"start\")}\r\n onEndDateChange={(value) => validateDate(value, \"end\")}\r\n minimumDate={new Date()}\r\n minimumLength={1}\r\n format=\"yyyy-MM-dd\"\r\n locale={sv}\r\n >\r\n {({ startDateInputProps, endDateInputProps, focus }) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n\r\n {aplValidationErrors.some((item) => item === \"aplDate\") ? (\r\n

    \r\n \r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n
    \r\n {/***********Commented until furher notice, when implemented uncomment*************/}\r\n {/* \r\n \r\n \r\n :{\" \"}\r\n \r\n \r\n \r\n validateAplHoursPerWeek(data.target.value)}\r\n placeholder=\"Antal timmar per vecka...\"\r\n autoComplete=\"false\"\r\n />\r\n {aplValidationErrors.some((item) => item === \"aplHoursPerWeek\") ? (\r\n

    \r\n \r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n
    \r\n \r\n \r\n \r\n :{\" \"}\r\n \r\n \r\n \r\n validateAplDaysPerWeek(data.target.value)}\r\n placeholder=\"Antal dagar per vecka...\"\r\n autoComplete=\"false\"\r\n />\r\n {aplValidationErrors.some((item) => item === \"aplDaysPerWeek\") ? (\r\n

    \r\n \r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n
    */}\r\n \r\n );\r\n}\r\nconst Chevron = styled(ChevronRight)`\r\n height: 1rem;\r\n width: 1rem;\r\n margin: auto 0.5rem;\r\n`;\r\n\r\nconst DateRangePickerWrapper = styled.div`\r\n .nice-dates-popover {\r\n width: 80%;\r\n }\r\n`;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Select from \"react-select\";\r\nimport {\r\n Card,\r\n CardHeader,\r\n CardBody,\r\n CardTitle,\r\n Label,\r\n Input,\r\n FormGroup,\r\n} from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { FormattedMessage, injectIntl } from \"react-intl\";\r\n\r\nconst CreateAPLPeriodDocuments = ({\r\n aplDocumentsWithUsers,\r\n setAplDocumentsWithUsers,\r\n students,\r\n supervisors,\r\n intl,\r\n}) => {\r\n const [selectableUsers, setSelectableUsers] = useState([]);\r\n\r\n useEffect(() => {\r\n let UsersForSelect = [];\r\n students.forEach((stud) => {\r\n let studentForSelect = {\r\n userType: \"Student\",\r\n value: stud,\r\n label: stud.name,\r\n };\r\n UsersForSelect.push(studentForSelect);\r\n });\r\n supervisors.forEach((sv) => {\r\n let supervisorForSelect = {\r\n userType: \"AplSupervisor\",\r\n value: sv,\r\n label: sv.name,\r\n };\r\n UsersForSelect.push(supervisorForSelect);\r\n });\r\n setSelectableUsers(UsersForSelect);\r\n }, [aplDocumentsWithUsers, students, supervisors]);\r\n\r\n const handleFile = (event) => {\r\n let newDocument = {\r\n document: event.files[0],\r\n users: [],\r\n };\r\n setAplDocumentsWithUsers([...aplDocumentsWithUsers, newDocument]);\r\n };\r\n\r\n const handleRemoveDocument = (item) => {\r\n setAplDocumentsWithUsers(\r\n aplDocumentsWithUsers.filter((doc) => doc.document !== item.document)\r\n );\r\n };\r\n\r\n const handleAddAndRemoveDocumentsForUser = (users, documentUserList) => {\r\n let currentDocumentIndex = aplDocumentsWithUsers.findIndex(\r\n (sv) => sv.document === documentUserList.document\r\n );\r\n let tempAplDocumentsWithUsers = aplDocumentsWithUsers;\r\n\r\n //Update AplStudentSupervisors\r\n if (users.some((user) => user.value === \"AllStudents\")) {\r\n users = users.filter((item) => item.userType !== \"Student\");\r\n users = users.filter((item) => item.value !== \"AllStudents\");\r\n students.forEach((stud) => {\r\n let studentForSelect = {\r\n userType: \"Student\",\r\n value: stud,\r\n label: stud.name,\r\n };\r\n users.push(studentForSelect);\r\n });\r\n }\r\n if (users.some((user) => user.value === \"AllSupervisors\")) {\r\n users = users.filter((item) => item.userType !== \"AplSupervisor\");\r\n users = users.filter((item) => item.value !== \"AllSupervisors\");\r\n supervisors.forEach((sv) => {\r\n let supervisorForSelect = {\r\n userType: \"AplSupervisor\",\r\n value: sv,\r\n label: sv.name,\r\n };\r\n users.push(supervisorForSelect);\r\n });\r\n }\r\n\r\n tempAplDocumentsWithUsers[currentDocumentIndex].users = users;\r\n setAplDocumentsWithUsers(tempAplDocumentsWithUsers);\r\n };\r\n\r\n const DocumentsAndUsers = ({ intl }) => {\r\n const setFileName = (value, item) => {\r\n item.description = value;\r\n };\r\n\r\n if (aplDocumentsWithUsers.length > 0) {\r\n return aplDocumentsWithUsers.map((item, key) => {\r\n var selectableStudents = [];\r\n var selectableSupervisors = [];\r\n item.description = item.description\r\n ? item.description\r\n : item.document.name;\r\n selectableUsers.forEach((user) => {\r\n if (\r\n item.users.findIndex((forUser) => {\r\n return forUser.value\r\n ? forUser.value.id === user.value.id\r\n : forUser.id === user.value.id;\r\n }) < 0\r\n ) {\r\n if (user.userType === \"Student\") {\r\n selectableStudents.push(user);\r\n } else if (user.userType === \"AplSupervisor\") {\r\n selectableSupervisors.push(user);\r\n }\r\n }\r\n });\r\n\r\n if (selectableStudents.length > 1) {\r\n let AddAllStudents = {\r\n value: \"AllStudents\",\r\n userType: \"SelectAllStudents\",\r\n label: intl.formatMessage({\r\n id: \"SelectAllStudentsInPeriod\",\r\n }),\r\n };\r\n selectableStudents.unshift(AddAllStudents);\r\n }\r\n\r\n if (selectableSupervisors.length > 1) {\r\n let AddAllSupervisors = {\r\n value: \"AllSupervisors\",\r\n userType: \"SelectAllSupervisors\",\r\n label: intl.formatMessage({\r\n id: \"SelectAllSupervisorsInPeriod\",\r\n }),\r\n };\r\n selectableSupervisors.unshift(AddAllSupervisors);\r\n }\r\n\r\n const groupedOptions = [\r\n {\r\n label: \"Elever\",\r\n options: selectableStudents,\r\n },\r\n {\r\n label: \"Handledare\",\r\n options: selectableSupervisors,\r\n },\r\n ];\r\n\r\n return (\r\n \r\n \r\n handleRemoveDocument(item)}\r\n />\r\n setFileName(value.target.value, item)}\r\n />\r\n \r\n\r\n ({ ...base, zIndex: 9999 }) }}\r\n name=\"students\"\r\n placeholder={intl.formatMessage({\r\n id: \"ChoosePersonsThatShouldHaveAccessToDocument\",\r\n })}\r\n defaultValue={item.users}\r\n isMulti\r\n options={groupedOptions}\r\n onChange={(event) =>\r\n handleAddAndRemoveDocumentsForUser(event, item)\r\n }\r\n noOptionsMessage={({ inputValue }) => (\r\n \r\n )}\r\n />\r\n \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\r\n \r\n \r\n\r\n handleFile(val.target)}\r\n />\r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n );\r\n};\r\nexport default injectIntl(CreateAPLPeriodDocuments);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { FormattedMessage, injectIntl } from \"react-intl\";\r\nimport Select from \"react-select\";\r\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\nconst CreateAPLPeriodWorkCard = ({\r\n setWorkcard,\r\n aplValidationErrors,\r\n setAplValidationErrors,\r\n existingWorkCards,\r\n intl,\r\n setPage,\r\n defaultSelectedWorkCard,\r\n aplWorkcard,\r\n}) => {\r\n const [selectedWorkCard, setSelectedWorkCard] = useState(\r\n defaultSelectedWorkCard !== null\r\n ? { value: defaultSelectedWorkCard, label: defaultSelectedWorkCard.name }\r\n : aplWorkcard !== null\r\n ? { value: aplWorkcard, label: aplWorkcard.name }\r\n : null\r\n );\r\n const [selectableWorkCards, setSelectableWorkCards] = useState([]);\r\n\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n useEffect(() => {\r\n let tempSelectableWorkCards = [];\r\n existingWorkCards.forEach((wc) => {\r\n let workcard = { value: wc, label: wc.name };\r\n tempSelectableWorkCards.push(workcard);\r\n });\r\n setSelectableWorkCards(tempSelectableWorkCards);\r\n }, [existingWorkCards]);\r\n\r\n const handleChange = (value) => {\r\n setAplValidationErrors(\r\n aplValidationErrors.filter((item) => item !== \"aplWorkcard\")\r\n );\r\n setSelectedWorkCard(value);\r\n setWorkcard(value.value);\r\n };\r\n\r\n const toggle = () => {\r\n setIsOpen(!isOpen);\r\n };\r\n\r\n const openInfoModal = () => {\r\n setIsOpen(true);\r\n };\r\n\r\n const handleOpenCreateWorkcardPage = () => {\r\n setPage(0);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n

    \r\n handleOpenCreateWorkcardPage()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {selectableWorkCards.length > 0 && (\r\n <>\r\n \r\n \r\n

    \r\n handleChange(value)}\r\n placeholder={intl.formatMessage({ id: \"ChooseWorkCard\" })}\r\n options={selectableWorkCards}\r\n />\r\n \r\n )}\r\n {aplValidationErrors.some((item) => item === \"aplWorkcard\") ? (\r\n

    \r\n \r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n\r\n \r\n \r\n \r\n \r\n \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\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 injectIntl(CreateAPLPeriodWorkCard);\r\n","import React from \"react\";\r\nimport {\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n Row,\r\n ModalFooter,\r\n Button,\r\n Col,\r\n} from \"reactstrap\";\r\nimport { useMutation, useQueryClient } from \"react-query\";\r\nimport { AddSchoolToSupervisor } from \"../../actions/teacherMutations\";\r\nimport { toast } from \"react-toastify\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nexport default function PromptAddSupervisorToSchool({\r\n supervisor,\r\n toggle,\r\n isOpen,\r\n dismissModal,\r\n schoolId,\r\n}) {\r\n const postSupervisorToSchool = useMutation(AddSchoolToSupervisor);\r\n const queryClient = useQueryClient();\r\n\r\n const handlePostSupervisorToSchool = () => {\r\n let supervisorSchool = {\r\n supervisorId: supervisor.id,\r\n schoolId: schoolId,\r\n };\r\n postSupervisorToSchool.mutate(supervisorSchool, {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n toast.success(\"Handledare tillagd\");\r\n queryClient.invalidateQueries(\"FetchSupervisors\", schoolId);\r\n dismissModal();\r\n } else {\r\n if (data.trim() === \"Supervisor already has this school\") {\r\n toast.warn(\"Handledare finns redan på denna skola\");\r\n } else {\r\n toast.warn(data);\r\n }\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n });\r\n toggle();\r\n };\r\n\r\n if (supervisor) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n :\r\n \r\n \r\n : {supervisor.name}\r\n \r\n \r\n \r\n \r\n : {supervisor.phone}\r\n \r\n \r\n \r\n \r\n ?\r\n \r\n \r\n \r\n \r\n handlePostSupervisorToSchool()}\r\n className={\"float-left btn-success\"}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n return null;\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { withFormik, Form, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport { FormGroup, Label, Button, Col, Row, Card, Input } from \"reactstrap\";\r\nimport { toast } from \"react-toastify\";\r\nimport axios from \"../../services/api/api\";\r\nimport { PostSupervisorCompany } from \"../../actions/teacherMutations\";\r\nimport { useMutation, useQueryClient } from \"react-query\";\r\nimport { GetSupervisorCompanies } from \"../../actions/teacherQueries\";\r\nimport Pacmanloader from \"../../components/Pacmanloader/Pacmanloader\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport PromptAddSupervisorToSchool from \"../Modal/PromptAddSupervisorToSchool\";\r\n\r\nconst CreateNewSupervisor = (props) => {\r\n const { values, errors, touched, isSubmitting, dismissModal } = props;\r\n const [addNewCompany, setAddNewCompany] = useState(false);\r\n const [newCompanyName, setNewCompanyName] = useState(\"\");\r\n\r\n const postSupervisorCompanyMutation = useMutation(PostSupervisorCompany);\r\n const companies = GetSupervisorCompanies();\r\n const queryClient = useQueryClient();\r\n\r\n if (companies.isLoading) {\r\n return ;\r\n }\r\n const companiesList = () => {\r\n let tempList = [];\r\n companies.data.forEach((c) => {\r\n let companyToAdd = { value: c, label: c.name };\r\n tempList.push(companyToAdd);\r\n });\r\n let addNewCompany = {\r\n value: { id: \"Add\" },\r\n label: \"Lägg till nytt företag\",\r\n };\r\n tempList.unshift(addNewCompany);\r\n return tempList;\r\n };\r\n\r\n const handleSetCompany = (val) => {\r\n if (val === \"Add\") {\r\n setAddNewCompany(true);\r\n } else {\r\n values.supervisorCompanyId = val;\r\n }\r\n };\r\n\r\n const handleSubmitNewCompany = () => {\r\n let cleanedCompanyName = newCompanyName.replace(\"&\", \"%26\");\r\n postSupervisorCompanyMutation.mutate(cleanedCompanyName, {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n toast.success(\"Företag tillagt\");\r\n queryClient.invalidateQueries(\"FetchSupervisorCompanies\");\r\n } else {\r\n toast.warn(data);\r\n }\r\n setAddNewCompany(false);\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\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 {errors.supervisorName && touched.supervisorName && (\r\n
    {errors.supervisorName}
    \r\n )}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {errors.supervisorEmail && touched.supervisorEmail && (\r\n
    {errors.supervisorEmail}
    \r\n )}\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {errors.supervisorPhone && touched.supervisorPhone && (\r\n
    {errors.supervisorPhone}
    \r\n )}\r\n
    \r\n \r\n \r\n {!addNewCompany ? (\r\n \r\n \r\n handleSetCompany(val.target.value)}\r\n value={companiesList().find(\r\n (c) => c.value.id === values.supervisorCompanyId\r\n )}\r\n className={`form-control ${\r\n errors.supervisorCompanyId &&\r\n touched.supervisorCompanyId &&\r\n \"is-invalid\"\r\n }`}\r\n >\r\n \r\n {companiesList().map((c, i) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n {errors.supervisorCompanyId && touched.supervisorCompanyId && (\r\n
    \r\n {errors.supervisorCompanyId}\r\n
    \r\n )}\r\n
    \r\n ) : (\r\n <>\r\n \r\n \r\n setNewCompanyName(data.target.value)}\r\n />\r\n \r\n \r\n \r\n setAddNewCompany(false)}\r\n >\r\n \r\n \r\n \r\n \r\n handleSubmitNewCompany()}\r\n outline\r\n className=\"p-1 mt-1\"\r\n color=\"primary\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
    \r\n\r\n \r\n {isSubmitting ? (\r\n \r\n ) : (\r\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 FormikForm = withFormik({\r\n mapPropsToValues: (props) => ({\r\n supervisorName: props.supervisorName,\r\n supervisorEmail: props.supervisorEmail,\r\n supervisorPhone: props.supervisorPhone,\r\n supervisorCompanyId: props.supervisorCompanyId,\r\n }),\r\n validationSchema: Yup.object().shape({\r\n supervisorName: Yup.string().required(\"Nödvändigt\"),\r\n supervisorEmail: Yup.string()\r\n .email(\"Måste vara en giltig epost\")\r\n .max(255)\r\n .required(\"Epost är nödvändig\"),\r\n supervisorCompanyId: Yup.number()\r\n .typeError(\"Handledaren måste ha ett företag\")\r\n .required(\"Handledaren måste ha ett företag\")\r\n .positive(\"Handledaren måste ha ett företag\"),\r\n }),\r\n\r\n handleSubmit(values, { props, resetForm, setSubmitting }) {\r\n let supervisor = {\r\n Name: values.supervisorName,\r\n Email: values.supervisorEmail,\r\n Phone: values.supervisorPhone,\r\n CompanyId: values.supervisorCompanyId,\r\n VisibleForSchoolId: props.schoolId,\r\n };\r\n axios\r\n .post(`/Apl/PostSupervisorForSchool`, supervisor)\r\n .then((res) => {\r\n if (res.data.result.createdUser) {\r\n let supervisorToAdd = {\r\n value: res.data.result.createdUser,\r\n label:\r\n res.data.result.createdUser.name +\r\n \" - \" +\r\n res.data.result.createdUser.aplCompany.name,\r\n };\r\n props.setSelectableSupervisors([\r\n ...props.selectableSupervisors,\r\n supervisorToAdd,\r\n ]);\r\n axios\r\n .post(`/User/SendActivationMail?email=${supervisor.Email}`)\r\n .then(() => {\r\n toast.success(\"Handledare har skapats\", {\r\n position: \"top-right\",\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n autoClose: 3000,\r\n });\r\n resetForm();\r\n })\r\n .catch((err) => {\r\n toast.warn(\r\n `Det gick inte att skicka ut ett nytt aktiveringsmail till användaren`\r\n );\r\n });\r\n props.dismissModal();\r\n } else if (res.data.result.alreadyExistingUser) {\r\n if (\r\n res.data.result.alreadyExistingUser.userTypeOf !== \"AplSupervisor\"\r\n ) {\r\n toast.warn(\r\n \"Användare finns redan i systemet och är inte handledare\"\r\n );\r\n } else {\r\n props.setSupervisorToAddToSchool(\r\n res.data.result.alreadyExistingUser\r\n );\r\n props.setAddToSchoolIsOpen(true);\r\n }\r\n }\r\n })\r\n .catch((err) => {\r\n toast.error(err.response ? err.response.data : err.message, {\r\n position: \"top-right\",\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n autoClose: 3000,\r\n });\r\n props.dismissModal();\r\n });\r\n props.handleReloadSupervisors();\r\n setSubmitting(false);\r\n },\r\n})(CreateNewSupervisor);\r\n\r\nexport default FormikForm;\r\n","import {\r\n Button,\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Input,\r\n Label,\r\n} from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nexport default function EditNameDialog({\r\n toggle,\r\n isOpen,\r\n title,\r\n onChange,\r\n defaultName,\r\n onProceed,\r\n}) {\r\n return (\r\n \r\n {title}\r\n \r\n \r\n onChange(data.target.value)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Select from \"react-select\";\r\nimport CreateNewSupervisor from \"../APL/CreateNewSupervisor\";\r\nimport { GetSupervisorCompanies } from \"../../actions/teacherQueries\";\r\nimport { Card, CardHeader, Col, Row, Button } from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { useQueryClient, useMutation } from \"react-query\";\r\nimport { injectIntl } from \"react-intl\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport EditNameDialog from \"./EditNameDialogModal\";\r\nimport { PostSupervisorCompany } from \"../../actions/teacherMutations\";\r\nimport { toast } from \"react-toastify\";\r\nimport AlertModal from \"./AlertModal\";\r\n\r\nconst CreateAPLPeriodSupervisor = ({\r\n students,\r\n supervisors,\r\n aplStudentSupervisors,\r\n setAplStudentSupervisors,\r\n intl,\r\n schoolId,\r\n programTeachers,\r\n}) => {\r\n const [studentsForSelect, setStudentsForSelect] = useState([]);\r\n const [selectableSupervisors, setSelectableSupervisors] = useState([]);\r\n const [addNewSupervisorVisible, setAddNewSupervisorVisible] = useState(false);\r\n const [supervisorToAddToSchool, setSupervisorToAddToSchool] = useState(null);\r\n const [addToSchoolIsOpen, setAddToSchoolIsOpen] = useState(false);\r\n const [companiesForSelect, setCompaniesForSelect] = useState([]);\r\n const [addNewCompanyIsOpen, setAddNewCompanyIsOpen] = useState(false);\r\n const [newCompanyName, setNewCompanyName] = useState(null);\r\n const [showCompanyNameOccupied, setShowCompanyNameOccupied] = useState(false);\r\n\r\n const companies = GetSupervisorCompanies();\r\n const postSupervisorCompanyMutation = useMutation(PostSupervisorCompany);\r\n const queryClient = useQueryClient();\r\n\r\n useEffect(() => {\r\n if (!companies.isLoading) {\r\n const tempCompanies = [];\r\n companies.data.forEach((c) => {\r\n const companyForSelect = { value: c, label: c.name };\r\n tempCompanies.push(companyForSelect);\r\n });\r\n tempCompanies.unshift({ value: \"addNew\", label: \"Lägg till företag\" });\r\n setCompaniesForSelect(tempCompanies);\r\n }\r\n }, [companies.isLoading, companies.data]);\r\n\r\n useEffect(() => {\r\n let tempStudentsForSelect = [];\r\n students.forEach((student) => {\r\n let studentToAdd = {\r\n value: student,\r\n label: student.name,\r\n };\r\n tempStudentsForSelect.push(studentToAdd);\r\n });\r\n aplStudentSupervisors.forEach((studsup) => {\r\n studsup.students.forEach((stud) => {\r\n tempStudentsForSelect = tempStudentsForSelect.filter(\r\n (s) => s.value.id !== stud.id\r\n );\r\n });\r\n });\r\n setStudentsForSelect(tempStudentsForSelect);\r\n let tempSupervisorsForSelect = [];\r\n supervisors.forEach((sv) => {\r\n let supervisor = {\r\n value: sv,\r\n label: sv.name + \" - \" + sv.aplCompany.name,\r\n };\r\n tempSupervisorsForSelect.push(supervisor);\r\n });\r\n let addNewSupervisor = {\r\n value: \"Add\",\r\n label: \"--Lägg till ny handledare--\",\r\n };\r\n tempSupervisorsForSelect.unshift(addNewSupervisor);\r\n programTeachers.forEach((teacher) => {\r\n const teacherToAdd = {\r\n label: teacher.name + \" --Lärare--\",\r\n value: { ...teacher, teacher: true },\r\n };\r\n tempSupervisorsForSelect.push(teacherToAdd);\r\n });\r\n setSelectableSupervisors(tempSupervisorsForSelect);\r\n }, [students, supervisors, aplStudentSupervisors, programTeachers]);\r\n\r\n const handleAddSupervisor = (supervisor) => {\r\n if (supervisor.value === \"Add\") {\r\n setAddNewSupervisorVisible(true);\r\n } else {\r\n const newTeacherSupervisorToAdd = {\r\n supervisor: supervisor.value,\r\n students: [],\r\n };\r\n setAplStudentSupervisors([\r\n ...aplStudentSupervisors,\r\n newTeacherSupervisorToAdd,\r\n ]);\r\n setSelectableSupervisors(\r\n selectableSupervisors.filter(function (sv) {\r\n return sv.value.id !== supervisor.value.id;\r\n })\r\n );\r\n }\r\n };\r\n\r\n const handleReloadSupervisors = () => {\r\n queryClient.invalidateQueries(\"FetchSupervisors\");\r\n };\r\n\r\n const toggleAddToSchool = () => {\r\n setAddToSchoolIsOpen(!addToSchoolIsOpen);\r\n };\r\n\r\n const handleRemoveTeacherSupervisor = (sv) => {\r\n setAplStudentSupervisors(\r\n aplStudentSupervisors.filter(\r\n (supervisor) => supervisor.supervisor.id !== sv.supervisor.id\r\n )\r\n );\r\n const studentsForAdd = [];\r\n sv.students.forEach((stud) => {\r\n const studentForAdd = { label: stud.name, value: stud };\r\n studentsForAdd.push(studentForAdd);\r\n });\r\n setStudentsForSelect([...studentsForSelect, ...studentsForAdd]);\r\n setSelectableSupervisors([\r\n ...selectableSupervisors,\r\n { value: sv.supervisor, label: sv.supervisor.name + \" --Lärare--\" },\r\n ]);\r\n };\r\n\r\n const handleAddStudentToTeacherSupervisor = (supervisor, student) => {\r\n const tempTeacherSupervisors = [...aplStudentSupervisors];\r\n tempTeacherSupervisors\r\n .find((sv) => sv.supervisor.id === supervisor.supervisor.id)\r\n .students.push(student.value);\r\n setAplStudentSupervisors(tempTeacherSupervisors);\r\n setStudentsForSelect(\r\n studentsForSelect.filter((stud) => stud.value.id !== student.value.id)\r\n );\r\n };\r\n\r\n const handleRemoveStudentFromTeacherSupervisor = (supervisor, student) => {\r\n let tempTeacherSupervisors = [...aplStudentSupervisors];\r\n let currentSupervisor = tempTeacherSupervisors.find(\r\n (sv) => sv.supervisor.id === supervisor.supervisor.id\r\n );\r\n currentSupervisor.students = currentSupervisor.students.filter(\r\n (stud) => stud.id !== student.id\r\n );\r\n setAplStudentSupervisors(tempTeacherSupervisors);\r\n setStudentsForSelect([\r\n { label: student.name, value: student },\r\n ...studentsForSelect,\r\n ]);\r\n };\r\n\r\n const handleSetTeacherSupervisorStudentCompany = (\r\n supervisor,\r\n student,\r\n company\r\n ) => {\r\n if (company === \"addNew\") {\r\n setAddNewCompanyIsOpen(true);\r\n } else {\r\n let tempTeacherSupervisors = [...aplStudentSupervisors];\r\n let currentSupervisor = tempTeacherSupervisors.find(\r\n (sv) => sv.supervisor.id === supervisor.supervisor.id\r\n );\r\n const indexOfstudent = currentSupervisor.students.findIndex(\r\n (stud) => stud.id === student.id\r\n );\r\n currentSupervisor.students[indexOfstudent].companyId = company.id;\r\n\r\n setAplStudentSupervisors(tempTeacherSupervisors);\r\n }\r\n };\r\n\r\n const handleAddNewCompany = () => {\r\n let cleanedCompanyName = newCompanyName.replace(\"&\", \"%26\");\r\n if (\r\n companies.data.some(\r\n (company) =>\r\n company.name.trim().toLowerCase() ===\r\n newCompanyName.trim().toLowerCase()\r\n )\r\n ) {\r\n setShowCompanyNameOccupied(true);\r\n } else {\r\n postSupervisorCompanyMutation.mutate(cleanedCompanyName, {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n toast.success(\"Företag tillagt\");\r\n queryClient.invalidateQueries(\"FetchSupervisorCompanies\");\r\n } else {\r\n toast.warn(data);\r\n }\r\n setAddNewCompanyIsOpen(false);\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n });\r\n }\r\n };\r\n\r\n const TeacherSupervisorsAndStudents = () => {\r\n if (aplStudentSupervisors.length > 0) {\r\n return aplStudentSupervisors.map((sv) => {\r\n return (\r\n \r\n \r\n handleRemoveTeacherSupervisor(sv)}\r\n />\r\n {sv.supervisor.name}\r\n \r\n ({ ...base, zIndex: 9999 }) }}\r\n name=\"students\"\r\n options={studentsForSelect}\r\n onChange={(event) =>\r\n handleAddStudentToTeacherSupervisor(sv, event)\r\n }\r\n />\r\n {sv.students.map((student) => {\r\n return (\r\n \r\n \r\n \r\n handleRemoveStudentFromTeacherSupervisor(sv, student)\r\n }\r\n >\r\n \r\n \r\n \r\n {student.name}\r\n \r\n ({ ...base, zIndex: 9999 }),\r\n }}\r\n placeholder={intl.formatMessage({\r\n id: \"ChooseStudentsPlacement\",\r\n })}\r\n name=\"studentCompany\"\r\n defaultValue={\r\n student.companyId\r\n ? companiesForSelect.find(\r\n (company) =>\r\n company.value.id === student.companyId\r\n )\r\n : null\r\n }\r\n options={companiesForSelect}\r\n onChange={(event) =>\r\n handleSetTeacherSupervisorStudentCompany(\r\n sv,\r\n student,\r\n event.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 return null;\r\n };\r\n if (companies.isLoading) {\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 ({ ...base, zIndex: 9999 }) }}\r\n name=\"students\"\r\n options={selectableSupervisors}\r\n onChange={(event) => handleAddSupervisor(event)}\r\n />\r\n {addNewSupervisorVisible ? (\r\n setAddNewSupervisorVisible(false)}\r\n reloadSupervisors={handleReloadSupervisors}\r\n selectableSupervisors={selectableSupervisors}\r\n setSelectableSupervisors={setSelectableSupervisors}\r\n supervisorToAddToSchool={supervisorToAddToSchool}\r\n setSupervisorToAddToSchool={setSupervisorToAddToSchool}\r\n addToSchoolIsOpen={addToSchoolIsOpen}\r\n setAddToSchoolIsOpen={setAddToSchoolIsOpen}\r\n toggleAddToSchool={toggleAddToSchool}\r\n schoolId={schoolId}\r\n />\r\n ) : (\r\n \"\"\r\n )}\r\n {/* */}\r\n \r\n setAddNewCompanyIsOpen(!addNewCompanyIsOpen)}\r\n isOpen={addNewCompanyIsOpen}\r\n title={\"Lägg till företag\"}\r\n onChange={(val) => setNewCompanyName(val)}\r\n defaultName={null}\r\n onProceed={(val) => handleAddNewCompany(val)}\r\n />\r\n setShowCompanyNameOccupied(false)}\r\n isOpen={showCompanyNameOccupied}\r\n title={intl.formatMessage({ id: \"CompanyAlreadyExists\" })}\r\n message={intl.formatMessage({ id: \"CompanyAlreadyExistsExplanation\" })}\r\n />\r\n \r\n );\r\n};\r\nexport default injectIntl(CreateAPLPeriodSupervisor);\r\n","import { Tab, Tabs, Rating } from \"@mui/material\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Row, Col, Input } from \"reactstrap\";\r\nimport { Button } from \"reactstrap/lib\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport styled from \"styled-components\";\r\n\r\nexport default function APLRatingModal({\r\n questionsToDelete,\r\n setQuestionsToDelete,\r\n setNewStudentQuestions,\r\n setNewSupervisorQuestions,\r\n newStudentQuestions,\r\n newSupervisorQuestions,\r\n}) {\r\n const [level, setLevel] = useState(false);\r\n const [toggledQuestion, setToggledQuestion] = useState(-1);\r\n\r\n useEffect(() => {\r\n setLevel(\"student\");\r\n }, []);\r\n\r\n if (!newStudentQuestions || !newSupervisorQuestions) {\r\n return null;\r\n }\r\n const renderQuestions = (questionGroup) => {\r\n switch (questionGroup) {\r\n case \"student\":\r\n return (\r\n
    \r\n {newStudentQuestions.map((question, index) => {\r\n return (\r\n \r\n \r\n {toggledQuestion === index ? (\r\n
    \r\n {\r\n if (event.target.type !== \"text\") {\r\n setToggledQuestion(-1);\r\n }\r\n }}\r\n onKeyDown={(event) => {\r\n if (\r\n event.key === \"Enter\" ||\r\n event.key === \"Escape\"\r\n ) {\r\n setToggledQuestion(-1);\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n }}\r\n onChange={(e) => {\r\n var tempQuestionArray = [...newStudentQuestions];\r\n tempQuestionArray[index].question = e.target.value;\r\n setNewStudentQuestions(tempQuestionArray);\r\n }}\r\n type=\"text\"\r\n value={question.question}\r\n />\r\n
    \r\n
    \r\n ) : (\r\n {\r\n setToggledQuestion(index);\r\n }}\r\n title=\"Dubbelklicka för att ändra\"\r\n >\r\n {question.question}\r\n \r\n )}\r\n {\r\n var ratingQuestions = [...newStudentQuestions];\r\n ratingQuestions[index].responseRange = newValue;\r\n setNewStudentQuestions(ratingQuestions);\r\n }}\r\n />\r\n \r\n \r\n {\r\n var ratingQuestions;\r\n if (question.id) {\r\n ratingQuestions = [...questionsToDelete];\r\n ratingQuestions.push(question);\r\n setQuestionsToDelete(ratingQuestions);\r\n }\r\n ratingQuestions = [...newStudentQuestions];\r\n ratingQuestions.splice(index, 1);\r\n setNewStudentQuestions(ratingQuestions);\r\n }}\r\n >\r\n \r\n
    \r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n case \"supervisor\":\r\n return (\r\n
    \r\n {newSupervisorQuestions.map((question, index) => {\r\n return (\r\n \r\n \r\n {toggledQuestion === index ? (\r\n
    \r\n {\r\n if (event.target.type !== \"text\") {\r\n setToggledQuestion(-1);\r\n }\r\n }}\r\n onKeyDown={(event) => {\r\n if (\r\n event.key === \"Enter\" ||\r\n event.key === \"Escape\"\r\n ) {\r\n setToggledQuestion(-1);\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n }}\r\n onChange={(e) => {\r\n var tempQuestionArray = [...newSupervisorQuestions];\r\n tempQuestionArray[index].question = e.target.value;\r\n setNewSupervisorQuestions(tempQuestionArray);\r\n }}\r\n type=\"text\"\r\n value={question.question}\r\n />\r\n
    \r\n
    \r\n ) : (\r\n {\r\n setToggledQuestion(index);\r\n }}\r\n title=\"Dubbelklicka för att ändra\"\r\n >\r\n {question.question}\r\n \r\n )}\r\n {\r\n var ratingQuestions = [...newSupervisorQuestions];\r\n ratingQuestions[index].responseRange = newValue;\r\n setNewSupervisorQuestions(ratingQuestions);\r\n }}\r\n />\r\n \r\n \r\n {\r\n if (question.id) {\r\n var ratingQuestions;\r\n ratingQuestions = [...questionsToDelete];\r\n ratingQuestions.push(question);\r\n setQuestionsToDelete(ratingQuestions);\r\n }\r\n ratingQuestions = [...newSupervisorQuestions];\r\n ratingQuestions.splice(index, 1);\r\n setNewSupervisorQuestions(ratingQuestions);\r\n }}\r\n >\r\n \r\n
    \r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const handleChange = (event, newValue) => {\r\n setToggledQuestion(-1);\r\n setLevel(newValue);\r\n };\r\n\r\n return (\r\n {\r\n if (toggledQuestion !== -1 && event.target.type !== \"text\") {\r\n setToggledQuestion(-1);\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {renderQuestions(level)}\r\n {\r\n if (level === \"student\") {\r\n var newQuestion;\r\n let temp = [...newStudentQuestions];\r\n newQuestion = {\r\n question: \"Skriv din fråga här\",\r\n responseRange: 5,\r\n };\r\n temp.push(newQuestion);\r\n setNewStudentQuestions(temp);\r\n } else if (level === \"supervisor\") {\r\n let temp = [...newSupervisorQuestions];\r\n newQuestion = {\r\n question: \"Skriv din fråga här\",\r\n responseRange: 5,\r\n };\r\n temp.push(newQuestion);\r\n setNewSupervisorQuestions(temp);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nvar TextHover = styled.p`\r\n width: fit-content;\r\n padding: 0 1rem 0 0;\r\n &:hover {\r\n border: 1px solid lightgrey;\r\n }\r\n`;\r\n","import React from \"react\";\r\nimport { withFormik, Form, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport { FormGroup, Label, Button, Col, Row, Card } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nconst CreateNewInfoPerson = (props) => {\r\n const { values, errors, touched, isSubmitting } = props;\r\n\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {errors.personName && touched.personName && (\r\n
    {errors.personName}
    \r\n )}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {errors.personEmail && touched.personEmail && (\r\n
    {errors.personEmail}
    \r\n )}\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {errors.personPhone && touched.personPhone && (\r\n
    {errors.personPhone}
    \r\n )}\r\n
    \r\n \r\n
    \r\n\r\n \r\n {isSubmitting ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst FormikForm = withFormik({\r\n mapPropsToValues: (props) => ({\r\n personName: props.personName,\r\n personEmail: props.personEmail,\r\n personPhone: props.personPhone,\r\n }),\r\n validationSchema: Yup.object().shape({\r\n personName: Yup.string().required(\"Nödvändigt\"),\r\n personEmail: Yup.string()\r\n .email(\"Måste vara en giltig epost\")\r\n .max(255)\r\n .required(\"Epost är nödvändig\"),\r\n }),\r\n\r\n handleSubmit(values, { props, resetForm, setSubmitting }) {\r\n let tempInformationPerson = {\r\n name: values.personName,\r\n mail: values.personEmail,\r\n phoneNumber: values.personPhone,\r\n forUsers: [],\r\n forUserIds: [],\r\n };\r\n\r\n if (props.periodId) {\r\n tempInformationPerson.aplPeriodId = props.periodId;\r\n }\r\n\r\n var tempInfoPersonList = [...props.informationPersons];\r\n tempInfoPersonList.push(tempInformationPerson);\r\n props.setInformationPersons(tempInfoPersonList);\r\n\r\n setSubmitting(false);\r\n resetForm({ values: { personName: \"\", personEmail: \"\", personPhone: \"\" } });\r\n\r\n toast.success(, {\r\n position: \"top-right\",\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n autoClose: 3000,\r\n });\r\n },\r\n})(CreateNewInfoPerson);\r\n\r\nexport default FormikForm;\r\n","import CreateNewInfoPerson from \"../APL/CreateNewInfoPerson\";\r\nimport { useEffect, useState } from \"react\";\r\nimport Select from \"react-select\";\r\nimport { Card, CardHeader } from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { toast } from \"react-toastify\";\r\nimport { injectIntl } from \"react-intl\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nconst APLInformationPersonModal = ({\r\n periodId,\r\n students,\r\n supervisors,\r\n setInformationPersons,\r\n informationPersons,\r\n infoPersonUsers,\r\n setInfoPersonUsers,\r\n updateInfoPersonAddUsers,\r\n updateInfoPersonRemoveUsers,\r\n intl,\r\n}) => {\r\n const [selectableInfoPersons, setSelectableInfoPersons] = useState([]);\r\n const [selectableUsers, setSelectableUsers] = useState([]);\r\n\r\n useEffect(() => {\r\n let UsersForSelect = [];\r\n students.forEach((stud) => {\r\n UsersForSelect.push({\r\n userType: \"Student\",\r\n value: stud.student ? stud.student : stud,\r\n label: stud.student ? stud.student.name : stud.name,\r\n });\r\n });\r\n supervisors.forEach((sv) => {\r\n let supervisorForSelect = {\r\n userType: \"AplSupervisor\",\r\n value: sv,\r\n label: sv.name,\r\n };\r\n UsersForSelect.push(supervisorForSelect);\r\n });\r\n\r\n setSelectableUsers(UsersForSelect);\r\n\r\n let infoPersonsToSelect = [];\r\n let tempInfoPersonUsers = [];\r\n\r\n informationPersons.forEach((tInfoPerson, index) => {\r\n if (tInfoPerson.forUserIds && tInfoPerson.forUserIds.length > 0) {\r\n var tempUsers = [];\r\n tInfoPerson.forUsers.forEach((user) => {\r\n if (user.value) {\r\n tempUsers.push(user);\r\n } else {\r\n tempUsers.push({\r\n userType: user.userTypeOf,\r\n value: user,\r\n label: user.name,\r\n });\r\n }\r\n });\r\n\r\n tInfoPerson.forUsers = tempUsers;\r\n tempInfoPersonUsers.push(tInfoPerson);\r\n } else {\r\n infoPersonsToSelect.push({ label: tInfoPerson.name, value: index });\r\n }\r\n });\r\n\r\n setInfoPersonUsers(tempInfoPersonUsers);\r\n setSelectableInfoPersons(infoPersonsToSelect);\r\n }, [informationPersons, students, supervisors, setInfoPersonUsers]);\r\n\r\n const handleAddInfoPerson = (infoPerson) => {\r\n var tempInfoPerson = informationPersons[infoPerson.value];\r\n setInfoPersonUsers((infoPersonUsers) => [\r\n ...infoPersonUsers,\r\n tempInfoPerson,\r\n ]);\r\n let tempSelectableInfoPersons = selectableInfoPersons;\r\n tempSelectableInfoPersons.splice(infoPerson.value, 1);\r\n setSelectableInfoPersons(tempSelectableInfoPersons);\r\n };\r\n\r\n const handleRemoveInfoPerson = (infoPerson, index) => {\r\n if (infoPerson.forUsers.length > 0) {\r\n handleAddAndRemoveUsersToInfoPerson([], index);\r\n }\r\n\r\n var tempInfoPersonUsers = [...infoPersonUsers];\r\n tempInfoPersonUsers.splice(index, 1);\r\n setInfoPersonUsers(tempInfoPersonUsers);\r\n\r\n var tempSelectableInfoPersons = [...selectableInfoPersons];\r\n tempSelectableInfoPersons.push({ label: infoPerson.name, value: index });\r\n setSelectableInfoPersons(tempSelectableInfoPersons);\r\n };\r\n\r\n const handleAddAndRemoveUsersToInfoPerson = (users, infoPersonIndex) => {\r\n let infoPerson = infoPersonUsers[infoPersonIndex];\r\n let tempInfoPersonUsers = [...infoPersonUsers];\r\n if (infoPerson.forUsers.length > users.length) {\r\n //Find out which student was removed\r\n let removedUsers = infoPerson.forUsers.filter(function (user) {\r\n return users.indexOf(user) === -1;\r\n });\r\n\r\n //Update InfoPersonUsers\r\n tempInfoPersonUsers[infoPersonIndex].forUsers =\r\n users && users.length > 0 ? users : [];\r\n setInfoPersonUsers(tempInfoPersonUsers);\r\n infoPerson = tempInfoPersonUsers[infoPersonIndex];\r\n if (infoPerson.id) {\r\n let userIds = [];\r\n removedUsers.forEach((user) => {\r\n userIds.push(user.value.id);\r\n });\r\n updateInfoPersonRemoveUsers.mutate(\r\n {\r\n id: infoPerson.id,\r\n userIds: userIds,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n var infoPersonId = data.data.result.id;\r\n var informationPersonIndex = informationPersons.findIndex(\r\n (person) => {\r\n return person.id === infoPersonId;\r\n }\r\n );\r\n informationPersons[informationPersonIndex] = data.data.result;\r\n setInformationPersons(informationPersons);\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n }\r\n } else {\r\n var dummyUserIndex = -1;\r\n let tempArray = [];\r\n if (\r\n users.findIndex((user) => {\r\n return user.value === \"AllSupervisors\";\r\n }) !== -1\r\n ) {\r\n users = users.filter((user) => user.userType !== \"AplSupervisor\");\r\n tempArray = selectableUsers.filter(\r\n (user) => user.userType === \"AplSupervisor\"\r\n );\r\n users.push(...tempArray);\r\n dummyUserIndex = users.findIndex((user) => {\r\n return user.value === \"AllSupervisors\";\r\n });\r\n } else if (\r\n users.findIndex((user) => {\r\n return user.value === \"AllStudents\";\r\n }) !== -1\r\n ) {\r\n users = users.filter((user) => user.userType !== \"Student\");\r\n tempArray = selectableUsers.filter(\r\n (user) => user.userType === \"Student\"\r\n );\r\n users.push(...tempArray);\r\n dummyUserIndex = users.findIndex((user) => {\r\n return user.value === \"AllStudents\";\r\n });\r\n }\r\n\r\n if (dummyUserIndex !== -1) {\r\n users.splice(dummyUserIndex, 1);\r\n }\r\n\r\n //Update InfoPersonUsers\r\n tempInfoPersonUsers[infoPersonIndex].forUsers = users;\r\n setInfoPersonUsers(tempInfoPersonUsers);\r\n\r\n infoPerson = tempInfoPersonUsers[infoPersonIndex];\r\n if (infoPerson.id) {\r\n let userIds = [];\r\n var tempInfoPersonUserIds = informationPersons.filter((obj) => {\r\n return obj.id === infoPerson.id;\r\n })[0].forUserIds;\r\n users.forEach((user) => {\r\n if (\r\n tempInfoPersonUserIds.findIndex((id) => {\r\n return id === user.value.id;\r\n }) < 0\r\n ) {\r\n userIds.push(user.value.id);\r\n }\r\n });\r\n\r\n if (userIds.length > 0) {\r\n updateInfoPersonAddUsers.mutate(\r\n {\r\n id: infoPerson.id,\r\n userIds: userIds,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n var infoPersonId = data.data.result.id;\r\n var informationPersonIndex = informationPersons.findIndex(\r\n (person) => {\r\n return person.id === infoPersonId;\r\n }\r\n );\r\n informationPersons[informationPersonIndex] = data.data.result;\r\n setInformationPersons(informationPersons);\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n }\r\n }\r\n }\r\n };\r\n\r\n const InfoPersonsUsers = ({ intl }) => {\r\n if (infoPersonUsers.length > 0) {\r\n return infoPersonUsers.map((person, key) => {\r\n var selectableStudents = [];\r\n var selectableSupervisors = [];\r\n selectableUsers.forEach((user) => {\r\n if (\r\n person.forUsers.findIndex((forUser) => {\r\n return forUser.value\r\n ? forUser.value.id === user.value.id\r\n : forUser.id === user.value.id;\r\n }) < 0\r\n ) {\r\n if (user.userType === \"Student\") {\r\n selectableStudents.push(user);\r\n } else if (user.userType === \"AplSupervisor\") {\r\n selectableSupervisors.push(user);\r\n }\r\n }\r\n });\r\n\r\n if (selectableStudents.length > 1) {\r\n let AddAllStudents = {\r\n value: \"AllStudents\",\r\n userType: \"SelectAllStudents\",\r\n label: intl.formatMessage({\r\n id: \"SelectAllStudentsInPeriod\",\r\n }),\r\n };\r\n selectableStudents.unshift(AddAllStudents);\r\n }\r\n\r\n if (selectableSupervisors.length > 1) {\r\n let AddAllSupervisors = {\r\n value: \"AllSupervisors\",\r\n userType: \"SelectAllSupervisors\",\r\n label: intl.formatMessage({\r\n id: \"SelectAllSupervisorsInPeriod\",\r\n }),\r\n };\r\n selectableSupervisors.unshift(AddAllSupervisors);\r\n }\r\n\r\n const groupedOptions = [\r\n {\r\n label: \"Elever\",\r\n options: selectableStudents,\r\n },\r\n {\r\n label: \"Handledare\",\r\n options: selectableSupervisors,\r\n },\r\n ];\r\n\r\n return (\r\n \r\n \r\n handleRemoveInfoPerson(person, key)}\r\n />\r\n {person.name}\r\n \r\n ({ ...base, zIndex: 9999 }) }}\r\n name=\"forUsers\"\r\n defaultValue={person.forUsers}\r\n isMulti\r\n options={groupedOptions}\r\n onChange={(event) =>\r\n handleAddAndRemoveUsersToInfoPerson(event, key)\r\n }\r\n noOptionsMessage={({ inputValue }) => (\r\n \r\n )}\r\n />\r\n \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 ({ ...base, zIndex: 9999 }) }}\r\n name=\"infoPersons\"\r\n placeholder={intl.formatMessage({\r\n id: \"ChooseContactPerson\",\r\n })}\r\n options={selectableInfoPersons}\r\n onChange={(event) => handleAddInfoPerson(event)}\r\n noOptionsMessage={({ inputValue }) => (\r\n \r\n )}\r\n />\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default injectIntl(APLInformationPersonModal);\r\n","import React, { useEffect, useState } from \"react\";\r\nimport \"@devexpress/dx-react-grid-bootstrap4/dist/dx-react-grid-bootstrap4.css\";\r\nimport \"open-iconic/font/css/open-iconic-bootstrap.css\";\r\nimport {\r\n Grid,\r\n TableHeaderRow,\r\n TableTreeColumn,\r\n Table,\r\n TableColumnResizing,\r\n} from \"@devexpress/dx-react-grid-bootstrap4\";\r\nimport { CustomTreeData, TreeDataState } from \"@devexpress/dx-react-grid\";\r\n\r\nconst TableComponent = ({ ...restProps }) => (\r\n \r\n);\r\n\r\nexport default function APLDataGrid({\r\n period,\r\n data,\r\n columns,\r\n columnExtensions,\r\n}) {\r\n const [defaultColumnWidths] = useState(columnExtensions);\r\n const [rows, setRows] = useState([]);\r\n\r\n useEffect(() => {\r\n var parentRows = data.filter((r) => r.parentId === null);\r\n parentRows.forEach((row) => {\r\n row.childRows = data.filter((r) => r.parentId === row.id);\r\n });\r\n setRows(parentRows);\r\n }, [data]);\r\n\r\n const getChildRows = (row, rootRows) => {\r\n return row ? row.childRows : rootRows;\r\n };\r\n\r\n const totalHours = period\r\n ? Math.round(\r\n ((new Date(period.to) - new Date(period.from)) /\r\n (7 * 24 * 60 * 60 * 1000)) *\r\n period.hoursPerWeek\r\n )\r\n : 0;\r\n\r\n const TableRow = ({ row, ...restProps }) => {\r\n const rowColorAmount = (row.hours / totalHours) * 100;\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\n \r\n );\r\n}\r\n","import { useState, useEffect } from \"react\";\r\nimport { Card, CardBody } from \"reactstrap\";\r\nimport { Row, Col } from \"reactstrap\";\r\nimport { CLabel, CInput, CFormGroup } from \"@coreui/react\";\r\nimport Select from \"react-select\";\r\nimport APLDataGrid from \"../DataGrids/APLDataGrid\";\r\nimport { FormattedMessage, injectIntl, intlShape } from \"react-intl\";\r\n\r\nconst APLCreateNewWorkCard = (props) => {\r\n const [selectableWorkCards, setSelectableWorkCards] = useState([]);\r\n\r\n useEffect(() => {\r\n let tempSelectableWorkCards = [];\r\n props.existingWorkCards.forEach((wc) => {\r\n let selectableWorkCard = {\r\n value: wc,\r\n label: wc.name,\r\n };\r\n tempSelectableWorkCards.push(selectableWorkCard);\r\n setSelectableWorkCards(tempSelectableWorkCards);\r\n });\r\n }, [props.existingWorkCards]);\r\n\r\n let columnExtensions = [\r\n { columnName: \"name\", width: 350 },\r\n { columnName: \"edit\", width: 100, padding: 0 },\r\n ];\r\n\r\n const columns = [\r\n { title: , name: \"name\" },\r\n { title: , name: \"edit\" },\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 props.setNewWorkcardName(data.target.value)}\r\n placeholder=\"Namn...\"\r\n autoComplete=\"false\"\r\n />\r\n \r\n\r\n {props.aplValidationErrors.includes(\"aplCreateWorkcardNoName\") && (\r\n

    \r\n \r\n

    \r\n )}\r\n {props.aplWorkcardNameAlreadyExists && (\r\n

    \r\n \r\n

    \r\n )}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n :\r\n \r\n ({\r\n label: option.label,\r\n value: option,\r\n }))}\r\n placeholder={props.intl.formatMessage({ id: \"ChooseWorkCard\" })}\r\n onChange={(selected) =>\r\n props.handleSelectWorkCardTemplate(selected.value)\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nAPLCreateNewWorkCard.propTypes = {\r\n intl: intlShape.isRequired,\r\n};\r\n\r\nexport default injectIntl(APLCreateNewWorkCard);\r\n","import React, { useState } from \"react\";\r\nimport {\r\n Button,\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Input,\r\n} from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nexport default function AddItemWithOnlyNameModal({ close, isOpen, onProceed }) {\r\n const [name, setName] = useState(\"\");\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n setName(data.target.value)} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"react-nice-dates/build/style.css\";\r\nimport {\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n CardTitle,\r\n Card,\r\n CardBody,\r\n CardSubtitle,\r\n CardFooter,\r\n Row,\r\n Button,\r\n Input,\r\n} from \"reactstrap\";\r\nimport CreateAPLPeriodGeneral from \"./CreateAPLPeriodGeneral\";\r\nimport CreateAPLPeriodDocuments from \"./CreateAPLPeriodDocuments\";\r\nimport CreateAPLPeriodWorkCard from \"./CreateAPLPeriodWorkCard\";\r\nimport CreateAPLPeriodSupervisor from \"./CreateAPLPeriodSupervisor\";\r\nimport APLRatingModal from \"./APLRatingModal\";\r\nimport {\r\n PostAplPeriod,\r\n PostAplInformationPerson,\r\n} from \"../../actions/teacherMutations\";\r\nimport { useMutation, useQueryClient } from \"react-query\";\r\nimport { toast } from \"react-toastify\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport moment from \"moment\";\r\nimport APLInformationPersonModal from \"./APLInformationPersonModal\";\r\nimport APLCreateNewWorkCard from \"../APL/APLCreateNewWorkCard\";\r\nimport { PostAplWorkCard } from \"../../actions/teacherMutations\";\r\nimport uuid from \"uuid\";\r\nimport AlertModal from \"./AlertModal\";\r\nimport axios from \"../../services/api/api\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport AddItemWithOnlyNameModal from \"../Modal/AddItemWithOnlyNameModal\";\r\n\r\nexport default function CreateAPLPeriodModal({\r\n supervisors,\r\n students,\r\n toggle,\r\n isOpen,\r\n existingWorkCards,\r\n currentPeriods,\r\n setCurrentPeriods,\r\n handleSaveEvaluationQuestions,\r\n questionsToDelete,\r\n setQuestionsToDelete,\r\n schoolId,\r\n level,\r\n objId,\r\n programTeachers,\r\n}) {\r\n const [page, setPage] = useState(1);\r\n const [aplName, setAplName] = useState(null);\r\n const [aplStartDate, setAplStartDate] = useState(null);\r\n const [aplEndDate, setAplEndDate] = useState(null);\r\n const [aplHoursPerWeek, setAplHoursPerWeek] = useState(40);\r\n const [aplDaysPerWeek, setAplDaysPerWeek] = useState(5);\r\n const [aplStudentSupervisors, setAplStudentSupervisors] = useState([]);\r\n const [aplWorkcard, setWorkcard] = useState(null);\r\n const [aplDocumentsWithUsers, setAplDocumentsWithUsers] = useState([]);\r\n const [aplValidationErrors, setAplValidationErrors] = useState([]);\r\n const [aplWorkcardNameAlreadyExists, setAplWorkcardNameAlreadyExists] =\r\n useState(false);\r\n const [informationPersons, setInformationPersons] = useState([]);\r\n const [infoPersonUsers, setInfoPersonUsers] = useState([]);\r\n const [studentsInPeriod, setStudentsInPeriod] = useState([]);\r\n const [supervisorsInPeriod, setSupervisorsInPeriod] = useState([]);\r\n const [newStudentQuestions, setNewStudentQuestions] = useState([]);\r\n const [newSupervisorQuestions, setNewSupervisorQuestions] = useState([]);\r\n const [tableData, setTableData] = useState([\r\n {\r\n parentId: null,\r\n name: (\r\n setWorkItemToAdd({ parentId: null })}\r\n >\r\n \r\n \r\n ),\r\n button: true,\r\n },\r\n ]);\r\n const [newWorkcardName, setNewWorkcardName] = useState(\"\");\r\n const [defaultSelectedWorkCard, setDefaultSelectedWorkCard] = useState(null);\r\n const [availableStudents, setAvailableStudents] = useState([]);\r\n const [\r\n thereAreWorkStepsWithoutComponentsOrNoWorkSteps,\r\n setThereAreWorkStepsWithoutComponentsOrNoWorkSteps,\r\n ] = useState(false);\r\n const [workcardItemForEditName, setWorkcardItemForEditName] = useState(null);\r\n const [workcardItemForDelete, setWorkcardItemForDelete] = useState(null);\r\n const [workItemToAdd, setWorkItemToAdd] = useState(null);\r\n const handlehandleAddNewItem = (newItem) => {\r\n if (newItem.name !== \"\") {\r\n setTableData((prevState) => [newItem, ...prevState]);\r\n }\r\n };\r\n\r\n const postPeriodMutation = useMutation(PostAplPeriod);\r\n const postAplInfoPerson = useMutation(PostAplInformationPerson);\r\n const postWorkCardMutation = useMutation(PostAplWorkCard);\r\n const queryClient = useQueryClient();\r\n\r\n useEffect(() => {\r\n if (workcardItemForEditName !== null) {\r\n setTableData((data) => [\r\n ...data,\r\n (data.find((item) => item.id === workcardItemForEditName.id).name = (\r\n \r\n setWorkcardItemForEditName({\r\n id: workcardItemForEditName.id,\r\n name: data.target.value,\r\n isWorkstep: false,\r\n parentId: workcardItemForEditName.parentId,\r\n })\r\n }\r\n />\r\n )),\r\n ]);\r\n }\r\n }, [workcardItemForEditName]);\r\n\r\n useEffect(() => {\r\n if (workcardItemForDelete !== null) {\r\n setTableData((data) =>\r\n data\r\n .filter((item) => item.id !== workcardItemForDelete.id)\r\n .filter((item) => item.parentId !== workcardItemForDelete.id)\r\n );\r\n }\r\n }, [workcardItemForDelete]);\r\n\r\n const clearWizardModal = () => {\r\n setPage(1);\r\n setAplName(null);\r\n setAplStartDate(null);\r\n setAplEndDate(null);\r\n setAplHoursPerWeek(40);\r\n setAplDaysPerWeek(5);\r\n setAplStudentSupervisors([]);\r\n setWorkcard(null);\r\n setAplDocumentsWithUsers([]);\r\n setAplValidationErrors([]);\r\n setInformationPersons([]);\r\n setInfoPersonUsers([]);\r\n setNewStudentQuestions([]);\r\n setNewSupervisorQuestions([]);\r\n setDefaultSelectedWorkCard(null);\r\n setTableData([\r\n {\r\n parentId: null,\r\n name: (\r\n setWorkItemToAdd({ parentId: null })}\r\n >\r\n \r\n \r\n ),\r\n button: true,\r\n },\r\n ]);\r\n };\r\n\r\n const handleCloseModal = () => {\r\n clearWizardModal();\r\n toggle();\r\n };\r\n\r\n const handleSetName = (name) => {\r\n setAplName(name);\r\n };\r\n const handleSetStartDate = (date) => {\r\n setAplStartDate(date);\r\n };\r\n const handleSetEndDate = (date) => {\r\n setAplEndDate(date);\r\n };\r\n\r\n const handleSetHoursPerWeek = (hours) => {\r\n setAplHoursPerWeek(hours);\r\n };\r\n const handleSetDaysPerWeek = (days) => {\r\n setAplDaysPerWeek(days);\r\n };\r\n const handleSetStudentSupervisors = (studsups) => {\r\n let tempStudentsInPeriod = [];\r\n let tempSupervisorsInPeriod = [];\r\n studsups.forEach((supervisor) => {\r\n tempSupervisorsInPeriod.push(supervisor.supervisor);\r\n supervisor.students.forEach((stud) => {\r\n tempStudentsInPeriod.push(stud);\r\n });\r\n });\r\n setStudentsInPeriod(tempStudentsInPeriod);\r\n setSupervisorsInPeriod(tempSupervisorsInPeriod);\r\n setAplStudentSupervisors(studsups);\r\n };\r\n\r\n const toFormData = (file, paramName) => {\r\n if (!file) return null;\r\n\r\n var myData = new FormData();\r\n myData.append(paramName, file);\r\n return myData;\r\n };\r\n\r\n const handleAddAPLPeriod = () => {\r\n let participants = [];\r\n let participantIds = [];\r\n var docs = [];\r\n aplStudentSupervisors.forEach((sv) => {\r\n sv.students.forEach((student) => {\r\n let participant = {\r\n studentId: student.id,\r\n supervisorId: sv.supervisor.id,\r\n companyId: student.companyId,\r\n };\r\n participants.push(participant);\r\n\r\n if (!participantIds.includes(student.id)) {\r\n participantIds.push(student.id);\r\n }\r\n\r\n if (!participantIds.includes(sv.supervisor.id)) {\r\n participantIds.push(sv.supervisor.id);\r\n }\r\n });\r\n });\r\n let period = {\r\n name: aplName,\r\n start: moment(aplStartDate).format(),\r\n end: moment(aplEndDate).format(),\r\n hoursPerWeek: aplHoursPerWeek,\r\n daysPerWeek: aplDaysPerWeek,\r\n participants: participants,\r\n workCardId: aplWorkcard.id,\r\n documents: aplDocumentsWithUsers,\r\n };\r\n postPeriodMutation.mutate(period, {\r\n onSuccess: async (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n for (const doc of aplDocumentsWithUsers) {\r\n var userIds = [];\r\n for (let index = 0; index < doc.users.length; index++) {\r\n userIds.push(doc.users[index].value.id);\r\n }\r\n const docdata = await axios\r\n .post(\r\n `/Apl/PostDocumentForPeriod?description=${\r\n doc.description\r\n }&periodId=${data.data.result.id}&userIds=${userIds.join(\r\n \"&userIds=\"\r\n )}`,\r\n toFormData(doc.document, \"document\"),\r\n { headers: { \"Content-Type\": \"multipart/form-data;\" } }\r\n )\r\n .catch((err) => {\r\n toast.warn(err.response.data);\r\n });\r\n if (docdata && docdata.status > 199 && docdata.status < 300) {\r\n docs.push(docdata.data.result);\r\n }\r\n }\r\n setAplDocumentsWithUsers([]);\r\n handleSaveEvaluationQuestions(\r\n data.data.result.id,\r\n newStudentQuestions,\r\n newSupervisorQuestions\r\n );\r\n\r\n infoPersonUsers.forEach((person) => {\r\n var forUserIds = [];\r\n person.forUsers.forEach((user) => {\r\n forUserIds.push(user.value.id);\r\n });\r\n\r\n postAplInfoPerson.mutate(\r\n {\r\n aplPeriodId: data.data.result.id,\r\n name: person.name,\r\n mail: person.mail,\r\n phoneNumber: person.phoneNumber,\r\n forUserIds: forUserIds,\r\n },\r\n {\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n });\r\n var tempPeriods = [...currentPeriods];\r\n tempPeriods.push({\r\n period: data.data.result,\r\n documents: docs,\r\n });\r\n setCurrentPeriods(tempPeriods);\r\n clearWizardModal();\r\n queryClient.invalidateQueries([\"FetchPeriods\", [level, objId]]);\r\n toast.success();\r\n } else {\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n });\r\n toggle();\r\n };\r\n\r\n const renderHowTo = () => {\r\n switch (page) {\r\n case 0:\r\n return <>;\r\n case 1:\r\n return (\r\n

    \r\n \r\n

    \r\n );\r\n case 2:\r\n return (\r\n

    \r\n \r\n

    \r\n );\r\n case 3:\r\n return (\r\n

    \r\n \r\n

    \r\n );\r\n case 4:\r\n return (\r\n

    \r\n \r\n

    \r\n );\r\n case 5:\r\n return (\r\n

    \r\n \r\n

    \r\n );\r\n case 6:\r\n return (\r\n

    \r\n \r\n

    \r\n );\r\n case 7:\r\n return (\r\n

    \r\n \r\n

    \r\n );\r\n default:\r\n return (\r\n

    \r\n \r\n

    \r\n );\r\n }\r\n };\r\n\r\n const renderTitle = () => {\r\n switch (page) {\r\n case 0:\r\n return (\r\n

    \r\n \r\n

    \r\n );\r\n case 1:\r\n return (\r\n

    \r\n \r\n

    \r\n );\r\n case 2:\r\n return (\r\n

    \r\n \r\n

    \r\n );\r\n case 3:\r\n return (\r\n

    \r\n \r\n

    \r\n );\r\n case 4:\r\n return (\r\n

    \r\n \r\n

    \r\n );\r\n case 5:\r\n return (\r\n

    \r\n \r\n

    \r\n );\r\n case 6:\r\n return (\r\n

    \r\n \r\n

    \r\n );\r\n case 7:\r\n return (\r\n

    \r\n \r\n

    \r\n );\r\n default:\r\n return (\r\n

    \r\n \r\n

    \r\n );\r\n }\r\n };\r\n\r\n const calculateSelectableStudents = (aplStartDate, aplEndDate) => {\r\n let studentsIdsInCollidingPeriods = [];\r\n currentPeriods.forEach((existingPeriod) => {\r\n if (\r\n (moment(aplStartDate).unix() >=\r\n moment(existingPeriod.period.from).unix() &&\r\n moment(aplStartDate).unix() <=\r\n moment(existingPeriod.period.to).unix()) ||\r\n (moment(aplEndDate).unix() >=\r\n moment(existingPeriod.period.from).unix() &&\r\n moment(aplStartDate).unix() <=\r\n moment(existingPeriod.period.to).unix())\r\n ) {\r\n existingPeriod.period.students.forEach((student) => {\r\n studentsIdsInCollidingPeriods.push(student.student.id);\r\n });\r\n }\r\n });\r\n let tempAvailableStudents = students.filter(\r\n (student) => !studentsIdsInCollidingPeriods.includes(student.id)\r\n );\r\n setAvailableStudents(tempAvailableStudents);\r\n };\r\n\r\n const handleSetNextPage = () => {\r\n if (page === 1) {\r\n if (aplWorkcard === null) {\r\n setAplValidationErrors([...aplValidationErrors, \"aplWorkcard\"]);\r\n } else {\r\n setAplValidationErrors(\r\n aplValidationErrors.filter((item) => item !== \"aplWorkcard\")\r\n );\r\n setPage(page + 1);\r\n }\r\n } else if (page === 2 && (aplName === null || aplName === \"\")) {\r\n setAplValidationErrors([...aplValidationErrors, \"aplName\"]);\r\n } else if (\r\n page === 2 &&\r\n (aplStartDate === null ||\r\n aplStartDate === \"\" ||\r\n aplEndDate === null ||\r\n aplEndDate === \"\")\r\n ) {\r\n setAplValidationErrors([...aplValidationErrors, \"aplDate\"]);\r\n } else {\r\n setAplValidationErrors(\r\n aplValidationErrors.filter((item) => item !== \"aplName\" || \"aplDate\")\r\n );\r\n calculateSelectableStudents(aplStartDate, aplEndDate);\r\n setPage(page + 1);\r\n }\r\n };\r\n\r\n const handleToggleWorkCardCreateOpen = () => {\r\n setPage(1);\r\n };\r\n\r\n const handleSetNameForNewWorkcard = (name) => {\r\n if (name.length > 0) {\r\n if (existingWorkCards.some((e) => e.name === name)) {\r\n if (aplWorkcardNameAlreadyExists === false) {\r\n setAplWorkcardNameAlreadyExists(true);\r\n }\r\n } else {\r\n if (aplWorkcardNameAlreadyExists === true) {\r\n setAplWorkcardNameAlreadyExists(false);\r\n }\r\n }\r\n setNewWorkcardName(name);\r\n if (aplValidationErrors.includes(\"aplCreateWorkcardNoName\")) {\r\n setAplValidationErrors(\r\n aplValidationErrors.filter(\r\n (item) => item !== \"aplCreateWorkcardNoName\"\r\n )\r\n );\r\n }\r\n } else {\r\n if (setAplWorkcardNameAlreadyExists) {\r\n setAplWorkcardNameAlreadyExists(false);\r\n }\r\n if (aplValidationErrors.includes(\"aplCreateWorkcardNoName\")) {\r\n setAplValidationErrors([\r\n ...aplValidationErrors,\r\n \"aplCreateWorkcardNoName\",\r\n ]);\r\n }\r\n }\r\n };\r\n\r\n const handlePostWorkCard = (continueToNextStepWhenPosted) => {\r\n if (newWorkcardName.length < 1) {\r\n setAplValidationErrors([\r\n ...aplValidationErrors,\r\n \"aplCreateWorkcardNoName\",\r\n ]);\r\n } else if (\r\n !aplValidationErrors.includes(\"aplCreateWorkcardNoName\") &&\r\n !aplWorkcardNameAlreadyExists\r\n ) {\r\n let data = tableData.filter((item) => item.button === undefined);\r\n let workSteps = data.filter((item) => item.parentId === null);\r\n let workCard = { Name: newWorkcardName, WorkSteps: [] };\r\n workSteps.forEach((ws) => {\r\n let workStep = {\r\n Name: ws.name.props.defaultValue,\r\n WorkStepComponents: [],\r\n };\r\n data.forEach((item) => {\r\n if (item.parentId === ws.id) {\r\n workStep.WorkStepComponents.push({\r\n Name: item.name.props.defaultValue,\r\n });\r\n }\r\n });\r\n workCard.WorkSteps.push(workStep);\r\n });\r\n let cancelPost = false;\r\n if (workCard.WorkSteps.length < 1) {\r\n setThereAreWorkStepsWithoutComponentsOrNoWorkSteps(true);\r\n cancelPost = true;\r\n }\r\n workCard.WorkSteps.forEach((ws) => {\r\n if (ws.WorkStepComponents.length < 1) {\r\n setThereAreWorkStepsWithoutComponentsOrNoWorkSteps(true);\r\n cancelPost = true;\r\n }\r\n });\r\n\r\n if (!cancelPost) {\r\n postWorkCardMutation.mutate(workCard, {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n toast.success();\r\n queryClient.invalidateQueries(\"FetchWorkCards\");\r\n setWorkcard(data.data.result);\r\n setDefaultSelectedWorkCard(data.data.result);\r\n setAplValidationErrors(\r\n aplValidationErrors.filter((item) => item !== \"aplWorkcard\")\r\n );\r\n } else {\r\n toast.warn(data);\r\n }\r\n if (continueToNextStepWhenPosted) {\r\n setPage(2);\r\n } else {\r\n setPage(1);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n });\r\n }\r\n }\r\n };\r\n\r\n const renderNextButton = () => {\r\n if (page === 0) {\r\n return (\r\n <>\r\n handlePostWorkCard(false)}\r\n >\r\n \r\n \r\n handlePostWorkCard(true)}\r\n >\r\n \r\n \r\n \r\n );\r\n } else if (page === 4) {\r\n return (\r\n <>\r\n handleAddAPLPeriod()}\r\n >\r\n \r\n \r\n \r\n item === \"aplName\" ||\r\n \"aplDate\" ||\r\n \"aplHoursPerWeek\" ||\r\n \"aplDaysPerWeek\"\r\n )) ||\r\n (page === 1 && !aplWorkcard) ||\r\n (page === 3 &&\r\n (aplStudentSupervisors.length === 0 ||\r\n !aplStudentSupervisors?.some(\r\n (sv) => sv.students.length > 0\r\n ) ||\r\n aplStudentSupervisors?.some((sv) =>\r\n sv.students.some(\r\n (stud) =>\r\n stud.companyId === undefined || stud.companyId === null\r\n )\r\n )))\r\n }\r\n className=\"m-2\"\r\n onClick={() => handleSetNextPage()}\r\n >\r\n \r\n \r\n \r\n );\r\n } else if (page < 7 && page > 0) {\r\n return (\r\n \r\n item === \"aplName\" ||\r\n \"aplDate\" ||\r\n \"aplHoursPerWeek\" ||\r\n \"aplDaysPerWeek\"\r\n )) ||\r\n (page === 1 && !aplWorkcard) ||\r\n (page === 3 &&\r\n (aplStudentSupervisors.length === 0 ||\r\n !aplStudentSupervisors?.some((sv) => sv.students.length > 0) ||\r\n aplStudentSupervisors?.some((sv) =>\r\n sv.students.some(\r\n (stud) =>\r\n stud.companyId === undefined || stud.companyId === null\r\n )\r\n )))\r\n }\r\n className=\"m-2\"\r\n onClick={() => handleSetNextPage()}\r\n >\r\n \r\n \r\n );\r\n } else {\r\n return (\r\n handleAddAPLPeriod()}\r\n >\r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n const handleSelectWorkCardTemplate = (selected) => {\r\n let tempTableData = [];\r\n selected.value.workSteps.forEach((wsi) => {\r\n const wsToAdd = {\r\n id: \"ws\" + wsi.id,\r\n edit: (\r\n <>\r\n \r\n setWorkcardItemForDelete({\r\n id: \"ws\" + wsi.id,\r\n name: wsi.name,\r\n isWorkstep: true,\r\n hours: wsi.hours,\r\n parentId: null,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ),\r\n parentId: null,\r\n name: (\r\n \r\n setWorkcardItemForEditName({\r\n id: \"ws\" + wsi.id,\r\n name: data.target.value,\r\n isWorkstep: false,\r\n parentId: wsi.parentId,\r\n })\r\n }\r\n />\r\n ),\r\n };\r\n tempTableData.push(wsToAdd);\r\n wsi.workStepComponents.forEach((wsc) => {\r\n const wscToAdd = {\r\n id: \"wsc\" + wsc.id,\r\n edit: (\r\n <>\r\n \r\n setWorkcardItemForDelete({\r\n id: \"wsc\" + wsc.id,\r\n name: wsc.name,\r\n isWorkstep: false,\r\n hours: wsc.hours,\r\n parentId: \"ws\" + wsi.id,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ),\r\n name: (\r\n \r\n setWorkcardItemForEditName({\r\n id: \"wsc\" + wsc.id,\r\n name: data.target.value,\r\n isWorkstep: false,\r\n parentId: \"ws\" + wsi.id,\r\n })\r\n }\r\n />\r\n ),\r\n parentId: \"ws\" + wsi.id,\r\n };\r\n tempTableData.push(wscToAdd);\r\n });\r\n });\r\n const tempWorkSteps = tempTableData.filter(\r\n (item) => item.parentId === null\r\n );\r\n tempWorkSteps.forEach((ws) => {\r\n tempTableData.push({\r\n parentId: ws.id,\r\n name: (\r\n setWorkItemToAdd({ parentId: ws.id })}\r\n >\r\n \r\n \r\n ),\r\n button: true,\r\n });\r\n });\r\n tempTableData.push({\r\n parentId: null,\r\n name: (\r\n setWorkItemToAdd({ parentId: null })}\r\n >\r\n \r\n \r\n ),\r\n button: true,\r\n });\r\n setTableData(tempTableData);\r\n };\r\n\r\n const handleCloseCreateNewWorkcardPage = () => {\r\n setNewWorkcardName(\"\");\r\n setTableData([\r\n {\r\n parentId: null,\r\n name: (\r\n setWorkItemToAdd({ parentId: null })}\r\n >\r\n \r\n \r\n ),\r\n button: true,\r\n },\r\n ]);\r\n setPage(1);\r\n setAplValidationErrors(\r\n aplValidationErrors.filter((item) => item !== \"aplCreateWorkcardNoName\")\r\n );\r\n };\r\n\r\n const handleAddWorkcardItem = (name) => {\r\n const tempTableData = [...tableData];\r\n const id = workItemToAdd.parentId === null ? \"ws\" + uuid() : \"wsc\" + uuid();\r\n const itemToAdd = {\r\n id: id,\r\n edit: (\r\n <>\r\n \r\n setWorkcardItemForDelete({\r\n id: id,\r\n name: name,\r\n isWorkstep: false,\r\n parentId: workItemToAdd.parentId,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n ),\r\n name: (\r\n \r\n setWorkcardItemForEditName({\r\n id: id,\r\n name: data.target.value,\r\n isWorkstep: false,\r\n parentId: workItemToAdd.parentId,\r\n })\r\n }\r\n />\r\n ),\r\n parentId: workItemToAdd.parentId,\r\n };\r\n if (workItemToAdd.parentId !== null) {\r\n tempTableData.splice(\r\n tempTableData.findIndex(\r\n (item) =>\r\n item.parentId === workItemToAdd.parentId && item.button === true\r\n ) - 1,\r\n 0,\r\n itemToAdd\r\n );\r\n } else {\r\n tempTableData.splice(tempTableData.length - 2, 0, itemToAdd);\r\n tempTableData.push({\r\n parentId: itemToAdd.id,\r\n name: (\r\n setWorkItemToAdd({ parentId: itemToAdd.id })}\r\n >\r\n \r\n \r\n ),\r\n button: true,\r\n });\r\n }\r\n const addWorkStepButtonIndex = tempTableData.findIndex(\r\n (item) => item.parentId === null && item.button === true\r\n );\r\n tempTableData.push(tempTableData.splice(addWorkStepButtonIndex, 1)[0]);\r\n setTableData(tempTableData);\r\n setWorkItemToAdd(null);\r\n };\r\n\r\n const renderStep = () => {\r\n switch (page) {\r\n case 0:\r\n return (\r\n <>\r\n \r\n setWorkItemToAdd(null)}\r\n isOpen={workItemToAdd !== null}\r\n onProceed={handleAddWorkcardItem}\r\n />\r\n \r\n );\r\n case 1:\r\n return (\r\n \r\n );\r\n case 2:\r\n return (\r\n \r\n );\r\n case 3:\r\n return (\r\n \r\n );\r\n case 4:\r\n return <>;\r\n case 5:\r\n return (\r\n \r\n );\r\n\r\n case 6:\r\n return (\r\n \r\n );\r\n case 7:\r\n return (\r\n \r\n );\r\n default:\r\n return ;\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 {renderTitle()}\r\n\r\n {renderHowTo()}\r\n\r\n \r\n {renderStep()}\r\n \r\n \r\n \r\n \r\n

    \r\n {page}/7\r\n

    \r\n
    \r\n \r\n {page === 0 ? (\r\n handleCloseCreateNewWorkcardPage()}\r\n >\r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n {page > 1 ? (\r\n setPage(page - 1)}\r\n >\r\n \r\n \r\n ) : null}\r\n {renderNextButton()}\r\n \r\n
    \r\n
    \r\n \r\n setThereAreWorkStepsWithoutComponentsOrNoWorkSteps(false)}\r\n isOpen={thereAreWorkStepsWithoutComponentsOrNoWorkSteps}\r\n title={}\r\n message={}\r\n />\r\n \r\n );\r\n}\r\n","import { useState } from \"react\";\r\nimport { useMutation } from \"react-query\";\r\nimport styled from \"styled-components\";\r\nimport { Row, Col } from \"reactstrap/lib\";\r\nimport { Card, CardFooter } from \"reactstrap\";\r\nimport CardMedia from \"@mui/material/CardMedia\";\r\nimport SendIcon from \"@mui/icons-material/Send\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { IconButton, TextField } from \"@mui/material\";\r\nimport { PostWorkCardComment } from \"../../actions/teacherMutations\";\r\nimport { toast } from \"react-toastify\";\r\nimport { BASE_LOGIN_REDIRECT_URL } from \"../../constants/api.constants\";\r\nimport moment from \"moment\";\r\nimport { FaRegThumbsUp } from \"react-icons/fa\";\r\nimport { FiMessageCircle } from \"react-icons/fi\";\r\n\r\nexport default function APLStudentEventCard({ item, date, index }) {\r\n const [showComments, setShowComments] = useState(false);\r\n const toggle = () => {\r\n setShowComments(!showComments);\r\n setValue(\"\");\r\n };\r\n\r\n const [value, setValue] = useState(\"\");\r\n\r\n const handleChange = (event) => {\r\n setValue(event.target.value);\r\n };\r\n\r\n const postComment = () => {\r\n if (value !== \"\") {\r\n postWorkCardComment.mutate(\r\n {\r\n created: moment().format(\"YYYY-MM-DD HH:mm\"),\r\n text: value,\r\n workRegistrationId: item.id,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n item.comments.push(data.comments[0]);\r\n setValue(\"\");\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n }\r\n };\r\n\r\n const postWorkCardComment = useMutation(PostWorkCardComment);\r\n\r\n return (\r\n <>\r\n \r\n {item.signed && (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n \r\n \r\n {item.studentName}\r\n \r\n {item.title}\r\n \r\n {date.toLocaleDateString()}\r\n \r\n \r\n \r\n {item.image && (\r\n \r\n )}\r\n {item.bodyText}\r\n \r\n \r\n : {item.workStepComponent.workStepName}\r\n \r\n \r\n \r\n : {item.workStepComponent.name}\r\n \r\n \r\n \r\n : \r\n {item.workStepComponent.workingHours}h\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {item.comments.length > 0 && (\r\n \r\n {item.comments.length}\r\n \r\n )}\r\n \r\n \r\n {showComments && (\r\n
    \r\n {item.comments.map((comment) => {\r\n var date = new Date(comment.commentDate);\r\n return (\r\n
    \r\n \r\n \r\n \r\n {comment.commenterName}\r\n \r\n   \r\n {comment.text}\r\n \r\n \r\n \r\n \r\n {date.toLocaleDateString()}\r\n \r\n \r\n
    \r\n );\r\n })}\r\n \r\n }\r\n value={value}\r\n onChange={handleChange}\r\n InputProps={{\r\n endAdornment: (\r\n \r\n \r\n \r\n ),\r\n }}\r\n onKeyPress={(ev) => {\r\n if (ev.key === \"Enter\") {\r\n postComment();\r\n ev.preventDefault();\r\n }\r\n }}\r\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 TitleStudent = styled.h5`\r\n margin: 0;\r\n padding-bottom: 0.2rem;\r\n`;\r\n\r\nconst CardText = styled.p`\r\n padding: 0.5rem;\r\n`;\r\n\r\nconst MiniCardText = styled.p`\r\n margin: auto 0;\r\n height: 2vh;\r\n display: flex;\r\n flex-direction: row;\r\n`;\r\n","import { useState, useEffect } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { Col, Row, Badge } from \"reactstrap\";\r\nimport APLStudentEventCard from \"./APLStudentEventCard\";\r\nimport { useQueryClient } from \"react-query\";\r\n\r\nexport default function APLMoments({ studentEvents }) {\r\n const [sortedEvents, setSortedEvents] = useState([]);\r\n const [filterBy, setFilterBy] = useState(null);\r\n const queryClient = useQueryClient();\r\n\r\n useEffect(() => {\r\n queryClient.invalidateQueries(\"FetchEvents\");\r\n }, [queryClient]);\r\n\r\n useEffect(() => {\r\n let allEvents = [...studentEvents.data];\r\n switch (filterBy) {\r\n case \"Signed\":\r\n setSortedEvents(\r\n allEvents\r\n .filter((item) => item.signed)\r\n .sort(function (a, b) {\r\n var c = new Date(a.created);\r\n var d = new Date(b.created);\r\n return d - c;\r\n })\r\n );\r\n break;\r\n case \"Unsigned\":\r\n setSortedEvents(\r\n allEvents\r\n .filter((item) => !item.signed)\r\n .sort(function (a, b) {\r\n var c = new Date(a.created);\r\n var d = new Date(b.created);\r\n return d - c;\r\n })\r\n );\r\n break;\r\n case \"Commented\":\r\n setSortedEvents(\r\n allEvents\r\n .filter((item) => item.comments.length > 0)\r\n .sort(function (a, b) {\r\n var c = new Date(a.created);\r\n var d = new Date(b.created);\r\n return d - c;\r\n })\r\n );\r\n break;\r\n default:\r\n setSortedEvents(\r\n allEvents.sort(function (a, b) {\r\n var c = new Date(a.created);\r\n var d = new Date(b.created);\r\n return d - c;\r\n })\r\n );\r\n break;\r\n }\r\n }, [filterBy, studentEvents]);\r\n\r\n return (\r\n
    \r\n {sortedEvents && (\r\n \r\n \r\n

    Filtrera händelser på:

    \r\n
    \r\n \r\n \r\n setFilterBy(filterBy === \"Signed\" ? null : \"Signed\")\r\n }\r\n color={filterBy === \"Signed\" ? \"primary\" : \"light\"}\r\n pill\r\n >\r\n Signerade\r\n \r\n \r\n setFilterBy(filterBy === \"Unsigned\" ? null : \"Unsigned\")\r\n }\r\n color={filterBy === \"Unsigned\" ? \"primary\" : \"light\"}\r\n pill\r\n >\r\n Osignerade\r\n \r\n \r\n setFilterBy(filterBy === \"Commented\" ? null : \"Commented\")\r\n }\r\n color={filterBy === \"Commented\" ? \"primary\" : \"light\"}\r\n pill\r\n >\r\n Kommenterade\r\n \r\n \r\n {sortedEvents.map((item, index) => {\r\n var date = new Date(item.created);\r\n return (\r\n \r\n );\r\n })}\r\n
    \r\n )}\r\n
    \r\n );\r\n}\r\n\r\nconst ColWithoutScroll = styled(Col)`\r\n &::-webkit-scrollbar {\r\n display: none;\r\n }\r\n`;\r\n","import { Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport { Row, Col, Button } from \"reactstrap/lib\";\r\n\r\nexport default function SupervisorInfoModal(props) {\r\n return (\r\n \r\n {props.supervisor.name}\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { GoogleMap, useJsApiLoader, Marker } from \"@react-google-maps/api\";\r\nimport moment from \"moment\";\r\nimport { Row, Col, Modal, ModalBody } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nconst containerStyle = {\r\n width: \"100%\",\r\n height: \"60vh\",\r\n};\r\n\r\nfunction CheckInMap(props) {\r\n const { isLoaded } = useJsApiLoader({\r\n id: \"google-map-script\",\r\n googleMapsApiKey: \"AIzaSyAT2egybpzhZipgC2X-M1u0xtQ1XfxIWCI\",\r\n });\r\n const [map, setMap] = React.useState(null);\r\n const mapRef = React.useRef(null);\r\n const [center, setCenter] = useState({\r\n lat: props.markerPoints[0].position.lat,\r\n lng: props.markerPoints[0].position.lng,\r\n });\r\n\r\n useEffect(() => {\r\n setCenter({\r\n lat: props.markerPoints[0].position.lat,\r\n lng: props.markerPoints[0].position.lng,\r\n });\r\n }, [props.markerPoints]);\r\n\r\n const onLoad = React.useCallback(\r\n function callback(nMap) {\r\n const bounds = new window.google.maps.LatLngBounds(center);\r\n props.markerPoints.map((item) => {\r\n bounds.extend(item.position);\r\n return item.id;\r\n });\r\n nMap.fitBounds(bounds);\r\n setMap(nMap);\r\n return map;\r\n },\r\n [props.markerPoints, center, map]\r\n );\r\n\r\n const onUnmount = React.useCallback(function callback() {\r\n setMap(null);\r\n }, []);\r\n\r\n const showMarkers = () => {\r\n return props.markerPoints.map((marker, i) => {\r\n var markerIcon = marker.isCheckIn\r\n ? \"img/MapsPinGreen.png\"\r\n : \"img/MapsPinRed.png\";\r\n var markerTitle = marker.isCheckIn ? \"Incheckning: \" : \"Utcheckning: \";\r\n markerTitle += moment(marker.time).format(\"HH:mm\");\r\n return (\r\n \r\n );\r\n });\r\n };\r\n\r\n return isLoaded ? (\r\n \r\n \r\n \r\n \r\n \r\n {showMarkers()}\r\n \r\n \r\n \r\n \r\n \r\n

    \r\n :\r\n

    \r\n {props.checkIns.map((ci, i) => {\r\n return (\r\n \r\n
    {moment(ci.time).format(\"HH:mm\")}\r\n \r\n );\r\n })}\r\n \r\n \r\n

    \r\n :\r\n

    \r\n {props.checkOuts.map((co, i) => {\r\n return (\r\n \r\n
    {moment(co.time).format(\"HH:mm\")}\r\n \r\n );\r\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 React.memo(CheckInMap);\r\n","import { useEffect, useState } from \"react\";\r\nimport { Row, Col, CardTitle, Card, CardBody, Button } from \"reactstrap\";\r\nimport moment from \"moment\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport CheckInMap from \"./CheckInMap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nexport default function APLPresenceCheckTable({ presenceData, absence }) {\r\n const [checkIns, setCheckIns] = useState([]);\r\n const [checkOuts, setCheckOuts] = useState([]);\r\n const [mapIsOpen, setMapIsOpen] = useState(false);\r\n\r\n const [markersWithPosition, setMarkersWithPosition] = useState([]);\r\n\r\n useEffect(() => {\r\n let tempCheckins = [];\r\n let tempCheckouts = [];\r\n let tempMarkersWithPos = [];\r\n presenceData.forEach((pd) => {\r\n if (pd.isCheckIn) {\r\n tempCheckins.push(pd);\r\n } else {\r\n tempCheckouts.push(pd);\r\n }\r\n if (pd.position.lat && pd.position.lng) {\r\n tempMarkersWithPos.push(pd);\r\n }\r\n });\r\n\r\n setCheckOuts(tempCheckouts);\r\n setCheckIns(tempCheckins);\r\n setMarkersWithPosition(tempMarkersWithPos);\r\n }, [presenceData]);\r\n\r\n const showMap = () => {\r\n setMapIsOpen(true);\r\n };\r\n const checkIfPositionExists = () => {\r\n var noPositionFound = true;\r\n presenceData.forEach((pr) => {\r\n if (pr.position.lat !== null && pr.position.lng !== null) {\r\n noPositionFound = false;\r\n }\r\n });\r\n return noPositionFound;\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {moment(presenceData[0].time).format(\"L\")}\r\n \r\n \r\n \r\n showMap()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n

    \r\n :\r\n

    \r\n {checkIns.map((ci, i) => {\r\n if (!ci.noCheckins) {\r\n return (\r\n

    \r\n {moment(ci.time).format(\"HH:mm\")}\r\n

    \r\n );\r\n } else {\r\n return null;\r\n }\r\n })}\r\n \r\n \r\n

    \r\n :\r\n

    \r\n {checkOuts.map((co, i) => {\r\n if (!co.noCheckins) {\r\n return (\r\n

    \r\n {moment(co.time).format(\"HH:mm\")}\r\n

    \r\n );\r\n } else {\r\n return null;\r\n }\r\n })}\r\n \r\n \r\n {absence && absence.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 :\r\n \r\n \r\n :\r\n \r\n \r\n :\r\n \r\n \r\n {absence.map((ab) => (\r\n \r\n {ab.timeFrom}\r\n {ab.timeTo}\r\n {ab.comment}\r\n \r\n ))}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n {markersWithPosition.length ? (\r\n setMapIsOpen(!mapIsOpen)}\r\n markerPoints={markersWithPosition}\r\n checkIns={checkIns}\r\n checkOuts={checkOuts}\r\n />\r\n ) : (\r\n \"\"\r\n )}\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Col } from \"reactstrap\";\r\nimport { ScrollSyncNode } from \"scroll-sync-react\";\r\nimport moment from \"moment\";\r\nimport uuid from \"uuid\";\r\n\r\nexport default function APLPresenceWeekIndicator(props) {\r\n const printPresence = () => {\r\n return props.days.map((date, index) => {\r\n return (\r\n \r\n \r\n {date.getDay() === 2 ? (\r\n \r\n v{moment(date).week()}\r\n \r\n ) : (\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 {props.days && printPresence()}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Col, Row } from \"reactstrap\";\r\nimport styled from \"styled-components\";\r\nimport { CTooltip } from \"@coreui/react\";\r\nimport { ScrollSyncNode, ScrollSync } from \"scroll-sync-react\";\r\nimport { GetAplAttendancesByStudentId } from \"../../actions/teacherQueries\";\r\nimport Pacmanloader from \"../Pacmanloader/Pacmanloader\";\r\nimport APLPresenceCheckTable from \"./APLPresenceCheckTable\";\r\nimport moment from \"moment\";\r\nimport APLPresenceWeekIndicator from \"./APLPresenceWeekIndicator\";\r\nimport { injectIntl } from \"react-intl\";\r\nimport uuid from \"uuid\";\r\n\r\nconst APLPresence = (props) => {\r\n const [days, setDays] = useState(null);\r\n const [absence, setAbsence] = useState([]);\r\n const [markersData, setMarkersData] = useState([]);\r\n const studentPresence = props.student\r\n ? GetAplAttendancesByStudentId(props.student.id)\r\n : { data: null, loading: true };\r\n const [selectedPeriod, setSelectedPeriod] = useState(null);\r\n\r\n useEffect(() => {\r\n const periodStartDate = new Date(props.from);\r\n const periodEndDate = new Date(props.to);\r\n if (selectedPeriod === props.periodId) {\r\n return;\r\n }\r\n const daysOfYear = [];\r\n for (\r\n var d = periodStartDate;\r\n d <= periodEndDate;\r\n d.setDate(d.getDate() + 1)\r\n ) {\r\n if (d.getDay() !== 0 && d.getDay() !== 6) {\r\n daysOfYear.push(new Date(d));\r\n }\r\n }\r\n setDays(daysOfYear);\r\n setSelectedPeriod(props.periodId);\r\n }, [props.from, props.to, props.periodId, selectedPeriod]);\r\n\r\n useEffect(() => {\r\n if (studentPresence.data != null && !studentPresence.isLoading) {\r\n let chosenDate = studentPresence.data.filter((prec) => {\r\n return moment(prec.day).format(\"L\") === moment().format(\"L\");\r\n });\r\n chosenDate = chosenDate.filter(\r\n (data) => data.aplPeriodId === props.periodId\r\n );\r\n if (chosenDate.length) {\r\n let locationMarkers = [];\r\n chosenDate[0].geographyPoints.forEach((point) => {\r\n if (point.latitude && point.longitude) {\r\n const markerWithLocation = {\r\n position: { lat: point.latitude, lng: point.longitude },\r\n time: point.time,\r\n isCheckIn: point.isCheckIn,\r\n hasLocation: true,\r\n };\r\n locationMarkers.push(markerWithLocation);\r\n } else {\r\n const markerWithoutLocation = {\r\n position: { lat: null, lng: null },\r\n time: point.time,\r\n isCheckIn: point.isCheckIn,\r\n hasLocation: false,\r\n };\r\n locationMarkers.push(markerWithoutLocation);\r\n }\r\n });\r\n setMarkersData(locationMarkers);\r\n } else {\r\n setMarkersData([\r\n {\r\n position: { lat: null, lng: null },\r\n time: moment().format(\"L\"),\r\n isCheckIn: null,\r\n noCheckins: true,\r\n },\r\n ]);\r\n }\r\n }\r\n }, [studentPresence.isLoading, studentPresence.data, props.periodId]);\r\n\r\n if (studentPresence != null && studentPresence.isLoading) {\r\n return ;\r\n }\r\n\r\n function studentAbsencesForDate(date) {\r\n var studentAbsencesOnDay = [];\r\n props.absences\r\n .filter((stud) => {\r\n return stud.studentId === props.student.id;\r\n })\r\n .forEach((absence) => {\r\n if (\r\n new Date(absence.day).toLocaleDateString(\"sv-SV\") ===\r\n date.toLocaleDateString(\"sv-SV\")\r\n ) {\r\n studentAbsencesOnDay.push(absence);\r\n }\r\n });\r\n return studentAbsencesOnDay;\r\n }\r\n\r\n const handleSetMap = (date) => {\r\n if (\r\n !markersData.length ||\r\n (moment(markersData[0].time).format(\"L\") !== moment(date).format(\"L\") &&\r\n studentPresence &&\r\n studentPresence.data)\r\n ) {\r\n let chosenDate = studentPresence.data.filter((prec) => {\r\n return moment(prec.day).format(\"L\") === moment(date).format(\"L\");\r\n });\r\n chosenDate = chosenDate.filter(\r\n (data) => data.aplPeriodId === props.periodId\r\n );\r\n if (chosenDate.length) {\r\n let locationMarkers = [];\r\n if (chosenDate[0].geographyPoints.length) {\r\n chosenDate[0].geographyPoints.forEach((point) => {\r\n let marker = {\r\n position: { lat: point.latitude, lng: point.longitude },\r\n time: point.time,\r\n isCheckIn: point.isCheckIn,\r\n };\r\n locationMarkers.push(marker);\r\n });\r\n } else {\r\n locationMarkers = [\r\n {\r\n position: { lat: null, lng: null },\r\n time: moment(date).format(\"L\"),\r\n isCheckIn: null,\r\n noCheckins: true,\r\n },\r\n ];\r\n }\r\n setMarkersData(locationMarkers);\r\n } else {\r\n setMarkersData([\r\n {\r\n position: { lat: null, lng: null },\r\n time: moment(date).format(\"L\"),\r\n isCheckIn: null,\r\n noCheckins: true,\r\n },\r\n ]);\r\n }\r\n }\r\n };\r\n\r\n const getCheckInsForDay = (currentDate) => {\r\n let retval = [];\r\n let tempDay = studentPresence.data.filter((prec) => {\r\n return moment(prec.day).format(\"L\") === moment(currentDate).format(\"L\");\r\n });\r\n if (tempDay.length !== 0) {\r\n retval = tempDay[0].geographyPoints;\r\n }\r\n return retval;\r\n };\r\n\r\n const getBackground = (futureDate, wasAbsent, noCheckins) => {\r\n if (futureDate) {\r\n return \"#e6e6e6\";\r\n } else if (wasAbsent) {\r\n return \"#FF5733\";\r\n } else if (noCheckins) {\r\n return \"#737373\";\r\n } else {\r\n return \"#4ee474\";\r\n }\r\n };\r\n\r\n const printPresence = () => {\r\n const todaysDate = new Date();\r\n let lastCheckIn;\r\n return days.map((date, index) => {\r\n var currentDate = new Date(date);\r\n const wasAbsent = props.weeks\r\n ? null\r\n : studentAbsencesForDate(date).length > 0;\r\n const futureDate = props.weeks ? null : currentDate > todaysDate;\r\n const checkInsForTheDay = props.weeks\r\n ? []\r\n : getCheckInsForDay(currentDate);\r\n if (checkInsForTheDay.length) {\r\n lastCheckIn = checkInsForTheDay.sort(\r\n (a, b) => moment(a.time).unix() - moment(b.time).unix()\r\n )[0];\r\n lastCheckIn = {\r\n time: moment(lastCheckIn.time).format(\"HH:mm\"),\r\n date: moment(lastCheckIn.time).format(\"Do MMMM\"),\r\n };\r\n } else {\r\n lastCheckIn = null;\r\n }\r\n return (\r\n {\r\n handleSetMap(date);\r\n if (wasAbsent) {\r\n setAbsence(studentAbsencesForDate(date));\r\n } else {\r\n setAbsence(null);\r\n }\r\n }}\r\n >\r\n
    \r\n \r\n {\r\n if (wasAbsent) {\r\n setAbsence(wasAbsent);\r\n } else {\r\n setAbsence(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 const printIsPresent = (obj) => {\r\n var today = new Date();\r\n const todaysCheckIns = getCheckInsForDay(today);\r\n let isCheckedIn = false;\r\n let lastCheckIn;\r\n if (studentPresence.data.length) {\r\n if (\r\n studentPresence.data.some(\r\n (sp) =>\r\n moment(sp.day).format(\"L\") === moment().format(\"L\") && sp.isPresent\r\n )\r\n ) {\r\n isCheckedIn = true;\r\n if (todaysCheckIns.length) {\r\n lastCheckIn = todaysCheckIns.sort(\r\n (a, b) => moment(a.time).unix() - moment(b.time).unix()\r\n )[0];\r\n lastCheckIn = {\r\n time: moment(lastCheckIn.time).format(\"HH:mm\"),\r\n date: moment(lastCheckIn.time).format(\"Do MMMM\"),\r\n };\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n \r\n handleSetMap(moment().format(\"L\"))}\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 {printIsPresent(\r\n studentPresence.data[studentPresence.data.length - 1]\r\n )}\r\n \r\n\r\n \r\n \r\n \r\n {days && printPresence()}\r\n \r\n \r\n \r\n \r\n \r\n {markersData.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};\r\n\r\nconst DivWithHover = styled.div`\r\n height: 2rem;\r\n padding: 0;\r\n margin: 0;\r\n &:hover {\r\n border: 1px solid black;\r\n cursor: ${(props) => (props.wasAbsent ? \"pointer\" : \"default\")};\r\n }\r\n`;\r\n\r\nconst DivHiddenScroll = styled.div`\r\n &::-webkit-scrollbar {\r\n display: none;\r\n }\r\n`;\r\nexport default injectIntl(APLPresence);\r\n","import { Nav, NavItem, NavLink } from \"reactstrap\";\r\nimport Select from \"react-select\";\r\nimport styled from \"styled-components\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nfunction APLTabs({\r\n toggleCreatePeriod,\r\n periodsToSelect,\r\n period,\r\n activeTab,\r\n handleSelectPeriod,\r\n selectedPeriod,\r\n handleSetAplTab,\r\n}) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default APLTabs;\r\n\r\nconst DivNoScroll = styled.div`\r\n overflow-x: scroll;\r\n white-space: nowrap;\r\n &::-webkit-scrollbar {\r\n display: none;\r\n }\r\n`;\r\n","import { Nav, NavItem, NavLink } from \"reactstrap\";\r\nimport Select from \"react-select\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nfunction MobileAPLTabs({\r\n toggleCreatePeriod,\r\n periodsToSelect,\r\n period,\r\n activeTab,\r\n handleSelectPeriod,\r\n selectedPeriod,\r\n handleSetAplTab,\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\nexport default MobileAPLTabs;\r\n","import useViewport from \"../../../Utilities/useViewport\";\r\nimport APLTabs from \"./APLTabs\";\r\nimport MobileAPLTabs from \"./MobileAPLTabs\";\r\nimport { SetNavigationProps } from \"../../../actions/teacherTabNavActions\";\r\nimport { useDispatch } from \"react-redux\";\r\n\r\nexport default function APLTabNavSelector({\r\n activeTab,\r\n toggleCreatePeriod,\r\n periodsToSelect,\r\n period,\r\n}) {\r\n const { width } = useViewport();\r\n const breakpoint = 620;\r\n\r\n const dispatch = useDispatch();\r\n\r\n const handleSelectPeriod = (event) => {\r\n dispatch(SetNavigationProps(\"selectedAplPeriod\", event.value));\r\n };\r\n\r\n let selectedPeriod = null;\r\n if (period !== null) {\r\n selectedPeriod = periodsToSelect.find(\r\n (pts) => pts.value === period.period.id\r\n );\r\n }\r\n const handleSetAplTab = (tabNr) => {\r\n dispatch(SetNavigationProps(\"selectedAplTab\", tabNr));\r\n };\r\n\r\n return width < breakpoint ? (\r\n \r\n ) : (\r\n \r\n );\r\n}\r\n","import { useState, useEffect } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport \"react-nice-dates/build/style.css\";\r\nimport {\r\n Row,\r\n Col,\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n CardTitle,\r\n Card,\r\n CardBody,\r\n CardFooter,\r\n Button,\r\n} from \"reactstrap/lib\";\r\nimport Rating from \"@mui/material/Rating\";\r\nimport ScrollContainer from \"react-indiana-drag-scroll\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport APLRatingModal from \"../Modal/APLRatingModal\";\r\nimport { Tab, Tabs, Box } from \"@mui/material\";\r\nimport { PacmanLoader } from \"react-spinners\";\r\nimport _ from \"lodash\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\nexport default function APLRatings({\r\n ratingLevel,\r\n setRatingLevel,\r\n studentRatings,\r\n supervisorRatings,\r\n handleSaveEvaluationQuestions,\r\n activePeriodId,\r\n studentQuestions,\r\n setStudentQuestions,\r\n supervisorQuestions,\r\n setSupervisorQuestions,\r\n questionsToDelete,\r\n setQuestionsToDelete,\r\n loading,\r\n level,\r\n students,\r\n objId,\r\n}) {\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [unansweredSupervisor, setUnansweredSupervisor] = useState([]);\r\n const [unansweredStudent, setUnansweredStudent] = useState([]);\r\n const [newStudentQuestions, setNewStudentQuestions] = useState([]);\r\n const [newSupervisorQuestions, setNewSupervisorQuestions] = useState([]);\r\n const [studentRatingsForLevel, setStudentRatingsForLevel] = useState([]);\r\n const [supervisorRatingsForLevel, setSupervisorRatingsForLevel] = useState(\r\n []\r\n );\r\n\r\n useEffect(() => {\r\n let studentRatingsUnansweredQuestions = [];\r\n let unansweredStudentQuestions = studentQuestions.filter(function (\r\n array_el\r\n ) {\r\n return (\r\n studentRatings.filter(function (anotherOne_el) {\r\n return anotherOne_el.questionId === array_el.id;\r\n }).length === 0\r\n );\r\n });\r\n unansweredStudentQuestions.forEach((r) => {\r\n let emptyQuestion = {\r\n respons: 0,\r\n id: \"unanseredStudentQuestion\" + r.id,\r\n question: { question: r.question, responseRange: r.responseRange },\r\n };\r\n studentRatingsUnansweredQuestions.push(emptyQuestion);\r\n });\r\n setUnansweredStudent(studentRatingsUnansweredQuestions);\r\n setNewStudentQuestions([...studentQuestions]);\r\n let tempStudentRatingsForLevel = studentRatings.filter((rating) =>\r\n students.some((user) => user.email === rating.user.email)\r\n );\r\n if (level === \"Class\" || level === \"Program\") {\r\n let separatedRatings = _.groupBy(\r\n tempStudentRatingsForLevel,\r\n \"questionId\"\r\n );\r\n let tempAverageAnswer;\r\n let tempStudentQuestionsAverages = { ...separatedRatings };\r\n let tempAverageTotal = [];\r\n Object.entries(tempStudentQuestionsAverages).forEach((entry) => {\r\n const [key, value] = entry;\r\n let tempAnswer = 0;\r\n value.forEach((answer) => {\r\n tempAverageAnswer = Object.assign({}, answer);\r\n tempAnswer += answer.respons;\r\n });\r\n tempAverageAnswer.respons = tempAnswer / value.length;\r\n tempAverageAnswer.user = null;\r\n tempAverageAnswer.userId = null;\r\n tempAverageAnswer.questionId = key;\r\n tempAverageTotal.push(tempAverageAnswer);\r\n });\r\n setStudentRatingsForLevel(tempAverageTotal);\r\n } else {\r\n setStudentRatingsForLevel(tempStudentRatingsForLevel);\r\n }\r\n }, [studentQuestions, studentRatings, level, students, objId]);\r\n\r\n useEffect(() => {\r\n let supervisorRatingsUnansweredQuestions = [];\r\n let tempUnanswered = [];\r\n supervisorQuestions.forEach((q) => {\r\n if (\r\n !supervisorRatings.some(\r\n (rating) =>\r\n rating.questionId === q.id &&\r\n students.some((user) => user.email === rating.user.email)\r\n )\r\n ) {\r\n tempUnanswered.push(q);\r\n }\r\n });\r\n tempUnanswered.forEach((r) => {\r\n let emptyQuestion = {\r\n respons: 0,\r\n id: \"unanseredSupervisorQuestion\" + r.id,\r\n question: {\r\n question: r.question,\r\n responseRange: r.responseRange,\r\n sortOrder: r.sortOrder,\r\n },\r\n };\r\n supervisorRatingsUnansweredQuestions.push(emptyQuestion);\r\n });\r\n tempUnanswered = tempUnanswered.sort((a, b) => a.sortOrder - b.sortOrder);\r\n\r\n setUnansweredSupervisor(supervisorRatingsUnansweredQuestions);\r\n setNewSupervisorQuestions([...supervisorQuestions]);\r\n\r\n let tempSupervisorRatingsForLevel = supervisorRatings.filter((rating) =>\r\n students.some((user) => user.email === rating.user.email)\r\n );\r\n if (level === \"Class\" || level === \"Program\") {\r\n let separatedRatings = _.groupBy(\r\n tempSupervisorRatingsForLevel,\r\n \"questionId\"\r\n );\r\n let tempAverageAnswer;\r\n let tempSupervisorQuestionsAverages = { ...separatedRatings };\r\n let tempAverageTotal = [];\r\n Object.entries(tempSupervisorQuestionsAverages).forEach((entry) => {\r\n const [key, value] = entry;\r\n let tempAnswer = 0;\r\n value.forEach((answer) => {\r\n tempAverageAnswer = Object.assign({}, answer);\r\n tempAnswer += answer.respons;\r\n });\r\n tempAverageAnswer.respons = tempAnswer / value.length;\r\n tempAverageAnswer.user = null;\r\n tempAverageAnswer.userId = null;\r\n tempAverageAnswer.questionId = key;\r\n tempAverageTotal.push(tempAverageAnswer);\r\n });\r\n setSupervisorRatingsForLevel(tempAverageTotal);\r\n } else {\r\n setSupervisorRatingsForLevel(tempSupervisorRatingsForLevel);\r\n }\r\n }, [supervisorQuestions, supervisorRatings, level, students, objId]);\r\n\r\n const toggle = () => setIsOpen(!isOpen);\r\n const selectRating = (ratingLevel) => {\r\n switch (ratingLevel) {\r\n case \"student\":\r\n return (\r\n
    \r\n {level === \"Program\" && (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {level === \"Class\" && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {studentRatingsForLevel.map((studRatings, index) => {\r\n return (\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n );\r\n })}\r\n {unansweredStudent.map((t, index) => {\r\n return (\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n case \"supervisor\":\r\n return (\r\n
    \r\n {level === \"Program\" && (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {level === \"Class\" && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {supervisorRatingsForLevel.map((supRatings, index) => {\r\n return (\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n );\r\n })}\r\n {unansweredSupervisor.map((t, index) => {\r\n return (\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n default:\r\n return;\r\n }\r\n };\r\n\r\n const handleChange = (event, newValue) => {\r\n setRatingLevel(newValue);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n }\r\n value=\"student\"\r\n wrapped\r\n />\r\n }\r\n value=\"supervisor\"\r\n wrapped\r\n />\r\n \r\n \r\n \r\n {loading ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n {selectRating(ratingLevel)}\r\n \r\n )}\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n {\" \"}\r\n

    \r\n \r\n

    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {\r\n handleSaveEvaluationQuestions(\r\n activePeriodId,\r\n newStudentQuestions,\r\n newSupervisorQuestions\r\n );\r\n }}\r\n >\r\n \r\n \r\n {\r\n handleSaveEvaluationQuestions(\r\n activePeriodId,\r\n newStudentQuestions,\r\n newSupervisorQuestions\r\n );\r\n toggle();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\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 Label = styled.label`\r\n margin: auto 1rem;\r\n background: white;\r\n`;\r\n","import React from \"react\";\r\nimport { withFormik, Form, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport { FormGroup, Label, Button, Col, Row, Card } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nconst CreateNewInfoPersonInModifyInfoPersons = (props) => {\r\n const { values, errors, touched, isSubmitting, setAddNewInfoPersonOpen } =\r\n props;\r\n\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n {errors.personName && touched.personName && (\r\n
    {errors.personName}
    \r\n )}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {errors.personEmail && touched.personEmail && (\r\n
    {errors.personEmail}
    \r\n )}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.personPhone && touched.personPhone && (\r\n
    {errors.personPhone}
    \r\n )}\r\n
    \r\n \r\n \r\n setAddNewInfoPersonOpen(false)}\r\n outline\r\n color=\"primary\"\r\n className=\"m-2 float-right\"\r\n >\r\n {\" \"}\r\n \r\n \r\n {isSubmitting ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst FormikForm = withFormik({\r\n mapPropsToValues: (props) => ({\r\n personName: props.personName,\r\n personEmail: props.personEmail,\r\n personPhone: props.personPhone,\r\n }),\r\n validationSchema: Yup.object().shape({\r\n personName: Yup.string().required(\"Nödvändigt\"),\r\n personEmail: Yup.string()\r\n .email(\"Måste vara en giltig epost\")\r\n .max(255)\r\n .required(\"Epost är nödvändig\"),\r\n }),\r\n\r\n handleSubmit(values, { props, resetForm, setSubmitting }) {\r\n let tempInformationPerson = {\r\n name: values.personName,\r\n mail: values.personEmail,\r\n phoneNumber: values.personPhone,\r\n forUsers: [],\r\n forUserIds: [],\r\n };\r\n\r\n if (props.periodId) {\r\n tempInformationPerson.aplPeriodId = props.periodId;\r\n }\r\n\r\n var tempInfoPersonList = [...props.informationPersons];\r\n tempInfoPersonList.push(tempInformationPerson);\r\n props.saveInformationPerson(tempInformationPerson);\r\n props.setAddNewInfoPersonOpen(false);\r\n\r\n setSubmitting(false);\r\n resetForm({ values: { personName: \"\", personEmail: \"\", personPhone: \"\" } });\r\n\r\n toast.success(, {\r\n position: \"top-right\",\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n autoClose: 3000,\r\n });\r\n },\r\n})(CreateNewInfoPersonInModifyInfoPersons);\r\n\r\nexport default FormikForm;\r\n","import CreateNewInfoPersonInModifyInfoPersons from \"../APL/CreateNewInfoPersonInModifyInfoPersons\";\r\nimport { useEffect, useState } from \"react\";\r\nimport Select from \"react-select\";\r\nimport {\r\n Card,\r\n CardHeader,\r\n Row,\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n CardTitle,\r\n CardBody,\r\n CardFooter,\r\n Button,\r\n} from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { injectIntl } from \"react-intl\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nconst ModifyAPLInformationPersonModal = ({\r\n periodId,\r\n students,\r\n supervisors,\r\n setInformationPersons,\r\n informationPersons,\r\n setInfoPersonUsers,\r\n intl,\r\n informationPersonIsOpen,\r\n toggleInformationPerson,\r\n saveInformationPerson,\r\n saveInformationPersonsAndUsersForPeriod,\r\n}) => {\r\n const [selectableInfoPersons, setSelectableInfoPersons] = useState([]);\r\n const [selectableUsers, setSelectableUsers] = useState([]);\r\n const [addNewInfoPersonOpen, setAddNewInfoPersonOpen] = useState(false);\r\n const [newInfoPersonsWithStudents, setNewInfoPersonsWithStudents] = useState(\r\n []\r\n );\r\n\r\n useEffect(() => {\r\n let UsersForSelect = [];\r\n students.forEach((stud) => {\r\n UsersForSelect.push({\r\n userType: \"Student\",\r\n value: stud.student ? stud.student : stud,\r\n label: stud.student ? stud.student.name : stud.name,\r\n });\r\n });\r\n supervisors.forEach((sv) => {\r\n let supervisorForSelect = {\r\n userType: \"AplSupervisor\",\r\n value: sv,\r\n label: sv.name,\r\n };\r\n UsersForSelect.push(supervisorForSelect);\r\n });\r\n\r\n setSelectableUsers(UsersForSelect);\r\n\r\n let infoPersonsToSelect = [];\r\n let tempInfoPersonUsers = [];\r\n informationPersons.forEach((tInfoPerson) => {\r\n if (tInfoPerson.forUsers && tInfoPerson.forUsers.length > 0) {\r\n tempInfoPersonUsers.push(tInfoPerson);\r\n } else {\r\n if (!infoPersonsToSelect.some((ip) => ip.value.id === tInfoPerson.id)) {\r\n let infoPersonForSelect = {\r\n value: tInfoPerson,\r\n label: tInfoPerson.name,\r\n };\r\n infoPersonsToSelect.push(infoPersonForSelect);\r\n }\r\n }\r\n });\r\n if (!infoPersonsToSelect.some((ip) => ip.value === \"CreateNew\")) {\r\n infoPersonsToSelect.unshift({\r\n label: \"Skapa ny kontaktperson\",\r\n value: \"CreateNew\",\r\n });\r\n }\r\n setNewInfoPersonsWithStudents(tempInfoPersonUsers);\r\n setSelectableInfoPersons(infoPersonsToSelect);\r\n }, [informationPersons, students, supervisors, setInfoPersonUsers]);\r\n\r\n const handleAddInfoPerson = (infoPerson) => {\r\n if (infoPerson.value === \"CreateNew\") {\r\n setAddNewInfoPersonOpen(true);\r\n } else {\r\n setAddNewInfoPersonOpen(false);\r\n\r\n setNewInfoPersonsWithStudents((infoPersonUsers) => [\r\n ...infoPersonUsers,\r\n infoPerson.value,\r\n ]);\r\n let tempSelectableInfoPersons = [...selectableInfoPersons];\r\n if (!tempSelectableInfoPersons.some((ip) => ip.value === \"CreateNew\")) {\r\n tempSelectableInfoPersons.unshift({\r\n label: intl.formatMessage({\r\n id: \"CreateNewInformationPerson\",\r\n }),\r\n value: \"CreateNew\",\r\n });\r\n }\r\n setSelectableInfoPersons(\r\n selectableInfoPersons.filter((sip) => sip.value !== infoPerson.value)\r\n );\r\n }\r\n };\r\n\r\n const handleRemoveInfoPerson = (infoPerson) => {\r\n setNewInfoPersonsWithStudents(\r\n newInfoPersonsWithStudents.filter((nipws) => nipws.id !== infoPerson.id)\r\n );\r\n var tempSelectableInfoPersons = [...selectableInfoPersons];\r\n tempSelectableInfoPersons.push({\r\n label: infoPerson.name,\r\n value: infoPerson,\r\n });\r\n setSelectableInfoPersons(tempSelectableInfoPersons);\r\n };\r\n\r\n const handleAddAndRemoveUsersToInfoPerson = (users, infoPerson) => {\r\n let tempUsers = [];\r\n users.forEach((userArray) => tempUsers.push(userArray.value));\r\n let tempNewInfoPersonsWithStudents = [...newInfoPersonsWithStudents];\r\n tempNewInfoPersonsWithStudents.find(\r\n (infoperson) => infoperson.id === infoPerson.id\r\n ).forUsers = tempUsers;\r\n };\r\n\r\n const InfoPersonsUsers = ({ intl, person }) => {\r\n var selectableStudents = [];\r\n var selectableSupervisors = [];\r\n selectableUsers.forEach((user) => {\r\n if (\r\n person.forUsers?.findIndex((forUser) => {\r\n return forUser\r\n ? forUser.id === user.value.id\r\n : forUser.id === user.value.id;\r\n }) < 0\r\n ) {\r\n if (user.userType === \"Student\") {\r\n selectableStudents.push(user);\r\n } else if (user.userType === \"AplSupervisor\") {\r\n selectableSupervisors.push(user);\r\n }\r\n }\r\n });\r\n\r\n if (selectableStudents.length > 1) {\r\n let AddAllStudents = {\r\n value: \"AllStudents\",\r\n userType: \"SelectAllStudents\",\r\n label: intl.formatMessage({\r\n id: \"SelectAllStudentsInPeriod\",\r\n }),\r\n };\r\n selectableStudents.unshift(AddAllStudents);\r\n }\r\n\r\n if (selectableSupervisors.length > 1) {\r\n let AddAllSupervisors = {\r\n value: \"AllSupervisors\",\r\n userType: \"SelectAllSupervisors\",\r\n label: intl.formatMessage({\r\n id: \"SelectAllSupervisorsInPeriod\",\r\n }),\r\n };\r\n selectableSupervisors.unshift(AddAllSupervisors);\r\n }\r\n\r\n const groupedOptions = [\r\n {\r\n label: intl.formatMessage({\r\n id: \"Students\",\r\n }),\r\n options: selectableStudents,\r\n },\r\n {\r\n label: intl.formatMessage({\r\n id: \"Supervisors\",\r\n }),\r\n options: selectableSupervisors,\r\n },\r\n ];\r\n\r\n return (\r\n \r\n \r\n handleRemoveInfoPerson(person)}\r\n />\r\n {person.name}\r\n \r\n ({ ...base, zIndex: 9999 }) }}\r\n name=\"forUsers\"\r\n defaultValue={person.forUsers?.map((person) => ({\r\n label: person.name,\r\n value: person,\r\n }))}\r\n isMulti\r\n options={groupedOptions}\r\n onChange={(event) =>\r\n handleAddAndRemoveUsersToInfoPerson(event, person)\r\n }\r\n noOptionsMessage={({ inputValue }) => (\r\n \r\n )}\r\n />\r\n \r\n );\r\n };\r\n\r\n const handleSaveInfoPersonsAndStudents = () => {\r\n let tempInfoPersons = [...newInfoPersonsWithStudents];\r\n tempInfoPersons.forEach((ip) => {\r\n let tempUsers = [];\r\n if (ip.forUsers.some((user) => user === \"AllStudents\")) {\r\n students.forEach((stud) => {\r\n tempUsers.push(stud.student);\r\n });\r\n ip.forUsers = ip.forUsers.filter((user) => user !== \"AllStudents\");\r\n }\r\n if (ip.forUsers.some((user) => user === \"AllSupervisors\")) {\r\n supervisors.forEach((sv) => {\r\n tempUsers.push(sv);\r\n });\r\n ip.forUsers = ip.forUsers.filter((user) => user !== \"AllSupervisors\");\r\n }\r\n tempUsers.forEach((user) => {\r\n if (!ip.forUsers.some((oldlist) => oldlist.id === user.id)) {\r\n ip.forUsers.push(user);\r\n }\r\n });\r\n });\r\n\r\n setNewInfoPersonsWithStudents(tempInfoPersons);\r\n saveInformationPersonsAndUsersForPeriod(newInfoPersonsWithStudents);\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 {addNewInfoPersonOpen && (\r\n \r\n )}\r\n\r\n ({ ...base, zIndex: 9999 }) }}\r\n name=\"infoPersons\"\r\n placeholder={intl.formatMessage({\r\n id: \"ChooseContactPerson\",\r\n })}\r\n options={selectableInfoPersons}\r\n onChange={(event) => handleAddInfoPerson(event)}\r\n noOptionsMessage={({ inputValue }) => (\r\n \r\n )}\r\n />\r\n {newInfoPersonsWithStudents.map((person) => (\r\n \r\n ))}\r\n \r\n
    \r\n \r\n \r\n {\r\n toggleInformationPerson();\r\n }}\r\n >\r\n \r\n \r\n {\r\n handleSaveInfoPersonsAndStudents();\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 injectIntl(ModifyAPLInformationPersonModal);\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Select from \"react-select\";\r\nimport CreateNewSupervisor from \"../APL/CreateNewSupervisor\";\r\nimport {\r\n Card,\r\n CardHeader,\r\n Modal,\r\n ModalBody,\r\n CardFooter,\r\n Button,\r\n Row,\r\n Col,\r\n} from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { useQueryClient, useMutation } from \"react-query\";\r\nimport { injectIntl } from \"react-intl\";\r\nimport {\r\n ChangeStudentSupervisor,\r\n AddStudentToPeriod,\r\n RemoveStudentFromPeriod,\r\n PostSupervisorCompany,\r\n} from \"../../actions/teacherMutations\";\r\nimport { toast } from \"react-toastify\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport ConfirmDialog from \"../Modal/ConfirmDialog\";\r\nimport {\r\n GetAvailableStudentsForPeriod,\r\n GetSupervisorCompanies,\r\n} from \"../../actions/teacherQueries\";\r\nimport AlertModal from \"../Modal/AlertModal\";\r\nimport EditNameDialog from \"../Modal/EditNameDialogModal\";\r\nimport uuid from \"uuid\";\r\n\r\nconst ModifySupervisorsModal = ({\r\n studentsWithSupervisors,\r\n supervisorsWithStudents,\r\n allSupervisors,\r\n intl,\r\n isOpen,\r\n toggle,\r\n students,\r\n periodId,\r\n listOfStudentIds,\r\n schoolId,\r\n level,\r\n objId,\r\n programTeachers,\r\n}) => {\r\n const [selectableStudents, setSelectableStudents] = useState([]);\r\n const [selectableSupervisors, setSelectableSupervisors] = useState([]);\r\n const [addNewSupervisorVisible, setAddNewSupervisorVisible] = useState(false);\r\n const [newSupervisorsStudents, setNewSupervisorsStudents] = useState([]);\r\n const [studentsForRemoval, setStudentsForRemoval] = useState([]);\r\n const [promptRemoveStudents, setPromptRemoveStudents] = useState(false);\r\n const postChangeStudentSupervisor = useMutation(ChangeStudentSupervisor);\r\n const postNewStudentSupervisor = useMutation(AddStudentToPeriod);\r\n const deleteStudentFromPeriod = useMutation(RemoveStudentFromPeriod);\r\n const [supervisorToAddToSchool, setSupervisorToAddToSchool] = useState(null);\r\n const [addToSchoolIsOpen, setAddToSchoolIsOpen] = useState(false);\r\n const [showNoStudentsWarning, setShowNoStudentsWarning] = useState(false);\r\n const [companiesForSelect, setCompaniesForSelect] = useState([]);\r\n const [addNewCompanyIsOpen, setAddNewCompanyIsOpen] = useState(false);\r\n const [newCompanyName, setNewCompanyName] = useState(null);\r\n const [showCompanyNameOccupied, setShowCompanyNameOccupied] = useState(false);\r\n const [\r\n showSomeStudentHasNoPlacementAlert,\r\n setShowSomeStudentHasNoPlacementAlert,\r\n ] = useState(false);\r\n const availableStudentIds = GetAvailableStudentsForPeriod({\r\n candidates: { periodId: periodId, candidateStudentIds: listOfStudentIds },\r\n });\r\n const postSupervisorCompanyMutation = useMutation(PostSupervisorCompany);\r\n\r\n const companies = GetSupervisorCompanies();\r\n\r\n const queryClient = useQueryClient();\r\n\r\n useEffect(() => {\r\n if (!companies.isLoading) {\r\n const tempCompanies = [];\r\n companies.data.forEach((c) => {\r\n const companyForSelect = { value: c, label: c.name };\r\n tempCompanies.push(companyForSelect);\r\n });\r\n tempCompanies.unshift({\r\n value: \"addNew\",\r\n label: intl.formatMessage({\r\n id: \"AddCompany\",\r\n }),\r\n });\r\n setCompaniesForSelect(tempCompanies);\r\n }\r\n }, [companies.isLoading, companies.data, intl]);\r\n\r\n useEffect(() => {\r\n setNewSupervisorsStudents([...supervisorsWithStudents]);\r\n let tempSupervisorsForSelect = [...allSupervisors];\r\n supervisorsWithStudents.forEach((svws) => {\r\n tempSupervisorsForSelect = tempSupervisorsForSelect.filter(\r\n (sv) => sv.id !== svws.id\r\n );\r\n });\r\n let tempFormattedSupervisorsForSelect = [];\r\n tempSupervisorsForSelect.forEach((sv) => {\r\n let supervisorForSelect = {\r\n label: sv.name,\r\n value: sv,\r\n };\r\n\r\n tempFormattedSupervisorsForSelect.push(supervisorForSelect);\r\n });\r\n let addNewSupervisor = {\r\n value: \"Add\",\r\n label: \"--Lägg till ny handledare--\",\r\n };\r\n tempFormattedSupervisorsForSelect.unshift(addNewSupervisor);\r\n programTeachers.forEach((teacher) => {\r\n const teacherToAdd = {\r\n label: teacher.name + \" --Lärare--\",\r\n value: { ...teacher, teacher: true },\r\n };\r\n tempFormattedSupervisorsForSelect.push(teacherToAdd);\r\n });\r\n setSelectableSupervisors(tempFormattedSupervisorsForSelect);\r\n }, [\r\n studentsWithSupervisors,\r\n supervisorsWithStudents,\r\n isOpen,\r\n allSupervisors,\r\n programTeachers,\r\n ]);\r\n\r\n useEffect(() => {\r\n if (\r\n availableStudentIds.data &&\r\n !availableStudentIds.isLoading &&\r\n !availableStudentIds.error\r\n ) {\r\n let tempAvailableStudents = [];\r\n tempAvailableStudents = students.filter((stud) =>\r\n availableStudentIds.data.includes(stud.id)\r\n );\r\n\r\n let tempStudentsForSorting = [];\r\n tempAvailableStudents.forEach((tempstud) => {\r\n let studentToAdd = { value: tempstud, label: tempstud.student.name };\r\n tempStudentsForSorting.push(studentToAdd);\r\n });\r\n setSelectableStudents(tempStudentsForSorting);\r\n }\r\n }, [\r\n availableStudentIds.isLoading,\r\n availableStudentIds.error,\r\n availableStudentIds.data,\r\n students,\r\n ]);\r\n\r\n const handleAddSupervisor = (supervisor) => {\r\n if (supervisor.value === \"Add\") {\r\n setAddNewSupervisorVisible(true);\r\n } else {\r\n setAddNewSupervisorVisible(false);\r\n let newSupervisorToAdd = supervisor.value;\r\n newSupervisorToAdd.students = [];\r\n setNewSupervisorsStudents([\r\n ...newSupervisorsStudents,\r\n newSupervisorToAdd,\r\n ]);\r\n let tempSelectableSupervisors = selectableSupervisors.filter(function (\r\n sv\r\n ) {\r\n return sv.value.id !== supervisor.value.id;\r\n });\r\n setSelectableSupervisors(tempSelectableSupervisors);\r\n }\r\n };\r\n\r\n const handleReloadSupervisors = () => {\r\n queryClient.invalidateQueries([\"FetchPeriods\", [level, objId]]);\r\n };\r\n\r\n const handleRemoveSupervisor = (studentSupervisorObject) => {\r\n if (studentSupervisorObject.students.length > 0) {\r\n let studentsToAddAsSelectable = [];\r\n studentSupervisorObject.students.forEach((stud) => {\r\n let studentToAdd = {\r\n value: stud,\r\n label: stud.student.name,\r\n };\r\n studentsToAddAsSelectable.push(studentToAdd);\r\n });\r\n setSelectableStudents([\r\n ...selectableStudents,\r\n ...studentsToAddAsSelectable,\r\n ]);\r\n }\r\n setNewSupervisorsStudents(\r\n newSupervisorsStudents.filter(\r\n (ssv) => ssv.id !== studentSupervisorObject.id\r\n )\r\n );\r\n let supervisorToAddAsSelectable = {\r\n value: studentSupervisorObject,\r\n label:\r\n studentSupervisorObject.name +\r\n \" - \" +\r\n studentSupervisorObject.aplCompany.name,\r\n };\r\n setSelectableSupervisors([\r\n ...selectableSupervisors,\r\n supervisorToAddAsSelectable,\r\n ]);\r\n };\r\n\r\n const handleAddStudentToTeacherSupervisor = (supervisor, student) => {\r\n const tempTeacherSupervisors = [...newSupervisorsStudents];\r\n tempTeacherSupervisors\r\n .find((sv) => sv.id === supervisor.id)\r\n .students.push(student.value);\r\n setNewSupervisorsStudents(tempTeacherSupervisors);\r\n setSelectableStudents(\r\n selectableStudents.filter((stud) => stud.value.id !== student.value.id)\r\n );\r\n };\r\n\r\n const handleSubmitNewSupervisors = () => {\r\n let newStudentsSv = [];\r\n let currentStudents = [];\r\n let studentsAreRemoved = false;\r\n newSupervisorsStudents.forEach((newSupervisors) => {\r\n currentStudents.push(...newSupervisors.students);\r\n });\r\n if (\r\n newSupervisorsStudents.length < 1 ||\r\n newSupervisorsStudents.every((sv) => sv.students.length < 1)\r\n ) {\r\n setShowNoStudentsWarning(true);\r\n } else {\r\n if (studentsWithSupervisors.length > currentStudents.length) {\r\n studentsAreRemoved = true;\r\n let removedStudents = [];\r\n studentsWithSupervisors.forEach((stud) => {\r\n if (\r\n !currentStudents.some(\r\n (currStud) => currStud.studentId === stud.studentId\r\n )\r\n ) {\r\n removedStudents.push(stud);\r\n }\r\n });\r\n setStudentsForRemoval(removedStudents);\r\n }\r\n\r\n newSupervisorsStudents.forEach((sv) => {\r\n sv.students.forEach((stud) => {\r\n let newStud = stud;\r\n newStud.supervisor = sv;\r\n newStudentsSv.push(newStud);\r\n });\r\n });\r\n let studentsWithDifferentSupervisors = [];\r\n let newStudentsAdded = [];\r\n newStudentsSv.forEach((stud) => {\r\n let oldStudent = studentsWithSupervisors.find(\r\n (st) => st.studentId === stud.studentId\r\n );\r\n if (oldStudent === undefined) {\r\n const newStudent = {\r\n periodId: periodId,\r\n studentId: stud.studentId,\r\n supervisorId: stud.supervisor.id,\r\n companyId: stud.companyId,\r\n };\r\n newStudentsAdded.push(newStudent);\r\n } else if (\r\n oldStudent.supervisorId !== stud.supervisor.id ||\r\n stud.company.id !== stud.companyId\r\n ) {\r\n studentsWithDifferentSupervisors.push(stud);\r\n }\r\n });\r\n if (\r\n studentsWithDifferentSupervisors.some(\r\n (stud) => stud.companyId === null || stud.companyId === undefined\r\n ) ||\r\n newStudentsAdded.some(\r\n (newstud) =>\r\n newstud.companyId === null || newstud.companyId === undefined\r\n )\r\n ) {\r\n setShowSomeStudentHasNoPlacementAlert(true);\r\n } else {\r\n studentsWithDifferentSupervisors.forEach((ssv) => {\r\n let ssvObject = { ...ssv };\r\n ssvObject.periodId = periodId;\r\n postChangeStudentSupervisor.mutate(ssvObject, {\r\n throwOnError: true,\r\n onSuccess: (data) => {\r\n if (data?.status > 199 && data.status < 300) {\r\n handleReloadSupervisors();\r\n const studentIndex = studentsWithSupervisors.findIndex(\r\n (st) => st.studentId === ssv.studentId\r\n );\r\n const tempStudentsWithSupervisors = [...newSupervisorsStudents];\r\n tempStudentsWithSupervisors[studentIndex].supervisor =\r\n data.data.result.supervisor;\r\n tempStudentsWithSupervisors[studentIndex].companyId =\r\n data.data.result.aplCompanyId;\r\n tempStudentsWithSupervisors[studentIndex].company =\r\n data.data.result.aplCompany;\r\n setNewSupervisorsStudents(tempStudentsWithSupervisors);\r\n toast.success(\r\n data.data.result.student.name +\r\n \" har bytt till handledaren \" +\r\n data.data.result.supervisor.name\r\n );\r\n toggle();\r\n } else {\r\n toast.warn(data);\r\n }\r\n },\r\n onError: (data) => {\r\n toast.warn(data);\r\n },\r\n });\r\n });\r\n newStudentsAdded.forEach((stud) => {\r\n postNewStudentSupervisor.mutate(stud, {\r\n throwOnError: true,\r\n onSuccess: (data) => {\r\n if (data?.status > 199 && data.status < 300) {\r\n studentsWithSupervisors.push(data.data.result);\r\n toast.success();\r\n } else {\r\n toast.warn(data);\r\n }\r\n toggle();\r\n },\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n });\r\n });\r\n if (studentsAreRemoved) {\r\n setPromptRemoveStudents(true);\r\n } else {\r\n queryClient.invalidateQueries(\"FetchPeriods\", [level, objId]);\r\n }\r\n }\r\n }\r\n };\r\n\r\n const handleRemoveStudentsFromPeriod = () => {\r\n studentsForRemoval.forEach((student) => {\r\n let studentForRemoval = {\r\n studentId: student.studentId,\r\n periodId: periodId,\r\n };\r\n deleteStudentFromPeriod.mutate(studentForRemoval, {\r\n throwOnError: true,\r\n onSuccess: (data) => {\r\n toast.success();\r\n setPromptRemoveStudents(false);\r\n queryClient.invalidateQueries(\"FetchPeriods\", [level, objId]);\r\n toggle();\r\n setStudentsForRemoval([]);\r\n },\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n setPromptRemoveStudents(false);\r\n toggle();\r\n setStudentsForRemoval([]);\r\n },\r\n });\r\n });\r\n };\r\n const toggleAddToSchool = () => {\r\n setAddToSchoolIsOpen(!addToSchoolIsOpen);\r\n };\r\n\r\n const handleRemoveStudentFromTeacherSupervisor = (supervisor, student) => {\r\n let tempTeacherSupervisors = [...newSupervisorsStudents];\r\n let currentSupervisor = tempTeacherSupervisors.find(\r\n (sv) => sv.id === supervisor.id\r\n );\r\n currentSupervisor.students = currentSupervisor.students.filter(\r\n (stud) => stud.studentId !== student.studentId\r\n );\r\n setNewSupervisorsStudents(tempTeacherSupervisors);\r\n setSelectableStudents([\r\n { label: student.student.name, value: student },\r\n ...selectableStudents,\r\n ]);\r\n };\r\n\r\n const handleSetTeacherSupervisorStudentCompany = (\r\n supervisor,\r\n student,\r\n company\r\n ) => {\r\n if (company === \"addNew\") {\r\n setAddNewCompanyIsOpen(true);\r\n } else {\r\n let tempTeacherSupervisors = [...newSupervisorsStudents];\r\n let currentSupervisor = tempTeacherSupervisors.find(\r\n (sv) => sv.id === supervisor.id\r\n );\r\n const indexOfstudent = currentSupervisor.students.findIndex(\r\n (stud) => stud.studentId === student.studentId\r\n );\r\n currentSupervisor.students[indexOfstudent].companyId = company.id;\r\n\r\n setNewSupervisorsStudents(tempTeacherSupervisors);\r\n }\r\n };\r\n\r\n const handleAddNewCompany = () => {\r\n let cleanedCompanyName = newCompanyName.replace(\"&\", \"%26\");\r\n if (\r\n companies.data.some(\r\n (company) =>\r\n company.name.trim().toLowerCase() ===\r\n newCompanyName.trim().toLowerCase()\r\n )\r\n ) {\r\n setShowCompanyNameOccupied(true);\r\n } else {\r\n postSupervisorCompanyMutation.mutate(cleanedCompanyName, {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n toast.success();\r\n queryClient.invalidateQueries(\"FetchSupervisorCompanies\");\r\n } else {\r\n toast.warn(data);\r\n }\r\n setAddNewCompanyIsOpen(false);\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n });\r\n }\r\n };\r\n\r\n const SupervisorsAndStudents = ({ intl }) => {\r\n if (newSupervisorsStudents.length > 0) {\r\n return newSupervisorsStudents.map((sv, key) => {\r\n let studentsForSelect = [];\r\n sv.students.forEach((s) => {\r\n let studToAdd = {\r\n value: s,\r\n label: s.name,\r\n };\r\n studentsForSelect.push(studToAdd);\r\n });\r\n return (\r\n \r\n \r\n handleRemoveSupervisor(sv)}\r\n />\r\n {sv.name}\r\n \r\n ({ ...base, zIndex: 9999 }) }}\r\n name=\"students\"\r\n defaultValue={intl.formatMessage({\r\n id: \"ConnectStudentsToSupervisor\",\r\n })}\r\n options={selectableStudents}\r\n onChange={(event) =>\r\n handleAddStudentToTeacherSupervisor(sv, event)\r\n }\r\n />\r\n {sv.students.map((student, i) => {\r\n return (\r\n \r\n
    \r\n \r\n handleRemoveStudentFromTeacherSupervisor(sv, student)\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n {student.student.name}\r\n \r\n \r\n ({ ...base, zIndex: 9999 }),\r\n }}\r\n placeholder={intl.formatMessage({\r\n id: \"ChooseStudentsPlacement\",\r\n })}\r\n name=\"studentCompany\"\r\n value={\r\n student.companyId\r\n ? companiesForSelect.find(\r\n (company) =>\r\n company.value.id === student.companyId\r\n )\r\n : null\r\n }\r\n options={companiesForSelect}\r\n onChange={(event) =>\r\n handleSetTeacherSupervisorStudentCompany(\r\n sv,\r\n student,\r\n event.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 return null;\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n ({ ...base, zIndex: 9999 }) }}\r\n name=\"students\"\r\n options={selectableSupervisors}\r\n onChange={(event) => handleAddSupervisor(event)}\r\n />\r\n {addNewSupervisorVisible ? (\r\n setAddNewSupervisorVisible(false)}\r\n reloadSupervisors={handleReloadSupervisors}\r\n selectableSupervisors={selectableSupervisors}\r\n setSelectableSupervisors={setSelectableSupervisors}\r\n supervisorToAddToSchool={supervisorToAddToSchool}\r\n setSupervisorToAddToSchool={setSupervisorToAddToSchool}\r\n addToSchoolIsOpen={addToSchoolIsOpen}\r\n setAddToSchoolIsOpen={setAddToSchoolIsOpen}\r\n toggleAddToSchool={toggleAddToSchool}\r\n schoolId={schoolId}\r\n />\r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n \r\n \r\n toggle()}\r\n >\r\n \r\n \r\n handleSubmitNewSupervisors()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n setPromptRemoveStudents(!promptRemoveStudents)}\r\n title={}\r\n message={\r\n \" \" + a.student.name),\r\n }}\r\n id=\"WillBeRemovedAndDataWillBeLost\"\r\n />\r\n }\r\n onProceed={handleRemoveStudentsFromPeriod}\r\n danger={true}\r\n />\r\n setShowNoStudentsWarning(false)}\r\n isOpen={showNoStudentsWarning}\r\n title={}\r\n message={}\r\n />\r\n setAddNewCompanyIsOpen(!addNewCompanyIsOpen)}\r\n isOpen={addNewCompanyIsOpen}\r\n title={\"Lägg till företag\"}\r\n onChange={(val) => setNewCompanyName(val)}\r\n defaultName={null}\r\n onProceed={(val) => handleAddNewCompany(val)}\r\n />\r\n setShowCompanyNameOccupied(false)}\r\n isOpen={showCompanyNameOccupied}\r\n title={intl.formatMessage({ id: \"CompanyAlreadyExists\" })}\r\n message={intl.formatMessage({ id: \"CompanyAlreadyExistsExplanation\" })}\r\n />\r\n setShowSomeStudentHasNoPlacementAlert(false)}\r\n isOpen={showSomeStudentHasNoPlacementAlert}\r\n title={intl.formatMessage({ id: \"SomeStudentDoesntHavePlacement\" })}\r\n message={intl.formatMessage({\r\n id: \"SomeStudentDoesntHavePlacementExplanation\",\r\n })}\r\n />\r\n \r\n );\r\n};\r\nexport default injectIntl(ModifySupervisorsModal);\r\n","import { React, useEffect, useState, Fragment } from \"react\";\r\nimport {\r\n Row,\r\n Col,\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n CardTitle,\r\n Card,\r\n CardBody,\r\n CardFooter,\r\n Button,\r\n} from \"reactstrap/lib\";\r\nimport styled from \"styled-components\";\r\nimport \"react-nice-dates/build/style.css\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport ScrollContainer from \"react-indiana-drag-scroll\";\r\nimport CreateAPLPeriodDocuments from \"../Modal/CreateAPLPeriodDocuments\";\r\nimport {\r\n DeleteDocument,\r\n GetAplInformationPersons,\r\n PostAplInformationPerson,\r\n UpdateInformationPersonAddUsers,\r\n UpdateInformationPersonRemoveUsers,\r\n PostInformationPersonsAndUsersForPeriod,\r\n} from \"../../actions/teacherMutations\";\r\nimport { useMutation } from \"react-query\";\r\nimport { toast } from \"react-toastify\";\r\nimport { Tab, Tabs, Box } from \"@mui/material\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport ModifyAPLInformationPersonModal from \"../Modal/ModifyAPLInformationPersonModal\";\r\nimport ModifySupervisorsModal from \"../Modal/ModifySupervisorsModal\";\r\nimport { BASE_LOGIN_REDIRECT_URL } from \"../../constants/api.constants\";\r\nimport ButtonSendActivationMail from \"../Button/ButtonSendActivationMail\";\r\nimport axios from \"../../services/api/api\";\r\nimport uuid from \"uuid\";\r\n\r\nexport default function APLDocumentsAndSupervisors({\r\n supervisorsInPeriod,\r\n allSupervisors,\r\n setLevelSupervisor,\r\n levelSupervisor,\r\n setSupervisor,\r\n toggleSupervisorInfo,\r\n period,\r\n setPeriod,\r\n toggleInfoPersonOpen,\r\n setAplInfoPerson,\r\n level,\r\n objId,\r\n students,\r\n schoolId,\r\n programTeachers,\r\n}) {\r\n const deleteDocument = useMutation(DeleteDocument);\r\n const { mutate } = useMutation(GetAplInformationPersons);\r\n const postAplInfoPerson = useMutation(PostAplInformationPerson);\r\n const updateInfoPersonAddUsers = useMutation(UpdateInformationPersonAddUsers);\r\n const postAplInfoPersonsAndUsers = useMutation(\r\n PostInformationPersonsAndUsersForPeriod\r\n );\r\n const updateInfoPersonRemoveUsers = useMutation(\r\n UpdateInformationPersonRemoveUsers\r\n );\r\n\r\n const [isOpen, setIsOpen] = useState(false);\r\n const toggle = () => {\r\n setAplDocumentsWithUsers([]);\r\n setIsOpen(!isOpen);\r\n };\r\n const [informationPersonIsOpen, setInformationPersonIsOpen] = useState(false);\r\n const [modifySupervisorsOpen, setModifySupervisorsOpen] = useState(false);\r\n const toggleInformationPerson = () =>\r\n setInformationPersonIsOpen(!informationPersonIsOpen);\r\n const toggleSupervisorModifyer = () => {\r\n setModifySupervisorsOpen(!modifySupervisorsOpen);\r\n };\r\n const [aplDocumentsWithUsers, setAplDocumentsWithUsers] = useState([]);\r\n const [informationPersons, setInformationPersons] = useState([]);\r\n const [infoPersonUsers, setInfoPersonUsers] = useState([]);\r\n const [supervisorsWithStudents, setSupervisorsWithStudents] = useState([]);\r\n const [listOfStudentIds, setListOfStudentIds] = useState([]);\r\n const [studentsInPeriod, setStudentsInPeriod] = useState([]);\r\n const [supervisorsInLevel, setSupervisorsInLevel] = useState([]);\r\n const [allStudents, setAllStudents] = useState([]);\r\n useEffect(() => {\r\n let tempsupervisorsWithStudents = [];\r\n let tempStudentsInPeriod = [];\r\n let studentsInLevel = [];\r\n if (period) {\r\n if (level === \"Class\") {\r\n studentsInLevel = period?.period?.students?.filter(\r\n (student) => student?.student?.class?.id === objId\r\n );\r\n } else if (level === \"Program\") {\r\n studentsInLevel = [...period.period.students];\r\n } else {\r\n studentsInLevel = period.period.students.filter(\r\n (student) => student.student.id === objId\r\n );\r\n }\r\n let tempSupervisors = [];\r\n studentsInLevel.forEach((student, i) => {\r\n if (\r\n !tempSupervisors.some(\r\n (supervisor) => supervisor.id === student.supervisor.id\r\n )\r\n ) {\r\n tempSupervisors.push(student.supervisor);\r\n }\r\n tempStudentsInPeriod.push(student.student);\r\n let supervisor = student.supervisor;\r\n if (\r\n !tempsupervisorsWithStudents.find((sv) => sv.id === supervisor.id)\r\n ) {\r\n supervisor.students = [];\r\n supervisor.students.push(student);\r\n tempsupervisorsWithStudents.push(supervisor);\r\n } else {\r\n tempsupervisorsWithStudents\r\n .find((sv) => sv.id === supervisor.id)\r\n .students.push(student);\r\n }\r\n });\r\n setSupervisorsInLevel(tempSupervisors);\r\n setStudentsInPeriod(tempStudentsInPeriod);\r\n setSupervisorsWithStudents(tempsupervisorsWithStudents);\r\n }\r\n }, [period, period.period.students, level, objId]);\r\n\r\n useEffect(() => {\r\n const tempAllStudents = [];\r\n students.forEach((stud) => {\r\n const studentToAdd = {\r\n company: null,\r\n companyId: null,\r\n id: stud.id,\r\n period: null,\r\n periodId: null,\r\n student: stud,\r\n studentId: stud.id,\r\n supervisor: null,\r\n supervisorId: null,\r\n };\r\n tempAllStudents.push(studentToAdd);\r\n });\r\n setAllStudents(tempAllStudents);\r\n }, [students]);\r\n\r\n useEffect(() => {\r\n let studentIds = [];\r\n students.forEach((stud) => {\r\n studentIds.push(stud.id);\r\n });\r\n setListOfStudentIds(studentIds);\r\n }, [students]);\r\n\r\n useEffect(() => {\r\n mutate(period.period.id, {\r\n onSuccess: (data) => {\r\n setInformationPersons(data);\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n });\r\n }, [period, mutate]);\r\n\r\n const selectSupervisorDocument = (sl) => {\r\n switch (sl) {\r\n case \"supervisor\":\r\n return (\r\n
    \r\n {supervisorsInLevel &&\r\n supervisorsInLevel.map((value, i) => (\r\n \r\n \r\n
    \r\n {\r\n setSupervisor(value);\r\n toggleSupervisorInfo();\r\n }}\r\n >\r\n \r\n : {value.name}\r\n  ({value.aplCompany.name})\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {value.students.map((datas, i) => (\r\n \r\n \r\n : {datas.student.name}\r\n \r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n {\r\n toggleSupervisorModifyer();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n case \"documents\":\r\n const documentsForLevelUsers = period.documents.filter((doc) =>\r\n doc.documentAccesses.some(\r\n (user) =>\r\n students.some(\r\n (stud) => stud.id === user.id && user.userType === \"Student\"\r\n ) || user.userType === \"AplSupervisor\"\r\n )\r\n );\r\n\r\n return (\r\n <>\r\n
    \r\n {period &&\r\n documentsForLevelUsers.map((value, index) => {\r\n var docName =\r\n value.description?.length > 0\r\n ? value.description\r\n : value.documentPath.split(\"\\\\\")[2].split(\".\")[0];\r\n return (\r\n \r\n {\r\n deleteDocument.mutate(value.id, {\r\n onSuccess: () => {\r\n var tempPeriod = period;\r\n tempPeriod.documents.splice(index, 1);\r\n setPeriod(tempPeriod);\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n });\r\n }}\r\n />\r\n
    \r\n \r\n window.open(\r\n BASE_LOGIN_REDIRECT_URL.replace(\"/lwc\", \"\") +\r\n \"/\" +\r\n value.documentPath,\r\n \"_blank\"\r\n )\r\n }\r\n >\r\n {\" \"}\r\n \r\n \r\n {docName}\r\n \r\n\r\n {value.documentAccesses.some(\r\n (acc) => acc.userType === \"Student\"\r\n ) && (\r\n <>\r\n \r\n :\r\n \r\n {value.documentAccesses\r\n .filter((acc) => acc.userType === \"Student\")\r\n .map((access, i) => {\r\n return (\r\n \r\n {access.name}\r\n {value.documentAccesses.filter(\r\n (acc) => acc.userType === \"Student\"\r\n ).length -\r\n 1 ===\r\n i\r\n ? \". \"\r\n : \", \"}\r\n \r\n );\r\n })}\r\n \r\n )}\r\n {value.documentAccesses.some(\r\n (acc) => acc.userType === \"AplSupervisor\"\r\n ) && (\r\n <>\r\n \r\n :\r\n \r\n {value.documentAccesses\r\n .filter(\r\n (acc) => acc.userType === \"AplSupervisor\"\r\n )\r\n .map((access, i) => {\r\n return (\r\n \r\n {access.name}\r\n {value.documentAccesses.filter(\r\n (acc) =>\r\n acc.userType === \"AplSupervisor\"\r\n ).length -\r\n 1 ===\r\n i\r\n ? \". \"\r\n : \", \"}\r\n \r\n );\r\n })}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n case \"importantPersons\":\r\n return (\r\n <>\r\n {\" \"}\r\n \r\n {informationPersons &&\r\n informationPersons\r\n .filter(\r\n (infoPerson) =>\r\n infoPerson.forUserIds.length > 0 &&\r\n (level === \"Student\" && infoPerson.forUserIds\r\n ? infoPerson.forUserIds.includes(objId)\r\n : true)\r\n )\r\n .map((infoPerson, i) => {\r\n return (\r\n \r\n {\r\n setAplInfoPerson(infoPerson);\r\n toggleInfoPersonOpen();\r\n }}\r\n >\r\n \r\n \r\n {infoPerson.name}\r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n \r\n \r\n {\r\n toggleInformationPerson();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n default:\r\n return;\r\n }\r\n };\r\n\r\n const toFormData = (file, paramName) => {\r\n if (!file) return null;\r\n\r\n var myData = new FormData();\r\n myData.append(paramName, file);\r\n return myData;\r\n };\r\n\r\n const uploadAdditionalDocuments = async () => {\r\n const participantIds = [];\r\n studentsInPeriod.forEach((student) => {\r\n participantIds.push(student.id);\r\n });\r\n\r\n supervisorsInPeriod.forEach((supervisor) => {\r\n participantIds.push(supervisor.id);\r\n });\r\n\r\n for (const doc of aplDocumentsWithUsers) {\r\n var userIds = [];\r\n\r\n for (let index = 0; index < doc.users.length; index++) {\r\n userIds.push(doc.users[index].value.id);\r\n }\r\n\r\n if (!doc.users.length) {\r\n toast.warn(\r\n \"Dokumentet \" +\r\n doc.description +\r\n \" är inte kopplat till någon och kan därför inte laddas upp\"\r\n );\r\n } else {\r\n const docdata = await axios\r\n .post(\r\n `/Apl/PostDocumentForPeriod?description=${\r\n doc.description\r\n }&periodId=${period.period.id}&userIds=${userIds.join(\r\n \"&userIds=\"\r\n )}`,\r\n toFormData(doc.document, \"document\"),\r\n { headers: { \"Content-Type\": \"multipart/form-data;\" } }\r\n )\r\n .catch((err) => {\r\n toast.warn(err.response.data);\r\n });\r\n if (docdata && docdata.status > 199 && docdata.status < 300) {\r\n toast.success(\"Dokument sparade\");\r\n period.documents.push(docdata.data.result);\r\n }\r\n }\r\n }\r\n setAplDocumentsWithUsers([]);\r\n };\r\n\r\n const saveInformationPersonsAndUsersForPeriod = (newInfoPersonsWithUsers) => {\r\n let saveObject = { periodId: period.period.id, users: [] };\r\n newInfoPersonsWithUsers.forEach((infopers) => {\r\n let infoPerson = { id: infopers.id, userIds: [] };\r\n infopers.forUsers.forEach((user) => {\r\n infoPerson.userIds.push(user.id);\r\n });\r\n saveObject.users.push(infoPerson);\r\n });\r\n\r\n postAplInfoPersonsAndUsers.mutate(saveObject, {\r\n onSuccess: (data) => {\r\n mutate(period.period.id, {\r\n onSuccess: (data) => {\r\n setInformationPersons(data);\r\n toast.success(\"Kontaktpersoner uppdaterade\");\r\n setInformationPersonIsOpen(false);\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n const saveInformationPerson = (person) => {\r\n postAplInfoPerson.mutate(\r\n {\r\n aplPeriodId: period.period.id,\r\n name: person.name,\r\n mail: person.mail,\r\n phoneNumber: person.phoneNumber,\r\n forUserIds: [],\r\n },\r\n {\r\n onSuccess: (data) => {\r\n mutate(period.period.id, {\r\n onSuccess: (data) => {\r\n setInformationPersons(data);\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n });\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n };\r\n\r\n const handleChange = (event, newValue) => {\r\n setLevelSupervisor(newValue);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n }\r\n value=\"supervisor\"\r\n wrapped\r\n />\r\n }\r\n value=\"importantPersons\"\r\n wrapped\r\n />\r\n }\r\n value=\"documents\"\r\n wrapped\r\n />\r\n \r\n \r\n \r\n
    \r\n {selectSupervisorDocument(levelSupervisor)}\r\n
    \r\n {period && (\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n {\" \"}\r\n

    \r\n \r\n

    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {\r\n uploadAdditionalDocuments();\r\n toggle();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n {period && supervisorsInPeriod && (\r\n \r\n )}\r\n
    \r\n \r\n );\r\n}\r\n\r\nconst Label = styled.label`\r\n margin: auto 1rem;\r\n background: white;\r\n`;\r\n\r\nconst LabelAsRow = styled(Label)`\r\n margin: auto 0;\r\n padding: 0.1rem 0.5rem;\r\n cursor: pointer;\r\n background: white;\r\n &:hover {\r\n background: #20a8d8;\r\n color: white;\r\n cursor: pointer;\r\n transition: all 0.2s linear;\r\n border-radius: 1rem;\r\n }\r\n`;\r\n","import { FormattedMessage } from \"react-intl\";\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport { Row, Col, Button } from \"reactstrap/lib\";\r\n\r\nexport default function APLInformationPersonInfoModal({\r\n aplInfoPerson,\r\n toggleInfoPersonOpen,\r\n infoPersonOpen,\r\n}) {\r\n return (\r\n \r\n \r\n {aplInfoPerson.name}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {aplInfoPerson.forUsers &&\r\n aplInfoPerson.forUsers.map((user) => {\r\n return (\r\n
    \r\n {user.value ? user.value.name : user.name}\r\n
    \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport {\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Col,\r\n Row,\r\n Input,\r\n InputGroup,\r\n Button,\r\n} from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { AddWorkSteps } from \"../../actions/teacherMutations\";\r\nimport { useMutation, useQueryClient } from \"react-query\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nexport default function AddWorkStepModal({\r\n isOpen,\r\n toggle,\r\n workCardId,\r\n level,\r\n objId,\r\n}) {\r\n const [newWorkStepName, setNewWorkStepName] = useState(\"\");\r\n const queryClient = useQueryClient();\r\n const postNewWorkSteps = useMutation(AddWorkSteps);\r\n\r\n const handleCloseModal = () => {\r\n setNewWorkStepName(\"\");\r\n toggle();\r\n };\r\n\r\n const handlePost = () => {\r\n let workStepResource = {\r\n workCardId: workCardId,\r\n workSteps: [{ name: newWorkStepName }],\r\n };\r\n postNewWorkSteps.mutate(workStepResource, {\r\n throwOnError: true,\r\n onSuccess: () => {\r\n toast.success(\"postning lyckad\");\r\n handleCloseModal();\r\n queryClient.invalidateQueries(\"FetchWorkCardHours\", [\r\n level,\r\n workCardId,\r\n objId,\r\n ]);\r\n },\r\n onError: (data) => {\r\n toast.warn(data.response.data);\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNewWorkStepName(data.target.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","import React, { useState } from \"react\";\r\nimport {\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Col,\r\n Row,\r\n Input,\r\n InputGroup,\r\n Button,\r\n} from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { AddWorkStepComponents } from \"../../actions/teacherMutations\";\r\nimport { useMutation, useQueryClient } from \"react-query\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nexport default function AddNewWorkStepComponentModal({\r\n isOpen,\r\n toggle,\r\n level,\r\n objId,\r\n workStepId,\r\n workCardId,\r\n}) {\r\n const [newWorkStepComponentName, setNewWorkStepComponentName] = useState(\"\");\r\n const queryClient = useQueryClient();\r\n const postNewWorkStepComponents = useMutation(AddWorkStepComponents);\r\n\r\n const handleCloseModal = () => {\r\n setNewWorkStepComponentName(\"\");\r\n toggle();\r\n };\r\n\r\n const handlePost = () => {\r\n let workStepComponentResource = {\r\n WorkStepId: workStepId,\r\n WorkStepComponents: [{ name: newWorkStepComponentName }],\r\n };\r\n postNewWorkStepComponents.mutate(workStepComponentResource, {\r\n throwOnError: true,\r\n onSuccess: () => {\r\n toast.success(\"postning lyckad\");\r\n handleCloseModal();\r\n queryClient.invalidateQueries(\"FetchWorkCardHours\", [\r\n level,\r\n workCardId,\r\n objId,\r\n ]);\r\n },\r\n onError: (data) => {\r\n toast.warn(data.response.data);\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 \r\n \r\n \r\n .\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNewWorkStepComponentName(data.target.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","import React, { useState } from \"react\";\r\nimport { Col, CardTitle, Card, Button, Row } from \"reactstrap\";\r\nimport {\r\n RemoveAplPeriod,\r\n SetPeriodEndDate,\r\n} from \"../../actions/teacherMutations\";\r\nimport { useMutation } from \"react-query\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { toast } from \"react-toastify\";\r\nimport ConfirmDialog from \"../Modal/ConfirmDialog\";\r\nimport moment from \"moment\";\r\nimport { useQueryClient } from \"react-query\";\r\n\r\nexport default function RemoveAndChangeDateApl({\r\n periodId,\r\n periodName,\r\n currentEndDate,\r\n level,\r\n objId,\r\n setPeriod,\r\n}) {\r\n const mutateRemoveAplPeriod = useMutation(RemoveAplPeriod);\r\n const mutateSetEndDate = useMutation(SetPeriodEndDate);\r\n const [promptForDelete, setPromptForDelete] = useState(false);\r\n const [promptForEnd, setPromptForEnd] = useState(false);\r\n const queryClient = useQueryClient();\r\n\r\n const handleEndPeriod = () => {\r\n if (moment(currentEndDate).diff(moment()) > 0) {\r\n mutateSetEndDate.mutate(\r\n { periodId: periodId, endDate: moment().format(\"YYYY-MM-DDTHH:mm:ss\") },\r\n {\r\n onSuccess: (data) => {\r\n if (data?.status > 199 && data.status < 300) {\r\n setPromptForEnd(false);\r\n toast.success();\r\n } else {\r\n toast.warn(data);\r\n }\r\n },\r\n onError: (data) => {\r\n setPromptForEnd(false);\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n } else {\r\n setPromptForEnd(false);\r\n toast.warn();\r\n }\r\n };\r\n\r\n const handleDeletePeriod = () => {\r\n mutateRemoveAplPeriod.mutate(\r\n { periodId: periodId },\r\n {\r\n onSuccess: (data) => {\r\n if (data?.status > 199 && data.status < 300) {\r\n setPromptForDelete(false);\r\n toast.success();\r\n setPeriod(null);\r\n queryClient.invalidateQueries([\"FetchPeriods\", [level, objId]]);\r\n } else {\r\n toast.warn(\"Något gick fel \" + data ? data : \"\");\r\n }\r\n },\r\n onError: (data) => {\r\n setPromptForEnd(false);\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n - {periodName}\r\n
    \r\n
    \r\n \r\n
    \r\n setPromptForDelete(true)}\r\n >\r\n \r\n \r\n setPromptForEnd(true)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n setPromptForDelete(!promptForDelete)}\r\n title={}\r\n message={\r\n \r\n }\r\n onProceed={handleDeletePeriod}\r\n />\r\n setPromptForEnd(!promptForEnd)}\r\n title={}\r\n message={\r\n \r\n }\r\n onProceed={handleEndPeriod}\r\n />\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Row, Col } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nexport default function APLPresenceColorInfo() {\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 \r\n \r\n      \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Row, Col, Card, CardBody, CardTitle } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport moment from \"moment\";\r\n\r\nexport default function APLFoodCompensationCard({\r\n daysWithNoFoodCompensation,\r\n}) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {daysWithNoFoodCompensation.map((item, i) => {\r\n return (\r\n \r\n
    {moment(item.day).format(\"L\")}\r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport \"react-nice-dates/build/style.css\";\r\nimport {\r\n Row,\r\n Col,\r\n Card,\r\n CardHeader,\r\n CardBody,\r\n UncontrolledCollapse,\r\n CardTitle,\r\n Button,\r\n} from \"reactstrap\";\r\nimport CreateAPLPeriodModal from \"../../components/Modal/CreateAPLPeriodModal\";\r\nimport APLMoments from \"../../components/APL/APLMoments\";\r\nimport SupervisorInfoModal from \"../../components/Modal/SupervisorInfoModal\";\r\nimport APLDataGrid from \"../../components/DataGrids/APLDataGrid\";\r\nimport APLPresence from \"../../components/APL/APLPresence\";\r\nimport { ScrollSync } from \"scroll-sync-react\";\r\nimport APLTabNavSelector from \"../../components/Teacher/Tabs/APLTabNavSelector\";\r\nimport APLRatings from \"./APLRatings\";\r\nimport APLDocumentsAndSupervisors from \"./APLDocumentsAndSupervisors\";\r\nimport {\r\n GetSupervisors,\r\n GetWorkCards,\r\n GetWorkCardHours,\r\n GetPeriods,\r\n GetEvents,\r\n GetAbsence,\r\n GetEvaluations,\r\n GetEvaluationQuestions,\r\n GetSupervisorsAndStudentsByPeriodId,\r\n GetTeacherInformation,\r\n} from \"../../actions/teacherQueries\";\r\nimport Pacmanloader from \"../../components/Pacmanloader/Pacmanloader\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport {\r\n DeleteEvaluationQuestion,\r\n PostEvaluationQuestions,\r\n UpdateEvaluationQuestion,\r\n DeleteWorkstep,\r\n DeleteWorkstepComponent,\r\n EditWorkstepComponent,\r\n EditWorkStep,\r\n} from \"../../actions/teacherMutations\";\r\nimport { useMutation } from \"react-query\";\r\nimport { toast } from \"react-toastify\";\r\nimport APLInformationPersonInfoModal from \"../Modal/APLInformationPersonInfoModal\";\r\nimport AddWorkStepModal from \"../Modal/AddWorkStepModal\";\r\nimport AddNewWorkStepComponentModal from \"../Modal/AddNewWorkStepComponentModal\";\r\nimport RemoveAndChangeDateApl from \"./RemoveAndChangeDateApl\";\r\nimport APLPresenceColorInfo from \"./APLPresenceColorInfo\";\r\nimport APLFoodCompensationCard from \"./APLFoodCompensationCard\";\r\nimport moment from \"moment\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport ConfirmDialog from \"../Modal/ConfirmDialog\";\r\nimport { injectIntl } from \"react-intl\";\r\nimport { useQueryClient } from \"react-query\";\r\nimport EditNameDialog from \"../Modal/EditNameDialogModal\";\r\n\r\nconst APL = ({\r\n level,\r\n students,\r\n objId,\r\n studentAplAttendance,\r\n schoolId,\r\n intl,\r\n programId,\r\n}) => {\r\n //Modals\r\n const [supervisorInfoOpen, setSupervisorInfo] = useState(false);\r\n const toggleSupervisorInfo = () => setSupervisorInfo(!supervisorInfoOpen);\r\n const [aplPeriodOpen, setAplPeriodOpen] = useState(false);\r\n const toggleCreatePeriod = () => setAplPeriodOpen(!aplPeriodOpen);\r\n const [infoPersonOpen, setInfoPersonOpen] = useState(false);\r\n const toggleInfoPersonOpen = () => setInfoPersonOpen(!infoPersonOpen);\r\n const [addNewWorkStepOpen, setAddNewWorkStepOpen] = useState(false);\r\n const toggleAddNewWorkStepModal = () =>\r\n setAddNewWorkStepOpen(!addNewWorkStepOpen);\r\n const [addNewWorkStepComponentOpen, setAddNewWorkStepComponentOpen] =\r\n useState(false);\r\n const [currentWorkStepForAddComponent, setCurrentWorkStepForAddComponent] =\r\n useState(null);\r\n\r\n const toggleAddNewWorkStepComponentModal = () => {\r\n setAddNewWorkStepComponentOpen(!addNewWorkStepComponentOpen);\r\n };\r\n\r\n //Objects\r\n const [supervisor, setSupervisor] = useState(null);\r\n const [period, setPeriod] = useState(null);\r\n const [activePeriodId, setActivePeriodId] = useState(null);\r\n const [periodsToSelect, setPeriodsToSelect] = useState([]);\r\n const [studentRatings, setStudentRatings] = useState(null);\r\n const [supervisorRatings, setSupervisorRatings] = useState(null);\r\n const [studentQuestions, setStudentQuestions] = useState([]);\r\n const [supervisorQuestions, setSupervisorQuestions] = useState([]);\r\n const [questionsToDelete, setQuestionsToDelete] = useState([]);\r\n const [daysWithNoFoodCompensation, setDaysWithNoFoodCompensation] = useState(\r\n []\r\n );\r\n const [studentParticipation, setStudentParticipation] = useState(null);\r\n const [periodSupervisors, setPeriodSupervisors] = useState(null);\r\n const [aplInfoPerson, setAplInfoPerson] = useState(null);\r\n const [currentPeriods, setCurrentPeriods] = useState(null);\r\n const [promtWorkComponentForDelete, setPromptComponentForDelete] =\r\n useState(null);\r\n const [workcardItemForEditName, setWorkcardItemForEditName] = useState(null);\r\n const [totalWorkHoursRegistered, setTotalWorkHoursRegistered] = useState(0);\r\n\r\n //Navigation\r\n const [aplActiveTab, setAPLActiveTab] = useState(\r\n activePeriodId !== 0 ? 1 : 2\r\n );\r\n const [ratingLevel, setRatingLevel] = useState(\"student\");\r\n const [levelSupervisor, setLevelSupervisor] = useState(\"supervisor\");\r\n\r\n //Mutations\r\n const createEvaluationQuestions = useMutation(PostEvaluationQuestions);\r\n const updateEvaluationQuestion = useMutation(UpdateEvaluationQuestion);\r\n const deleteEvaluationQuestions = useMutation(DeleteEvaluationQuestion);\r\n const deleteWorkstep = useMutation(DeleteWorkstep);\r\n const deleteWorkstepComponent = useMutation(DeleteWorkstepComponent);\r\n const editWorkStep = useMutation(EditWorkStep);\r\n const editWorkStepComponent = useMutation(EditWorkstepComponent);\r\n\r\n const periodsData = GetPeriods(level, objId);\r\n const eventsData = GetEvents(level, activePeriodId, objId);\r\n const workCardHourData = GetWorkCardHours(level, activePeriodId, objId);\r\n const absenceData = GetAbsence(level, activePeriodId, objId);\r\n const evaluationsData = GetEvaluations(activePeriodId);\r\n const evaluationQuestionsData = GetEvaluationQuestions(activePeriodId);\r\n const supervisorsAndStudentsData =\r\n GetSupervisorsAndStudentsByPeriodId(activePeriodId);\r\n const teacherInfo = GetTeacherInformation();\r\n const navReducer = useSelector((state) => state.teacherTabNavReducer);\r\n const queryClient = useQueryClient();\r\n\r\n const handleDeleteItem = () => {\r\n if (promtWorkComponentForDelete.isWorkstep) {\r\n deleteWorkstep.mutate(promtWorkComponentForDelete.id, {\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n onSuccess: (data) => {\r\n if (data?.status > 199 && data.status < 300) {\r\n toast.success(\r\n intl.formatMessage(\r\n { id: \"WorkstepNameDeleted\" },\r\n {\r\n name: promtWorkComponentForDelete.name,\r\n }\r\n )\r\n );\r\n queryClient.invalidateQueries([\r\n \"FetchWorkCardHours\",\r\n [level, activePeriodId, objId],\r\n ]);\r\n } else {\r\n toast.warn(intl.formatMessage({ id: data.trim() }));\r\n }\r\n },\r\n });\r\n } else if (!promtWorkComponentForDelete.isWorkstep) {\r\n deleteWorkstepComponent.mutate(promtWorkComponentForDelete.id, {\r\n throwOnError: true,\r\n onSuccess: (data) => {\r\n if (data?.status > 199 && data.status < 300) {\r\n queryClient.invalidateQueries([\r\n \"FetchWorkCardHours\",\r\n [level, activePeriodId, objId],\r\n ]);\r\n toast.success(\r\n intl.formatMessage(\r\n { id: \"WorkstepComponentNameDeleted\" },\r\n {\r\n name: promtWorkComponentForDelete.name,\r\n }\r\n )\r\n );\r\n setWorkcardItemForEditName(null);\r\n } else {\r\n toast.warn(intl.formatMessage({ id: data.trim() }));\r\n }\r\n },\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n });\r\n }\r\n setPromptComponentForDelete(null);\r\n };\r\n\r\n const handleChangeNameOnWorkcardItem = () => {\r\n if (workcardItemForEditName.isWorkstep) {\r\n editWorkStep.mutate(workcardItemForEditName, {\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n onSuccess: (data) => {\r\n if (data?.status > 199 && data.status < 300) {\r\n toast.success(\r\n intl.formatMessage(\r\n { id: \"WorkstepNameChangedTo\" },\r\n {\r\n name: workcardItemForEditName.name,\r\n }\r\n )\r\n );\r\n queryClient.invalidateQueries([\r\n \"FetchWorkCardHours\",\r\n [level, activePeriodId, objId],\r\n ]);\r\n setWorkcardItemForEditName(null);\r\n } else {\r\n toast.warn(intl.formatMessage({ id: data.trim() }));\r\n setWorkcardItemForEditName(null);\r\n }\r\n },\r\n });\r\n } else if (!workcardItemForEditName.isWorkstep) {\r\n editWorkStepComponent.mutate(workcardItemForEditName, {\r\n throwOnError: true,\r\n onSuccess: (data) => {\r\n if (data?.status > 199 && data.status < 300) {\r\n queryClient.invalidateQueries([\r\n \"FetchWorkCardHours\",\r\n [level, activePeriodId, objId],\r\n ]);\r\n toast.success(\r\n intl.formatMessage(\r\n { id: \"WorkstepComponentNameChangedTo\" },\r\n {\r\n name: workcardItemForEditName.name,\r\n }\r\n )\r\n );\r\n setWorkcardItemForEditName(null);\r\n } else {\r\n toast.warn(intl.formatMessage({ id: data.trim() }));\r\n setWorkcardItemForEditName(null);\r\n }\r\n },\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n });\r\n }\r\n setPromptComponentForDelete(null);\r\n };\r\n\r\n /****USEEFFECTS*****/\r\n useEffect(() => {\r\n if (\r\n !periodsData.isLoading &&\r\n periodsData.data &&\r\n periodsData.data.some(\r\n (prd) => prd.period.id === navReducer.selectedAplPeriodId\r\n )\r\n ) {\r\n const tempPeriod = periodsData.data.find(\r\n (prd) => prd.period.id === navReducer.selectedAplPeriodId\r\n );\r\n\r\n if (level === \"Student\") {\r\n tempPeriod.period.students = tempPeriod.period.students.filter(\r\n (studentObj) => {\r\n return studentObj.student.id === objId;\r\n }\r\n );\r\n }\r\n setPeriod(tempPeriod);\r\n setActivePeriodId(navReducer.selectedAplPeriodId);\r\n setAPLActiveTab(navReducer.selectedAplTab);\r\n }\r\n }, [\r\n navReducer.selectedAplPeriodId,\r\n navReducer.selectedAplTab,\r\n periodsData.isLoading,\r\n periodsData.data,\r\n objId,\r\n level,\r\n ]);\r\n\r\n useEffect(() => {\r\n if (!periodsData.isLoading) {\r\n setCurrentPeriods(periodsData.data);\r\n }\r\n }, [periodsData.data, periodsData.isLoading]);\r\n\r\n useEffect(() => {\r\n if (!workCardHourData.isLoading && workCardHourData.data !== null) {\r\n const handleSetWorkStepAndToggleComponentModal = (workstepId) => {\r\n setCurrentWorkStepForAddComponent(workstepId);\r\n setAddNewWorkStepComponentOpen(true);\r\n };\r\n let tableData = [];\r\n let totalWorkHours = 0;\r\n workCardHourData.data.forEach((wsi) => {\r\n if (wsi.isComponent) {\r\n totalWorkHours += wsi.hours;\r\n }\r\n const itemToAdd = wsi;\r\n wsi.edit = (\r\n <>\r\n \r\n setPromptComponentForDelete({\r\n id: wsi.id,\r\n name: wsi.name,\r\n isWorkstep: wsi.parentId === null,\r\n hours: wsi.hours,\r\n parentId: wsi.parentId,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n setWorkcardItemForEditName({\r\n id: wsi.id,\r\n name: wsi.name,\r\n isWorkstep: wsi.parentId === null,\r\n parentId: wsi.parentId,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n );\r\n tableData.push(itemToAdd);\r\n });\r\n const tempWorkSteps = tableData.filter((item) => item.parentId === null);\r\n tempWorkSteps.forEach((ws) => {\r\n tableData.push({\r\n parentId: ws.id,\r\n name: (\r\n handleSetWorkStepAndToggleComponentModal(ws.id)}\r\n >\r\n \r\n \r\n ),\r\n hours: null,\r\n });\r\n });\r\n tableData = tableData.sort((a, b) => {\r\n if (a === null) {\r\n return 1;\r\n }\r\n if (b === null) {\r\n return -1;\r\n }\r\n return a.hours < b.hours ? 1 : -1;\r\n });\r\n setTotalWorkHoursRegistered(totalWorkHours);\r\n setStudentParticipation(\r\n tableData.sort((a, b) => {\r\n return a.hours < b.hours ? 1 : -1;\r\n })\r\n );\r\n }\r\n }, [workCardHourData.data, workCardHourData.isLoading]);\r\n\r\n useEffect(() => {\r\n if (!evaluationsData.isLoading && evaluationsData.data !== null) {\r\n var studentEvaluations = [];\r\n var supervisorEvaluations = [];\r\n evaluationsData.data.forEach((question) => {\r\n switch (question.question.forUserType) {\r\n case 4:\r\n supervisorEvaluations.push(question);\r\n break;\r\n case 1:\r\n studentEvaluations.push(question);\r\n break;\r\n default:\r\n return null;\r\n }\r\n });\r\n setStudentRatings(studentEvaluations);\r\n setSupervisorRatings(supervisorEvaluations);\r\n }\r\n }, [evaluationsData.isLoading, evaluationsData.data]);\r\n\r\n useEffect(() => {\r\n if (\r\n !evaluationQuestionsData.isLoading &&\r\n evaluationQuestionsData.data !== null\r\n ) {\r\n var tempStudentQuestions = [];\r\n var tempSupervisorQuestions = [];\r\n\r\n evaluationQuestionsData.data.forEach((question) => {\r\n switch (question.forUserType) {\r\n case 4:\r\n tempSupervisorQuestions.push(question);\r\n break;\r\n case 1:\r\n tempStudentQuestions.push(question);\r\n break;\r\n default:\r\n return null;\r\n }\r\n });\r\n\r\n setStudentQuestions(tempStudentQuestions);\r\n setSupervisorQuestions(tempSupervisorQuestions);\r\n }\r\n }, [evaluationQuestionsData.isLoading, evaluationQuestionsData.data]);\r\n\r\n useEffect(() => {\r\n if (!periodsData.isLoading) {\r\n const tempSelectablePeriods = [];\r\n const tempPeriods = [];\r\n if (periodsData.data) {\r\n periodsData.data.forEach((period) => {\r\n tempPeriods.push(period);\r\n const dateFrom = new Date(period.period.from);\r\n const dateTo = new Date(period.period.to);\r\n const p = {\r\n value: period.period.id,\r\n label:\r\n period.period.name +\r\n (period.period.id !== 0\r\n ? \" - \" +\r\n dateFrom.toLocaleDateString(\"sv\") +\r\n \" till \" +\r\n dateTo.toLocaleDateString(\"sv\")\r\n : \"\"),\r\n };\r\n tempSelectablePeriods.push(p);\r\n });\r\n\r\n setPeriodsToSelect(tempSelectablePeriods);\r\n }\r\n if (period) {\r\n if (\r\n !tempSelectablePeriods.find((p) => p.value === period?.period?.id)\r\n ) {\r\n setPeriod(null);\r\n }\r\n }\r\n }\r\n }, [periodsData.data, periodsData.isLoading, period]);\r\n\r\n useEffect(() => {\r\n if (\r\n !supervisorsAndStudentsData.isLoading &&\r\n supervisorsAndStudentsData.data !== null\r\n ) {\r\n var tempSupervisors = [];\r\n supervisorsAndStudentsData.data.forEach((supervisorStudent) => {\r\n if (\r\n tempSupervisors.findIndex((object) => {\r\n return object.id === supervisorStudent.supervisorId;\r\n }) < 0\r\n ) {\r\n tempSupervisors.push(supervisorStudent.supervisor);\r\n }\r\n });\r\n setPeriodSupervisors(tempSupervisors);\r\n }\r\n }, [supervisorsAndStudentsData.isLoading, supervisorsAndStudentsData.data]);\r\n\r\n useEffect(() => {\r\n if (period) {\r\n if (level === \"Student\") {\r\n const studentAttendanceWithNoFoodCompensationForPeriod =\r\n studentAplAttendance.data.filter(\r\n (saa) =>\r\n moment(saa.day).unix() >= moment(period?.period?.from).unix() &&\r\n moment(saa.day).unix() <= moment(period?.period?.to).unix() &&\r\n saa.foodCompensationNeeded\r\n );\r\n setDaysWithNoFoodCompensation(\r\n studentAttendanceWithNoFoodCompensationForPeriod\r\n );\r\n }\r\n }\r\n }, [period, objId, level, studentAplAttendance]);\r\n /****END USEEFFECTS*****/\r\n\r\n //Handlers\r\n const handleSaveEvaluationQuestions = (periodId, studentQs, supervisorQs) => {\r\n var newQuestions = [];\r\n var questionsToUpdate = [];\r\n\r\n studentQs.forEach((q, index) => {\r\n var question = {\r\n periodId: periodId,\r\n question: q.question,\r\n responseRange: q.responseRange,\r\n sortOrder: index + 1,\r\n forUserType: \"Student\",\r\n };\r\n if (q.id) {\r\n questionsToUpdate.push({\r\n id: q.id,\r\n question: question,\r\n });\r\n } else {\r\n newQuestions.push(question);\r\n }\r\n });\r\n\r\n var tempQuestion = studentQs.filter((question) => question.id);\r\n setStudentQuestions(tempQuestion);\r\n\r\n supervisorQs.forEach((q, index) => {\r\n var question = {\r\n periodId: periodId,\r\n question: q.question,\r\n responseRange: q.responseRange,\r\n sortOrder: index + 1,\r\n forUserType: \"AplSupervisor\",\r\n };\r\n if (q.id) {\r\n questionsToUpdate.push({\r\n id: q.id,\r\n question: question,\r\n });\r\n } else {\r\n newQuestions.push(question);\r\n }\r\n });\r\n\r\n createEvaluationQuestions.mutate(newQuestions, {\r\n onSuccess: (data) => {\r\n var tempStudentQuestions = [...studentQs];\r\n var tempSupervisorQuestions = [...supervisorQs];\r\n data.forEach((question) => {\r\n switch (question.forUserType) {\r\n case 4:\r\n tempSupervisorQuestions.push(question);\r\n break;\r\n case 1:\r\n tempStudentQuestions.push(question);\r\n break;\r\n default:\r\n return null;\r\n }\r\n });\r\n\r\n var tempQuestion = tempStudentQuestions.filter(\r\n (question) => question.id\r\n );\r\n setStudentQuestions(tempQuestion);\r\n\r\n tempQuestion = tempSupervisorQuestions.filter(\r\n (question) => question.id\r\n );\r\n setSupervisorQuestions(tempQuestion);\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n });\r\n\r\n questionsToUpdate.forEach((question) => {\r\n updateEvaluationQuestion.mutate(question, {\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n });\r\n });\r\n\r\n questionsToDelete.forEach((question) => {\r\n deleteEvaluationQuestions.mutate(question.id, {\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n });\r\n });\r\n\r\n if (questionsToDelete.length > 0) {\r\n var ratingQuestions = [...questionsToDelete];\r\n ratingQuestions.splice(0, ratingQuestions.length);\r\n setQuestionsToDelete(ratingQuestions);\r\n }\r\n };\r\n\r\n const handleSetWorkcardItemForEditName = (val) => {\r\n setWorkcardItemForEditName({ ...workcardItemForEditName, name: val });\r\n };\r\n\r\n const supervisors = GetSupervisors(schoolId);\r\n const workCards = GetWorkCards();\r\n\r\n if (\r\n supervisors.isLoading ||\r\n workCards.isLoading ||\r\n !currentPeriods ||\r\n eventsData.isLoading ||\r\n absenceData.isLoading ||\r\n teacherInfo.isLoading\r\n ) {\r\n return ;\r\n }\r\n const programTeachers = [];\r\n teacherInfo.data.programmes\r\n .find((program) => program.id === Number(programId))\r\n .classes.forEach((cl) => {\r\n cl.teachers.forEach((teacher) => {\r\n if (!programTeachers.some((t) => t.id === teacher.id)) {\r\n programTeachers.push(teacher);\r\n }\r\n });\r\n });\r\n\r\n const columnExtensions = [\r\n { columnName: \"hours\", width: 350 },\r\n { columnName: \"name\", width: 350 },\r\n { columnName: \"edit\", width: 100 },\r\n ];\r\n\r\n const columns = [\r\n { title: \"Namn\", name: \"name\" },\r\n { title: \"Antal timmar elever registrerat\", name: \"hours\" },\r\n { title: \"Redigera\", name: \"edit\" },\r\n ];\r\n\r\n const mainPanelContent = (tabIndex) => {\r\n switch (tabIndex) {\r\n case 1:\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 {(absenceData.data || level === \"program\") &&\r\n period.period.students.map((student) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n {level === \"Student\" && absenceData.data && (\r\n <>\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n {absenceData.data.map((item, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n {item.day}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n :\r\n \r\n \r\n :\r\n \r\n \r\n \r\n \r\n {item.isWholeDay ? (\r\n \r\n ) : (\r\n item.timeFrom + \" - \" + item.timeTo\r\n )}\r\n \r\n {item.comment}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n )}\r\n {level === \"Student\" && daysWithNoFoodCompensation.length ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n );\r\n case 2:\r\n return (\r\n
    \r\n {studentParticipation ? (\r\n <>\r\n \r\n
    \r\n
    \r\n {\" \"}\r\n - {period.period.workCard.name}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n :{\" \"}\r\n {totalWorkHoursRegistered}\r\n
    \r\n \r\n \r\n setPromptComponentForDelete(null)}\r\n title={intl.formatMessage({ id: \"AreYouSure\" })}\r\n message={intl.formatMessage(\r\n { id: \"IfYouDeleteWorkstepNoRegistrationsCanBeMade\" },\r\n {\r\n name:\r\n promtWorkComponentForDelete !== null\r\n ? promtWorkComponentForDelete.name\r\n : \"\",\r\n }\r\n )}\r\n onProceed={() => handleDeleteItem()}\r\n />\r\n setWorkcardItemForEditName(null)}\r\n isOpen={workcardItemForEditName !== null}\r\n title={\"Byt namn\"}\r\n defaultName={workcardItemForEditName?.name}\r\n onChange={(val) => handleSetWorkcardItemForEditName(val)}\r\n onProceed={() => handleChangeNameOnWorkcardItem()}\r\n />\r\n \r\n ) : (\r\n
    \r\n \r\n
    \r\n )}\r\n toggleAddNewWorkStepModal()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n case 3:\r\n return (\r\n \r\n \r\n \r\n );\r\n case 4:\r\n return (\r\n <>\r\n \r\n {students.length > 0 && (\r\n \r\n )}\r\n {studentRatings && supervisorRatings && (\r\n \r\n )}\r\n \r\n );\r\n default:\r\n return;\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n {period && (\r\n \r\n \r\n \r\n {mainPanelContent(aplActiveTab)}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {supervisor && (\r\n \r\n )}\r\n {aplInfoPerson && (\r\n \r\n )}\r\n \r\n
    \r\n );\r\n};\r\nexport default injectIntl(APL);\r\n\r\nconst ColWithoutScroll = styled(Col)``;\r\n\r\nconst DivNoScroll = styled.div`\r\n &::-webkit-scrollbar {\r\n display: none;\r\n }\r\n`;\r\n\r\nconst HeaderRowNoScroll = styled(Row)`\r\n &::-webkit-scrollbar {\r\n display: none;\r\n }\r\n`;\r\n","import React, { Component } from \"react\";\r\nimport {\r\n fetchTeacherCoursesAction,\r\n unlockTeacherFinalExam,\r\n} from \"../../actions/teacherCoursesAction\";\r\nimport { connect } from \"react-redux\";\r\nimport {\r\n Row,\r\n Col,\r\n Card,\r\n Form,\r\n FormGroup,\r\n Label,\r\n Input,\r\n Collapse,\r\n} from \"reactstrap\";\r\nimport { PacmanLoader } from \"react-spinners\";\r\nimport CourseItem from \"../../components/Course/CourseItem\";\r\nimport { getWinOptions, composeUrl } from \"../../Utilities/moduleHelper\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport CardHeader from \"reactstrap/lib/CardHeader\";\r\nimport CardBody from \"reactstrap/lib/CardBody\";\r\nimport uuid from \"uuid\";\r\n\r\nclass TeacherCoursesView extends Component {\r\n state = {\r\n collapse: true,\r\n filterSearch: \"\",\r\n toggleModules: [],\r\n collapseLicenses: [],\r\n };\r\n\r\n componentDidMount() {\r\n this.props.dispatch(fetchTeacherCoursesAction());\r\n }\r\n\r\n toggle = () => {\r\n this.setState({ collapse: !this.state.collapse });\r\n };\r\n\r\n goToModuleResults = (courseId, moduleId) => {\r\n if (courseId !== null) {\r\n this.props.history.push({\r\n pathname: \"/teacher/courseview/moduleresults\",\r\n state: { course: courseId, module: moduleId },\r\n });\r\n }\r\n };\r\n\r\n filterSearch = (event) => {\r\n this.setState({ filterSearch: event.target.value });\r\n };\r\n stopEnter = (event) => {\r\n if (event.which === 13 /* Enter */) {\r\n event.preventDefault();\r\n }\r\n };\r\n\r\n toggleModule = (courseId) => {\r\n let toToggle = this.state.toggleModules;\r\n\r\n if (toToggle.indexOf(courseId) === -1) {\r\n toToggle.push(courseId);\r\n } else {\r\n var index = toToggle.indexOf(courseId);\r\n toToggle.splice(index, 1);\r\n }\r\n this.setState({ toggleModules: toToggle });\r\n };\r\n\r\n openModule = (courseId, moduleId, moduleUrl, moduleType) => {\r\n const studentResultId = -1;\r\n const userId = -1;\r\n\r\n if (moduleUrl == null) {\r\n this.setError();\r\n return;\r\n }\r\n\r\n this.props.dispatch(unlockTeacherFinalExam(courseId, moduleId)).then(() => {\r\n var url = composeUrl(\r\n userId,\r\n courseId,\r\n moduleId,\r\n moduleType,\r\n studentResultId,\r\n moduleUrl,\r\n null\r\n );\r\n\r\n var winOptions = getWinOptions();\r\n window.open(url, \"\", winOptions);\r\n });\r\n };\r\n collapseLicenses = (license) => {\r\n let collapsed = this.state.collapseLicenses;\r\n\r\n if (collapsed.indexOf(license) === -1) collapsed.push(license);\r\n else collapsed.splice(collapsed.indexOf(license), 1);\r\n\r\n this.setState({ collapseLicenses: collapsed });\r\n };\r\n render() {\r\n const { results } = this.props;\r\n\r\n if (results.loading === true) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n var filteredList = results.result;\r\n\r\n if (this.state.filterSearch.length > 0) {\r\n filteredList = results.result.filter(\r\n (course) =>\r\n course.courseName\r\n .toLowerCase()\r\n .indexOf(this.state.filterSearch.toLowerCase()) !== -1\r\n );\r\n }\r\n\r\n //Checking if a course is selected from classview page\r\n if (this.props.location.state) {\r\n filteredList.filter(\r\n (course) => course.id === this.props.location.state.course\r\n );\r\n }\r\n\r\n let licenses = [];\r\n results.result.forEach((x) => {\r\n if (licenses.indexOf(x.programLicenseName) === -1)\r\n licenses.push(x.programLicenseName);\r\n });\r\n\r\n let mappedLicenses = [];\r\n\r\n mappedLicenses = licenses.map((license, i) => (\r\n
    \r\n \r\n this.collapseLicenses(license)}\r\n >\r\n {license}\r\n \r\n \r\n \r\n \r\n {filteredList\r\n .filter((x) => x.programLicenseName === license)\r\n .sort((a, b) => {\r\n return a.courseName > b.courseName ? 1 : 0;\r\n })\r\n .map((course) => (\r\n -1\r\n }\r\n openModule={this.openModule}\r\n navigateToCourse={this.goToModuleResults}\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
    this.stopEnter(event)}>\r\n \r\n \r\n   \r\n this.filterSearch(event)}\r\n placeholder=\"Kursens namn\"\r\n />\r\n \r\n \r\n
    \r\n\r\n {mappedLicenses}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (store) => {\r\n return {\r\n results: store.teacherCoursesReducer,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(TeacherCoursesView);\r\n","import React from \"react\";\r\nimport ProductsList from \"../../components/LicenseManagement/ProductsList\";\r\n\r\nfunction licenseManagement(props) {\r\n var selectedStudentId = props.location.state\r\n ? props.location.state.studentId\r\n : 0;\r\n var selectedClassName = props.location.state\r\n ? props.location.state.className\r\n : \"\";\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default licenseManagement;\r\n","import React from \"react\";\r\nimport {\r\n Row,\r\n Col,\r\n Collapse,\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardTitle,\r\n CardSubtitle,\r\n Table,\r\n Button,\r\n} from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport axios from \"../../services/api/api\";\r\nimport { toast } from \"react-toastify\";\r\nimport NumberFormat from \"react-number-format\";\r\nimport moment from \"moment\";\r\n\r\nclass InvoiceItem extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { isExpanded: false };\r\n }\r\n\r\n toggleIsExpanded = () => {\r\n this.setState((prevState) => ({ isExpanded: !prevState.isExpanded }));\r\n };\r\n\r\n rePostOrderInFortNox = (orderId) => {\r\n axios\r\n .post(`/ShopNew/RePostFailedFortNoxOrder?orderId=${orderId}`)\r\n .then((res) => {\r\n if (res.data.result.postWasSuccessful) {\r\n toast.success(\r\n \"Order '\" +\r\n res.data.result.id +\r\n \"' fick ordernummer '\" +\r\n res.data.result.fortNoxOrderNumber +\r\n \"'\"\r\n );\r\n\r\n document.getElementById(\"button\" + orderId).style.display = \"none\";\r\n document.getElementById(\"td\" + orderId).innerHTML =\r\n res.data.result.fortNoxOrderNumber;\r\n } else {\r\n toast.warn(res.data.result.failMessage);\r\n }\r\n })\r\n .catch((err) => {\r\n toast.warn(err.response ? err.response.data : err.message);\r\n });\r\n };\r\n\r\n getOrderRows = () => {\r\n let rows = [];\r\n let index = 0;\r\n\r\n this.props.invoice.products.forEach((product) => {\r\n let isProgram = product.programLicense !== null;\r\n rows.push(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n if (isProgram) {\r\n product.programLicense.courses.forEach((course) => {\r\n rows.push(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n });\r\n }\r\n });\r\n\r\n return rows;\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n {this.props.fortNoxDisplay &&\r\n this.props.invoice.fortNoxErrorMessage !== null ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n {isProgram ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {isProgram ? product.programLicense.name : product.course.name}\r\n {isProgram ? (\r\n \r\n
    \r\n {product.programLicense.packageName}\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    {product.price / product.students.length} SEK{product.students.length} st{product.price} SEK
    \r\n \r\n {course.name}\r\n \r\n \r\n {\" \" + product.programLicense.name}\r\n \r\n {product.students.length} st-
    \r\n \r\n \r\n \r\n \r\n \r\n \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.props.invoice.rePostIsAllowed ? (\r\n {\r\n this.rePostOrderInFortNox(this.props.invoice.id);\r\n }}\r\n id={\"button\" + this.props.invoice.id}\r\n >\r\n RePost\r\n \r\n ) : (\r\n this.props.invoice.fortNoxNumber\r\n )}\r\n
    \r\n \r\n {this.props.invoice.createdBy}
    \r\n {\" \"}\r\n \r\n {this.props.invoice.school.name +\r\n \" - \" +\r\n this.props.invoice.school.fortKnoxCustomerNumber}\r\n
    \r\n \r\n \r\n    \r\n {\" \"}\r\n {moment(this.props.invoice.created).format(\"YYYY-MM-DD\")}\r\n {\", \"}\r\n {\" \"}\r\n {\" \"}\r\n SEK, \r\n {this.props.invoice.id}{\" \"}\r\n   \r\n \r\n {this.state.isExpanded ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {this.getOrderRows().length > 0 && (\r\n
    \r\n \r\n \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.getOrderRows()}\r\n
    \r\n \r\n \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.props.invoice.comment && (\r\n \r\n \r\n \r\n \r\n {this.props.invoice.comment}\r\n \r\n )}\r\n
    \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default InvoiceItem;\r\n","import React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { PacmanLoader } from \"react-spinners\";\r\nimport { Card, Row, Col } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nimport { fetchInvoiceHistory } from \"../../actions/invoiceHistoryActions\";\r\nimport InvoiceItem from \"../../components/Invoice/InvoiceItem\";\r\n\r\nclass TeacherInvoiceHistory extends React.Component {\r\n componentDidMount() {\r\n this.props.dispatch(fetchInvoiceHistory(localStorage.getItem(\"email\")));\r\n }\r\n\r\n render() {\r\n const { invoiceHistory } = this.props;\r\n\r\n if (invoiceHistory.loading) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n if (invoiceHistory.result.length === 0) {\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 return (\r\n
    \r\n {invoiceHistory.result.map((invoice, i) => {\r\n return (\r\n \r\n );\r\n })}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (store) => {\r\n return {\r\n invoiceHistory: store.invoiceHistoryReducer,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(TeacherInvoiceHistory);\r\n","import axios from \"../services/api/api\";\r\nimport {\r\n FETCH_INVOICE_HISTORY_BEGIN,\r\n FETCH_INVOICE_HISTORY_FULFILLED,\r\n FETCH_INVOICE_HISTORY_REJECTED\r\n} from \"../reducers/invoiceHistoryReducer\";\r\n\r\nexport function fetchInvoiceHistory(email) {\r\n return function(dispatch) {\r\n dispatch({ type: FETCH_INVOICE_HISTORY_BEGIN });\r\n axios\r\n .get(\"/Shop/MyOrders\")\r\n .then(response => {\r\n dispatch({\r\n type: FETCH_INVOICE_HISTORY_FULFILLED,\r\n payload: response.data.result\r\n });\r\n })\r\n .catch(err => {\r\n dispatch({\r\n type: FETCH_INVOICE_HISTORY_REJECTED,\r\n payload: err\r\n });\r\n });\r\n };\r\n}\r\n\r\n// TODO när tid finnes: Låt användaren välja år genom att istället kalla på Shop/GetSpecificYear(int offsetFromCurrentYear)\r\n// 0 ger nuvarande räkenskapsår\r\n// -1 ger föregående räkenskapsår\r\n// -2 ger 2019-07-01 - 2020-06-30 etc etc\r\n// OBS att /Shop/GetAll numera ger nuvarande räkenskapsår\r\nexport function fetchInvoiceHistoryForAllCustomers() {\r\n return function(dispatch) {\r\n dispatch({ type: FETCH_INVOICE_HISTORY_BEGIN });\r\n axios\r\n .get(\"/Shop/GetAll\") \r\n .then(response => {\r\n dispatch({\r\n type: FETCH_INVOICE_HISTORY_FULFILLED,\r\n payload: response.data.result\r\n });\r\n })\r\n .catch(err => {\r\n dispatch({\r\n type: FETCH_INVOICE_HISTORY_REJECTED,\r\n payload: err\r\n });\r\n });\r\n };\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { updateStudent } from \"../../actions/teacherActions\";\r\nimport {\r\n GetCoursesWithResultsByStudentId,\r\n GetTeacherInformation,\r\n GetSchoolDataBySchoolId,\r\n GetStudentInfoByStudentId,\r\n} from \"../../actions/teacherQueries\";\r\nimport { CCard, CRow, CCol, CCardBody } from \"@coreui/react\";\r\nimport Pacmanloader from \"../../components/Pacmanloader/Pacmanloader\";\r\nimport TeacherAdmin from \"../../components/Teacher/Tabs/TeacherAdmin\";\r\nimport TeacherResultOverview from \"../../components/Teacher/Tabs/TeacherResultOverview\";\r\nimport TeacherResultAnalysis from \"../../components/Teacher/Tabs/TeacherResultAnalysis\";\r\nimport TeacherDocuments from \"../../components/Teacher/Tabs/TeacherDocuments\";\r\nimport TeacherCourses from \"../../components/Teacher/Tabs/TeacherCourses\";\r\nimport TeacherChat from \"../../components/Teacher/Tabs/TeacherChat\";\r\nimport TabNavSelector from \"../../components/Teacher/Tabs/TabNavSelector\";\r\nimport APL from \"../../components/APL/APL\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { GetAplAttendancesByStudentId } from \"../../actions/teacherQueries\";\r\n\r\nfunction TeacherStudent(props) {\r\n const [toggleEditModal, setToggleEditModal] = useState(false);\r\n const [updated, setUpdated] = useState(false);\r\n const studentInfo = GetStudentInfoByStudentId(props.match.params.studentId);\r\n const teacherInfo = GetTeacherInformation();\r\n const studentCoursesDataWithResult = GetCoursesWithResultsByStudentId(\r\n props.match.params.studentId\r\n );\r\n\r\n const schoolInfo = GetSchoolDataBySchoolId(\r\n !teacherInfo.isLoading ? teacherInfo.data.customer.id : null\r\n );\r\n const studentAplAttendance = GetAplAttendancesByStudentId(\r\n props.match.params.studentId\r\n );\r\n\r\n const tab = useSelector((state) => state.teacherTabNavReducer);\r\n const editToggleEditModal = () => {\r\n setToggleEditModal(!toggleEditModal);\r\n };\r\n const updateStore = (student) => {\r\n props.dispatch(updateStudent(student));\r\n setUpdated(!updated);\r\n };\r\n\r\n let result = [];\r\n let courses = [];\r\n if (\r\n teacherInfo.isLoading ||\r\n studentCoursesDataWithResult.isLoading ||\r\n studentInfo.isLoading ||\r\n studentAplAttendance.isLoading\r\n ) {\r\n return ;\r\n }\r\n\r\n studentCoursesDataWithResult.data.forEach((course) =>\r\n courses.push({ courseId: course.id, courseName: course.courseName })\r\n );\r\n\r\n result = studentCoursesDataWithResult.data;\r\n\r\n let teacherClasses = [];\r\n\r\n teacherInfo.data.programmes.forEach((programme) => {\r\n programme.classes.forEach((clas) => {\r\n teacherClasses.push(clas);\r\n });\r\n });\r\n\r\n let programLicenses = [];\r\n\r\n result.forEach((programLicense) => {\r\n if (programLicenses.indexOf(programLicense.programLicenseName) === -1)\r\n programLicenses.push(programLicense.programLicenseName);\r\n });\r\n\r\n const renderTab = () => {\r\n switch (tab.tab) {\r\n case 1:\r\n return (\r\n 0}\r\n toggleEdit={editToggleEditModal}\r\n isOpen={toggleEditModal}\r\n updateStudents={updateStore}\r\n studentCoursesDataWithResult={studentCoursesDataWithResult}\r\n classes={teacherClasses}\r\n school={teacherInfo.data.customer}\r\n teacherInfo={teacherInfo}\r\n schoolInfo={schoolInfo}\r\n />\r\n );\r\n case 2:\r\n return (\r\n \r\n );\r\n case 3:\r\n return (\r\n 0}\r\n studentCoursesDataWithResult={studentCoursesDataWithResult}\r\n studentId={props.match.params.studentId}\r\n student={studentInfo.data}\r\n />\r\n );\r\n case 4:\r\n return (\r\n \r\n );\r\n case 5:\r\n return ;\r\n case 6:\r\n return ;\r\n case 7:\r\n return (\r\n \r\n );\r\n default:\r\n return ;\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {renderTab()}\r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default TeacherStudent;\r\n","import { useState } from \"react\";\r\nimport { CRow, CCol, CLabel, CForm, CFormGroup, CInput } from \"@coreui/react\";\r\nimport { Row, Col, Card, CardTitle, CardSubtitle } from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { useQueryClient, useMutation } from \"react-query\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport PacmanLoader from \"../Pacmanloader/Pacmanloader\";\r\nimport {\r\n HandleUserNameChange,\r\n HandleUserEmailChange,\r\n CheckIfEmailIsOccupied,\r\n} from \"../../actions/teacherMutations\";\r\nimport { toast } from \"react-toastify\";\r\nimport { checkNameLengthAndCharacters } from \"../../Utilities/checkerFunctions\";\r\n\r\nexport default function TeacherAdmin(props) {\r\n const [updatingTeacher, setUpdatingTeacher] = useState(false);\r\n const [emailOccupied, setEmailOccupied] = useState(false);\r\n const [invalidEmail, setInvalidEmail] = useState(false);\r\n\r\n const queryClient = useQueryClient();\r\n\r\n const mutateTeacherName = useMutation(HandleUserNameChange);\r\n const mutateTeacherEmail = useMutation(HandleUserEmailChange);\r\n const mutateCheckTeacherEmail = useMutation(CheckIfEmailIsOccupied);\r\n\r\n if (props.teacherData.isLoading || props.teacherInfo.isLoading) {\r\n return ;\r\n }\r\n\r\n let values = {\r\n oldEmail: props.teacherData.data.email,\r\n newEmail: props.teacherData.data.email,\r\n oldName: props.teacherData.data.name,\r\n newName: props.teacherData.data.name,\r\n };\r\n\r\n const handleChangedTeacherName = (event) => {\r\n if (event.target.value !== props.teacherData.data.name) {\r\n const nameCheck = checkNameLengthAndCharacters(event.target.value);\r\n if (nameCheck !== true) {\r\n toast.warn(nameCheck);\r\n } else {\r\n setUpdatingTeacher(true);\r\n mutateTeacherName.mutate(\r\n {\r\n oldEmail: values.oldEmail,\r\n newEmail: values.oldEmail,\r\n newName:\r\n event.target.name === \"name\" &&\r\n event.target.value !== props.teacherData.data.name\r\n ? event.target.value\r\n : values.newName,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n queryClient.invalidateQueries([\"FetchTeacherInformation\"]);\r\n setUpdatingTeacher(false);\r\n toast.success(\"Lärare uppdaterad\");\r\n } else {\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n setUpdatingTeacher(false);\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n }\r\n }\r\n };\r\n\r\n const checkEmailOnChange = (event) => {\r\n if (event.target.value !== props.teacherData.data.email) {\r\n if (\r\n !/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/.test(\r\n event.target.value\r\n )\r\n ) {\r\n setInvalidEmail(true);\r\n } else {\r\n setInvalidEmail(false);\r\n mutateCheckTeacherEmail.mutate(\r\n {\r\n oldEmail: values.oldEmail,\r\n newEmail:\r\n event.target.name === \"email\" &&\r\n event.target.value !== props.teacherData.data.email\r\n ? event.target.value\r\n : values.newEmail,\r\n userName:\r\n event.target.name === \"name\" &&\r\n event.target.value !== props.teacherData.data.name\r\n ? event.target.value\r\n : values.newName,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n if (data.data === true) {\r\n setEmailOccupied(true);\r\n } else {\r\n setEmailOccupied(false);\r\n handleChangedTeacherEmail(event);\r\n }\r\n } else {\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n setUpdatingTeacher(false);\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n }\r\n }\r\n };\r\n\r\n const handleChangedTeacherEmail = (event) => {\r\n if (event.target.value !== props.teacherData.data.email) {\r\n setUpdatingTeacher(true);\r\n mutateTeacherEmail.mutate(\r\n {\r\n oldEmail: values.oldEmail,\r\n newEmail:\r\n event.target.name === \"email\" &&\r\n event.target.value !== props.teacherData.data.email\r\n ? event.target.value\r\n : values.newEmail,\r\n studentName:\r\n event.target.name === \"name\" &&\r\n event.target.value !== props.teacherData.data.name\r\n ? event.target.value\r\n : values.newName,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n setUpdatingTeacher(false);\r\n toast.success();\r\n queryClient.invalidateQueries([\"FetchTeacherInformation\"]);\r\n } else {\r\n toast.warn(data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n setUpdatingTeacher(false);\r\n toast.warn(data.response.data);\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 {updatingTeacher ? (\r\n
    \r\n {\" \"}\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {props.teacherInfo.data.fullAccess ? (\r\n \r\n \r\n :\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n :\r\n \r\n \r\n \r\n {props.teacherData.data.name}\r\n \r\n \r\n )}\r\n {props.teacherInfo.data.fullAccess ? (\r\n \r\n \r\n :\r\n \r\n {emailOccupied ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {invalidEmail ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n :\r\n \r\n \r\n \r\n {props.teacherData.data.email}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { withFormik, Form, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n FormGroup,\r\n Label,\r\n Card,\r\n CardHeader,\r\n CardBody,\r\n Button,\r\n CardDeck,\r\n CardTitle,\r\n CardText,\r\n CardSubtitle,\r\n Row,\r\n Col,\r\n CardFooter,\r\n} from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport axios from \"../../services/api/api\";\r\nimport { toast } from \"react-toastify\";\r\nimport { useSelector } from \"react-redux\";\r\n\r\nconst OrderForm = (props) => {\r\n const { touched, errors, isSubmitting, teacherInformation } = props;\r\n\r\n let adress = teacherInformation.result.customer.adress;\r\n let street = teacherInformation.result.customer.adress.street.split(\",\");\r\n const cart = useSelector((state) => state.newCartReducer);\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {\" \"}\r\n {teacherInformation.result.name}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\" \"}\r\n {teacherInformation.result.customer.name}\r\n \r\n \r\n {adress.street}\r\n {adress.zipCode + \" \" + adress.city}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 1 ? street[1] : \"\"}\r\n readOnly\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.contact && touched.contact && (\r\n
    {errors.contact}
    \r\n )}\r\n
    \r\n \r\n \r\n \r\n {errors.reference && touched.reference && (\r\n
    \r\n {errors.reference}\r\n
    \r\n )}\r\n
    \r\n \r\n \r\n \r\n {errors.comment && touched.comment && (\r\n
    {errors.comment}
    \r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {props.cartList()}\r\n\r\n
    \r\n \r\n \r\n \r\n \r\n {\" \"}\r\n
    \r\n :{\" \"}\r\n {props.totalPrice} kr\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n {isSubmitting ? (\r\n \r\n ) : (\r\n \r\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 FormikForm = withFormik({\r\n mapPropsToValues({ contact, reference, comment }) {\r\n return {\r\n contact: contact || \"\",\r\n reference: reference || \"\",\r\n comment: comment || \"\",\r\n };\r\n },\r\n validationSchema: Yup.object().shape({\r\n contact: Yup.string().required(\r\n \r\n ),\r\n reference: Yup.string().required(\r\n \r\n ),\r\n }),\r\n\r\n handleSubmit(values, { props, resetForm, setErrors, setSubmitting }) {\r\n setSubmitting(true);\r\n const order = {\r\n comment: values.comment,\r\n contact: values.contact,\r\n customerId: props.teacherInformation.result.customer.id,\r\n invoiceLabeling: values.reference,\r\n showStudentsInOrder: true,\r\n shopOrderItems: [],\r\n };\r\n\r\n props.cart.result.forEach((item) => {\r\n item.addedStudents.forEach((stud) => {\r\n const shopOrderItem = {\r\n studentId: stud.id,\r\n fortNoxArticleNumber: item.fortnoxNumber,\r\n from: item.validFrom,\r\n };\r\n order.shopOrderItems.push(shopOrderItem);\r\n });\r\n });\r\n axios\r\n .post(`/ShopNew/Post`, {\r\n ...order,\r\n })\r\n .then((response) => {\r\n if (response.status === 200) {\r\n toast.success(, {\r\n position: \"top-right\",\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n autoClose: 2000,\r\n onClose: () => props.history.push(\"/teacher\"),\r\n });\r\n\r\n resetForm();\r\n setSubmitting(false);\r\n\r\n props.cleanCartAfterPurchase();\r\n }\r\n })\r\n .catch((err) => {\r\n toast.error(\r\n err.response\r\n ? err.response.data\r\n ? err.response.data\r\n : err.response.statusText\r\n : \"Error\",\r\n {\r\n position: \"top-right\",\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n autoClose: 2000,\r\n }\r\n );\r\n setSubmitting(false);\r\n });\r\n },\r\n})(OrderForm);\r\n\r\nexport default FormikForm;\r\n","import React from \"react\";\r\nimport { BASE_LOGIN_REDIRECT_URL } from \"../../constants/api.constants\";\r\n\r\nexport default function NotificationImage({ imageUrl }) {\r\n return (\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nexport default function NotificationVideo({ videoUrl }) {\r\n const videoCode = () => {\r\n var regExp =\r\n /^.*(youtu\\.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|&v=)([^#&?]*).*/;\r\n var match = videoUrl.match(regExp);\r\n if (match && match[2].length === 11) {\r\n return match[2];\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n}\r\n","import {\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Button,\r\n Row,\r\n} from \"reactstrap\";\r\nimport NotificationImage from \"../Notifications/NotificationImage\";\r\nimport NotificationVideo from \"../Notifications/NotificationVideo\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nexport default function NotificationModal({\r\n isOpen,\r\n toggle,\r\n notification,\r\n handleMarkAsRead,\r\n}) {\r\n return (\r\n \r\n {notification.notice.title}\r\n \r\n \r\n \r\n \r\n \r\n {notification.notice.image && (\r\n \r\n )}\r\n {notification.notice.video &&\r\n notification.notice.video !== \"null\" && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!notification.isSeenByMe && (\r\n handleMarkAsRead(notification.notice.id, true)}\r\n className=\"pull-right mx-1\"\r\n color=\"primary\"\r\n outline\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { Card, CardBody, Row, Col, Button } from \"reactstrap\";\r\nimport NotificationModal from \"../Modal/NotificationModal\";\r\nimport { postNotificationRead } from \"../../actions/notificationActions\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nexport default function SingleNotification({ notification }) {\r\n const [notificationModalIsOpen, setNotificationModalIsOpen] = useState(false);\r\n const dispatch = useDispatch();\r\n const toggleNotificationModal = () => {\r\n setNotificationModalIsOpen(!notificationModalIsOpen);\r\n };\r\n\r\n const handleMarkAsRead = (notificationId, read) => {\r\n dispatch(postNotificationRead(notificationId, read));\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n {\r\n toggleNotificationModal();\r\n }}\r\n className={\r\n notification.isSeenByMe\r\n ? \"notification-title--read lead\"\r\n : \"notification-title--unread lead\"\r\n }\r\n >\r\n {notification.notice.title}\r\n \r\n \r\n \r\n {notification.notice.showFrom}\r\n \r\n \r\n {!notification.isSeenByMe && (\r\n handleMarkAsRead(notification.notice.id, true)}\r\n >\r\n \r\n \r\n )}\r\n {\r\n toggleNotificationModal();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardTitle,\r\n Row,\r\n Col,\r\n Button,\r\n Label,\r\n Input,\r\n} from \"reactstrap\";\r\nimport SingleNotification from \"../../components/Notifications/SingleNotification\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { DatePicker } from \"react-nice-dates\";\r\nimport { sv } from \"date-fns/locale\";\r\nimport moment from \"moment\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport Pacmanloader from \"../../components/Pacmanloader/Pacmanloader\";\r\nimport { postSetNotificationsToRead } from \"../../actions/notificationActions\";\r\n\r\nexport default function Notifications() {\r\n const notifications = useSelector((state) => state.notificationsReducer);\r\n const [notificationData, setNotificationData] = useState(\r\n notifications.notifications\r\n );\r\n const [filterStartDate, setFilterStartDate] = useState(null);\r\n const [filterEndDate, setFilterEndDate] = useState(null);\r\n const [showOnlyUnread, setShowOnlyUnread] = useState(false);\r\n\r\n const dispatch = useDispatch();\r\n const handleMarkAllAsRead = () => {\r\n let unreadNotifications = notifications.notifications.filter(\r\n (noti) => !noti.isSeenByMe\r\n );\r\n let listOfIdsToMarkAsRead = unreadNotifications.map((item) => {\r\n return item.notice.id;\r\n });\r\n dispatch(postSetNotificationsToRead(listOfIdsToMarkAsRead));\r\n };\r\n\r\n useEffect(() => {\r\n let tempNotifications = [...notifications.notifications];\r\n tempNotifications = tempNotifications.filter(\r\n (noti) => !noti.notice.isDeleted\r\n );\r\n tempNotifications.forEach((not) => {\r\n not.notice.showFrom = moment(not.notice.showFrom).format(\"YYYY-MM-DD\");\r\n });\r\n if (showOnlyUnread) {\r\n tempNotifications = tempNotifications.filter(\r\n (noti) => noti.isSeenByMe === false\r\n );\r\n }\r\n if (filterStartDate) {\r\n tempNotifications = tempNotifications.filter(\r\n (noti) =>\r\n noti.notice.showFrom >= moment(filterStartDate).format(\"YYYY-MM-DD\")\r\n );\r\n }\r\n if (filterEndDate) {\r\n tempNotifications = tempNotifications.filter(\r\n (noti) =>\r\n noti.notice.showFrom <= moment(filterEndDate).format(\"YYYY-MM-DD\")\r\n );\r\n }\r\n tempNotifications = tempNotifications.sort(function (o1, o2) {\r\n return o1.notice.created ? -1 : o2.notice.created ? 1 : 0;\r\n });\r\n\r\n setNotificationData(tempNotifications);\r\n }, [\r\n showOnlyUnread,\r\n notifications.notifications,\r\n filterStartDate,\r\n filterEndDate,\r\n ]);\r\n\r\n if (notifications.loading) {\r\n return ;\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 setShowOnlyUnread(!showOnlyUnread)}\r\n >\r\n \r\n\r\n \r\n \r\n setFilterStartDate(value)}\r\n locale={sv}\r\n format=\"yyyy-MM-dd\"\r\n >\r\n {({ inputProps, focused }) => (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n setFilterEndDate(value)}\r\n locale={sv}\r\n format=\"yyyy-MM-dd\"\r\n >\r\n {({ inputProps, focused }) => (\r\n \r\n )}\r\n \r\n \r\n \r\n handleMarkAllAsRead()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {notificationData.map((noti) => {\r\n return ;\r\n })}\r\n \r\n );\r\n}\r\n","import Teacher from \"../views/Teacher/Teacher\";\r\nimport TeacherProgram from \"../views/Teacher/TeacherProgram\";\r\nimport TeacherClass from \"../views/Teacher/TeacherClass\";\r\nimport TeacherCoursesView from \"../views/Teacher/TeacherCoursesView\";\r\nimport licenseManagement from \"../views/LicenseManagement/licenseManagement\";\r\nimport TeacherInvoiceHistory from \"../views/Teacher/TeacherInvoiceHistory\";\r\nimport TeacherAboutUs from \"../views/Teacher/TeacherAboutUs\";\r\nimport TeacherStudent from \"../views/Teacher/TeacherStudent\";\r\nimport TeacherTeacher from \"../views/Teacher/TeacherTeacher\";\r\nimport ConfirmedOrder from \"../components/LicenseManagement/ConfirmedOrder\";\r\nimport Notifications from \"../views/Notifications/Notifications\";\r\n\r\nconst navRoutesTeacher = [\r\n { path: \"/\", exact: true, name: \"Home\", component: Teacher },\r\n { path: \"/teacher\", exact: true, name: \"Home\", component: Teacher },\r\n {\r\n path: \"/teacher/programmeview/:programId/:programName\",\r\n exact: true,\r\n name: \"Program\",\r\n component: TeacherProgram,\r\n },\r\n {\r\n path: \"/teacher/courses\",\r\n exact: true,\r\n name: \"Courses\",\r\n component: TeacherCoursesView,\r\n },\r\n {\r\n path: \"/teacher/programmeview/:programId/:programName/classview/:classId/:className\",\r\n exact: true,\r\n name: \"Classes\",\r\n props: {\r\n fromNotifications: \"bluegrass\",\r\n },\r\n component: TeacherClass,\r\n },\r\n {\r\n path: \"/teacher/programmeview/:programId/:programName/classview/:classId/:className/studentview/:studentId/:studentName\",\r\n exact: true,\r\n name: \"Students\",\r\n component: TeacherStudent,\r\n },\r\n {\r\n path: \"/teacher/programmeview/:programId/:programName/classview/:classId/:className/teacherview/:teacherId/:teacherName\",\r\n exact: true,\r\n name: \"Teacher\",\r\n component: TeacherTeacher,\r\n },\r\n {\r\n path: \"/teacher/shop\",\r\n exact: true,\r\n name: \"LicenseManagement\",\r\n component: licenseManagement,\r\n },\r\n {\r\n path: \"/teacher/shop/confirmedorder\",\r\n name: \"ConfirmedOrder\",\r\n component: ConfirmedOrder,\r\n },\r\n {\r\n path: \"/teacher/invoicehistory\",\r\n name: \"Invoicehistory\",\r\n component: TeacherInvoiceHistory,\r\n },\r\n {\r\n path: \"/teacher/aboutUs\",\r\n name: \"Aboutus\",\r\n component: TeacherAboutUs,\r\n },\r\n {\r\n path: \"/teacher/notifications\",\r\n name: \"Notifications\",\r\n component: Notifications,\r\n },\r\n];\r\n\r\nexport default navRoutesTeacher;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport TeacherAdmin from \"../../components/Teacher/Tabs/TeacherAdmin\";\r\nimport TeacherResultOverview from \"../../components/Teacher/Tabs/TeacherResultOverview\";\r\nimport TeacherResultAnalysis from \"../../components/Teacher/Tabs/TeacherResultAnalysis\";\r\nimport TeacherDocuments from \"../../components/Teacher/Tabs/TeacherDocuments\";\r\nimport TeacherCourses from \"../../components/Teacher/Tabs/TeacherCourses\";\r\nimport TeacherChat from \"../../components/Teacher/Tabs/TeacherChat\";\r\nimport { CCard, CRow, CCol, CCardBody } from \"@coreui/react\";\r\nimport Pacmanloader from \"../../components/Pacmanloader/Pacmanloader\";\r\nimport {\r\n GetProgramById,\r\n GetTeacherInformation,\r\n GetSchoolDataBySchoolId,\r\n GetResultsByProgramId,\r\n} from \"../../actions/teacherQueries\";\r\nimport TabNavSelector from \"../../components/Teacher/Tabs/TabNavSelector\";\r\nimport APL from \"../../components/APL/APL\";\r\nimport { useSelector } from \"react-redux\";\r\n\r\nexport default function TeacherProgram(props) {\r\n const [studentsInProgram, setStudentsInProgram] = useState([]);\r\n const programInfo = GetProgramById(props.match.params.programId);\r\n const teacherInfo = GetTeacherInformation();\r\n\r\n const schoolInfo = GetSchoolDataBySchoolId(\r\n !teacherInfo.isLoading ? teacherInfo.data.customer.id : null\r\n );\r\n const coursesInfo = GetResultsByProgramId(props.match.params.programId);\r\n\r\n const tab = useSelector((state) => state.teacherTabNavReducer);\r\n\r\n useEffect(() => {\r\n if (!teacherInfo.isLoading && teacherInfo.data) {\r\n const tempStudentsInProgram = [];\r\n let classesInCurrentProgram = teacherInfo.data.programmes.find(\r\n (program) => program.id === Number(props.match.params.programId)\r\n ).classes;\r\n classesInCurrentProgram.forEach((cl) => {\r\n tempStudentsInProgram.push(...cl.students);\r\n });\r\n setStudentsInProgram(tempStudentsInProgram);\r\n }\r\n }, [props.match.params.programId, teacherInfo.data, teacherInfo.isLoading]);\r\n\r\n if (\r\n programInfo.isLoading ||\r\n teacherInfo.isLoading ||\r\n schoolInfo.isLoading ||\r\n coursesInfo.isLoading\r\n ) {\r\n return ;\r\n }\r\n\r\n const renderTab = () => {\r\n switch (tab.tab) {\r\n case 1:\r\n return (\r\n \r\n );\r\n case 2:\r\n return (\r\n \r\n );\r\n case 3:\r\n return (\r\n \r\n );\r\n case 4:\r\n return ;\r\n case 5:\r\n return ;\r\n case 6:\r\n return ;\r\n case 7:\r\n return (\r\n \r\n );\r\n default:\r\n return ;\r\n }\r\n };\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {renderTab()}\r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport {\r\n GetClassByClassId,\r\n GetCoursesByClassId,\r\n GetTeacherInformation,\r\n GetSchoolDataBySchoolId,\r\n} from \"../../actions/teacherQueries\";\r\nimport Pacmanloader from \"../../components/Pacmanloader/Pacmanloader\";\r\nimport TeacherAdmin from \"../../components/Teacher/Tabs/TeacherAdmin\";\r\nimport TeacherResultOverview from \"../../components/Teacher/Tabs/TeacherResultOverview\";\r\nimport TeacherResultAnalysis from \"../../components/Teacher/Tabs/TeacherResultAnalysis\";\r\nimport TeacherDocuments from \"../../components/Teacher/Tabs/TeacherDocuments\";\r\nimport TeacherCourses from \"../../components/Teacher/Tabs/TeacherCourses\";\r\nimport TeacherChat from \"../../components/Teacher/Tabs/TeacherChat\";\r\nimport { CCard, CRow, CCol, CCardBody } from \"@coreui/react\";\r\nimport TabNavSelector from \"../../components/Teacher/Tabs/TabNavSelector\";\r\nimport APL from \"../../components/APL/APL\";\r\nimport { useSelector } from \"react-redux\";\r\n\r\nexport default function TeacherClass(props) {\r\n const classData = GetClassByClassId(props.match.params.classId);\r\n const classCoursesData = GetCoursesByClassId(props.match.params.classId);\r\n const teacherInfo = GetTeacherInformation();\r\n const schoolInfo = GetSchoolDataBySchoolId(\r\n !teacherInfo.isLoading ? teacherInfo.data.customer.id : null\r\n );\r\n\r\n const tab = useSelector((state) => state.teacherTabNavReducer);\r\n\r\n if (\r\n classData.isLoading ||\r\n classCoursesData.isLoading ||\r\n teacherInfo.isLoading ||\r\n schoolInfo === null ||\r\n schoolInfo.isLoading\r\n ) {\r\n return ;\r\n }\r\n\r\n const renderTab = () => {\r\n switch (tab.tab) {\r\n case 1:\r\n return (\r\n \r\n );\r\n case 2:\r\n return (\r\n \r\n );\r\n case 3:\r\n return (\r\n \r\n );\r\n case 4:\r\n return (\r\n \r\n );\r\n case 5:\r\n return (\r\n \r\n );\r\n case 6:\r\n return ;\r\n case 7:\r\n return (\r\n \r\n );\r\n default:\r\n return (\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 {renderTab()}\r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n","import { React } from \"react\";\r\nimport { CRow, CCol, CCard, CCardBody } from \"@coreui/react\";\r\nimport { Nav, NavItem, NavLink } from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport TeacherAdmin from \"../../components/Teacher/TeacherAdmin\";\r\nimport PacmanLoader from \"../../components/Pacmanloader/Pacmanloader\";\r\nimport {\r\n GetTeacherInfoById,\r\n GetTeacherInformation,\r\n} from \"../../actions/teacherQueries\";\r\n\r\nexport default function TeacherTeacher(props) {\r\n const teacherData = GetTeacherInfoById(props.match.params.teacherId);\r\n const teacherInfo = GetTeacherInformation();\r\n\r\n if (teacherData.isLoading) {\r\n return ;\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","import React, { useState, useEffect } from \"react\";\r\nimport OrderForm from \"../Forms/OrderForm\";\r\nimport { clearCart } from \"../../actions/newCartActions\";\r\nimport CartItem from \"./cartItem\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\n\r\nexport default function ConfirmedOrder(props) {\r\n const [totalPrice, setTotalPrice] = useState(0);\r\n\r\n const cart = useSelector((state) => state.newCartReducer);\r\n const teacherInfo = useSelector((state) => state.teacherInformationReducer);\r\n\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n setTotalPrice(0);\r\n cart.result.forEach((order) => {\r\n setTotalPrice(\r\n (prevstate) =>\r\n prevstate + order.priceStudent * order.addedStudents.length\r\n );\r\n });\r\n }, [cart.result]);\r\n\r\n const cleanCartAfterPurchase = () => {\r\n dispatch(clearCart());\r\n };\r\n\r\n const cartList = () => {\r\n return cart.result.map((cartItem, i) => {\r\n if (cartItem.addedStudents.length > 0) {\r\n return (\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n cleanCartAfterPurchase()}\r\n />\r\n \r\n );\r\n}\r\n","import { useState, useEffect } from \"react\";\r\nimport { Card, CardTitle, CardSubtitle, CardBody } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport axios from \"axios\";\r\nimport { version } from \"../../../package.json\";\r\n\r\nexport default function TeacherAboutUs() {\r\n const [contactInfo, setContactInfo] = useState(null);\r\n\r\n useEffect(() => {\r\n axios.get(`${process.env.PUBLIC_URL}/settings.json`).then((res) => {\r\n setContactInfo(res.data);\r\n });\r\n }, []);\r\n if (contactInfo === null) return
    ;\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {contactInfo.contactPersons.map((person, i) => (\r\n \r\n \r\n {person.name}\r\n \r\n

    \r\n : {person.phone}\r\n

    \r\n

    \r\n :{\" \"}\r\n {person.email}\r\n

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

    \r\n : {contactInfo.polContact.phone}\r\n

    \r\n

    \r\n :{\" \"}\r\n \r\n {contactInfo.polContact.email}\r\n \r\n

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

    \r\n : {version}\r\n

    \r\n
    \r\n );\r\n}\r\n","import axios from \"../services/api/api\";\r\n\r\nexport const FETCH_SCHOOL_TEACHERS_BEGIN = \"FETCH_SCHOOL_TEACHERS_BEGIN\";\r\nexport const FETCH_SCHOOL_TEACHERS_FULFILLED =\r\n \"FETCH_SCHOOL_TEACHERS_FULFILLED\";\r\nexport const FETCH_SCHOOL_TEACHERS_REJECTED = \"FETCH_SCHOOL_TEACHERS_REJECTED\";\r\n\r\nexport const FETCH_SCHOOLS_BEGIN = \"FETCH_SCHOOLS_BEGIN\";\r\nexport const FETCH_SCHOOLS_FULFILLED = \"FETCH_SCHOOLS_FULFILLED\";\r\nexport const FETCH_SCHOOLS_REJECTED = \"FETCH_SCHOOLS_REJECTED\";\r\n\r\nexport function fetchSchoolTeachers(schoolId) {\r\n return dispatch => {\r\n dispatch({\r\n type: FETCH_SCHOOL_TEACHERS_BEGIN,\r\n payload: { loading: true }\r\n });\r\n return new Promise((resolve, reject) => {\r\n if (localStorage.getItem(\"email\")) {\r\n axios\r\n .get(\"/GetTeachersBySchoolId?schoolId=\" + schoolId)\r\n .then(response => {\r\n dispatch({\r\n type: FETCH_SCHOOL_TEACHERS_FULFILLED,\r\n payload: response.data.result\r\n });\r\n resolve(true);\r\n })\r\n .catch(err => {\r\n dispatch({ type: FETCH_SCHOOL_TEACHERS_REJECTED, payload: err });\r\n reject(err);\r\n });\r\n }\r\n });\r\n };\r\n}\r\n\r\nexport function fetchSchoolsForAdmin() {\r\n return dispatch => {\r\n dispatch({\r\n type: FETCH_SCHOOLS_BEGIN,\r\n payload: { loading: true }\r\n });\r\n return new Promise((resolve, reject) => {\r\n if (localStorage.getItem(\"email\")) {\r\n axios\r\n .get(\"/SchoolsForAdmin\")\r\n .then(response => {\r\n dispatch({\r\n type: FETCH_SCHOOLS_FULFILLED,\r\n payload: response.data.result\r\n });\r\n resolve(true);\r\n })\r\n .catch(err => {\r\n dispatch({ type: FETCH_SCHOOLS_REJECTED, payload: err });\r\n reject(err);\r\n });\r\n }\r\n });\r\n };\r\n}\r\n","import axios from \"../services/api/api\";\r\nimport {\r\n FETCH_PROGRAM_LICENSES_BEGIN,\r\n FETCH_PROGRAM_LICENSES_FULFILLED,\r\n FETCH_PROGRAM_LICENSES_REJECTED,\r\n FETCH_PROGRAM_LICENSES_BY_CUSTOMER_BEGIN,\r\n FETCH_PROGRAM_LICENSES_BY_CUSTOMER_FULFILLED,\r\n FETCH_PROGRAM_LICENSES_BY_CUSTOMER_REJECTED,\r\n} from \"../reducers/programLicenseReducer\";\r\n\r\nexport function fetchProgramLicenses() {\r\n return function (dispatch) {\r\n dispatch({ type: FETCH_PROGRAM_LICENSES_BEGIN });\r\n axios\r\n .get(\"/ProgramLicense\")\r\n .then((response) => {\r\n dispatch({\r\n type: FETCH_PROGRAM_LICENSES_FULFILLED,\r\n payload: response.data.result,\r\n });\r\n })\r\n .catch((err) => {\r\n dispatch({\r\n type: FETCH_PROGRAM_LICENSES_REJECTED,\r\n payload: err,\r\n });\r\n });\r\n };\r\n}\r\n\r\nexport function fetchCustomerProgrammeLicenses(customerId) {\r\n return function (dispatch) {\r\n dispatch({ type: FETCH_PROGRAM_LICENSES_BY_CUSTOMER_BEGIN });\r\n axios\r\n .get(\"/ProgramLicense/GetByCustomer?customerId=\" + customerId)\r\n .then((response) => {\r\n dispatch({\r\n type: FETCH_PROGRAM_LICENSES_BY_CUSTOMER_FULFILLED,\r\n payload: response.data.result,\r\n });\r\n })\r\n .catch((err) => {\r\n dispatch({\r\n type: FETCH_PROGRAM_LICENSES_BY_CUSTOMER_REJECTED,\r\n payload: err,\r\n });\r\n });\r\n };\r\n}\r\nexport function fetchAvailableProgramLicenses() {\r\n return function (dispatch) {\r\n dispatch({ type: FETCH_PROGRAM_LICENSES_BEGIN });\r\n axios\r\n .get(\"/ProgramLicense/GetAvailableProgramLicenses\")\r\n .then((response) => {\r\n dispatch({\r\n type: FETCH_PROGRAM_LICENSES_FULFILLED,\r\n payload: response.data.result,\r\n });\r\n })\r\n .catch((err) => {\r\n dispatch({\r\n type: FETCH_PROGRAM_LICENSES_REJECTED,\r\n payload: err,\r\n });\r\n });\r\n };\r\n}\r\n","import React from \"react\";\r\nimport moment from \"moment\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\nconst ExpiringLicense = props => {\r\n if (props.licenses === null) {\r\n return
    ;\r\n }\r\n\r\n let expiringLicenses = [];\r\n\r\n props.licenses.forEach(license => {\r\n if (license.hasExpireWarning || license.hasExpired)\r\n expiringLicenses.push({\r\n name: license.name,\r\n expireDate: license.validTo,\r\n hasExpireWarning: license.hasExpireWarning,\r\n hasExpired: license.hasExpired\r\n });\r\n });\r\n\r\n if (expiringLicenses.length === 0) {\r\n return
    ;\r\n }\r\n\r\n let hasExpiredLicenses =\r\n expiringLicenses.filter(x => x.hasExpired).length > 0;\r\n let message = hasExpiredLicenses ? \"Utgången licens: \" : \"Utgående licens: \";\r\n\r\n return (\r\n x.name + \": \" + moment(x.expireDate).format(\"YYYY-MM-DD\"))\r\n .join(\" | \")\r\n }\r\n />\r\n );\r\n};\r\n\r\nexport default ExpiringLicense;\r\n","import React from \"react\";\r\nimport {\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n Form,\r\n FormGroup,\r\n Label,\r\n Input,\r\n Card,\r\n CardHeader,\r\n CardBody,\r\n Button,\r\n Row,\r\n Col,\r\n ModalFooter,\r\n Popover,\r\n PopoverHeader,\r\n PopoverBody,\r\n} from \"reactstrap\";\r\nimport Select from \"react-select\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n fetchAvailableProgramLicenses,\r\n fetchCustomerProgrammeLicenses,\r\n} from \"../../actions/programLicenseActions\";\r\nimport { connect } from \"react-redux\";\r\nimport moment from \"moment\";\r\n\r\nimport axios from \"../../services/api/api\";\r\nimport { API_BASE_URL } from \"../../constants/api.constants\";\r\nimport { toast } from \"react-toastify\";\r\nimport ExpiringLicense from \"../ProgramLicense/ExpiringLicense\";\r\n\r\nclass AddProgramLicenseToSchoolModal extends React.Component {\r\n state = {\r\n selectedLicenseToAdd: \"\",\r\n fortNoxNbrPrgLic: \"\",\r\n fortNoxNbrStudLic: \"\",\r\n fortNoxCostCenter: \"\",\r\n validTo: \"\",\r\n updateLicense: null,\r\n animate: \"\",\r\n isUpdated: false,\r\n popoverOpen: false,\r\n };\r\n\r\n handleChange = (selected) => {\r\n this.setState({\r\n selectedLicenseToAdd: selected.licenseName,\r\n fortNoxNbrPrgLic: selected.fortNoxProgramLicenseNumber,\r\n fortNoxNbrStudLic: selected.fortNoxStudentProgramLicenseNumber,\r\n fortNoxCostCenter: selected.fortNoxCostCenter,\r\n });\r\n };\r\n\r\n handleInputChange = (e) => {\r\n this.setState({\r\n [e.target.name]: e.target.value,\r\n });\r\n };\r\n\r\n togglePopover = () => {\r\n this.setState({ popoverOpen: !this.state.popoverOpen });\r\n };\r\n\r\n addProgramLicenseToSchool = (school) => {\r\n if (!this.state.updateLicense) {\r\n axios\r\n .post(\r\n `${API_BASE_URL}/ProgramLicense?name=${\r\n this.state.selectedLicenseToAdd\r\n }&customerId=${school.id}\r\n &fortNoxNumber=${this.state.fortNoxNbrPrgLic.trim()}&fortNoxNumberStudent=${this.state.fortNoxNbrStudLic.trim()}&fortNoxCostCenter=${this.state.fortNoxCostCenter.trim()}`\r\n )\r\n .then((response) => {\r\n toast.success(\r\n \"Programlicensen har lagts till skolan\",\r\n this.toastOptions\r\n );\r\n\r\n this.props.customerLicenses.result.push(response.data.result);\r\n this.setState({ isUpdated: true });\r\n })\r\n .catch((err) => {\r\n toast.warn(\r\n err && err.response && err.response.data\r\n ? err.response.data\r\n : \"Det gick inte att lägga till programlicensen till skolan\",\r\n this.toastOptions\r\n );\r\n });\r\n }\r\n\r\n if (this.state.updateLicense) {\r\n axios\r\n .put(\r\n `${API_BASE_URL}/ProgramLicense/UpdateProgramLicense?licenseId=${\r\n this.state.updateLicense.id\r\n }&fortNoxNumberProgramLicense=${this.state.fortNoxNbrPrgLic.trim()}&fortNoxNumberStudentLicense=${this.state.fortNoxNbrStudLic.trim()}&fortNoxCostCenter=${\r\n this.state.fortNoxCostCenter\r\n }&validTo=${this.state.validTo}`\r\n )\r\n .then(() => {\r\n toast.success(\"Programlicensen är uppdaterad\", this.toastOptions);\r\n\r\n this.props.customerLicenses.result[0].fortNoxCostCenter =\r\n this.state.fortNoxCostCenter;\r\n this.props.customerLicenses.result[0].fortNoxNumber =\r\n this.state.fortNoxNbrPrgLic;\r\n this.props.customerLicenses.result[0].validTo = this.state.validTo;\r\n\r\n this.setState({ isUpdated: true });\r\n })\r\n .catch((err) => {\r\n toast.warn(\r\n err && err.response && err.response.data\r\n ? err.response.data\r\n : \"Det gick inte att uppdatera programlicensen\",\r\n this.toastOptions\r\n );\r\n });\r\n }\r\n\r\n this.setState({ isUpdated: false });\r\n };\r\n\r\n componentDidMount() {\r\n this.props.dispatch(fetchAvailableProgramLicenses());\r\n\r\n if (this.props.school)\r\n this.props.dispatch(fetchCustomerProgrammeLicenses(this.props.school.id));\r\n }\r\n\r\n updateLicense = (license) => {\r\n this.setState({\r\n updateLicense: license,\r\n selectedLicenseToAdd: license.id,\r\n fortNoxNbrPrgLic: license.fortKnoxNumber,\r\n fortNoxNbrStudLic: license.fortKnoxNumberStudentPackage,\r\n fortNoxCostCenter: license.fortKnoxCostCenter,\r\n validTo: license.validTo,\r\n animate: \"animated slideInUp\",\r\n });\r\n };\r\n quitEditing = () => {\r\n this.setState({\r\n animate: \"animated flipInY\",\r\n updateLicense: null,\r\n fortNoxNbrPrgLic: null,\r\n fortNoxNbrStudLic: null,\r\n fortNoxCostCenter: null,\r\n });\r\n };\r\n render() {\r\n if (\r\n this.props.programLicenses.loading ||\r\n this.props.customerLicenses.loading\r\n ) {\r\n return
    ;\r\n }\r\n\r\n //Alla license\r\n var allLicenses = this.props.programLicenses.result;\r\n\r\n let schoolLicenses = this.props.customerLicenses.result;\r\n\r\n let availableLicenses = [];\r\n\r\n let school = this.props.school;\r\n\r\n if (schoolLicenses !== null) {\r\n allLicenses.forEach((item) => {\r\n if (schoolLicenses.filter((x) => x.name === item).length === 0)\r\n availableLicenses.push(item);\r\n });\r\n }\r\n\r\n return (\r\n this.props.toggle(false, null, null)}\r\n >\r\n this.props.toggle(false, null, null)}>\r\n Programlicenser - {school !== null ? school.name : \"\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n  Lägg till programlicens\r\n
    \r\n
    \r\n \r\n  Uppdatera{\" \"}\r\n {this.state.updateLicense\r\n ? this.state.updateLicense.name\r\n : \"\"}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Hjälp - Programlicens\r\n \r\n Skapa ny programlicens till skolan\r\n
    \r\n 1. Välj vilken programlicens som skolan ska ha i listan:\r\n \"Välj programlicens\"\r\n
    \r\n 2. Klicka på knappen \"Lägg till\" - Klart!\r\n
    \r\n (Giltig t.o.m kommer att vara dagens datum + 1 år)\r\n
    \r\n
    \r\n Uppdatera en befintlig programlicens\r\n
    \r\n 1. Klicka på programlicensnamnet\r\n
    \r\n 2. Ändra de värden som behövs ändras\r\n
    \r\n 3. Klicka på knappen \"Uppdatera\"\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \"Skolan har redan alla tillgängliga programlicenser\"\r\n }\r\n onChange={(selected) => this.handleChange(selected)}\r\n options={availableLicenses.map((option) => ({\r\n ...option,\r\n label: option.licenseName,\r\n value: option.licenseName,\r\n clearableValue: true,\r\n }))}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleInputChange(event)}\r\n defaultValue={\r\n this.state.updateLicense\r\n ? this.state.updateLicense.fortKnoxNumber\r\n : this.state.fortNoxNbrPrgLic\r\n }\r\n />\r\n \r\n \r\n \r\n this.handleInputChange(event)}\r\n defaultValue={\r\n this.state.updateLicense\r\n ? this.state.updateLicense\r\n .fortKnoxNumberStudentPackage\r\n : this.state.fortNoxNbrStudLic\r\n }\r\n />\r\n \r\n \r\n \r\n this.handleInputChange(event)}\r\n defaultValue={\r\n this.state.updateLicense\r\n ? this.state.updateLicense.fortKnoxCostCenter\r\n : this.state.fortNoxCostCenter\r\n }\r\n />\r\n \r\n \r\n \r\n this.handleInputChange(event)}\r\n defaultValue={\r\n this.state.updateLicense\r\n ? moment(this.state.updateLicense.validTo).format(\r\n \"YYYY-MM-DD\"\r\n )\r\n : null\r\n }\r\n />\r\n \r\n \r\n \r\n
    \r\n\r\n \r\n Avbryt\r\n \r\n this.addProgramLicenseToSchool(school)}\r\n >\r\n {this.state.updateLicense ? \"Uppdatera\" : \"Lägg till\"}\r\n \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n {school !== null ? school.name : \"\"} programlicenser\r\n \r\n \r\n \r\n \r\n Programlicens\r\n \r\n \r\n Fortnox art.\r\n \r\n \r\n Fortnox art. elev\r\n \r\n \r\n Giltig t.o.m\r\n \r\n \r\n {schoolLicenses &&\r\n schoolLicenses.map((license, index) => {\r\n let expiringLicenses = [];\r\n expiringLicenses.push(license);\r\n return (\r\n \r\n \r\n this.updateLicense(license)}\r\n >\r\n {license.name}\r\n \r\n \r\n {license.fortKnoxNumber}\r\n {license.fortKnoxNumberStudentPackage}\r\n \r\n {moment(license.validTo)\r\n .subtract(1, \"days\")\r\n .format(\"YYYY-MM-DD\")}\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    \r\n \r\n this.props.toggle(false, null, null)}\r\n >\r\n Stäng\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (store) => {\r\n return {\r\n programLicenses: store.programLicenseReducer,\r\n customerLicenses: store.programLicenseByCustomerReducer,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(AddProgramLicenseToSchoolModal);\r\n","import React from \"react\";\r\nimport { Table, Button } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nconst NumberOfLicensesTable = (props) => {\r\n let licenses = props.programLicenses;\r\n\r\n var licensesShow = licenses.map(function (license, i) {\r\n return (\r\n \r\n {license.name}\r\n {license.quantityTotal}\r\n \r\n props.toggleLicenseDetails(\"Active\", license.name)}\r\n >\r\n {license.quantityActive}\r\n \r\n \r\n \r\n props.toggleLicenseDetails(\"Expired\", license.name)}\r\n >\r\n {license.quantityExpired}\r\n \r\n \r\n \r\n props.toggleLicenseDetails(\"Expiring\", license.name)}\r\n >\r\n {license.quantityExpiring}\r\n \r\n \r\n {license.numberOfStudents}\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 \r\n \r\n \r\n {licensesShow}\r\n
    \r\n \r\n \r\n \r\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 NumberOfLicensesTable;\r\n","import { useState } from \"react\";\r\nimport \"@devexpress/dx-react-grid-bootstrap4/dist/dx-react-grid-bootstrap4.css\";\r\nimport \"open-iconic/font/css/open-iconic-bootstrap.css\";\r\nimport {\r\n Grid,\r\n TableHeaderRow,\r\n TableTreeColumn,\r\n TableBandHeader,\r\n Table,\r\n} from \"@devexpress/dx-react-grid-bootstrap4\";\r\nimport { CustomTreeData, TreeDataState } from \"@devexpress/dx-react-grid\";\r\n\r\nexport default function DataGrid({\r\n columnBands,\r\n rows,\r\n columns,\r\n tableColumnExtensions,\r\n}) {\r\n const [columnExtensions] = useState(\r\n tableColumnExtensions ? tableColumnExtensions : null\r\n );\r\n\r\n const TableComponent = ({ ...restProps }) => (\r\n \r\n );\r\n\r\n const getChildRows = (row, rootRows) => {\r\n const childRows = rootRows.filter(\r\n (r) => r.parentId === (row ? row.id : null)\r\n );\r\n return childRows.length ? childRows : null;\r\n };\r\n\r\n const getRowId = (row) => row.id;\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","import React from \"react\";\r\nimport SuperUserLicenseDataGrid from \"../DataGrids/SuperUserLicenseDataGrid\";\r\n\r\nexport default function LicensesDetailsTable(props) {\r\n return (\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport LicensesDetailsTable from \"./LicensesDetailsTable\";\r\nimport { Button, Col, Row } from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { FormattedMessage, injectIntl, intlShape } from \"react-intl\";\r\nimport moment from \"moment\";\r\nimport { saveAs } from \"file-saver\";\r\n\r\nconst LicensesDetails = (props) => {\r\n if (!props.showLicenseDetails) {\r\n return null;\r\n }\r\n let rows = [];\r\n let columns = [];\r\n let columnBands = [];\r\n let dataForYearExcel;\r\n let title;\r\n\r\n let schoolsWithSelectedLicense = props.schools.filter(function (school) {\r\n return school.programLicenses.some(\r\n (license) => license.name === props.selectedLicenseDetail[1]\r\n );\r\n });\r\n\r\n const color = (text, status) => {\r\n const colors = { expired: \"text-danger\", added: \"text-success\" };\r\n let color = colors[status];\r\n return {text};\r\n };\r\n\r\n const getDataForActive = () => {\r\n title = props.intl.formatMessage({ id: \"ActiveLicenseTableTitle\" });\r\n var fiscalYear = moment();\r\n if (moment(fiscalYear).month() > 5) {\r\n fiscalYear.start = moment().month(6).startOf(\"month\");\r\n } else {\r\n fiscalYear.start = moment().subtract(1, \"year\").month(6).startOf(\"month\");\r\n }\r\n\r\n let nbrMonthsThisFiscalYear = Math.ceil(\r\n moment().diff(moment(fiscalYear.start), \"months\", true)\r\n );\r\n\r\n var interim = fiscalYear.start.clone();\r\n var monthsThisFiscalYear = [];\r\n for (let i = 0; i < nbrMonthsThisFiscalYear; i++) {\r\n monthsThisFiscalYear.push(interim.format(\"YYYY-MM\"));\r\n interim.add(1, \"month\");\r\n }\r\n\r\n monthsThisFiscalYear = monthsThisFiscalYear.reverse();\r\n\r\n let addedLicenses = [];\r\n let expiredLicenses = [];\r\n let schoolsWithExpiredLicense = schoolsWithSelectedLicense.filter(\r\n (school) => {\r\n return school.programLicenses.some(\r\n (license) =>\r\n license.hasExpired &&\r\n license.name === props.selectedLicenseDetail[1]\r\n );\r\n }\r\n );\r\n schoolsWithExpiredLicense.forEach((schoolWithExpired) => {\r\n let licenseExpired = schoolWithExpired.programLicenses.filter(\r\n (license) => {\r\n return license.name === props.selectedLicenseDetail[1];\r\n }\r\n );\r\n expiredLicenses.push(licenseExpired);\r\n });\r\n\r\n monthsThisFiscalYear.forEach((month) => {\r\n let expiredLicenseThisMonth = expiredLicenses.filter(\r\n (lic) => moment(lic[0].validTo).month() === moment(month).month()\r\n );\r\n schoolsWithSelectedLicense.forEach((school) => {\r\n let schoolWithNewLicense = school.programLicenses.filter((lic) => {\r\n return (\r\n lic.name === props.selectedLicenseDetail[1] &&\r\n moment(month).month() === moment(lic.addedDate).month() &&\r\n moment(month).year() === moment(lic.addedDate).year()\r\n );\r\n });\r\n if (schoolWithNewLicense.length > 0)\r\n addedLicenses.push(schoolWithNewLicense);\r\n });\r\n let monthToAdd = {\r\n id: month,\r\n sortOrder: moment(month).month(),\r\n parentId: null,\r\n title: moment(month).format(\"MMMM\"),\r\n expiredLicences: color(expiredLicenseThisMonth.length, \"expired\"),\r\n newLicences: color(addedLicenses.length, \"added\"),\r\n };\r\n dataForYearExcel +=\r\n \"\" +\r\n moment(month).format(\"MMMM\") +\r\n \"\" +\r\n expiredLicenseThisMonth.length +\r\n \"\" +\r\n addedLicenses.length +\r\n \"\";\r\n let expiredMonth = {\r\n parentId: month,\r\n id: month + \"expired\",\r\n title: color(\"Utgångna licenser\", \"expired\"),\r\n expiredLicences: color(expiredLicenseThisMonth.length, \"expired\"),\r\n };\r\n let addedMonth = {\r\n parentId: month,\r\n id: month + \"added\",\r\n title: color(\"Tillagda licenser\", \"added\"),\r\n newLicences: color(addedLicenses.length, \"added\"),\r\n };\r\n expiredLicenseThisMonth.forEach((expired) => {\r\n let schoolWithExpiredLicense = schoolsWithSelectedLicense.filter(\r\n (school) => school.id === expired[0].customerId\r\n );\r\n\r\n let exp = {\r\n id: schoolWithExpiredLicense[0].fortKnoxCustomerNumber + month,\r\n name: color(schoolWithExpiredLicense[0].name, \"expired\"),\r\n customerNumber: color(\r\n schoolWithExpiredLicense[0].fortKnoxCustomerNumber,\r\n \"expired\"\r\n ),\r\n address: color(schoolWithExpiredLicense[0].adress.street, \"expired\"),\r\n postalNumber: color(\r\n schoolWithExpiredLicense[0].adress.zipCode,\r\n \"expired\"\r\n ),\r\n city: color(schoolWithExpiredLicense[0].adress.city, \"expired\"),\r\n parentId: month + \"expired\",\r\n };\r\n if (exp) {\r\n rows.push(exp);\r\n dataForYearExcel +=\r\n \"\" +\r\n schoolWithExpiredLicense[0].fortKnoxCustomerNumber +\r\n \"\" +\r\n schoolWithExpiredLicense[0].name +\r\n \"\" +\r\n schoolWithExpiredLicense[0].adress.street +\r\n \"\" +\r\n schoolWithExpiredLicense[0].adress.zipCode +\r\n \"\" +\r\n schoolWithExpiredLicense[0].adress.city +\r\n \"\";\r\n }\r\n });\r\n\r\n addedLicenses.forEach((added) => {\r\n let schoolWithNewLicense = schoolsWithSelectedLicense.filter(\r\n (school) => school.id === added[0].customerId\r\n );\r\n\r\n let add = {\r\n id: schoolWithNewLicense[0].fortKnoxCustomerNumber + month,\r\n name: color(schoolWithNewLicense[0].name, \"added\"),\r\n customerNumber: color(\r\n schoolWithNewLicense[0].fortKnoxCustomerNumber,\r\n \"added\"\r\n ),\r\n address: color(schoolWithNewLicense[0].adress.street, \"added\"),\r\n postalNumber: color(schoolWithNewLicense[0].adress.zipCode, \"added\"),\r\n city: color(schoolWithNewLicense[0].adress.city, \"added\"),\r\n parentId: month + \"added\",\r\n };\r\n if (add) {\r\n rows.push(add);\r\n dataForYearExcel +=\r\n \"\" +\r\n schoolWithNewLicense[0].fortKnoxCustomerNumber +\r\n \"\" +\r\n schoolWithNewLicense[0].name +\r\n \"\" +\r\n schoolWithNewLicense[0].adress.street +\r\n \"\" +\r\n schoolWithNewLicense[0].adress.zipCode +\r\n \"\" +\r\n schoolWithNewLicense[0].adress.city +\r\n \"\";\r\n }\r\n });\r\n rows.push(addedMonth);\r\n rows.push(monthToAdd);\r\n rows.push(expiredMonth);\r\n });\r\n\r\n columns = [\r\n { name: \"title\", title: },\r\n { name: \"newLicences\", title: },\r\n {\r\n name: \"expiredLicences\",\r\n title: ,\r\n },\r\n {\r\n name: \"customerNumber\",\r\n title: ,\r\n },\r\n { name: \"name\", title: },\r\n { name: \"address\", title: },\r\n { name: \"postalNumber\", title: },\r\n { name: \"city\", title: },\r\n ];\r\n columnBands = [\r\n {\r\n title: \"Antal\",\r\n children: [\r\n { columnName: \"newLicences\" },\r\n { columnName: \"expiredLicences\" },\r\n ],\r\n },\r\n {\r\n title: \"Skolor\",\r\n children: [\r\n { columnName: \"customerNumber\" },\r\n { columnName: \"name\" },\r\n { columnName: \"address\" },\r\n { columnName: \"postalNumber\" },\r\n { columnName: \"city\" },\r\n ],\r\n },\r\n ];\r\n };\r\n\r\n const getDataForExpiring = () => {\r\n title = props.intl.formatMessage({ id: \"ExpiringLicenseTableTitle\" });\r\n let schoolsWithExpiringLicenses = schoolsWithSelectedLicense.filter(\r\n (school) => {\r\n return school.programLicenses.some(\r\n (license) =>\r\n license.hasExpireWarning &&\r\n license.name === props.selectedLicenseDetail[1]\r\n );\r\n }\r\n );\r\n schoolsWithExpiringLicenses.forEach((schoolWithExpiring) => {\r\n let licenseExpiring = schoolWithExpiring.programLicenses.filter(\r\n (license) => {\r\n return license.name === props.selectedLicenseDetail[1];\r\n }\r\n );\r\n let schoolToAdd = {\r\n id: schoolWithExpiring.id,\r\n parentId: null,\r\n customerNumber: schoolWithExpiring.fortKnoxCustomerNumber,\r\n name: schoolWithExpiring.name,\r\n address: schoolWithExpiring.adress.street,\r\n postalNumber: schoolWithExpiring.adress.zipCode,\r\n city: schoolWithExpiring.adress.city,\r\n licenseExpiringAt: moment(licenseExpiring[0].validTo).format(\r\n \"YYYY-MM-DD\"\r\n ),\r\n };\r\n rows.push(schoolToAdd);\r\n });\r\n rows.sort((a, b) =>\r\n a.licenseExpiringAt > b.licenseExpiringAt\r\n ? 1\r\n : b.licenseExpiringAt > a.licenseExpiringAt\r\n ? -1\r\n : 0\r\n );\r\n columns = [\r\n {\r\n name: \"customerNumber\",\r\n title: ,\r\n },\r\n { name: \"name\", title: },\r\n { name: \"address\", title: },\r\n { name: \"postalNumber\", title: },\r\n { name: \"city\", title: },\r\n {\r\n name: \"licenseExpiringAt\",\r\n title: ,\r\n },\r\n ];\r\n };\r\n\r\n const getDataForExpired = () => {\r\n title = props.intl.formatMessage({ id: \"ExpiredLicenseTableTitle\" });\r\n let schoolsWithExpiredLicense = schoolsWithSelectedLicense.filter(\r\n (school) => {\r\n return school.programLicenses.some(\r\n (license) =>\r\n license.hasExpired &&\r\n license.name === props.selectedLicenseDetail[1]\r\n );\r\n }\r\n );\r\n schoolsWithExpiredLicense.forEach((schoolWithExpired) => {\r\n let licenseExpired = schoolWithExpired.programLicenses.filter(\r\n (license) => {\r\n return license.name === props.selectedLicenseDetail[1];\r\n }\r\n );\r\n let schoolToAdd = {\r\n id: schoolWithExpired.id,\r\n parentId: null,\r\n customerNumber: schoolWithExpired.fortKnoxCustomerNumber,\r\n name: schoolWithExpired.name,\r\n address: schoolWithExpired.adress.street,\r\n postalNumber: schoolWithExpired.adress.zipCode,\r\n city: schoolWithExpired.adress.city,\r\n licenseExpiredAt: moment(licenseExpired[0].validTo).format(\r\n \"YYYY-MM-DD\"\r\n ),\r\n };\r\n rows.push(schoolToAdd);\r\n });\r\n rows.sort((a, b) =>\r\n a.licenseExpiredAt < b.licenseExpiredAt\r\n ? 1\r\n : b.licenseExpiredAt < a.licenseExpiredAt\r\n ? -1\r\n : 0\r\n );\r\n columns = [\r\n {\r\n name: \"customerNumber\",\r\n title: ,\r\n },\r\n { name: \"name\", title: },\r\n { name: \"address\", title: },\r\n { name: \"postalNumber\", title: },\r\n { name: \"city\", title: },\r\n {\r\n name: \"licenseExpiredAt\",\r\n title: ,\r\n },\r\n ];\r\n };\r\n\r\n if (props.selectedLicenseDetail[0] === \"Active\") {\r\n getDataForActive();\r\n } else if (props.selectedLicenseDetail[0] === \"Expired\") {\r\n getDataForExpired();\r\n } else if (props.selectedLicenseDetail[0] === \"Expiring\") {\r\n getDataForExpiring();\r\n }\r\n\r\n const fnExcelReport = function () {\r\n let fileName = \"\";\r\n var tab_text = \"\";\r\n if (props.selectedLicenseDetail[0] === \"Active\") {\r\n fileName = \"LicenserFörÅret\" + props.selectedLicenseDetail[1] + \".xls\";\r\n tab_text =\r\n tab_text +\r\n \"\";\r\n tab_text = tab_text + dataForYearExcel;\r\n } else if (props.selectedLicenseDetail[0] === \"Expired\") {\r\n fileName = \"UtgågnaLicenser\" + props.selectedLicenseDetail[1] + \".xls\";\r\n tab_text =\r\n tab_text +\r\n \"\";\r\n rows.map((row) => {\r\n return (tab_text +=\r\n \"\" +\r\n \"\");\r\n });\r\n } else if (props.selectedLicenseDetail[0] === \"Expiring\") {\r\n fileName = \"UtgåendeLicenser\" + props.selectedLicenseDetail[1] + \".xls\";\r\n tab_text =\r\n tab_text +\r\n \"\";\r\n rows.map((row) => {\r\n return (tab_text +=\r\n \"\" +\r\n \"\");\r\n });\r\n }\r\n tab_text = tab_text + \"
    \" +\r\n props.intl.formatMessage({ id: \"Month\" }) +\r\n \"\" +\r\n props.intl.formatMessage({ id: \"ExpiredLicenses\" }) +\r\n \"\" +\r\n props.intl.formatMessage({ id: \"AddedLicenses\" }) +\r\n \"\" +\r\n props.intl.formatMessage({ id: \"FortnoxNumber\" }) +\r\n \"\" +\r\n props.intl.formatMessage({ id: \"Name\" }) +\r\n \"\" +\r\n props.intl.formatMessage({ id: \"Address\" }) +\r\n \"\" +\r\n props.intl.formatMessage({ id: \"ZipCode\" }) +\r\n \"\" +\r\n props.intl.formatMessage({ id: \"City\" }) +\r\n \"
    \" +\r\n props.intl.formatMessage({ id: \"FortnoxNumber\" }) +\r\n \"\" +\r\n props.intl.formatMessage({ id: \"Name\" }) +\r\n \"\" +\r\n props.intl.formatMessage({ id: \"Address\" }) +\r\n \"\" +\r\n props.intl.formatMessage({ id: \"ZipCode\" }) +\r\n \"\" +\r\n props.intl.formatMessage({ id: \"City\" }) +\r\n \"\" +\r\n props.intl.formatMessage({ id: \"LicenseExpiredAt\" }) +\r\n \"
    \" +\r\n row.customerNumber +\r\n \"\" +\r\n row.name +\r\n \"\" +\r\n row.address +\r\n \"\" +\r\n row.postalNumber +\r\n \"\" +\r\n row.city +\r\n \"\" +\r\n row.licenseExpiredAt +\r\n \"
    \" +\r\n props.intl.formatMessage({ id: \"FortnoxNumber\" }) +\r\n \"\" +\r\n props.intl.formatMessage({ id: \"Name\" }) +\r\n \"\" +\r\n props.intl.formatMessage({ id: \"Address\" }) +\r\n \"\" +\r\n props.intl.formatMessage({ id: \"ZipCode\" }) +\r\n \"\" +\r\n props.intl.formatMessage({ id: \"City\" }) +\r\n \"\" +\r\n props.intl.formatMessage({ id: \"LicenseExpiringAt\" }) +\r\n \"
    \" +\r\n row.customerNumber +\r\n \"\" +\r\n row.name +\r\n \"\" +\r\n row.address +\r\n \"\" +\r\n row.postalNumber +\r\n \"\" +\r\n row.city +\r\n \"\" +\r\n row.licenseExpiringAt +\r\n \"
    \";\r\n var data = new Blob([\"\\ufeff\", tab_text], {\r\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\",\r\n encoding: \"utf-8\",\r\n });\r\n saveAs(data, fileName);\r\n };\r\n\r\n //TODO Set correct title!\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 {title}\r\n {props.selectedLicenseDetail[1]}\r\n

    \r\n \r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nLicensesDetails.propTypes = {\r\n intl: intlShape.isRequired,\r\n};\r\n\r\nexport default injectIntl(LicensesDetails);\r\n","import axios from \"../services/api/api\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport moment from \"moment\";\r\n\r\n/** HELPER FUNCTIONS **/\r\n\r\nconst errorMessage = (err) => {\r\n if (err && err.response) {\r\n return err.response.data;\r\n } else if (err && err.request) {\r\n return err.request.data;\r\n } else {\r\n return ;\r\n }\r\n};\r\n/** END HELPER FUNCTIONS **/\r\n\r\nexport const HandlePurchaseAPLLicense = async (values) => {\r\n const data = await axios\r\n .post(\r\n `/Apl/PurchaseAplLicense?orderMessage=${values.licensesForPost.orderMessage}&invoiceLabeling=${values.licensesForPost.invoiceLabeling}&costCenter=${values.licensesForPost.costCenter}`,\r\n JSON.stringify(values.licensesForPost.studentEmails, null, 1)\r\n )\r\n .catch((err) => {\r\n if (err.response) {\r\n return err.response.data;\r\n } else if (err.request) {\r\n return err.request.data;\r\n } else {\r\n return ;\r\n }\r\n });\r\n return data;\r\n};\r\n\r\nexport const PostNotification = async (values) => {\r\n var myData = new FormData();\r\n myData.append(\"ImageFile\", values.postObject.image);\r\n if (values.postObject.forSchools !== null) {\r\n values.postObject.forSchools.forEach((item) => {\r\n myData.append(\"SchoolIds\", item);\r\n });\r\n }\r\n values.postObject.forLicenses.forEach((item) => {\r\n myData.append(\"ProgramIds\", item);\r\n });\r\n myData.append(\"ShowForAllCustomers\", values.postObject.showForAllCustomers);\r\n myData.append(\"ShowForTeachers\", values.postObject.showForTeachers);\r\n myData.append(\"ShowForStudents\", values.postObject.showForStudents);\r\n myData.append(\"ShowFrom\", values.postObject.showFrom);\r\n myData.append(\"Title\", values.postObject.title);\r\n myData.append(\"Text\", values.postObject.text);\r\n myData.append(\"Video\", values.postObject.video);\r\n\r\n const data = await axios\r\n .post(`/User/CreateNotice`, myData, {\r\n headers: { \"Content-Type\": \"multipart/form-data;\" },\r\n })\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const UpdateNotification = async (values) => {\r\n var myData = new FormData();\r\n myData.append(\"ImageFile\", values.postObject.image);\r\n myData.append(\"noticeId\", values.postObject.noticeId);\r\n if (values.postObject.forSchools !== null) {\r\n values.postObject.forSchools.forEach((item) => {\r\n myData.append(\"SchoolIds\", item);\r\n });\r\n }\r\n values.postObject.forLicenses.forEach((item) => {\r\n myData.append(\"ProgramIds\", item);\r\n });\r\n myData.append(\"ShowForAllCustomers\", values.postObject.showForAllCustomers);\r\n myData.append(\"ShowForTeachers\", values.postObject.showForTeachers);\r\n myData.append(\"ShowForStudents\", values.postObject.showForStudents);\r\n myData.append(\"ShowFrom\", values.postObject.showFrom);\r\n myData.append(\"Title\", values.postObject.title);\r\n myData.append(\"Text\", values.postObject.text);\r\n myData.append(\"Video\", values.postObject.video);\r\n myData.append(\"ImageOptions\", values.postObject.imageOptions);\r\n const data = await axios\r\n .post(`/User/UpdateNotice`, myData, {\r\n headers: { \"Content-Type\": \"multipart/form-data;\" },\r\n })\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const ToggleDeleteNotification = async (notification) => {\r\n const data = await axios\r\n .post(\r\n `/User/SetNoticeDeletedStatus?noticeId=${notification.notificationId}&isDeleted=${notification.isDeleted}`\r\n )\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const SetCourseModuleSortOrder = async (postData) => {\r\n const data = await axios\r\n .post(\r\n `/Course/SetModuleOrder?courseId=${\r\n postData.courseId\r\n }&orderedModuleIds=${postData.orderedModuleIds.join(\r\n \"&orderedModuleIds=\"\r\n )}`\r\n )\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const EditSchoolName = async (updateObject) => {\r\n const data = await axios\r\n .put(\r\n `/School/Update?schoolId=${updateObject.id}&name=${encodeURIComponent(\r\n updateObject.name\r\n )}`\r\n )\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const MoveTeacherToSchoolAndClasses = async (updateObject) => {\r\n const data = await axios\r\n .post(\r\n `/User/MoveTeacher?teacherEmail=${updateObject.teacherToMoveEmail}&toSchoolFortNoxNumber=${updateObject.fortKnoxCustomerNumber}`\r\n )\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const AddProgramToSchool = async (updateObject) => {\r\n const data = axios\r\n .post(`/programme`, {\r\n name: updateObject.license.programName,\r\n customer: updateObject.school,\r\n costCenter: updateObject.license.fortNoxCostCenter,\r\n })\r\n .catch((err) => {\r\n return err;\r\n });\r\n return data;\r\n};\r\n\r\nexport const AddProgramLicenseToSchool = async (updateObject) => {\r\n const validTo = moment().add(3, \"y\").format(\"YYYY-MM-DDTHH:mm:ss\");\r\n const data = axios\r\n .post(\r\n `/ProgramLicense?customerId=${\r\n updateObject.school.id\r\n }&fortNoxNumber=${updateObject.license.fortNoxProgramLicenseNumber.trim()}&fortNoxNumberStudent=${updateObject.license.fortNoxStudentProgramLicenseNumber.trim()}&fortNoxCostCenter=${\r\n updateObject.license.fortNoxCostCenter\r\n }&validTo=${validTo}`\r\n )\r\n .catch((err) => {\r\n return err;\r\n });\r\n return data;\r\n};\r\n\r\nexport const CreateSchoolAndAssignProgram = async (updateObject) => {\r\n const data = await axios\r\n .post(\r\n `/School/Create?customerNumber=${updateObject.fortKnoxCustomerNumber}`\r\n )\r\n .catch((err) => {\r\n return err;\r\n });\r\n return data;\r\n};\r\n\r\nexport const CreateNewTeacher = async (postObject) => {\r\n const data = await axios\r\n .post(`/Teacher`, postObject.teacherToPost)\r\n .catch((err) => {\r\n return err;\r\n });\r\n return data;\r\n};\r\n\r\nexport const AddTeacherToClass = async (postObject) => {\r\n const data = await axios\r\n .post(\r\n `/AddExistingTeacherToClass?teacherId=${\r\n postObject.teacherId\r\n }&classIds=${postObject.classIds.join(\"&classIds=\")}`\r\n )\r\n .catch((err) => {\r\n return err;\r\n });\r\n return data;\r\n};\r\n\r\nexport const AddClassToSchool = async (postObject) => {\r\n const data = await axios\r\n .post(\"/class\", {\r\n name: postObject.name,\r\n school: postObject.school,\r\n programme: postObject.selectedProgramme,\r\n orientation: { id: 0, name: postObject.selectedOrientation },\r\n })\r\n .catch((err) => {\r\n return err;\r\n });\r\n return data;\r\n};\r\n\r\nexport const CreateNewScormLicenseCustomer = async (postObject) => {\r\n const data = await axios\r\n .post(\r\n `/LicMgt/CreateCustomer?FortNoxNumber=${postObject.fortnoxNumber}&Url=${postObject.url}&ContactName=${postObject.contactName}&ContactMail=${postObject.contactMail}`\r\n )\r\n .catch((err) => {\r\n return err;\r\n });\r\n return data;\r\n};\r\n\r\nexport const CreateNewScormLicenseCourse = async (postObject) => {\r\n const data = await axios\r\n .post(\r\n `/LicMgt/CreateCourse?Name=${postObject.name}&identifier=${postObject.identifier}&AdditionalInfo=${postObject.additionalInfo}`\r\n )\r\n .catch((err) => {\r\n return err;\r\n });\r\n return data;\r\n};\r\n\r\nexport const CreateNewScormLicenseLicenses = async (postObject) => {\r\n const data = await axios\r\n .post(\r\n `/LicMgt/CreateLicenses?CourseId=${postObject.courseId}&CustomerId=${postObject.customerId}&Quantity=${postObject.quantity}`\r\n )\r\n .catch((err) => {\r\n return err;\r\n });\r\n return data;\r\n};\r\n\r\nexport const UpdateLicenseCustomer = async (postObject) => {\r\n const data = await axios\r\n .post(\r\n `/LicMgt/UpdateCustomer?FortNoxNumber=${postObject.fortnoxNumber}&Url=${postObject.url}&ContactName=${postObject.contactName}&ContactMail=${postObject.contactMail}`\r\n )\r\n .catch((err) => {\r\n return err;\r\n });\r\n return data;\r\n};\r\n\r\nexport const UpdateLicenseCourse = async (postObject) => {\r\n const data = await axios\r\n .post(\r\n `/LicMgt/UpdateCourse?Id=${postObject.id}&Identifier=${postObject.identifier}&Name=${postObject.name}&AdditionalInfo=${postObject.additionalInfo}`\r\n )\r\n .catch((err) => {\r\n return err;\r\n });\r\n return data;\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport {\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Input,\r\n Row,\r\n Label,\r\n Col,\r\n Button,\r\n} from \"reactstrap\";\r\nimport { useMutation } from \"react-query\";\r\nimport {\r\n EditSchoolName,\r\n MoveTeacherToSchoolAndClasses,\r\n} from \"../../actions/superUserMutations\";\r\nimport { toast } from \"react-toastify\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { fetchSchoolsForAdmin } from \"../../actions/schoolActions\";\r\nimport { useDispatch } from \"react-redux\";\r\n\r\nexport default function SuperuserSchoolEditModal(props) {\r\n const [newName, setNewName] = useState(props.schoolToUpdate?.name);\r\n const [teacherToMoveEmail, setTeacherToMoveEmail] = useState(\"\");\r\n const postEditSchoolName = useMutation(EditSchoolName);\r\n const postMoveTeacherToSchoolAndClasses = useMutation(\r\n MoveTeacherToSchoolAndClasses\r\n );\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n setNewName(props.schoolToUpdate?.name);\r\n }, [props.schoolToUpdate?.name]);\r\n\r\n const handleToggle = () => {\r\n setNewName(\"\");\r\n setTeacherToMoveEmail(\"\");\r\n props.toggle();\r\n };\r\n\r\n const handleEditSchoolName = () => {\r\n if (newName.length > 0 && newName !== props.schoolToUpdate?.name) {\r\n postEditSchoolName.mutate(\r\n { id: props.schoolToUpdate.id, name: newName },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n dispatch(fetchSchoolsForAdmin());\r\n toast.success();\r\n handleToggle();\r\n } else {\r\n toast.warn(data);\r\n handleToggle();\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n handleToggle();\r\n },\r\n }\r\n );\r\n }\r\n };\r\n\r\n const handlePostMoveTeacher = () => {\r\n postMoveTeacherToSchoolAndClasses.mutate(\r\n {\r\n fortKnoxCustomerNumber: props.schoolToUpdate.fortKnoxCustomerNumber,\r\n teacherToMoveEmail: teacherToMoveEmail,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n toast.success();\r\n handleToggle();\r\n } else {\r\n toast.warn(data);\r\n handleToggle();\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n handleToggle();\r\n },\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n {props.schoolToUpdate && `Uppdatera ${props.schoolToUpdate.name}`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNewName(event.target.value);\r\n }}\r\n defaultValue={props.schoolToUpdate?.name}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setTeacherToMoveEmail(event.target.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","import React, { useState } from \"react\";\r\nimport {\r\n Modal,\r\n ModalBody,\r\n ModalFooter,\r\n Row,\r\n Col,\r\n Button,\r\n Input,\r\n Label,\r\n} from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport {\r\n CreateSchoolAndAssignProgram,\r\n AddClassToSchool,\r\n AddProgramToSchool,\r\n AddProgramLicenseToSchool,\r\n CreateNewTeacher,\r\n AddTeacherToClass,\r\n} from \"../../actions/superUserMutations\";\r\nimport { useMutation } from \"react-query\";\r\nimport { toast } from \"react-toastify\";\r\nimport { useSelector } from \"react-redux\";\r\nimport Select from \"react-select\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport uuid from \"uuid\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { fetchSchoolsForAdmin } from \"../../actions/schoolActions\";\r\nimport { useDispatch } from \"react-redux\";\r\n\r\nexport default function CreateNewSchoolWizardModal({ isOpen, toggle }) {\r\n const [page, setPage] = useState(1);\r\n const [fortnoxNumber, setFortnoxNumber] = useState(\"\");\r\n const [selectedLicenses, setSelectedLicenses] = useState([]);\r\n const [errors, setErrors] = useState([]);\r\n const [classesForPost, setClassesForPost] = useState([]);\r\n const [newClass, setNewClass] = useState({});\r\n const [createdSchool, setCreatedSchool] = useState(null);\r\n const [addedClasses, setAddedClasses] = useState([]);\r\n const [newTeacherToAdd, setNewTeacherToAdd] = useState({\r\n name: null,\r\n email: null,\r\n purchaser: false,\r\n fullAccess: false,\r\n });\r\n const [teachersForPost, setTeachersForPost] = useState([]);\r\n const [schoolAlreadyPosted, setSchoolAlreadyPosted] = useState(false);\r\n const [returnedPrograms, setReturnedPrograms] = useState([]);\r\n const availableLicenses = useSelector((state) => state.programLicenseReducer);\r\n const orientations = useSelector((state) => state.orientationReducer);\r\n const handlePostSchoolWithLicense = useMutation(CreateSchoolAndAssignProgram);\r\n const handlePostClassesToSchool = useMutation(AddClassToSchool);\r\n const handlePostProgram = useMutation(AddProgramToSchool);\r\n const handlePostProgramLicense = useMutation(AddProgramLicenseToSchool);\r\n const handleCreateNewTeacher = useMutation(CreateNewTeacher);\r\n const handleAddTeacherToClass = useMutation(AddTeacherToClass);\r\n const dispatch = useDispatch();\r\n\r\n const validateStepAndGoToNext = () => {\r\n switch (page) {\r\n case 1:\r\n if (fortnoxNumber.length > 0) {\r\n setPage(page + 1);\r\n setErrors(errors.filter((err) => err !== \"page1\"));\r\n } else {\r\n setErrors([...errors, \"page1\"]);\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const handleClose = (reloadSchools) => {\r\n setPage(1);\r\n setFortnoxNumber(\"\");\r\n setSelectedLicenses([]);\r\n setErrors([]);\r\n setClassesForPost([]);\r\n setNewClass({});\r\n setCreatedSchool(null);\r\n setNewTeacherToAdd({\r\n name: null,\r\n email: null,\r\n purchaser: false,\r\n fullAccess: false,\r\n });\r\n setTeachersForPost([]);\r\n setAddedClasses([]);\r\n setSchoolAlreadyPosted(false);\r\n setReturnedPrograms([]);\r\n toggle();\r\n if (reloadSchools) {\r\n dispatch(fetchSchoolsForAdmin());\r\n }\r\n };\r\n\r\n const postSchoolWithLicenses = (saveAndClose) => {\r\n let schoolData = null;\r\n if (!schoolAlreadyPosted) {\r\n handlePostSchoolWithLicense.mutate(\r\n {\r\n fortKnoxCustomerNumber: fortnoxNumber,\r\n licenses: selectedLicenses,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n schoolData = data.data.result;\r\n toast.success();\r\n setCreatedSchool(data.data.result);\r\n setSchoolAlreadyPosted(true);\r\n postLicenses(schoolData, saveAndClose);\r\n } else {\r\n toast.warn(data.response.data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (err) => {\r\n toast.warn(err);\r\n },\r\n }\r\n );\r\n } else {\r\n postLicenses(createdSchool, saveAndClose);\r\n }\r\n };\r\n\r\n const postLicenses = (schoolData, saveAndClose) => {\r\n selectedLicenses.forEach((lic) => {\r\n handlePostProgramLicense.mutate(\r\n {\r\n license: lic,\r\n school: schoolData,\r\n },\r\n {\r\n onSuccess: async (proglicData) => {\r\n if (\r\n proglicData &&\r\n proglicData.status > 199 &&\r\n proglicData.status < 300\r\n ) {\r\n toast.success();\r\n\r\n const promises = [];\r\n selectedLicenses.forEach((proglic) => {\r\n promises.push(\r\n handlePostProgram.mutateAsync({\r\n license: proglic,\r\n school: schoolData,\r\n })\r\n );\r\n });\r\n const responses = await Promise.all(promises);\r\n const tempPrograms = [];\r\n responses.forEach((resp) => {\r\n if (resp && resp.status > 199 && resp.status < 300) {\r\n tempPrograms.push(resp.data.result);\r\n } else {\r\n toast.warn(resp.response.data);\r\n }\r\n });\r\n toast.success();\r\n setReturnedPrograms(tempPrograms);\r\n } else {\r\n toast.warn(proglicData.response.data);\r\n }\r\n },\r\n onError: (proglicError) => {\r\n toast.warn(proglicError.response.data);\r\n },\r\n }\r\n );\r\n });\r\n saveAndClose ? handleClose(true) : setPage(page + 1);\r\n };\r\n\r\n const handlePostClasses = async () => {\r\n const promises = [];\r\n classesForPost.forEach((cl) => {\r\n const program = {\r\n id: cl.program.id,\r\n name: cl.program.name,\r\n costCenter: cl.program.costCenter,\r\n customer: createdSchool,\r\n classes: null,\r\n };\r\n promises.push(\r\n handlePostClassesToSchool.mutateAsync({\r\n name: cl.name,\r\n school: createdSchool,\r\n selectedProgramme: program,\r\n selectedOrientation:\r\n cl.orientation !== undefined ? cl.orientation : \"\",\r\n })\r\n );\r\n });\r\n const responses = await Promise.all(promises);\r\n const tempClasses = [];\r\n responses.forEach((resp) => {\r\n if (resp && resp.status > 199 && resp.status < 300) {\r\n tempClasses.push(resp.data.result);\r\n } else {\r\n toast.warn(resp.response.data);\r\n }\r\n });\r\n toast.success();\r\n setAddedClasses(tempClasses);\r\n\r\n setPage(page + 1);\r\n };\r\n\r\n const handlePostTeachersToClass = (postedTeachers, teachersForPost) => {\r\n postedTeachers.forEach((pTeacher) => {\r\n handleAddTeacherToClass.mutate(\r\n {\r\n teacherId: pTeacher.id,\r\n classIds: teachersForPost\r\n .find((t) => t.email === pTeacher.email)\r\n .classes.map((a) => a.value.id),\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n toast.success();\r\n } else {\r\n toast.warn(data.response.data);\r\n }\r\n },\r\n }\r\n );\r\n });\r\n handleClose(true);\r\n };\r\n\r\n const handlePostTeachersAndClose = async () => {\r\n const postedTeachers = [];\r\n const promises = [];\r\n teachersForPost.forEach((teacher) => {\r\n const teacherToPost = {\r\n name: teacher.name,\r\n email: teacher.email,\r\n fullAccess: teacher.fullAccess,\r\n purchaser: teacher.purchaser,\r\n activatedAccount: false,\r\n aplSupervisorMail: null,\r\n classes: teacher.classes,\r\n };\r\n promises.push(handleCreateNewTeacher.mutateAsync({ teacherToPost }));\r\n });\r\n const responses = await Promise.all(promises);\r\n responses.forEach((resp) => {\r\n if (resp && resp.status > 199 && resp.status < 300) {\r\n postedTeachers.push(resp.data.result);\r\n } else {\r\n toast.warn(resp.response.data);\r\n }\r\n });\r\n toast.success();\r\n handlePostTeachersToClass(postedTeachers, teachersForPost);\r\n };\r\n\r\n const renderPage = () => {\r\n switch (page) {\r\n case 1:\r\n return fortnoxNumberPage();\r\n case 2:\r\n return licensesPage();\r\n case 3:\r\n return selectedLicensescreateClasses();\r\n case 4:\r\n return connectTeachersToClasses();\r\n default:\r\n return fortnoxNumberPage();\r\n }\r\n };\r\n\r\n const handleSetFortnoxNumber = (number) => {\r\n if (number.length > 0) {\r\n setErrors(errors.filter((err) => err !== \"page1\"));\r\n }\r\n setFortnoxNumber(number);\r\n };\r\n\r\n const fortnoxNumberPage = () => {\r\n return (\r\n <>\r\n

    \r\n \r\n

    \r\n \r\n \r\n \r\n \r\n \r\n handleSetFortnoxNumber(event.target.value)}\r\n >\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const licensesPage = () => {\r\n return (\r\n <>\r\n

    \r\n \r\n

    \r\n \r\n
    \r\n .\r\n
    \r\n ({\r\n ...option,\r\n label: option.licenseName,\r\n value: option,\r\n clearableValue: true,\r\n }))}\r\n onChange={(data) => setSelectedLicenses(data)}\r\n >\r\n \r\n );\r\n };\r\n\r\n const selectedLicensescreateClasses = () => {\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 setNewClass({ ...newClass, name: data.target.value })\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({\r\n ...option,\r\n label: option.name,\r\n value: option,\r\n clearableValue: true,\r\n }))}\r\n onChange={(data) => setNewClass({ ...newClass, program: data })}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"Det finns inga valbara program\"}\r\n onChange={(e) =>\r\n e\r\n ? setNewClass({ ...newClass, orientation: e.label })\r\n : setNewClass({ ...newClass, orientation: null })\r\n }\r\n options={orientations.result.map((option) => ({\r\n ...option,\r\n label: option.name,\r\n value: option.id.toString(),\r\n clearableValue: true,\r\n }))}\r\n formatCreateLabel={(userInput) =>\r\n `Klicka här för att skapa: ${userInput}`\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n selectedLicenses.length > 0 && handleAddClass()}\r\n title={\r\n selectedLicenses.length < 1 && (\r\n \r\n )\r\n }\r\n outline\r\n color=\"primary\"\r\n style={{\r\n cursor: selectedLicenses.length < 1 ? \"not-allowed\" : \"pointer\",\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {classesForPost.length > 0 && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {classesForPost.map((cl) => (\r\n \r\n \r\n handleRemoveClassFromAdd(cl)}\r\n >\r\n \r\n \r\n \r\n {cl.name}\r\n {cl.program.name}\r\n {cl.orientation}\r\n \r\n ))}\r\n \r\n )}\r\n \r\n );\r\n };\r\n\r\n const connectTeachersToClasses = () => {\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 setNewTeacherToAdd({\r\n ...newTeacherToAdd,\r\n name: data.target.value,\r\n })\r\n }\r\n type=\"text\"\r\n placeholder=\"Namn\"\r\n name=\"newTeacherName\"\r\n style={\r\n errors.includes(\"teacherName\")\r\n ? { borderColor: \"red\" }\r\n : { borderColor: \"#c2cfd6\" }\r\n }\r\n />\r\n \r\n\r\n \r\n \r\n setNewTeacherToAdd({\r\n ...newTeacherToAdd,\r\n email: data.target.value,\r\n })\r\n }\r\n type=\"text\"\r\n placeholder=\"Epost\"\r\n name=\"newTeacherEmail\"\r\n style={\r\n errors.includes(\"teacherEmail\")\r\n ? { borderColor: \"red\" }\r\n : { borderColor: \"#c2cfd6\" }\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n setNewTeacherToAdd({\r\n ...newTeacherToAdd,\r\n purchaser: data.target.checked,\r\n })\r\n }\r\n name=\"purchaserCheckBox\"\r\n type=\"checkbox\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n setNewTeacherToAdd({\r\n ...newTeacherToAdd,\r\n fullAccess: data.target.checked,\r\n })\r\n }\r\n name=\"fullAccessCheckbox\"\r\n type=\"checkbox\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n handleCheckAndSetTeacherForAdd()}\r\n color=\"primary\"\r\n outline\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {teachersForPost &&\r\n teachersForPost.map((teacher) => {\r\n let selectedClasses = [];\r\n teacher.classes.forEach((cl) => {\r\n selectedClasses.push({\r\n label: cl.value.name + \" -- \" + cl.value.programme.name,\r\n value: cl.value,\r\n });\r\n });\r\n\r\n const options = [];\r\n addedClasses.forEach((cl) => {\r\n options.push({\r\n label: cl.name + \" -- \" + cl.programme.name,\r\n value: cl,\r\n clearableValue: true,\r\n });\r\n });\r\n return (\r\n \r\n \r\n handleRemoveTeacherFromAdd(teacher)}\r\n >\r\n \r\n \r\n \r\n \r\n

    \r\n {teacher.name}\r\n

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

    \r\n {teacher.email}\r\n

    \r\n \r\n \r\n \r\n handleSetClassForNewTeacher(data, teacher)\r\n }\r\n >\r\n \r\n
    \r\n );\r\n })}\r\n \r\n );\r\n };\r\n\r\n const handleCheckAndSetTeacherForAdd = () => {\r\n var pattern = /^[\\w.-]+@[\\w.-]+\\.\\w+$/;\r\n if (!pattern.test(newTeacherToAdd.email)) {\r\n setErrors([...errors, \"teacherEmail\"]);\r\n return null;\r\n }\r\n if (newTeacherToAdd.name.length < 1) {\r\n setErrors([...errors, \"teacherName\"]);\r\n return null;\r\n }\r\n var excludedValues = [\"teacherName\", \"teacherEmail\"];\r\n\r\n var tempErrors = errors.filter(function (value) {\r\n return !excludedValues.includes(value);\r\n });\r\n setErrors(tempErrors);\r\n setTeachersForPost([\r\n ...teachersForPost,\r\n {\r\n id: uuid(),\r\n name: newTeacherToAdd.name,\r\n email: newTeacherToAdd.email,\r\n purchaser: newTeacherToAdd.purchaser,\r\n fullAccess: newTeacherToAdd.fullAccess,\r\n classes: [],\r\n },\r\n ]);\r\n };\r\n\r\n const handleRemoveTeacherFromAdd = (teacher) => {\r\n let tempTeachers = [...teachersForPost];\r\n tempTeachers.splice(\r\n tempTeachers.findIndex((t) => t.id === teacher.id),\r\n 1\r\n );\r\n setTeachersForPost(tempTeachers);\r\n };\r\n\r\n const handleRemoveClassFromAdd = (cl) => {\r\n let tempClasses = [...classesForPost];\r\n tempClasses.splice(\r\n tempClasses.findIndex((t) => t.id === cl.id),\r\n 1\r\n );\r\n setClassesForPost(tempClasses);\r\n };\r\n\r\n const handleSetClassForNewTeacher = (cl, teacher) => {\r\n let tempTeachers = [...teachersForPost];\r\n tempTeachers.find((t) => t.id === teacher.id).classes = cl;\r\n setTeachersForPost(tempTeachers);\r\n };\r\n\r\n const handleAddClass = () => {\r\n setClassesForPost([...classesForPost, { ...newClass, id: uuid() }]);\r\n };\r\n\r\n return (\r\n handleClose()}>\r\n {renderPage()}\r\n \r\n \r\n {page === 2 && (\r\n postSchoolWithLicenses(true)}\r\n >\r\n \r\n \r\n )}\r\n {page >= 2 && (\r\n (page >= 2 ? setPage(page - 1) : null)}\r\n >\r\n \r\n \r\n )}\r\n {page === 2 ? (\r\n \r\n ) : page === 3 ? (\r\n \r\n ) : page === 4 ? (\r\n handlePostTeachersAndClose()}\r\n >\r\n \r\n \r\n ) : (\r\n validateStepAndGoToNext()}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { Table, Button } from \"reactstrap\";\r\nimport ExpiringLicense from \"../../components/ProgramLicense/ExpiringLicense\";\r\nimport { setSuperuserSchoolTableScroll } from \"../../actions/scrollActions\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\n\r\nfunction SchoolsTable({\r\n schools,\r\n toggleEditSchoolModal,\r\n toggleProgramLicensesModal,\r\n history,\r\n}) {\r\n const dispatch = useDispatch();\r\n const scrollReducer = useSelector((state) => state.scrollReducer);\r\n\r\n useEffect(() => {\r\n if (scrollReducer.superuserSchoolTableScroll !== null) {\r\n const rowToScrollTo = document.getElementById(\r\n scrollReducer.superuserSchoolTableScroll\r\n );\r\n rowToScrollTo.scrollIntoView({ block: \"center\" });\r\n }\r\n }, [scrollReducer.superuserSchoolTableScroll]);\r\n\r\n const saveScrollPos = (id) => {\r\n dispatch(setSuperuserSchoolTableScroll(id));\r\n };\r\n\r\n var mappedSchools = schools.map((school) => {\r\n return (\r\n \r\n {school.fortKnoxCustomerNumber}\r\n \r\n \r\n \r\n {school.adress.street}\r\n {school.adress.zipCode}\r\n {school.adress.city}\r\n {school.adress.country}\r\n \r\n {\r\n toggleProgramLicensesModal(true, school);\r\n }}\r\n >\r\n {school.programLicenses.length || 0}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n saveScrollPos(\"schoolRow\" + school.fortKnoxCustomerNumber);\r\n history.push({\r\n pathname: \"/superuser/schools/programmes\",\r\n state: {\r\n school: school,\r\n },\r\n });\r\n }}\r\n >\r\n {school.programmes.length}\r\n \r\n \r\n \r\n {\r\n saveScrollPos(\"schoolRow\" + school.fortKnoxCustomerNumber);\r\n history.push({\r\n pathname: \"/superuser/schools/classes\",\r\n state: {\r\n school: school,\r\n },\r\n });\r\n }}\r\n >\r\n {school.nbrOfClasses}\r\n \r\n \r\n \r\n {\r\n saveScrollPos(\"schoolRow\" + school.fortKnoxCustomerNumber);\r\n history.push({\r\n pathname: \"/superuser/schools/teachers\",\r\n state: {\r\n school: school,\r\n },\r\n });\r\n }}\r\n >\r\n {school.nbrOfTeachers}\r\n \r\n \r\n \r\n {\r\n saveScrollPos(\"schoolRow\" + school.fortKnoxCustomerNumber);\r\n history.push({\r\n pathname: \"/superuser/schools/students\",\r\n state: {\r\n school: school,\r\n },\r\n });\r\n }}\r\n >\r\n {school.nbrOfStudents}\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 Kundnummer\r\n Namn\r\n Adress\r\n Postnummer\r\n Stad\r\n Land\r\n Programlicenser\r\n Program\r\n Klasser\r\n Lärare\r\n Elever\r\n \r\n \r\n {mappedSchools}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default SchoolsTable;\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { fetchSchoolsForAdmin } from \"../../actions/schoolActions\";\r\nimport { Input, Button, Row, Col } from \"reactstrap\";\r\nimport { PacmanLoader } from \"react-spinners\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport AddProgramLicenseToSchoolModal from \"../../components/ProgramLicense/AddProgramLicenseToSchooModall\";\r\nimport NumberOfLicenses from \"../../components/ProgramLicense/NumberOfLicensesTable\";\r\nimport NumberFormat from \"react-number-format\";\r\nimport LicensesDetails from \"../../components/ProgramLicense/LicensesDetails\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { saveAs } from \"file-saver\";\r\nimport SuperuserSchoolEditModal from \"../../components/Modal/SuperuserSchoolEditModal\";\r\nimport CreateNewSchoolWizardModal from \"../../components/Modal/CreateNewSchoolWizardModal\";\r\nimport SchoolsTable from \"./SchoolsTable\";\r\n\r\nclass SuperUser extends Component {\r\n state = {\r\n filterSearch: \"\",\r\n addSchoolModal: false,\r\n overrideLoader: false,\r\n schoolToUpdate: null,\r\n licenseModalState: false,\r\n currentSchool: null,\r\n selectedProgramlicensesToAdd: [],\r\n availabledProgramLicenses: [],\r\n collapsedLicenses: [],\r\n toggledLicenseDetails: [],\r\n editSchool: false,\r\n };\r\n\r\n componentDidMount() {\r\n this.props.dispatch(fetchSchoolsForAdmin());\r\n }\r\n\r\n toggleAddSchoolModal = (school) => {\r\n this.setState({ overrideLoader: true });\r\n this.setState({ schoolToUpdate: school });\r\n this.setState({ addSchoolModal: !this.state.addSchoolModal });\r\n };\r\n toggleEditSchoolModal = (school) => {\r\n this.setState({ overrideLoader: true });\r\n this.setState({ schoolToUpdate: school });\r\n this.setState({ editSchool: !this.state.editSchool });\r\n };\r\n\r\n updateSchools = () => {\r\n this.props.dispatch(fetchSchoolsForAdmin());\r\n this.setState({ addSchoolModal: false });\r\n };\r\n\r\n toggleProgramLicensesModal = (show, school) => {\r\n this.setState({ licenseModalState: show, currentSchool: school });\r\n };\r\n\r\n filterSearch = (event) => {\r\n this.setState({ filterSearch: event.target.value });\r\n };\r\n handleChangeSelect = (selected) => {\r\n this.setState({ selectedProgramlicensesToAdd: selected });\r\n };\r\n toggleCollapse = (id) => {\r\n let collapsed = this.state.collapsedLicenses;\r\n\r\n var index = collapsed.indexOf(id);\r\n if (index !== -1) collapsed.splice(index, 1);\r\n else collapsed.push(id);\r\n\r\n this.setState({ collapsedLicenses: collapsed });\r\n };\r\n\r\n toggleLicenseDetails = (detail, license) => {\r\n this.setState({ toggledLicenseDetails: [detail, license] });\r\n };\r\n\r\n closeLicenseDetails = () => {\r\n this.setState({ toggledLicenseDetails: [] });\r\n };\r\n\r\n render() {\r\n if (this.props.schoolInformation.loading && !this.state.overrideLoader) {\r\n return (\r\n \r\n \r\n
    \r\n );\r\n }\r\n var schools = this.props.schoolInformation.schoolResult.schools;\r\n\r\n var fnSchoolsExcelReport = function () {\r\n var tab_text =\r\n '' +\r\n \"\";\r\n schools.map((s) => {\r\n return (tab_text +=\r\n \"\" +\r\n '\");\r\n });\r\n tab_text = tab_text + \"
    KundnummerNamnAdressPostnummerStadLandProgramlicenserProgramKlasserLärareEleverElLicensByggLicensFordonLicensStudenterElStudenterByggStudenterFordon
    ' +\r\n s.fortKnoxCustomerNumber +\r\n '' +\r\n s.name +\r\n '' +\r\n s.adress.street +\r\n '' +\r\n s.adress.zipCode +\r\n \"\" +\r\n s.adress.city +\r\n \"\" +\r\n s.adress.country +\r\n '' +\r\n s.programLicenses.length +\r\n '' +\r\n s.programmes.length +\r\n '' +\r\n s.nbrOfClasses +\r\n '' +\r\n s.nbrOfTeachers +\r\n '' +\r\n s.nbrOfStudents +\r\n ' ' +\r\n s.licenseEl +\r\n ' ' +\r\n s.licenseBygg +\r\n ' ' +\r\n s.licenseFordon +\r\n '' +\r\n s.studenterEl +\r\n '' +\r\n s.studenterBygg +\r\n '' +\r\n s.studenterFordon +\r\n \"
    \";\r\n var data = new Blob([\"\\ufeff\", tab_text], {\r\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\",\r\n encoding: \"utf-8\",\r\n });\r\n saveAs(data, \"Schools.xls\");\r\n };\r\n\r\n if (this.state.filterSearch.length > 0) {\r\n schools = this.props.schoolInformation.schoolResult.schools.filter(\r\n (school) => {\r\n if (\r\n school.name\r\n .toLowerCase()\r\n .indexOf(this.state.filterSearch.toLowerCase()) !== -1 ||\r\n school.fortKnoxCustomerNumber\r\n .toLowerCase()\r\n .indexOf(this.state.filterSearch.toLowerCase()) !== -1 ||\r\n (school.adress.street != null &&\r\n school.adress.street\r\n .toLowerCase()\r\n .indexOf(this.state.filterSearch.toLowerCase()) !== -1) ||\r\n (school.adress.zipCode != null &&\r\n school.adress.zipCode\r\n .toLowerCase()\r\n .indexOf(this.state.filterSearch.toLowerCase()) !== -1) ||\r\n (school.adress.city != null &&\r\n school.adress.city\r\n .toLowerCase()\r\n .indexOf(this.state.filterSearch.toLowerCase()) !== -1)\r\n ) {\r\n return school;\r\n }\r\n return null;\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 \r\n {\" \"}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n 0}\r\n schools={this.props.schoolInformation.schoolResult.schools}\r\n selectedLicenseDetail={this.state.toggledLicenseDetails}\r\n />\r\n\r\n
    \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.toggleAddSchoolModal(null);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n this.toggleAddSchoolModal(null)}\r\n isOpen={this.state.addSchoolModal}\r\n />\r\n this.toggleEditSchoolModal(null)}\r\n />\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (store) => {\r\n return {\r\n schoolInformation: store.schoolReducer,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(SuperUser);\r\n","import React, { Component } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardImg,\r\n CardTitle,\r\n CardSubtitle,\r\n CardText,\r\n CardDeck,\r\n CardFooter,\r\n Row,\r\n Col,\r\n} from \"reactstrap\";\r\nimport { connect } from \"react-redux\";\r\n\r\nclass SuperDash extends Component {\r\n render() {\r\n return (\r\n
    \r\n \r\n \r\n \r\n this.props.history.push(\"/superuser/schools\")}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n \r\n \r\n \r\n Skolor\r\n \r\n \r\n \r\n Här administrerar du skolor och dess lärare och elever\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {this.props.auth.auth.roles === \"Superuser\" && (\r\n this.props.history.push(\"/superuser/courses\")}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n \r\n \r\n \r\n Kurser, moduler & licenser\r\n \r\n \r\n \r\n Här administrerar du kurser, moduler och licenser\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n this.props.history.push(\"/superuser/invoicehistory\")\r\n }\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n \r\n \r\n \r\n Orderhistorik\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {this.props.auth.auth.roles === \"Superuser\" && (\r\n this.props.history.push(\"/superuser/users\")}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n \r\n \r\n \r\n Användare\r\n \r\n \r\n Administration användare.\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n this.props.history.push(\"/superuser/notifications\")\r\n }\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n \r\n \r\n \r\n Notiser\r\n \r\n \r\n Administration notiser.\r\n \r\n \r\n \r\n \r\n \r\n this.props.history.push(\"/superuser/licenses\")}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n \r\n \r\n \r\n Licenshantering\r\n \r\n \r\n Administration licenser.\r\n \r\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 mapStateToProps = (store) => {\r\n return {\r\n auth: store.auth,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(SuperDash);\r\n","import React from \"react\";\r\nimport { withFormik, Form, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport { FormGroup, Label, Button, Input } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { toast } from \"react-toastify\";\r\nimport axios from \"../../services/api/api\";\r\nimport Select from \"react-select\";\r\nimport { AUTH_BASE_URL } from \"../../constants/api.constants\";\r\nimport { checkNameLengthAndCharacters } from \"../../Utilities/checkerFunctions\";\r\n\r\nconst CreateTeacherForm = ({\r\n values,\r\n errors,\r\n touched,\r\n isSubmitting,\r\n dismissModal,\r\n}) => {\r\n const handleChange = (e) => {\r\n values.selectedClasses = e.map((t) => t.value);\r\n };\r\n\r\n const getTeacherClasses = () => {\r\n var classes = [];\r\n values.teacherToUpdate.classes.forEach((c) => {\r\n classes.push({\r\n value: c.id,\r\n label: c.name,\r\n clearableValue: true,\r\n });\r\n });\r\n return classes;\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n {errors.name && touched.name && (\r\n
    {errors.name}
    \r\n )}\r\n
    \r\n\r\n \r\n \r\n \r\n {errors.email && touched.email && (\r\n
    {errors.email}
    \r\n )}\r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \"Det finns inga fler valbara klasser för läraren\"\r\n }\r\n onChange={(e) => handleChange(e)}\r\n defaultValue={\r\n values.simpleCreate\r\n ? values.schoolClasses[0]\r\n : values.teacherToUpdate\r\n ? getTeacherClasses()\r\n : null\r\n }\r\n options={values.schoolClasses}\r\n />\r\n
    \r\n {errors.selectedClasses && touched.selectedClasses && (\r\n
    {errors.selectedClasses}
    \r\n )}\r\n \r\n \r\n {isSubmitting ? \"Vänta...\" : \"Spara\"}\r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst FormikForm = withFormik({\r\n mapPropsToValues({\r\n name,\r\n schoolClasses,\r\n email,\r\n teacherToUpdate,\r\n simpleCreate,\r\n }) {\r\n return {\r\n teacherToUpdate: teacherToUpdate,\r\n classObjects: schoolClasses,\r\n schoolClasses: schoolClasses.map((sc) => {\r\n return {\r\n value: sc.id,\r\n label: sc.name,\r\n clearableValue: true,\r\n };\r\n }),\r\n name: teacherToUpdate ? teacherToUpdate.name : name || \"\",\r\n selectedClasses:\r\n teacherToUpdate && teacherToUpdate.classes\r\n ? teacherToUpdate.classes.map((c) => c.id)\r\n : [],\r\n email: teacherToUpdate ? teacherToUpdate.email : email || \"\",\r\n fullAccess: teacherToUpdate ? teacherToUpdate.fullAccess : false,\r\n purchaser: teacherToUpdate ? teacherToUpdate.purchaser : false,\r\n oldEmail: teacherToUpdate ? teacherToUpdate.email : email || \"\",\r\n simpleCreate: simpleCreate !== null ? simpleCreate : false,\r\n };\r\n },\r\n\r\n validationSchema: Yup.object().shape({\r\n name: Yup.string().required(\r\n \r\n ),\r\n email: Yup.string()\r\n .email()\r\n .required(\r\n \r\n ),\r\n selectedClasses: Yup.array().min(\r\n 1,\r\n \r\n ),\r\n }),\r\n\r\n handleSubmit(values, { props, setErrors, resetForm, setSubmitting }) {\r\n if (props.teacherToUpdate) {\r\n this.updateExistingTeacher(\r\n values,\r\n props,\r\n setErrors,\r\n resetForm,\r\n setSubmitting\r\n );\r\n } else {\r\n this.createNewTeacher(values, props, resetForm, setSubmitting);\r\n }\r\n },\r\n\r\n updateUser(values, setSubmitting, props) {\r\n if (checkNameLengthAndCharacters(values.name) !== true) {\r\n toast.warn(checkNameLengthAndCharacters(values.name));\r\n } else {\r\n axios\r\n .put(\"/user/UpdateUser\", {\r\n name: values.name,\r\n oldEmail: values.oldEmail,\r\n newEmail: values.email,\r\n })\r\n .then(() => {\r\n this.updateTeacherWithClasses(values, setSubmitting, props);\r\n })\r\n .catch((err) => {\r\n console.warn(err);\r\n toast.warn(\"Användaren kunde inte uppdateras\");\r\n setSubmitting(false);\r\n });\r\n }\r\n },\r\n\r\n updateTeacherWithClasses(values, setSubmitting, props) {\r\n axios\r\n .post(\"/teacher/updateteacher\", {\r\n id: values.teacherToUpdate.id,\r\n classes: values.selectedClasses.map((c) => {\r\n return values.classObjects.find((co) => co.id === c);\r\n }),\r\n fullAccess: values.fullAccess,\r\n purchaser: values.purchaser,\r\n })\r\n .then(() => {\r\n toast.success(\"Användaren har uppdaterats\");\r\n setSubmitting(false);\r\n values.teacherToUpdate = null;\r\n props.loadTeachers();\r\n props.dismissModal();\r\n })\r\n .catch((err) => {\r\n console.warn(\"something went wrong\", err);\r\n setSubmitting(false);\r\n });\r\n },\r\n\r\n updateExistingTeacher(values, props, setErrors, setSubmitting) {\r\n if (values.oldEmail !== values.email) {\r\n axios\r\n .post(`${AUTH_BASE_URL}/token/IsEmailTaken/?email=${values.newEmail}`)\r\n .then((response) => {\r\n if (response.data === false) {\r\n axios\r\n .post(`${AUTH_BASE_URL}/token/UpdateUserEmail`, {\r\n oldEmail: values.oldEmail,\r\n newEmail: values.email,\r\n })\r\n .then(() => {\r\n this.updateUser(values, setSubmitting, props);\r\n })\r\n .catch((err) => {\r\n toast.warn(err.response.data);\r\n });\r\n } else {\r\n setErrors({ email: \"E-postadressen är upptagen\" });\r\n setSubmitting(false);\r\n }\r\n })\r\n .catch((err) => {\r\n setErrors({ email: err.response.data });\r\n setSubmitting(false);\r\n });\r\n } else {\r\n this.updateUser(values, setSubmitting, props);\r\n }\r\n },\r\n\r\n createNewTeacher(values, props, resetForm, setSubmitting) {\r\n if (checkNameLengthAndCharacters(values.name) !== true) {\r\n toast.warn(checkNameLengthAndCharacters(values.name));\r\n } else {\r\n axios\r\n .post(\"/teacher\", {\r\n name: values.name,\r\n email: values.email,\r\n fullAccess: values.fullAccess,\r\n purchaser: values.purchaser,\r\n })\r\n .then((response) => {\r\n axios\r\n .post(\r\n `/AddExistingTeacherToClass?teacherId=${\r\n response.data.result.id\r\n }&classIds=${values.selectedClasses.join(\"&classIds=\")}`\r\n )\r\n .then(() => {\r\n toast.success(\r\n ,\r\n {\r\n position: \"top-right\",\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n autoClose: 3000,\r\n }\r\n );\r\n props.loadTeachers();\r\n resetForm();\r\n props.dismissModal();\r\n })\r\n .catch((err) => {\r\n toast.error(err.response.data, {\r\n position: \"top-right\",\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n autoClose: 3000,\r\n });\r\n });\r\n })\r\n .catch((err) => {\r\n toast.error(err.response.data, {\r\n position: \"top-right\",\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n autoClose: 3000,\r\n });\r\n });\r\n }\r\n setSubmitting(false);\r\n },\r\n})(CreateTeacherForm);\r\n\r\nexport default FormikForm;\r\n","import React from \"react\";\r\nimport { Modal, ModalHeader, ModalBody } from \"reactstrap\";\r\nimport CreateTeacherForm from \"../Forms/CreateTeacherForm\";\r\n\r\nclass CreateTeacher extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n {this.props.teacherToUpdate ? \"Uppdatera\" : \"Skapa\"} Lärare\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default CreateTeacher;\r\n","import React from \"react\";\r\nimport { Table, Button } from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport ButtonSendActivationMail from \"../Button/ButtonSendActivationMail\";\r\n\r\nconst TeacherTable = (props) => {\r\n var teachers = props.teachers;\r\n\r\n if (props.filter && props.filter.length > 0) {\r\n teachers = props.teachers.filter((t) => {\r\n return (\r\n t.name.toLowerCase().indexOf(props.filter) !== -1 ||\r\n t.email.toLowerCase().indexOf(props.filter) !== -1\r\n );\r\n });\r\n }\r\n\r\n var mappedTeachers = teachers.map((teacher, id) => {\r\n return (\r\n \r\n \r\n props.updateTeacher(teacher)}\r\n title={\r\n props.fullAccess\r\n ? \"Klicka för att uppdatera: \" + teacher.name\r\n : \"Du har inte behörighet att uppdatera andra lärare\"\r\n }\r\n >\r\n {teacher.name}\r\n \r\n \r\n {teacher.email}\r\n {teacher.purchaser ? \"Ja\" : \"Nej\"}\r\n {teacher.fullAccess ? \"Ja\" : \"Nej\"}\r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default injectIntl(LicMgtLicensesTable);\r\n","import React, { useState } from \"react\";\r\nimport {\r\n Card,\r\n CardTitle,\r\n CardBody,\r\n Row,\r\n Col,\r\n Input,\r\n Label,\r\n Button,\r\n} from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport moment from \"moment\";\r\nimport { UpdateLicenseCustomer } from \"../../actions/superUserMutations\";\r\nimport { toast } from \"react-toastify\";\r\nimport { useMutation, useQueryClient, useQuery } from \"react-query\";\r\nimport { GetLicenseManagementCustomers } from \"../../actions/superUserQueries\";\r\nimport { injectIntl } from \"react-intl\";\r\nimport { getErrorMessage } from \"../../Utilities/getErrorMessage\";\r\n\r\nfunction LicMgtCostumerCard({ customer, handleUpdateData, intl }) {\r\n const [editMode, setEditMode] = useState(false);\r\n const [updatedCustomer, setUpdatedCustomer] = useState({ ...customer });\r\n const handleUpdateCustomer = useMutation(UpdateLicenseCustomer);\r\n const queryClient = useQueryClient();\r\n const licenseCustomers = useQuery(\r\n \"FetchLicenseManagementCustomers\",\r\n GetLicenseManagementCustomers()\r\n );\r\n\r\n const postUpdateCustomer = () => {\r\n if (updatedCustomer.customer.url.length > 3) {\r\n handleUpdateCustomer.mutate(\r\n {\r\n fortnoxNumber: updatedCustomer.customer.fortNoxNumber,\r\n url: updatedCustomer.customer.url,\r\n contactName:\r\n updatedCustomer.customer.contactName === null\r\n ? \"\"\r\n : updatedCustomer.customer.contactName,\r\n contactMail:\r\n updatedCustomer.customer.contactMail === null\r\n ? \"\"\r\n : updatedCustomer.customer.contactMail,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n toast.success(intl.formatMessage({ id: \"CustomerUpdated\" }));\r\n let tempCustomerData = [...licenseCustomers.data];\r\n tempCustomerData.find(\r\n (cust) => cust.customer.id === customer.customer.id\r\n ).customer.url = data.data.result.customer.url;\r\n tempCustomerData.find(\r\n (cust) => cust.customer.id === customer.customer.id\r\n ).customer.contactName = data.data.result.customer.contactName;\r\n tempCustomerData.find(\r\n (cust) => cust.customer.id === customer.customer.id\r\n ).customer.contactMail = data.data.result.customer.contactMail;\r\n queryClient.setQueryData(\r\n [\"FetchLicenseManagementCustomers\"],\r\n () => tempCustomerData\r\n );\r\n setEditMode(false);\r\n handleUpdateData();\r\n } else {\r\n let errorMessage = ;\r\n if (data?.response?.data) {\r\n errorMessage = getErrorMessage(data.response.data);\r\n }\r\n toast.warn(errorMessage);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (err) => {\r\n toast.warn(err);\r\n },\r\n }\r\n );\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {customer.customer.name}\r\n
    \r\n
    \r\n \r\n \r\n \r\n {editMode ? (\r\n \r\n setUpdatedCustomer({\r\n ...updatedCustomer,\r\n customer: {\r\n ...updatedCustomer.customer,\r\n url: data.target.value,\r\n },\r\n })\r\n }\r\n />\r\n ) : (\r\n {customer.customer.url}\r\n )}\r\n \r\n \r\n\r\n \r\n \r\n \r\n {editMode ? (\r\n \r\n setUpdatedCustomer({\r\n ...updatedCustomer,\r\n customer: {\r\n ...updatedCustomer.customer,\r\n contactName: data.target.value,\r\n },\r\n })\r\n }\r\n />\r\n ) : (\r\n \r\n {customer.customer.contactName}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {editMode ? (\r\n \r\n setUpdatedCustomer({\r\n ...updatedCustomer,\r\n customer: {\r\n ...updatedCustomer.customer,\r\n contactMail: data.target.value,\r\n },\r\n })\r\n }\r\n />\r\n ) : (\r\n {customer.customer.contactMail}\r\n )}\r\n \r\n \r\n\r\n \r\n {customer.customer.address}\r\n \r\n \r\n \r\n {customer.customer.zipCode} {customer.customer.city}\r\n \r\n \r\n \r\n \r\n :{\" \"}\r\n {moment(customer.customer.created).format(\"L\")}\r\n \r\n \r\n \r\n \r\n {editMode ? (\r\n <>\r\n postUpdateCustomer()}\r\n >\r\n \r\n \r\n setEditMode(false)}\r\n >\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n setEditMode(true)}\r\n >\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default injectIntl(LicMgtCostumerCard);\r\n","import React, { useState } from \"react\";\r\nimport {\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n Button,\r\n ModalFooter,\r\n Card,\r\n CardTitle,\r\n CardBody,\r\n Collapse,\r\n} from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport LicMgtAddLicenseForm from \"../LicMgt/LicMgtAddLicenseForm\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport LicMgtLicensesTable from \"../Tables/LicMgtLicensesTable\";\r\nimport LicMgtCostumerCard from \"../LicMgt/LicMgtCostumerCard\";\r\n\r\nexport default function LicMgtCustomerModal({\r\n toggle,\r\n isOpen,\r\n customer,\r\n licenseCourses,\r\n handleUpdateData,\r\n toggleUpdate,\r\n}) {\r\n const [addLicenseOpen, setAddLicenseOpen] = useState(false);\r\n\r\n if (customer == null) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {customer.customer.name}\r\n \r\n \r\n \r\n \r\n \r\n {\" \"}\r\n setAddLicenseOpen(!addLicenseOpen)}\r\n >\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport {\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n Button,\r\n ModalFooter,\r\n Card,\r\n CardTitle,\r\n CardBody,\r\n Collapse,\r\n Col,\r\n Row,\r\n Input,\r\n Label,\r\n} from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { GetLicenseManagementCourses } from \"../../actions/superUserQueries\";\r\nimport { useMutation, useQueryClient, useQuery } from \"react-query\";\r\nimport \"@devexpress/dx-react-grid-bootstrap4/dist/dx-react-grid-bootstrap4.css\";\r\nimport \"open-iconic/font/css/open-iconic-bootstrap.css\";\r\nimport {\r\n SortingState,\r\n IntegratedSorting,\r\n EditingState,\r\n} from \"@devexpress/dx-react-grid\";\r\nimport {\r\n Grid,\r\n TableHeaderRow,\r\n Table,\r\n TableColumnResizing,\r\n TableEditColumn,\r\n TableEditRow,\r\n} from \"@devexpress/dx-react-grid-bootstrap4\";\r\nimport {\r\n CreateNewScormLicenseCourse,\r\n UpdateLicenseCourse,\r\n} from \"../../actions/superUserMutations\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { toast } from \"react-toastify\";\r\nimport { injectIntl } from \"react-intl\";\r\nimport moment from \"moment\";\r\n\r\nfunction LicMgtHandleCoursesModal({ toggle, isOpen, intl }) {\r\n const [rows, setRows] = useState([]);\r\n const [newCourse, setNewCourse] = useState({ name: \"\" });\r\n const [addNewCourseOpen, setAddNewCourseOpen] = useState(false);\r\n const [editingRowIds, setEditingRowIds] = useState([]);\r\n const [rowChanges, setRowChanges] = useState({});\r\n\r\n const licenseCourses = useQuery(\r\n \"FetchLicenseManagementCourses\",\r\n GetLicenseManagementCourses()\r\n );\r\n\r\n const handleAddNewScormLicenseCourse = useMutation(\r\n CreateNewScormLicenseCourse\r\n );\r\n\r\n const handleUpdateLicenseCourse = useMutation(UpdateLicenseCourse);\r\n\r\n const queryClient = useQueryClient();\r\n\r\n const handleToggle = () => {\r\n setAddNewCourseOpen(false);\r\n toggle();\r\n };\r\n\r\n const columns = [\r\n { name: \"name\", title: },\r\n { name: \"identifier\", title: \"Identifierare\" },\r\n { name: \"additionalInfo\", title: \"Övrig info\" },\r\n { name: \"created\", title: },\r\n ];\r\n\r\n let sizingExtensions = [\r\n { columnName: \"name\", width: 150 },\r\n { columnName: \"identifier\", width: 170 },\r\n { columnName: \"additionalInfo\", width: 250 },\r\n { columnName: \"created\", width: 170 },\r\n ];\r\n const getRowId = (row) => row.id;\r\n\r\n useEffect(() => {\r\n const courses = [];\r\n if (!licenseCourses.isLoading) {\r\n licenseCourses.data.forEach((c) => {\r\n let course = {\r\n id: c.id,\r\n name: c.name,\r\n identifier: c.identifier,\r\n additionalInfo: c.additionalInfo,\r\n created: moment(c.created).format(\"L\"),\r\n };\r\n courses.push(course);\r\n });\r\n setRows(courses);\r\n }\r\n }, [licenseCourses.data, licenseCourses.isLoading]);\r\n\r\n const postUpdateCourse = (course, changedRows) => {\r\n handleUpdateLicenseCourse.mutate(\r\n {\r\n id: course.id,\r\n name: course.name,\r\n identifier: course.identifier,\r\n additionalInfo: course.additionalInfo,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n toast.success(\"Kurs uppdaterad\");\r\n if (changedRows !== null) {\r\n setRows(changedRows);\r\n }\r\n } else {\r\n toast.warn(data.response.data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (err) => {\r\n toast.warn(err);\r\n },\r\n }\r\n );\r\n };\r\n const commitChanges = async ({ changed }) => {\r\n let changedRows;\r\n\r\n if (changed) {\r\n changedRows = rows.map((row) =>\r\n changed[row.id] ? { ...row, ...changed[row.id] } : row\r\n );\r\n }\r\n\r\n rows.forEach((r) => {\r\n if (changed[r.id]) {\r\n postUpdateCourse({ ...r, ...changed[r.id] }, changedRows);\r\n }\r\n });\r\n };\r\n\r\n const handleAddNewCourse = () => {\r\n if (newCourse.name.length > 0) {\r\n handleAddNewScormLicenseCourse.mutate(\r\n {\r\n name: newCourse.name,\r\n identifier: newCourse.identifier,\r\n additionalInfo: newCourse.additionalInfo,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n toast.success(intl.formatMessage({ id: \"CourseCreated\" }));\r\n setAddNewCourseOpen(false);\r\n queryClient.setQueryData(\r\n [\"FetchLicenseManagementCourses\"],\r\n [...licenseCourses.data, data.data.result]\r\n );\r\n } else {\r\n toast.warn(data.response.data);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (err) => {\r\n toast.warn(err);\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 setAddNewCourseOpen(!addNewCourseOpen)}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n \r\n <>\r\n \r\n \r\n \r\n \r\n setNewCourse({ ...newCourse, name: data.target.value })\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n setNewCourse({\r\n ...newCourse,\r\n identifier: data.target.value,\r\n })\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n setNewCourse({\r\n ...newCourse,\r\n additionalInfo: data.target.value,\r\n })\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n handleAddNewCourse()}\r\n >\r\n \r\n \r\n setAddNewCourseOpen(false)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\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 injectIntl(LicMgtHandleCoursesModal);\r\n","import { useState, useEffect } from \"react\";\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport { Row, Col, Button, Input, Label } from \"reactstrap/lib\";\r\nimport { CreateNewScormLicenseCustomer } from \"../../actions/superUserMutations\";\r\nimport { GetLicenseManagementCustomers } from \"../../actions/superUserQueries\";\r\nimport { useMutation, useQueryClient, useQuery } from \"react-query\";\r\nimport { toast } from \"react-toastify\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { injectIntl } from \"react-intl\";\r\nimport { getErrorMessage } from \"../../Utilities/getErrorMessage\";\r\n\r\nfunction LicMgtCreateCustomerModal({ toggle, isOpen, intl }) {\r\n const [postDisabled, setPostDisabled] = useState(false);\r\n const handleNewScormLicenseCustomer = useMutation(\r\n CreateNewScormLicenseCustomer\r\n );\r\n const [newCustomer, setNewCustomer] = useState({\r\n url: null,\r\n fortnoxNumber: null,\r\n });\r\n const [errors, setErrors] = useState([]);\r\n\r\n const licenseCustomers = useQuery(\r\n \"FetchLicenseManagementCustomers\",\r\n GetLicenseManagementCustomers()\r\n );\r\n\r\n const queryClient = useQueryClient();\r\n\r\n useEffect(() => {\r\n if (newCustomer.url != null && newCustomer.url.length > 1) {\r\n setErrors((e) => e.filter((item) => item !== \"url\"));\r\n }\r\n if (\r\n newCustomer.fortnoxNumber != null &&\r\n newCustomer.fortnoxNumber.length > 1\r\n ) {\r\n setErrors((e) => e.filter((item) => item !== \"fortnoxNumber\"));\r\n }\r\n }, [newCustomer]);\r\n\r\n const postNewCustomer = () => {\r\n setPostDisabled(true);\r\n if (\r\n newCustomer.url == null ||\r\n newCustomer.url.length < 1 ||\r\n newCustomer.fortnoxNumber == null ||\r\n newCustomer.fortnoxNumber.length < 1\r\n ) {\r\n if (newCustomer.url == null || newCustomer.url.length < 1) {\r\n if (!errors.includes(\"url\")) {\r\n setErrors([...errors, \"url\"]);\r\n }\r\n }\r\n if (\r\n newCustomer.fortnoxNumber == null ||\r\n newCustomer.fortnoxNumber.length < 1\r\n ) {\r\n if (!errors.includes(\"fortnoxNumber\")) {\r\n setErrors([...errors, \"fortnoxNumber\"]);\r\n }\r\n }\r\n } else {\r\n handleNewScormLicenseCustomer.mutate(\r\n {\r\n ...newCustomer,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n toast.success(intl.formatMessage({ id: \"CustomerCreated\" }));\r\n queryClient.setQueryData(\r\n [\"FetchLicenseManagementCustomers\"],\r\n [...licenseCustomers.data, data.data.result]\r\n );\r\n setPostDisabled(false);\r\n toggle();\r\n } else {\r\n setPostDisabled(false);\r\n let errorMessage = ;\r\n if (data?.response?.data) {\r\n errorMessage = getErrorMessage(data.response.data);\r\n }\r\n toast.warn(errorMessage);\r\n }\r\n },\r\n throwOnError: true,\r\n onError: (err) => {\r\n setPostDisabled(false);\r\n let errorMessage = ;\r\n if (err) {\r\n errorMessage = getErrorMessage(err);\r\n }\r\n toast.warn(errorMessage);\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 setNewCustomer({\r\n ...newCustomer,\r\n fortnoxNumber: event.target.value,\r\n })\r\n }\r\n type=\"text\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n setNewCustomer({ ...newCustomer, url: event.target.value })\r\n }\r\n type=\"text\"\r\n >\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n setNewCustomer({\r\n ...newCustomer,\r\n contactName: event.target.value,\r\n })\r\n }\r\n type=\"text\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n setNewCustomer({\r\n ...newCustomer,\r\n contactMail: event.target.value,\r\n })\r\n }\r\n type=\"text\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n postNewCustomer()}\r\n disabled={postDisabled}\r\n outline\r\n color=\"primary\"\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n}\r\nexport default injectIntl(LicMgtCreateCustomerModal);\r\n","import SuperUser from \"../views/SuperUser/SuperUser\";\r\nimport SuperDash from \"../views/SuperUser/SuperDash\";\r\nimport Teachers from \"../views/SuperUser/Teachers\";\r\nimport AdminStudents from \"../views/SuperUser/Students\";\r\nimport Programmes from \"../views/SuperUser/Programmes\";\r\nimport Classes from \"../views/SuperUser/Classes\";\r\nimport ClassOverview from \"../views/SuperUser/ClassOverview\";\r\nimport CoursesList from \"../views/SuperUser/CoursesList\";\r\nimport CourseModulesList from \"../views/SuperUser/CourseModulesList\";\r\nimport ModulesList from \"../views/SuperUser/ModulesList\";\r\nimport InvoiceHistory from \"../views/SuperUser/InvoiceHistory\";\r\nimport Users from \"../views/SuperUser/Users\";\r\nimport TeacherCourses from \"../views/Teacher/TeacherCourses\";\r\n//import SchoolLicense from \"./views/SuperUser/SchoolLicense\";\r\nimport ProgramLicenses from \"../views/SuperUser/ProgramLicenses\";\r\nimport Ratings from \"../views/SuperUser/Ratings\";\r\nimport NotificationsAdministration from \"../views/SuperUser/NotificationsAdministration\";\r\nimport LicMgtAdministration from \"../views/SuperUser/LicMgtAdministration\";\r\n\r\nconst navRoutesSuperuser = [\r\n { path: \"/\", exact: true, name: \"Home\", component: SuperDash },\r\n { path: \"/superuser\", exact: true, name: \"Home\", component: SuperDash },\r\n {\r\n path: \"/superuser/schools\",\r\n exact: true,\r\n name: \"Schools\",\r\n component: SuperUser,\r\n },\r\n {\r\n path: \"/superuser/schools/teachers\",\r\n exact: true,\r\n name: \"Teachers\",\r\n component: Teachers,\r\n },\r\n {\r\n path: \"/superuser/schools/students\",\r\n name: \"Students\",\r\n component: AdminStudents,\r\n },\r\n {\r\n path: \"/superuser/schools/programmes\",\r\n name: \"Programmes\",\r\n component: Programmes,\r\n },\r\n {\r\n path: \"/superuser/schools/classes/classoverview\",\r\n name: \"ClassOverView\",\r\n component: ClassOverview,\r\n },\r\n { path: \"/superuser/schools/classes\", name: \"Classes\", component: Classes },\r\n\r\n {\r\n path: \"/superuser/courses\",\r\n exact: true,\r\n name: \"Courses\",\r\n component: CoursesList,\r\n },\r\n {\r\n path: \"/superuser/courses/coursemodules\",\r\n name: \"Coursemodules\",\r\n component: CourseModulesList,\r\n },\r\n // {\r\n // path: \"/superuser/courses/licenses\",\r\n // name: \"Licenses\",\r\n // component: SchoolLicense\r\n // },\r\n {\r\n path: \"/superuser/courses/licenses\",\r\n name: \"Licenses\",\r\n component: ProgramLicenses,\r\n },\r\n {\r\n path: \"/superuser/courses/modules\",\r\n name: \"Modules\",\r\n component: ModulesList,\r\n },\r\n {\r\n path: \"/superuser/invoicehistory\",\r\n name: \"InvoiceHistory\",\r\n component: InvoiceHistory,\r\n },\r\n {\r\n path: \"/superuser/courses/ratings\",\r\n name: \"Ratings\",\r\n component: Ratings,\r\n },\r\n { path: \"/superuser/users\", name: \"Users\", component: Users },\r\n {\r\n path: \"/teacher/courses\",\r\n name: \"TeacherCourses\",\r\n component: TeacherCourses,\r\n },\r\n {\r\n path: \"/superuser/notifications\",\r\n name: \"NotificationsAdministration\",\r\n component: NotificationsAdministration,\r\n },\r\n {\r\n path: \"/superuser/licenses\",\r\n name: \"LicenseAdministration\",\r\n component: LicMgtAdministration,\r\n },\r\n];\r\n\r\nexport default navRoutesSuperuser;\r\n","import React, { useEffect } from \"react\";\r\nimport AdminNotificationsShow from \"../../components/Notifications/AdminNotificationsShow\";\r\nimport AdminNotificationsCreate from \"../../components/Notifications/AdminNotificationsCreate\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { fetchSchoolsForAdmin } from \"../../actions/schoolActions\";\r\nimport { fetchAvailableProgramLicenses } from \"../../actions/programLicenseActions\";\r\nimport Pacmanloader from \"../../components/Pacmanloader/Pacmanloader\";\r\n\r\nexport default function NotificationsAdministration() {\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n dispatch(fetchSchoolsForAdmin());\r\n dispatch(fetchAvailableProgramLicenses());\r\n }, [dispatch]);\r\n\r\n const licenseData = useSelector((state) => state.programLicenseReducer);\r\n const schoolData = useSelector((state) => state.schoolReducer);\r\n if (schoolData.loading || licenseData.loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport { Card, CardBody, CardTitle, Button, Row, Col } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport {\r\n GetLicenseManagementCustomers,\r\n GetLicenseManagementCourses,\r\n} from \"../../actions/superUserQueries\";\r\nimport \"@devexpress/dx-react-grid-bootstrap4/dist/dx-react-grid-bootstrap4.css\";\r\nimport \"open-iconic/font/css/open-iconic-bootstrap.css\";\r\nimport {\r\n SortingState,\r\n IntegratedSorting,\r\n SearchState,\r\n} from \"@devexpress/dx-react-grid\";\r\nimport {\r\n Grid,\r\n TableHeaderRow,\r\n Table,\r\n SearchPanel,\r\n Toolbar,\r\n TableColumnResizing,\r\n} from \"@devexpress/dx-react-grid-bootstrap4\";\r\nimport { useQuery } from \"react-query\";\r\nimport LicMgtCustomerModal from \"../../components/Modal/LicMgtCustomerModal\";\r\nimport LicMgtHandleCoursesModal from \"../../components/Modal/LicMgtHandleCoursesModal\";\r\nimport LicMgtCreateCustomerModal from \"../../components/Modal/LicMgtCreateCustomerModal\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport moment from \"moment\";\r\nimport { WarnLimitForLicMgt } from \"../../constants/ConstantVars\";\r\nimport { injectIntl } from \"react-intl\";\r\n\r\nfunction LicMgtAdministration({ intl }) {\r\n const [searchValue, setSearchValue] = useState(\"\");\r\n const [customerRows, setCustomerRows] = useState([]);\r\n const [openCustomer, setOpenCustomer] = useState(null);\r\n const [createNewCustomerOpen, setCreateNewCustomerOpen] = useState(false);\r\n const [toggleUpdate, setToggleUpdate] = useState(false);\r\n const [coursesModalOpen, setCoursesModalOpen] = useState(false);\r\n const licenseCourses = useQuery(\r\n \"FetchLicenseManagementCourses\",\r\n GetLicenseManagementCourses()\r\n );\r\n\r\n const licenseCustomers = useQuery(\r\n \"FetchLicenseManagementCustomers\",\r\n GetLicenseManagementCustomers()\r\n );\r\n\r\n const licenseManagementTableColumns = [\r\n { name: \"name\", title: },\r\n { name: \"url\", title: },\r\n { name: \"fortNoxNumber\", title: },\r\n { name: \"address\", title: },\r\n {\r\n name: \"nbrOfLicenses\",\r\n title: ,\r\n },\r\n {\r\n name: \"nbrOfValidLicenses\",\r\n title: ,\r\n },\r\n {\r\n name: \"nbrOfLicensesNotUsed\",\r\n title: ,\r\n },\r\n { name: \"created\", title: },\r\n { name: \"status\", title: },\r\n ];\r\n\r\n let sizingExtensions = [\r\n { columnName: \"name\", width: 150 },\r\n { columnName: \"url\", width: 170 },\r\n { columnName: \"fortNoxNumber\", width: 170 },\r\n { columnName: \"address\", width: 210 },\r\n { columnName: \"nbrOfLicenses\", width: 140 },\r\n { columnName: \"nbrOfValidLicenses\", width: 190 },\r\n { columnName: \"nbrOfLicensesNotUsed\", width: 190 },\r\n { columnName: \"created\", width: 100 },\r\n { columnName: \"status\", width: 90 },\r\n ];\r\n\r\n const compareNamePriority = (a, b) => {\r\n const priorityA = a;\r\n const priorityB = b;\r\n if (priorityA === priorityB) {\r\n return 0;\r\n }\r\n return priorityA < priorityB ? -1 : 1;\r\n };\r\n const compareFormattedPriority = (a, b) => {\r\n const priorityA = a.props.sortorder;\r\n const priorityB = b.props.sortorder;\r\n if (priorityA === priorityB) {\r\n return 0;\r\n }\r\n return priorityA < priorityB ? -1 : 1;\r\n };\r\n\r\n const integratedSortingColumnExtensions = [\r\n { columnName: \"name\", compare: compareNamePriority },\r\n { columnName: \"url\", compare: compareNamePriority },\r\n { columnName: \"fortNoxNumber\", compare: compareNamePriority },\r\n { columnName: \"address\", compare: compareNamePriority },\r\n { columnName: \"nbrOfLicenses\", compare: compareNamePriority },\r\n { columnName: \"nbrOfValidLicenses\", compare: compareNamePriority },\r\n { columnName: \"nbrOfLicensesNotUsed\", compare: compareNamePriority },\r\n { columnName: \"created\", compare: compareNamePriority },\r\n { columnName: \"status\", compare: compareFormattedPriority },\r\n ];\r\n\r\n const getStatusIcon = useCallback(\r\n (company) => {\r\n const statuses = {\r\n noLicensesLeft: \"noLicensesLeft\",\r\n belowThresholdForWarnLeft: \"belowThresholdForWarnLeft\",\r\n ok: \"ok\",\r\n attentionNeeded: \"attentionNeeded\",\r\n };\r\n let currentStatus = statuses.ok;\r\n let coursesWithWarnings = [];\r\n\r\n company.licensesPerCourse.forEach((course) => {\r\n if (course.nbrOfLicensesNotUsed === 0) {\r\n currentStatus = statuses.noLicensesLeft;\r\n coursesWithWarnings.push(course.course.name);\r\n } else if (course.nbrOfLicensesNotUsed < WarnLimitForLicMgt + 1) {\r\n if (currentStatus !== statuses.noLicensesLeft) {\r\n currentStatus = statuses.belowThresholdForWarnLeft;\r\n }\r\n coursesWithWarnings.push(course.course.name);\r\n }\r\n });\r\n\r\n if (\r\n company.licenses.length ===\r\n company.licenses.filter((li) => li.firstRun === null).length &&\r\n company.licenses.length > 0\r\n ) {\r\n if (\r\n moment(\r\n company.licenses.sort(function (a, b) {\r\n return b.created.localeCompare(a.created);\r\n })[0].created\r\n ).diff(moment(), \"months\") < 0\r\n ) {\r\n if (currentStatus === statuses.ok) {\r\n currentStatus = statuses.attentionNeeded;\r\n }\r\n }\r\n }\r\n\r\n if (\r\n company.nbrOfLicenses === 0 &&\r\n company.nbrOfLicensesNotUsed === 0 &&\r\n moment(company.customer.created).diff(moment(), \"months\") < 0\r\n ) {\r\n if (currentStatus === statuses.ok) {\r\n currentStatus = statuses.attentionNeeded;\r\n }\r\n }\r\n\r\n switch (currentStatus) {\r\n case statuses.noLicensesLeft:\r\n return (\r\n \r\n );\r\n case statuses.belowThresholdForWarnLeft:\r\n return (\r\n \r\n );\r\n case statuses.attentionNeeded:\r\n return (\r\n \r\n );\r\n case statuses.ok:\r\n return (\r\n \r\n );\r\n default:\r\n return (\r\n \r\n );\r\n }\r\n },\r\n [intl]\r\n );\r\n\r\n useEffect(() => {\r\n if (!licenseCustomers.isLoading) {\r\n const licenseManagementTableDataSource = [];\r\n licenseCustomers.data\r\n .filter(\r\n (item) =>\r\n item.customer.name\r\n .toLowerCase()\r\n .includes(searchValue.toLowerCase()) ||\r\n item.customer.url\r\n .toLowerCase()\r\n .includes(searchValue.toLowerCase()) ||\r\n item.customer.fortNoxNumber\r\n .toLowerCase()\r\n .includes(searchValue.toLowerCase()) ||\r\n item.customer.address\r\n .toLowerCase()\r\n .includes(searchValue.toLowerCase()) ||\r\n item.customer.city.toLowerCase().includes(searchValue.toLowerCase())\r\n )\r\n .forEach((companyItem) => {\r\n let company = {\r\n uniqueId: companyItem.customer.id,\r\n name: companyItem.customer.name,\r\n url: companyItem.customer.url,\r\n fortNoxNumber: companyItem.customer.fortNoxNumber,\r\n address:\r\n companyItem.customer.address +\r\n \" \" +\r\n companyItem.customer.city +\r\n \" \" +\r\n companyItem.customer.zipCode,\r\n nbrOfLicenses: companyItem.nbrOfLicenses,\r\n nbrOfValidLicenses: companyItem.nbrOfValidLicenses,\r\n nbrOfLicensesNotUsed: companyItem.nbrOfLicensesNotUsed,\r\n created: moment(companyItem.customer.created).format(\"L\"),\r\n status: getStatusIcon(companyItem),\r\n };\r\n licenseManagementTableDataSource.push(company);\r\n });\r\n setCustomerRows(licenseManagementTableDataSource);\r\n }\r\n }, [\r\n licenseCustomers.isLoading,\r\n licenseCustomers.data,\r\n searchValue,\r\n toggleUpdate,\r\n getStatusIcon,\r\n ]);\r\n\r\n if (licenseCustomers.isLoading) {\r\n return <>;\r\n }\r\n\r\n const TableRow = ({ row, ...restProps }) => (\r\n \r\n setOpenCustomer(\r\n licenseCustomers.data.find(\r\n (item) => item.customer.id === row.uniqueId\r\n )\r\n )\r\n }\r\n className=\"license-management-table--row\"\r\n style={{\r\n cursor: \"pointer\",\r\n }}\r\n />\r\n );\r\n\r\n const TableComponent = ({ ...restProps }) => (\r\n \r\n );\r\n\r\n const getRowId = (row) => row.uniqueId;\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 setCreateNewCustomerOpen(true)}\r\n >\r\n \r\n \r\n \r\n setCoursesModalOpen(true)}\r\n >\r\n Hantera kurser\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setOpenCustomer(null)}\r\n isOpen={openCustomer !== null}\r\n customer={openCustomer}\r\n licenseCourses={licenseCourses}\r\n handleUpdateData={() => setToggleUpdate(!toggleUpdate)}\r\n toggleUpdate={toggleUpdate}\r\n />\r\n setCreateNewCustomerOpen(false)}\r\n isOpen={createNewCustomerOpen}\r\n licenseCustomers={licenseCustomers}\r\n />\r\n setCoursesModalOpen(!coursesModalOpen)}\r\n isOpen={coursesModalOpen}\r\n />\r\n \r\n );\r\n}\r\n\r\nexport default injectIntl(LicMgtAdministration);\r\n","import React from \"react\";\r\nimport {\r\n Card,\r\n CardImg,\r\n CardTitle,\r\n CardSubtitle,\r\n CardHeader,\r\n CardBody\r\n} from \"reactstrap\";\r\nimport StudentStatus from \"./StudentStatus\";\r\n\r\nconst StudentCourse = props => {\r\n return (\r\n props.setActiveCourse(props.course)}\r\n >\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {/* */}\r\n {props.course.name}\r\n {props.course.description}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default StudentCourse;\r\n","import React from \"react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\nconst StudentModuleIcon = (props) => {\r\n if (!props.finalExam && !props.moduleIsLocked) {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default StudentModuleIcon;\r\n","import React from \"react\";\r\nimport moment from \"moment\";\r\nimport { HiOutlineClock } from \"react-icons/hi\";\r\n\r\nconst StudentLastRun = (props) => {\r\n let date = null;\r\n if (props != null) {\r\n date = props.lastRun;\r\n }\r\n\r\n if (date) {\r\n return (\r\n
    \r\n \r\n \r\n   \r\n {moment(date, \"YYYY-MM-DD HH:mm\").fromNow()}\r\n \r\n
    \r\n );\r\n }\r\n return
     
    ;\r\n};\r\n\r\nexport default StudentLastRun;\r\n","import React, { useState } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardTitle,\r\n Row,\r\n Col,\r\n Dropdown,\r\n DropdownToggle,\r\n DropdownMenu,\r\n DropdownItem,\r\n} from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport StudentModuleIcon from \"./StudentModuleIcon\";\r\nimport StudentStatus from \"./StudentStatus\";\r\nimport StudentLastRun from \"./StudentLastRun\";\r\nimport { injectIntl } from \"react-intl\";\r\n\r\nconst StudentModule = (props) => {\r\n const [docDropDownOpen, setDocDropDownOpen] = useState(false);\r\n\r\n let modDocstoggle = () => {\r\n setDocDropDownOpen((prev) => !prev);\r\n };\r\n\r\n const showDocumentOrLink = () => {\r\n if (props.courseUploads.length > 0) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {props.courseUploads.map((doc) => {\r\n return documentItems(doc);\r\n })}\r\n \r\n \r\n );\r\n } else return null;\r\n };\r\n const documentItems = (doc) => {\r\n if (doc.fileUrl) {\r\n return (\r\n \r\n {doc.value}\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n {doc.value}\r\n \r\n );\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n props.disabled ||\r\n props.licenseExpired ||\r\n (props.moduleIsLocked && !props.module.isFinalExam)\r\n ? null\r\n : props.startModule(event, props.module)\r\n }\r\n >\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n {props.module.name}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n {props.module.description}\r\n \r\n \r\n \r\n {showDocumentOrLink()}\r\n \r\n );\r\n};\r\nexport default injectIntl(StudentModule);\r\n","import React from \"react\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nclass StudentWelcome extends React.Component {\r\n render() {\r\n return (\r\n
    \r\n
    \r\n

    \r\n {\" \"}\r\n {this.props.studentName}\r\n

    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default StudentWelcome;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport {\r\n ListGroup,\r\n Badge,\r\n Card,\r\n CardTitle,\r\n Col,\r\n Row,\r\n Table,\r\n Alert,\r\n ListGroupItem,\r\n ListGroupItemHeading,\r\n} from \"reactstrap\";\r\nimport moment from \"moment\";\r\nimport localization from \"moment/locale/sv\";\r\nimport { FormattedMessage, FormattedNumber } from \"react-intl\";\r\nimport StudentStatus from \"./StudentStatus\";\r\nimport StudentModule from \"./StudentModule\";\r\nimport StudentLastRun from \"./StudentLastRun\";\r\nimport StudentWelcome from \"./StudentWelcome\";\r\nimport StudentProgress from \"./StudentProgress\";\r\nimport DoughnutChart from \"../../components/Charts/DoughnutChart\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\nmoment.updateLocale(\"sv\", localization);\r\n\r\nconst StudentActiveCourse = (props) => {\r\n const [courseUploads, setCourseUploads] = useState([]);\r\n\r\n let lastRun = null;\r\n let mappedModules = null;\r\n\r\n useEffect(() => {\r\n let uploadsForCourse = [];\r\n if (props.course !== null && props.course.courseUploads !== null) {\r\n props.course.courseUploads.forEach((uploads) => {\r\n if (uploads.forTheseModules.length < 1) {\r\n uploadsForCourse.push(uploads);\r\n }\r\n });\r\n setCourseUploads(uploadsForCourse);\r\n }\r\n }, [props.course]);\r\n\r\n if (props.course != null) {\r\n lastRun = props.course.lastRun ? props.course.lastRun : \"\";\r\n mappedModules = props.course.modules\r\n .sort((a, b) => a.sortOrder - b.sortOrder)\r\n .map((module) => (\r\n \r\n ));\r\n }\r\n\r\n let mappedModuleStatusInfo;\r\n\r\n if (props.course != null) {\r\n var modules = props.course.modules;\r\n const dougnutDataModules = {\r\n datasets: [\r\n {\r\n data: [\r\n modules.filter((x) => x.status === \"InProgress\").length,\r\n modules.filter((x) => x.status === \"Done\").length,\r\n modules.filter((x) => x.status === \"NotStarted\").length,\r\n ],\r\n backgroundColor: [\"#ffc107\", \"#4dbd74\", \"gray\"],\r\n },\r\n ],\r\n // These labels appear in the legend and in the tooltips when hovering different arcs\r\n labels: [\"Pågående\", \"Klar\", \"Ej startad\"],\r\n };\r\n\r\n mappedModuleStatusInfo = modules\r\n .filter((x) => x.status !== \"NotStarted\")\r\n .map((module) => (\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 {props.course.name}\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {props.course.description}\r\n \r\n \r\n\r\n \r\n x.status === \"Done\")\r\n .length\r\n }\r\n totalModules={props.course.modules.length}\r\n />\r\n \r\n\r\n \r\n \r\n  Programlicensen har gått ut och måste förnyas\r\n \r\n

    \r\n \r\n

    \r\n
    \r\n {courseUploads.length > 0 ? (\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {courseUploads.map((doc) => {\r\n return (\r\n \r\n \r\n {doc.fileUrl ? (\r\n {doc.value}\r\n ) : (\r\n {doc.value}\r\n )}\r\n \r\n \r\n \r\n :{\" \"}\r\n {doc.updated\r\n ? moment(doc.updated).format(\"YYYY-MM-DD\")\r\n : moment(doc.uploaded).format(\"YYYY-MM-DD\")}\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {mappedModules}\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n
    {module.name}\r\n \r\n {module.score > 0 && module.score + \"/\" + module.maxScore}\r\n {\" \"}\r\n {module.activityPoints > 0 ? (\r\n \r\n 0 &&\r\n module.activityPoints > 0 &&\r\n (module.activityPoints / module.maxActivityPoints) * 100\r\n }\r\n maximumFractionDigits={0}\r\n />\r\n %\r\n \r\n ) : (\r\n \r\n )}\r\n {module.nbrOfAttempts}{moment(module.lastRun).format(\"YYYY-MM-DD HH:mm\")}\r\n {module.hasPassed ? (\r\n Ja\r\n ) : (\r\n Nej\r\n )}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {mappedModuleStatusInfo}\r\n \r\n \r\n
    ModulPoängAntal ggrSenastGodkänd
    \r\n \r\n \r\n \r\n );\r\n } else {\r\n return ;\r\n }\r\n};\r\n\r\nexport default StudentActiveCourse;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport {\r\n fetchStudentCoursesAction,\r\n fetchStudentInformation,\r\n fetchStudentResultAction,\r\n} from \"../../actions/studentActions\";\r\nimport { fetchNotifications } from \"../../actions/notificationActions\";\r\nimport {\r\n Row,\r\n Col,\r\n Input,\r\n InputGroup,\r\n Label,\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n} from \"reactstrap\";\r\nimport { toast } from \"react-toastify\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport StudentCourse from \"../../components/Student/StudentCourse\";\r\nimport StudentActiveCourse from \"../../components/Student/StudentActiveCourse\";\r\nimport { BounceLoader } from \"react-spinners\";\r\nimport { getWinOptions, composeUrl } from \"../../Utilities/moduleHelper\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport jump from \"jump.js\";\r\nimport axios from \"../../services/api/api\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\n\r\nfunction Student() {\r\n const [filterSearch, setFilterSearch] = useState(\"\");\r\n const [scormIsOpen, setScormIsOpen] = useState(false);\r\n const [bgUrl, setBgUrl] = useState('url(\"img/Elevsida_BG_img.jpg\")');\r\n const [selectedCourse, setSelectedCourse] = useState(null);\r\n\r\n let timer = null;\r\n let scormWindow = null;\r\n\r\n const studentResult = useSelector((state) => state.studentResult);\r\n const studentInformation = useSelector(\r\n (state) => state.studentInformationReducer\r\n );\r\n\r\n const contentRef = React.createRef();\r\n const bgRef = React.createRef();\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n var email = localStorage.getItem(\"email\");\r\n if (localStorage.getItem(\"tmpRole\") !== null) {\r\n email = localStorage.getItem(\"tmpEmail\");\r\n }\r\n dispatch(fetchStudentInformation(email)).then(() => {\r\n dispatch(fetchStudentCoursesAction());\r\n dispatch(fetchNotifications());\r\n });\r\n }, [dispatch]);\r\n\r\n const selectCourse = (course) => {\r\n setSelectedCourse(\r\n selectedCourse && selectedCourse.id === course.id ? null : course\r\n );\r\n setBackground();\r\n if (contentRef.current && contentRef.current != null) {\r\n jump(contentRef.current, {\r\n duration: 1000,\r\n offset: -55,\r\n });\r\n }\r\n };\r\n\r\n const setBackground = () => {\r\n if (bgRef.current) {\r\n setBgUrl(\r\n selectedCourse\r\n ? `url(\"${selectedCourse.imgUrl}\")`\r\n : 'url(\"img/Elevsida_BG_img.jpg\")'\r\n );\r\n }\r\n };\r\n\r\n const closeCourse = () => {\r\n setSelectedCourse(null);\r\n setBackground();\r\n };\r\n\r\n const getSelectedCourse = () => {\r\n return selectedCourse\r\n ? studentResult.studentCourse.find((obj) => obj.id === selectedCourse.id)\r\n : null;\r\n };\r\n\r\n const runModule = (event, mod) => {\r\n event.preventDefault();\r\n if (scormIsOpen) {\r\n showError(\"Tostify.Message.RunningModule\", 5000);\r\n return;\r\n }\r\n setScormIsOpen(true);\r\n axios\r\n .post(\r\n \"/student/RunModule?courseId=\" +\r\n selectedCourse.id +\r\n \"&moduleId=\" +\r\n mod.id\r\n )\r\n .then((data) => {\r\n openModule(mod, data.data.result);\r\n })\r\n .catch((err) => {\r\n if (err?.response?.data === \"ModuleIsLocked \\n\") {\r\n dispatch(fetchStudentResultAction());\r\n toast.error(\r\n ,\r\n {\r\n position: \"top-right\",\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n }\r\n );\r\n } else {\r\n toast.warn(err?.response?.data);\r\n }\r\n setScormIsOpen(false);\r\n });\r\n };\r\n\r\n const openModule = (mod, studentResultData) => {\r\n if (studentResultData.id === undefined) {\r\n return;\r\n }\r\n if (mod.url == null) {\r\n showError(\"Tostify.Message.ModuleUrlMissing\", 2000);\r\n return;\r\n }\r\n var url = composeUrl(\r\n studentResultData.student.id,\r\n studentResultData.courseId,\r\n studentResultData.moduleId,\r\n mod.moduleType,\r\n studentResultData.id,\r\n mod.url,\r\n studentResultData.student.name,\r\n studentResultData.numberOfRuns\r\n );\r\n var winOptions = getWinOptions();\r\n scormWindow = window.open(url, \"\", winOptions);\r\n if (scormWindow) {\r\n scormWindow.location.href = url;\r\n timer = setInterval(function () {\r\n exitWindow(studentResultData.id);\r\n }, 500);\r\n }\r\n scormWindow.moveTo(0, 0);\r\n scormWindow.focus();\r\n };\r\n\r\n const exitWindow = (studentResultId) => {\r\n if (scormWindow.closed) {\r\n clearInterval(timer);\r\n if (studentResultId === null) {\r\n showError(\"Tostify.Message.NoStudentResultToReportScormOn\", 2000);\r\n }\r\n dispatch(fetchStudentResultAction()).catch((err) => {\r\n toast.error(, {\r\n position: \"top-right\",\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n autoClose: 15000,\r\n });\r\n });\r\n setScormIsOpen(false);\r\n }\r\n };\r\n\r\n const showError = (errorMsg, closeAfter) => {\r\n toast.error(, {\r\n position: \"top-right\",\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n autoClose: closeAfter,\r\n });\r\n return;\r\n };\r\n\r\n const showLoader = () => {\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n if (studentResult.fetching) {\r\n showLoader();\r\n }\r\n let mappedInputSearch = null;\r\n let mappedCourses = null;\r\n\r\n if (studentResult.error) {\r\n mappedCourses = (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n mappedInputSearch = (\r\n \r\n \r\n \r\n\r\n setFilterSearch(data.target.value)}\r\n />\r\n \r\n \r\n );\r\n }\r\n\r\n if (studentResult.studentCourse.length) {\r\n var currentResult = studentResult.studentCourse;\r\n if (filterSearch.length > 0) {\r\n currentResult = currentResult.filter(\r\n (course) =>\r\n course.name.toLowerCase().indexOf(filterSearch.toLowerCase()) !== -1\r\n );\r\n }\r\n\r\n mappedCourses = currentResult.map((course, i) => (\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 {mappedInputSearch}\r\n \r\n\r\n \r\n {mappedCourses}\r\n \r\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 Student;\r\n","import React from \"react\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\n\r\nconst Information = props => {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default Information;\r\n","import React, { Component } from \"react\";\r\n\r\nimport { toast } from \"react-toastify\";\r\nimport Information from \"../../components/Toastify/Information\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nclass StudentCoursesList extends Component {\r\n notify = () =>\r\n toast.error(, {\r\n position: \"top-right\",\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n autoClose: 2000\r\n });\r\n\r\n render() {\r\n return (\r\n
    \r\n StudentCoursesList\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default StudentCoursesList;\r\n","import React from \"react\";\r\nimport { Card, CardBody, CardTitle, CardSubtitle, CardText } from \"reactstrap\";\r\n\r\nconst StudentSchool = props => {\r\n return (\r\n \r\n \r\n \r\n {props.school.className}\r\n \r\n {props.school.schoolName}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default StudentSchool;\r\n","import React, { Component } from \"react\";\r\nimport { fetchStudentProfileAction } from \"../../actions/studentProfileAction\";\r\nimport { connect } from \"react-redux\";\r\nimport { PacmanLoader } from \"react-spinners\";\r\nimport {\r\n CardDeck,\r\n Card,\r\n CardBody,\r\n CardTitle,\r\n CardSubtitle,\r\n Row\r\n} from \"reactstrap\";\r\nimport StudentSchool from \"../../components/Student/StudentSchool\";\r\n\r\nclass StudentProfile extends Component {\r\n componentDidMount() {\r\n this.props.dispatch(fetchStudentProfileAction());\r\n }\r\n\r\n render() {\r\n const { result } = this.props;\r\n\r\n if (result.loading === true) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n let schoolList;\r\n\r\n if (result.student.classes.length) {\r\n schoolList = result.student.classes.map(schoolclass => (\r\n \r\n ));\r\n }\r\n return (\r\n
    \r\n \r\n \r\n {result.student.name}\r\n \r\n \r\n   \r\n {result.student.email}\r\n \r\n\r\n \r\n {schoolList}\r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = store => {\r\n return {\r\n result: store.studentProfileReducer\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(StudentProfile);\r\n","import axios from \"../services/api/api\";\r\n\r\nexport function fetchStudentProfileAction() {\r\n return function(dispatch) {\r\n dispatch({\r\n type: \"FETCH_STUDENT_PROFILE_BEGIN\",\r\n payload: { loading: true }\r\n });\r\n axios\r\n .get(\"/student/MyResult\")\r\n .then(response => {\r\n dispatch({\r\n type: \"FETCH_STUDENT_PROFILE_SUCCESS\",\r\n payload: response.data.result\r\n });\r\n })\r\n .catch(err => {\r\n dispatch({ type: \"FETCH_STUDENT_PROFILE_REJECTED\", payload: err });\r\n });\r\n };\r\n}\r\n","import React from \"react\";\r\nimport { Card, CardBody, CardTitle, CardSubtitle, CardText } from \"reactstrap\";\r\nimport StudentStatus from \"./StudentStatus\";\r\n\r\nconst StudentResult = props => {\r\n let resultStatus;\r\n\r\n if (props.result.status)\r\n resultStatus = ;\r\n\r\n return (\r\n \r\n \r\n \r\n {props.result.module}{\" \"}\r\n {resultStatus}\r\n \r\n \r\n Kurs: {props.result.courseName}{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n Resultat: {props.result.score}/{props.result.maxScore}\r\n
    \r\n Aktivitetspoäng: {props.result.activityPoints}/\r\n {props.result.maxActivityPoints}\r\n
    \r\n Gräns för godkänt: {props.result.approveLimit}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default StudentResult;\r\n","import React, { Component } from \"react\";\r\nimport { fetchStudentResultsAction } from \"../../actions/studentResultsActions\";\r\nimport { connect } from \"react-redux\";\r\nimport { PacmanLoader } from \"react-spinners\";\r\nimport { Row, Col, Card, CardBody } from \"reactstrap\";\r\nimport StudentResult from \"../../components/Student/StudentResult\";\r\n\r\nclass StudentResults extends Component {\r\n componentDidMount() {\r\n this.props.dispatch(fetchStudentResultsAction());\r\n }\r\n\r\n render() {\r\n const { results } = this.props;\r\n\r\n if (results.loading === true) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n const resultList = results.result.map((result, i) => (\r\n \r\n \r\n \r\n ));\r\n\r\n return (\r\n
    \r\n \r\n \r\n

    Mina bästa resultat

    \r\n {resultList}\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = store => {\r\n return {\r\n results: store.studentResultsReducer\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(StudentResults);\r\n","import Student from \"../views/Student/Student\";\r\nimport StudentCoursesList from \"../views/Student/StudentCoursesList\";\r\nimport StudentProfile from \"../views/Student/StudentProfile\";\r\nimport StudentResults from \"../views/Student/StudentResults\";\r\nimport Notifications from \"../views/Notifications/Notifications\";\r\n\r\nconst navRoutesStudent = [\r\n { path: \"/\", exact: true, name: \"Home\", component: Student },\r\n { path: \"/student\", exact: true, name: \"Home\", component: Student },\r\n { path: \"/student/courses\", name: \"Courses\", component: StudentCoursesList },\r\n {\r\n path: \"/student/studentprofile\",\r\n name: \"Profile\",\r\n component: StudentProfile,\r\n },\r\n {\r\n path: \"/student/studentresults\",\r\n name: \"Results\",\r\n component: StudentResults,\r\n },\r\n {\r\n path: \"/student/notifications\",\r\n name: \"Notifications\",\r\n component: Notifications,\r\n },\r\n];\r\n\r\nexport default navRoutesStudent;\r\n","import React, { Component } from \"react\";\r\nimport { Switch, Route } from \"react-router-dom\";\r\nimport { Container } from \"reactstrap\";\r\nimport { connect } from \"react-redux\";\r\nimport Header from \"../components/Header/Header\";\r\nimport Sidebar from \"../components/Sidebar/Sidebar\";\r\nimport Breadcrumb from \"../components/Breadcrumb/Breadcrumb\";\r\nimport Aside from \"../components/Aside/Aside\";\r\n\r\nimport navRoutesTeacher from \"../Routes/navRoutesTeacher\";\r\nimport navRoutesSuperuser from \"../Routes/navRoutesSuperuser\";\r\nimport navRoutesStudent from \"../Routes/navRoutesStudent\";\r\n\r\nclass Main extends Component {\r\n render() {\r\n const { auth } = this.props;\r\n var roles = auth.auth.roles;\r\n let displaySideBar = true;\r\n let navRoutes = [];\r\n\r\n switch (roles) {\r\n case \"Student\":\r\n navRoutes = navRoutesStudent;\r\n displaySideBar = true;\r\n break;\r\n case \"Teacher\":\r\n navRoutes = navRoutesTeacher;\r\n displaySideBar = true;\r\n break;\r\n case \"Superuser\":\r\n case \"Admin\":\r\n navRoutes = navRoutesSuperuser;\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n {displaySideBar && }\r\n\r\n
    \r\n {/* */}\r\n \r\n \r\n \r\n {navRoutes.map((route, idx) => {\r\n return route.component ? (\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\nconst mapStateToProps = store => {\r\n return {\r\n auth: store.auth\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(Main);\r\n","import React, { Component } from \"react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport { signInAction } from \"../../actions/authActions\";\r\nimport { connect } from \"react-redux\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n CardGroup,\r\n Card,\r\n CardBody,\r\n Button,\r\n InputGroup,\r\n InputGroupAddon,\r\n InputGroupText\r\n} from \"reactstrap\";\r\nimport { PacmanLoader } from \"react-spinners\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { Format } from \"react-intl-format\";\r\n\r\nclass Signin extends Component {\r\n submit = values => {\r\n this.props.signInAction(values, this.props.history);\r\n };\r\n\r\n resetPassword = () => {\r\n this.props.history.push(\"/password/reset\");\r\n };\r\n\r\n openManual = () => {\r\n window.open(\"http://ftp.pol.se/public/LearnWARE/manual_LWC.pdf\", \"_blank\");\r\n };\r\n\r\n render() {\r\n const { handleSubmit } = this.props;\r\n\r\n if (this.props.auth.isLoggingIn) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n
    \r\n \r\n {intl => (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.props.auth.error && (\r\n
    \r\n \r\n
    \r\n )}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return { auth: state.auth.auth };\r\n}\r\n\r\nconst reduxFormSignin = reduxForm({\r\n form: \"signin\"\r\n})(Signin);\r\n\r\nexport default connect(mapStateToProps, { signInAction })(reduxFormSignin);\r\n","import React from \"react\";\r\nimport { withFormik, Form, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n FormGroup,\r\n Label,\r\n Card,\r\n CardHeader,\r\n CardBody,\r\n Button,\r\n Container,\r\n Row,\r\n Col,\r\n CardText,\r\n} from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport axios from \"axios\";\r\nimport { toast } from \"react-toastify\";\r\nimport {\r\n AUTH_BASE_URL,\r\n BASE_LOGIN_REDIRECT_URL,\r\n API_BASE_URL,\r\n} from \"../../constants/api.constants\";\r\nimport CardGroup from \"reactstrap/lib/CardGroup\";\r\nimport CardTitle from \"reactstrap/lib/CardTitle\";\r\nimport CardSubtitle from \"reactstrap/lib/CardSubtitle\";\r\n\r\nconst RegistrationForm = (props) => {\r\n const { touched, errors, isSubmitting } = props;\r\n var registrationComplete = localStorage.getItem(\"aplSupervisorHasRegistered\");\r\n\r\n const redirectUrl = () => {\r\n window.location.replace(`${BASE_LOGIN_REDIRECT_URL}/`);\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 {!isSubmitting && registrationComplete ? (\r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n !\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* CHANGE LINK TO CORRECT PLACE! */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n {errors.password && touched.password && (\r\n
    \r\n {errors.password}\r\n
    \r\n )}\r\n
    \r\n \r\n \r\n \r\n {errors.repeatpassword && touched.repeatpassword && (\r\n
    \r\n {errors.repeatpassword}\r\n
    \r\n )}\r\n
    \r\n\r\n \r\n {isSubmitting ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\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 FormikForm = withFormik({\r\n mapPropsToValues({ password, repeatpassword }) {\r\n // Add information with request\r\n return {\r\n password: password || \"\",\r\n repeatpassword: repeatpassword || \"\",\r\n };\r\n },\r\n validationSchema: Yup.object().shape({\r\n password: Yup.string()\r\n .required(\r\n \r\n )\r\n .matches(\r\n /(?=\\D*\\d)(?=[^a-z]*[a-z])(?=[^A-Z]*[A-Z])[\\w~@#$%^&*+=`|{}:;!.?\\\\\"()\\\\[\\]-]{8,25}$/,\r\n {\r\n message: (\r\n \r\n ),\r\n excludeEmptyString: true,\r\n }\r\n )\r\n .matches(/^.{8,}$/, {\r\n message: (\r\n \r\n ),\r\n }),\r\n repeatpassword: Yup.string()\r\n .oneOf(\r\n [Yup.ref(\"password\")],\r\n \r\n )\r\n .required(\r\n \r\n ),\r\n }),\r\n\r\n handleSubmit(values, { props, resetForm, setErrors, setSubmitting }) {\r\n axios\r\n .post(`${AUTH_BASE_URL}/token/newuser`, {\r\n email: props.email,\r\n password: values.password,\r\n grant_type: \"password\",\r\n usertype: props.role,\r\n validationtoken: props.validationtoken,\r\n })\r\n .then((response) => {\r\n if (response.data.code === \"999\") {\r\n toast.success(\r\n ,\r\n {\r\n position: \"top-right\",\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n autoClose: 3000,\r\n onClose: () => {\r\n if (props.role === \"AplSupervisor\") {\r\n localStorage.setItem(\"aplSupervisorHasRegistered\", true);\r\n window.location.reload(false);\r\n } else {\r\n window.location.replace(`${BASE_LOGIN_REDIRECT_URL}/`);\r\n }\r\n },\r\n }\r\n );\r\n\r\n axios.post(`${API_BASE_URL}/user/initialpasswordcreated`, {\r\n userEmail: props.email,\r\n });\r\n }\r\n\r\n if (response.data.code === \"902\") {\r\n toast.warning(\r\n ,\r\n {\r\n position: \"top-right\",\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n autoClose: 5000,\r\n }\r\n );\r\n }\r\n if (response.data.code === \"901\") {\r\n toast.warning(response.data.message, {\r\n position: \"top-right\",\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n autoClose: 3000,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n setErrors({ password: err.response ? err.response.data : err.message });\r\n });\r\n setSubmitting(false);\r\n resetForm();\r\n },\r\n})(RegistrationForm);\r\n\r\nexport default FormikForm;\r\n","import React, { Component } from \"react\";\r\nimport SelfRegistrationForm from \"../../components/Forms/SelfRegistrationForm\";\r\nimport axios from \"../../services/api/api\";\r\n\r\nclass StudentSelfRegistration extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n name: null,\r\n email: null,\r\n role: null,\r\n token: null\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.location.search) {\r\n const checkSum = this.props.location.search.split(\"?check=\")[1];\r\n axios\r\n .get(\"/User/Validation?email=\" + encodeURI(checkSum))\r\n .then(response => {\r\n this.setState({\r\n name: response.data.result.name,\r\n email: response.data.result.email,\r\n role: response.data.result.role,\r\n validationtoken: response.data.result.validationToken\r\n ? response.data.result.validationToken\r\n : null\r\n });\r\n })\r\n .catch(err => {\r\n this.setState({\r\n name: null,\r\n email: null,\r\n role: null\r\n });\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default StudentSelfRegistration;\r\n","import axios from \"axios\";\r\nimport { Field, Form, withFormik } from \"formik\";\r\nimport React from \"react\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { toast } from \"react-toastify\";\r\nimport {\r\n Button,\r\n Card,\r\n CardBody,\r\n CardGroup,\r\n CardHeader,\r\n CardTitle,\r\n Col,\r\n Container,\r\n FormGroup,\r\n Label,\r\n Row\r\n} from \"reactstrap\";\r\nimport {\r\n API_BASE_URL,\r\n BASE_LOGIN_REDIRECT_URL\r\n} from \"../../constants/api.constants\";\r\n\r\nconst RequestResetPasswordForm = props => {\r\n const { touched, errors, isSubmitting } = props;\r\n\r\n const redirectUrl = () => {\r\n window.location.replace(`${BASE_LOGIN_REDIRECT_URL}/lwc/#/login`);\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 \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {errors.email && touched.password && (\r\n
    {errors.email}
    \r\n )}\r\n
    \r\n\r\n \r\n {isSubmitting ? (\r\n \r\n ) : (\r\n \r\n )}\r\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 FormikForm = withFormik({\r\n mapPropsToValues({ email }) {\r\n return {\r\n email: email || \"\"\r\n };\r\n },\r\n\r\n handleSubmit(values, { props, resetForm, setErrors, setSubmitting }) {\r\n //add student\r\n axios\r\n .post(`${API_BASE_URL}/password/resetpassword`, {\r\n email: values.email\r\n })\r\n .then(response => {\r\n toast.success(\r\n ,\r\n {\r\n position: \"top-right\",\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n autoClose: 3000,\r\n onClose: () =>\r\n window.location.replace(`${BASE_LOGIN_REDIRECT_URL}/`)\r\n }\r\n );\r\n resetForm();\r\n })\r\n .catch(err => {\r\n setErrors({ email: err.response ? err.response.data : err.message });\r\n });\r\n setSubmitting(false);\r\n }\r\n})(RequestResetPasswordForm);\r\n\r\nexport default FormikForm;\r\n","import React, { Component } from \"react\";\r\nimport RequestPasswordResetForm from \"../../components/Forms/RequestResetPasswordForm\";\r\n\r\nclass RequestResetPassword extends Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nexport default RequestResetPassword;\r\n","import React from \"react\";\r\nimport { withFormik, Form, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n FormGroup,\r\n Label,\r\n Card,\r\n CardHeader,\r\n CardBody,\r\n Button,\r\n Container,\r\n Row,\r\n Col,\r\n CardGroup\r\n} from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport axios from \"axios\";\r\nimport { toast } from \"react-toastify\";\r\nimport {\r\n AUTH_BASE_URL,\r\n BASE_LOGIN_REDIRECT_URL\r\n} from \"../../constants/api.constants\";\r\nimport CardTitle from \"reactstrap/lib/CardTitle\";\r\n\r\nconst UpdatePasswordForm = props => {\r\n const redirectUrl = () => {\r\n window.location.replace(`${BASE_LOGIN_REDIRECT_URL}/`);\r\n };\r\n\r\n const { touched, errors, isSubmitting } = 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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.password && touched.password && (\r\n
    \r\n {errors.password}\r\n
    \r\n )}\r\n
    \r\n \r\n \r\n \r\n {errors.repeatpassword && touched.repeatpassword && (\r\n
    \r\n {errors.repeatpassword}\r\n
    \r\n )}\r\n
    \r\n\r\n \r\n {isSubmitting ? (\r\n \r\n ) : (\r\n \r\n )}\r\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 FormikForm = withFormik({\r\n mapPropsToValues({ password, repeatpassword }) {\r\n // Add information with request\r\n return {\r\n password: password || \"\",\r\n repeatpassword: repeatpassword || \"\"\r\n };\r\n },\r\n validationSchema: Yup.object().shape({\r\n password: Yup.string()\r\n .required(\r\n \r\n ) \r\n .matches(/(?=\\D*\\d)(?=[^a-z]*[a-z])(?=[^A-Z]*[A-Z])[\\w~@#$%^&*+=`|{}:;!.?\\\\\"()\\\\[\\]-]{8,25}$/, {\r\n message: (\r\n \r\n ),\r\n excludeEmptyString: true\r\n })\r\n .matches(/^.{8,}$/, {\r\n message: (\r\n \r\n )\r\n }),\r\n repeatpassword: Yup.string()\r\n .oneOf(\r\n [Yup.ref(\"password\")],\r\n \r\n )\r\n .required(\r\n \r\n )\r\n }),\r\n\r\n handleSubmit(values, { props, resetForm, setErrors, setSubmitting }) {\r\n //add student\r\n axios\r\n .post(`${AUTH_BASE_URL}/token/updatepassword`, {\r\n encryptedEmail: props.hash,\r\n newPassword: values.password\r\n })\r\n .then(response => {\r\n if (response.data.code === \"999\") {\r\n toast.success(\r\n ,\r\n {\r\n position: \"top-right\",\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n autoClose: 3000,\r\n onClose: () =>\r\n window.location.replace(`${BASE_LOGIN_REDIRECT_URL}/`)\r\n }\r\n );\r\n } else {\r\n toast.warning(\r\n ,\r\n {\r\n position: \"top-right\",\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n autoClose: 5000\r\n }\r\n );\r\n }\r\n resetForm();\r\n })\r\n .catch(err => {\r\n setErrors({ password: err.response ? err.response.data : err.message });\r\n });\r\n setSubmitting(false);\r\n }\r\n})(UpdatePasswordForm);\r\n\r\nexport default FormikForm;\r\n","import React, { Component } from \"react\";\r\nimport axios from \"../../services/api/api\";\r\nimport UpdatePasswordForm from \"../../components/Forms/UpdatePasswordForm\";\r\n\r\nclass UpdatePassword extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n hash: null\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.location.search) {\r\n const checkSum = this.props.location.search.split(\"?check=\")[1];\r\n axios\r\n .post(\"/password/validate\", {\r\n hash: checkSum\r\n })\r\n .then(response => {\r\n this.setState({\r\n hash: response.data.result\r\n });\r\n })\r\n .catch(err => {\r\n this.setState({\r\n hash: null\r\n });\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nexport default UpdatePassword;\r\n","import \"core-js/stable\";\r\nimport \"regenerator-runtime/runtime\";\r\nimport React, { Component } from \"react\";\r\nimport { Provider } from \"react-redux\";\r\nimport { HashRouter as Router, Route, Switch } from \"react-router-dom\";\r\n\r\n//react-queries\r\nimport { ReactQueryDevtools } from \"react-query/devtools\";\r\nimport { QueryClient, QueryClientProvider } from \"react-query\";\r\n\r\n//Redux\r\nimport { AUTHENTICATED } from \"./actions/authActions\";\r\nimport store from \"./store\";\r\n\r\n//HOC\r\nimport requireAuth from \"./hoc/require_auth\";\r\nimport noRequireAuth from \"./hoc/no_require_auth\";\r\n\r\n// Styles\r\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\r\nimport { fas } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\nimport \"./styles/scss/style.scss\";\r\n// Temp fix for reactstrap\r\nimport \"./styles/scss/core/_dropdown-menu-right.scss\";\r\n\r\n// Containers\r\nimport Main from \"./containers/Main\";\r\n\r\n// Views Auth\r\nimport Signin from \"./views/Auth/Signin\";\r\n\r\nimport SelfRegistration from \"./views/Student/StudentSelfRegistration\";\r\nimport RequestResetPassword from \"./views/ResetPassword/RequestResetPassword\";\r\nimport UpdatePassword from \"./views/ResetPassword/UpdatePassword\";\r\nimport { ToastContainer } from \"react-toastify\";\r\n// Views\r\n\r\nimport CacheBuster from \"react-cache-buster\";\r\nimport { version } from \"../package.json\";\r\nimport Pacmanloader from \"../src/components/Pacmanloader/Pacmanloader\";\r\n\r\n//const createStoreWithMiddleware = applyMiddleware(reduxThunk)(createStore);\r\n/* eslint-disable no-underscore-dangle */\r\n// const store = createStoreWithMiddleware(reducers, /* preloadedState, */\r\n// window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__());\r\n/* eslint-enable */\r\n\r\nconst token = localStorage.getItem(\"token\");\r\n\r\nconst queryClient = new QueryClient();\r\n\r\nlibrary.add(fas);\r\n\r\nconst App = () => {\r\n return (\r\n } //If not pass, nothing appears at the time of new version check.\r\n >\r\n \r\n \r\n );\r\n};\r\n\r\nclass AppOriginal extends Component {\r\n componentDidMount() {\r\n if (token) {\r\n var jwtDecode = require(\"jwt-decode\");\r\n var tfix = jwtDecode(token);\r\n var keys = Object.values(tfix);\r\n var roles = [];\r\n roles = keys[3];\r\n store.dispatch({ type: AUTHENTICATED, payload: { roles: roles } });\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\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 App;\r\n","import React from \"react\";\r\nimport { createRoot } from \"react-dom/client\";\r\nimport { unregister } from \"./registerServiceWorker\";\r\nimport { addLocaleData, IntlProvider } from \"react-intl\";\r\nimport App from \"./app\";\r\nimport localeLanguageSv from \"./i18n/sv.json\";\r\nimport localeLanguageEn from \"./i18n/en.json\";\r\n\r\nvar language = window.navigator.userLanguage || window.navigator.language;\r\n\r\nif (language !== \"sv\" && language !== \"en\") {\r\n language = \"sv\";\r\n}\r\n\r\nlet elLocaleData = require(`react-intl/locale-data/${language}`);\r\n\r\naddLocaleData(elLocaleData);\r\nlet i18nConfig;\r\n\r\nswitch (language) {\r\n case \"sv\":\r\n i18nConfig = localeLanguageSv;\r\n break;\r\n case \"en\":\r\n i18nConfig = localeLanguageEn;\r\n break;\r\n default:\r\n i18nConfig = localeLanguageSv;\r\n break;\r\n}\r\nconst container = document.getElementById(\"root\");\r\nconst root = createRoot(container);\r\n\r\nroot.render(\r\n
    \r\n \r\n \r\n {\" \"}\r\n
    \r\n);\r\n\r\nunregister();\r\n"],"sourceRoot":""}