{"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/PromptGeneric.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/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/CheckInMap.js","components/APL/APLPresenceCheckTable.js","components/APL/APLPresenceWeeksView.js","components/APL/APLPresenceColorInfo.js","components/Modal/FoodCompensationInformationForStudentModal.js","components/APL/APLPresence.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","actions/superUserQueries.js","components/Groups/GroupCard.js","components/Modal/EditGroupsModal.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/DeleteResults.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","components/Modal/SetCourseOrderInLicenseModal.js","components/ProgramLicense/AddNewProgramModal.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","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","views/AppRedirect/PasswordResetAppRedirect.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","removeItem","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_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","fetchOrphanCoursesForAdmin","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","GetAvailableStudentsForPeriod","candidates","candidateStudentIds","FetchAvailableStudentsForPeriod","GetPeriods","level","FetchPeriods","GetProgramPeriods","FetchProgramPeriods","GetEvents","periodId","objectId","FetchEvents","GetWorkCardHours","FetchWorkCardHours","FetchAttendanceStatuses","FetchFoodCompensationStatus","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","DeleteWorkCard","workCardId","EditWorkstepComponent","patch","EditWorkStep","DeleteDocument","GetAplInformationPersons","PostAplInformationPerson","person","PostInformationPersonsAndUsersForPeriod","informationPersons","UpdateInformationPersonAddUsers","UpdateInformationPersonRemoveUsers","PostWorkCardComment","workCardComment","created","workRegistrationId","RemoveAplPeriod","SetPeriodEndDate","endDate","ChangeStudentsAndSupervisorsInPeriod","PeriodId","DeleteMissingStudents","deleteMissing","Students","AddWorkSteps","workStepResource","AddWorkStepComponents","workStepComponentResource","SetAttendanceValidity","updateObj","attendanceDay","wasPresent","PostAbsence","absenceDay","timeFrom","timeTo","comment","isWholeDay","AddSchoolToSupervisor","supervisorSchool","supervisorId","SignWorkCardRegistration","signed","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","isStandAloneApl","setErrors","articleExistsInCart","setArticleExistsInCart","cart","settings","setSettings","uuid","getFormattedPrice","years","dividedPrice","round","StandaloneAplShopVideo","PlusPackageShopVideo","marginBottom","height","src","frameBorder","allow","allowFullScreen","productVariant","options","option","_selectedPlusPackageV","startDate","handleSetVariant","justifyContent","pill","priceStudent","salesPrice","date","moment","format","DatePicker","onDateChange","handleSetStartDate","locale","sv","readOnly","inputProps","focused","handleSetPackage","hasErrors","PlusPackageVariantSelectOptionalModal","LicenseAplShopVideo","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","alt","CardTitle","lastAddedProduct","CardBody","packageName","programName","handleOnAddPackage","addPremium","_","isEmpty","studentLicenseToAdd","plusPackageToAdd","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","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","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","comparePercentage","percentageArray","percentage","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","activityPointsPercentage","scorePercentage","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","scorePercent","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","aplStudentSupervisors","isModifying","selectableUsers","setSelectableUsers","UsersForSelect","studentForSelect","supervisors","supervisorForSelect","supervisor","DocumentsAndUsers","selectableStudents","selectableSupervisors","users","forUser","AddAllStudents","AddAllSupervisors","groupedOptions","handleRemoveDocument","setFileName","styles","menuPortal","base","handleAddAndRemoveDocumentsForUser","documentUserList","currentDocumentIndex","tempAplDocumentsWithUsers","usr","_ref3","inputValue","val","newDocument","handleFile","PromtGeneric","setWorkcard","existingWorkCards","setPage","defaultSelectedWorkCard","aplWorkcard","selectedWorkCard","setSelectedWorkCard","selectableWorkCards","setSelectableWorkCards","setIsOpen","workCardSelectRef","useRef","workCardMenuIsOpen","setworkCardMenuIsOpen","workCardForPromptDelete","setWorkCardForPromptDelete","mutateDeleteWorkCard","current","blur","tempSelectableWorkCards","wc","workcard","alignContent","flexGrow","openInfoModal","ref","menuIsOpen","onFocus","PromptGeneric","handleDeleteWorkCard","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","setAplStudentSupervisors","programTeachers","addNewSupervisorVisible","setAddNewSupervisorVisible","addNewCompanyIsOpen","setAddNewCompanyIsOpen","showCompanyNameOccupied","setShowCompanyNameOccupied","tempSupervisorsForSelect","StudentSupervisors","ssv","_ssv$aplCompany","handleRemoveSupervisorFromStudent","tempAplStudentSupervisors","firstSupervisor","isMainResponsible","handleSetSupervisorResponsable","StudentCards","studentIsAdded","handleAddStudentToAplStudents","handleAddSupervisor","handleAddAllStudents","CreateNewSupervisor","reloadSupervisors","handleAddNewCompany","company","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","setTableData","setWorkItemToAdd","button","newWorkcardName","setDefaultSelectedWorkCard","availableStudents","setAvailableStudents","thereAreWorkStepsWithoutComponentsOrNoWorkSteps","setThereAreWorkStepsWithoutComponentsOrNoWorkSteps","workcardItemForEditName","setWorkcardItemForEditName","workcardItemForDelete","setWorkcardItemForDelete","workItemToAdd","handlehandleAddNewItem","newItem","postPeriodMutation","postAplInfoPerson","postWorkCardMutation","isWorkstep","clearWizardModal","handleCloseModal","days","handleAddAPLPeriod","participants","docs","companyId","IsMainResponsible","start","end","daysPerWeek","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","activeIndex","setActiveIndex","setValue","postComment","postWorkCardComment","comments","signWorkCardRegistration","next","nextIndex","images","previous","slides","image","CarouselItem","signedBySupervisor","FaRegThumbsUp","signedByTeacher","TitleStudent","MiniCardText","toLocaleDateString","Carousel","CarouselIndicators","onClickHandler","newIndex","CarouselControl","cssModule","directionText","CardText","bodyText","workStepComponent","workStepName","workingHours","FiMessageCircle","commentDate","commenterName","TextField","InputProps","endAdornment","IconButton","SendIcon","ev","h5","_templateObject3","APLMoments","studentEvents","sortedEvents","setSortedEvents","filterBy","setFilterBy","allEvents","ColWithoutScroll","SupervisorInfoModal","APLTabs","toggleCreatePeriod","periodsToSelect","handleSelectPeriod","selectedPeriod","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","overflowY","studRatings","supRatings","selectRating","saveInformationPerson","setAddNewInfoPersonOpen","informationPersonIsOpen","toggleInformationPerson","saveInformationPersonsAndUsersForPeriod","addNewInfoPersonOpen","newInfoPersonsWithStudents","setNewInfoPersonsWithStudents","supervisorsInPeriod","setSupervisorsInPeriod","studentsInPeriod","setStudentsInPeriod","tempSupervisorsInPeriod","tempStudentsInPeriod","supV","ip","infoPersonForSelect","_person$forUsers2","_person$forUsers","nipws","userArray","infoperson","CreateNewInfoPersonInModifyInfoPersons","sip","handleSaveInfoPersonsAndStudents","tempInfoPersons","oldlist","allSupervisors","listOfStudentIds","newStudentsAndSupervisors","setNewStudentsAndSupervisors","setSelectableStudents","promptRemoveStudents","setPromptRemoveStudents","studentsForRemoval","setStudentsForRemoval","allStudentsInPeriod","setAllStudentsInPeriod","studentsNotInLevelNotToChange","setStudentsNotInLevelNotToChange","postButtonDisabled","setPostButtonDisabled","allPeriods","mutateChangeStudentsAndSupervisorsInPeriod","availableStudentIds","_currentPeriod$period","_currentPeriod$period2","tempAllPeriodStudents","studsup","deleted","tempStudentsNotInLevelNotToChange","currstud","tempNewStudentsAndSupervisors","availableStudentsWithCurrentStudents","tempStudentsForSorting","tempstud","handlePostChanges","studentsToPost","saveChanges","oldStud","tempStudentsForRemoval","APLDocumentsAndSupervisors","setLevelSupervisor","levelSupervisor","setSupervisor","toggleSupervisorInfo","setPeriod","toggleInfoPersonOpen","setAplInfoPerson","deleteDocument","postAplInfoPersonsAndUsers","setInformationPersonIsOpen","modifySupervisorsOpen","setModifySupervisorsOpen","toggleSupervisorModifyer","setListOfStudentIds","setAllStudents","sl","LabelAsRow","bottom","ModifySupervisorsModal","documentsForLevelUsers","hasStudentAccess","documentAccesses","hasAplSupervisorWithCorrectAccess","_value$description","docName","documentPath","tempPeriod","acc","access","selectSupervisorDocument","participantIds","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","containerStyle","CheckInMap","isLoaded","useJsApiLoader","googleMapsApiKey","setMap","mapRef","center","setCenter","lat","markerPoints","lng","onLoad","nMap","bounds","google","maps","LatLngBounds","extend","fitBounds","onUnmount","GoogleMap","mapContainerStyle","zoom","marker","markerIcon","isCheckIn","markerTitle","time","Marker","checkIns","checkOuts","co","memo","APLPresenceCheckTable","presenceData","absence","setCheckIns","setCheckOuts","mapIsOpen","setMapIsOpen","markersWithPosition","setMarkersWithPosition","markersData","setMarkersData","setAttendanceValidity","postAbsence","_presenceData$attenda","locationMarkers","attendanceThisDay","points","point","latitude","longitude","markerWithLocation","hasLocation","markerWithoutLocation","tempCheckins","tempCheckouts","tempMarkersWithPos","pd","handleSetValidity","day","checkIfPositionExists","_presenceData$attenda2","noPositionFound","pr","latitute","noCheckins","absencesThisDay","ab","isCreatedByTeacher","APLPresenceWeeksView","attendanceByWeek","currentWeekIndex","setCurrentWeekIndex","selectedDate","setSelectedDate","selectedDayData","setSelectedDayData","weekIntervals","setWeekIntervals","today","numberOfWeeksToShow","tempWeekIntervals","currentWeekNumber","currentYear","weeks","chunk","currentWeekChunk","weekNumber","year","renderHeader","_weekIntervals$curren","_weekIntervals$curren2","_weekIntervals$curren3","_weekIntervals$curren4","_weekIntervals$curren5","dateFormat","startOfCurrentTimeSpan","parseISO","attendanceForStudents","endOfCurrentTimeSpan","at","renderDaysAndCells","_weekIntervals$curren6","cells","statusClassMap","HadNoRegistrations","WasPresent","HadAbsence","attendanceData","flatMap","week","record","formattedDayName","formattedDayNumber","formattedDayNumberOfWeek","formattedWeekNumber","isSameDay","onDateClickHandle","alignSelf","changeWeekHandle","attendanceRecord","btnType","APLPresenceColorInfo","FoodCompensationInformationForStudentModal","_foodCompensationData","foodCompensationData","GetFoodCompensationStatus","APLPresence","periodStart","periodEnd","GetAttendanceStatuses","attendingStudents","setAttendingStudents","notAttendingStudents","setNotAttendingStudents","attendingTooltipIsOpen","setAttendingTooltipIsOpen","notAttendingTooltipIsOpen","setNotAttendingTooltipIsOpen","studentForFoodCompensation","setStudentForFoodCompensation","tempAttendingStudents","tempNotAttendingStudents","studentStatus","checkedInStatus","statusStud","isCheckedIn","st","toggleAttendingToolTip","toggleNotAttendingToolTip","studentCheckedIn","studStatus","supervisorInfoOpen","setSupervisorInfo","aplPeriodOpen","setAplPeriodOpen","setInfoPersonOpen","addNewWorkStepOpen","setAddNewWorkStepOpen","toggleAddNewWorkStepModal","addNewWorkStepComponentOpen","setAddNewWorkStepComponentOpen","currentWorkStepForAddComponent","setCurrentWorkStepForAddComponent","toggleAddNewWorkStepComponentModal","setActivePeriodId","setPeriodsToSelect","setStudentRatings","setSupervisorRatings","studentParticipation","setStudentParticipation","promtWorkComponentForDelete","setPromptComponentForDelete","totalWorkHoursRegistered","setTotalWorkHoursRegistered","aplActiveTab","setAPLActiveTab","createEvaluationQuestions","updateEvaluationQuestion","deleteEvaluationQuestions","deleteWorkstep","deleteWorkstepComponent","editWorkStep","editWorkStepComponent","periodsData","eventsData","workCardHourData","evaluationsData","evaluationQuestionsData","navReducer","prd","nameA","toUpperCase","nameB","handleSetWorkStepAndToggleComponentModal","workstepId","totalWorkHours","isComponent","studentEvaluations","supervisorEvaluations","forUserType","tempStudentQuestions","tempSupervisorQuestions","tempSelectablePeriods","dateTo","_period$period","studentQs","supervisorQs","newQuestions","questionsToUpdate","tempQuestion","workCards","HeaderRowNoScroll","tabIndex","studentInLevel","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","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","NumberOfLicensesTable","licensesShow","quantityTotal","toggleLicenseDetails","quantityActive","quantityExpired","quantityExpiring","numberOfStudents","hover","columnBands","TableBandHeader","LicensesDetailsTable","SuperUserLicenseDataGrid","cols","showLicenseDetails","dataForYearExcel","schoolsWithSelectedLicense","selectedLicenseDetail","expired","added","getDataForActive","fiscalYear","month","startOf","subtract","nbrMonthsThisFiscalYear","ceil","interim","clone","monthsThisFiscalYear","addedLicenses","expiredLicenses","schoolWithExpired","licenseExpired","expiredLicenseThisMonth","schoolWithNewLicense","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","ParentId","SortedChildIds","orderedModuleIds","EditSchoolName","updateObject","encodeURIComponent","MoveTeacherToSchoolAndClasses","teacherToMoveEmail","AddProgramToSchool","AddProgramLicenseToSchool","CreateSchoolAndAssignProgram","CreateNewTeacher","teacherToPost","AddTeacherToClass","classIds","AddClassToSchool","CreateNewScormLicenseCustomer","contactName","contactMail","CreateNewScormLicenseCourse","identifier","additionalInfo","CreateNewScormLicenseLicenses","quantity","UpdateLicenseCustomer","UpdateLicenseCourse","SetCourseSortOrder","orderedCourseIds","AddNewProgram","ProgramName","FortNoxNumberStudentLicense","FortNoxNumberSchoolLicense","CostCenter","PriceList","EditSchoolGrouping","customers","EditSchoolGroupName","CreateSchoolGroup","DeleteSchoolGroup","groupId","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","group","nbrOfClasses","nbrOfTeachers","nbrOfStudents","FetchLicenseManagementCustomers","GetLicenseManagementCustomers","FetchLicenseManagementCourses","GetLicenseManagementCourses","FetchCustomerGroups","GroupCard","setNewChanges","newChanges","currentSchools","setCurrentSchools","allSchools","changedNames","setChangedNames","gr","tempChangesNames","tcn","handleSetNewName","tempSchools","currentSchool","sch","isPendingAdded","handleAddSchoolsToGroup","schoolWithGroup","handleRemoveSchoolFromGroup","EditGroupsModal","_groups$data","addNewGroupOpen","setAddNewGroupOpen","newGroupName","setNewGroupName","structuredClone","updateMade","setUpdateMade","groups","handleEditSchoolGroupName","handleCreateSchoolGroup","handleEditSchoolGrouping","handleDeleteSchoolGroup","handleChangeGroups","schoolsToPost","groupCoupling","CustomerId","GroupId","handleChangeNames","namesToPost","change","refetch","handleDeleteGroup","SuperUser","addSchoolModal","overrideLoader","licenseModalState","selectedProgramlicensesToAdd","availabledProgramLicenses","collapsedLicenses","toggledLicenseDetails","editSchool","editGroupsModalIsOpen","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","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","setHideStatus","hideForStudents","hideForTeachers","createNew","coursesFilteredByName","coursesFilteredByDescription","it","tempAllFilteredCourses","fd","_item$programs","programs","_course$programs","align","courseModules","hideCourseForStudents","hideCourseForTeachers","opacity","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","LicenceOnSchool","AplLicenseValidTo","toISOString","Licenses","courselicense","FindUserInfo","setFoundUser","_response$data","hasActivatedAccount","hasFullTeacherAccess","licenceOnSchool","coursesInLicense","isPurchaser","AddUserAPLLicense","MoveUser","DeleteResults","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","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","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","SetCourseOrderInLicenseModal","sortedCourses","setSortedCourses","mutateSetCourseOrder","AddNewProgramModal","newProgram","setNewProgram","setPosting","addNewProgram","clearData","handleValidateNewProgram","ProgramLicenses","toggled","selectedLicenseId","selectedLicenseName","postingCourseToLicense","newProgramModalIsOpen","refresh","toggleAddCourseModal","toggleSortModal","mappedLicense","ModuleRatingsTable","_this","listSorter","varA","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","select","getValue","selLic","forAllSchools","schoolIds","ImageOption","Editor","toolbar","toolbarClassName","wrapperClassName","editorClassName","onEditorStateChange","classNamePrefix","handleSelectForUserType","SingleSuperUserNotification","modifyNotificationModalIsOpen","setModifyNotificationModalIsOpen","toggleModifyNotificationModal","promptDeleteNotification","setPromptDeleteNotification","setLicenses","setSchools","setForUsers","tempLicenses","scho","tempForUsers","handleDeleteNotification","AdminNotificationsShow","AdminNotificationsCreate","createEmpty","handlePostNotification","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","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","isFromApp","RequestResetPassword","RequestPasswordResetForm","encryptedEmail","hash","newPassword","UpdatePassword","setHash","useLocation","useMemo","URLSearchParams","indexStartOfCheck","UpdatePasswordForm","PasswordResetAppRedirect","appLink","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.71162abf.chunk.js","sourcesContent":["var map = {\n\t\"./\": 1429,\n\t\"./af\": 600,\n\t\"./af.js\": 600,\n\t\"./agq\": 601,\n\t\"./agq.js\": 601,\n\t\"./ak\": 602,\n\t\"./ak.js\": 602,\n\t\"./am\": 603,\n\t\"./am.js\": 603,\n\t\"./ar\": 604,\n\t\"./ar.js\": 604,\n\t\"./ars\": 605,\n\t\"./ars.js\": 605,\n\t\"./as\": 606,\n\t\"./as.js\": 606,\n\t\"./asa\": 607,\n\t\"./asa.js\": 607,\n\t\"./ast\": 608,\n\t\"./ast.js\": 608,\n\t\"./az\": 609,\n\t\"./az.js\": 609,\n\t\"./bas\": 610,\n\t\"./bas.js\": 610,\n\t\"./be\": 611,\n\t\"./be.js\": 611,\n\t\"./bem\": 612,\n\t\"./bem.js\": 612,\n\t\"./bez\": 613,\n\t\"./bez.js\": 613,\n\t\"./bg\": 614,\n\t\"./bg.js\": 614,\n\t\"./bh\": 615,\n\t\"./bh.js\": 615,\n\t\"./bm\": 616,\n\t\"./bm.js\": 616,\n\t\"./bn\": 617,\n\t\"./bn.js\": 617,\n\t\"./bo\": 618,\n\t\"./bo.js\": 618,\n\t\"./br\": 619,\n\t\"./br.js\": 619,\n\t\"./brx\": 620,\n\t\"./brx.js\": 620,\n\t\"./bs\": 621,\n\t\"./bs.js\": 621,\n\t\"./ca\": 622,\n\t\"./ca.js\": 622,\n\t\"./ccp\": 623,\n\t\"./ccp.js\": 623,\n\t\"./ce\": 624,\n\t\"./ce.js\": 624,\n\t\"./cgg\": 625,\n\t\"./cgg.js\": 625,\n\t\"./chr\": 626,\n\t\"./chr.js\": 626,\n\t\"./ckb\": 627,\n\t\"./ckb.js\": 627,\n\t\"./cs\": 628,\n\t\"./cs.js\": 628,\n\t\"./cu\": 629,\n\t\"./cu.js\": 629,\n\t\"./cy\": 630,\n\t\"./cy.js\": 630,\n\t\"./da\": 631,\n\t\"./da.js\": 631,\n\t\"./dav\": 632,\n\t\"./dav.js\": 632,\n\t\"./de\": 633,\n\t\"./de.js\": 633,\n\t\"./dje\": 634,\n\t\"./dje.js\": 634,\n\t\"./dsb\": 635,\n\t\"./dsb.js\": 635,\n\t\"./dua\": 636,\n\t\"./dua.js\": 636,\n\t\"./dv\": 637,\n\t\"./dv.js\": 637,\n\t\"./dyo\": 638,\n\t\"./dyo.js\": 638,\n\t\"./dz\": 639,\n\t\"./dz.js\": 639,\n\t\"./ebu\": 640,\n\t\"./ebu.js\": 640,\n\t\"./ee\": 641,\n\t\"./ee.js\": 641,\n\t\"./el\": 642,\n\t\"./el.js\": 642,\n\t\"./en\": 643,\n\t\"./en.js\": 643,\n\t\"./eo\": 644,\n\t\"./eo.js\": 644,\n\t\"./es\": 645,\n\t\"./es.js\": 645,\n\t\"./et\": 646,\n\t\"./et.js\": 646,\n\t\"./eu\": 647,\n\t\"./eu.js\": 647,\n\t\"./ewo\": 648,\n\t\"./ewo.js\": 648,\n\t\"./fa\": 649,\n\t\"./fa.js\": 649,\n\t\"./ff\": 650,\n\t\"./ff.js\": 650,\n\t\"./fi\": 651,\n\t\"./fi.js\": 651,\n\t\"./fil\": 652,\n\t\"./fil.js\": 652,\n\t\"./fo\": 653,\n\t\"./fo.js\": 653,\n\t\"./fr\": 654,\n\t\"./fr.js\": 654,\n\t\"./fur\": 655,\n\t\"./fur.js\": 655,\n\t\"./fy\": 656,\n\t\"./fy.js\": 656,\n\t\"./ga\": 657,\n\t\"./ga.js\": 657,\n\t\"./gd\": 658,\n\t\"./gd.js\": 658,\n\t\"./gl\": 659,\n\t\"./gl.js\": 659,\n\t\"./gsw\": 660,\n\t\"./gsw.js\": 660,\n\t\"./gu\": 661,\n\t\"./gu.js\": 661,\n\t\"./guw\": 662,\n\t\"./guw.js\": 662,\n\t\"./guz\": 663,\n\t\"./guz.js\": 663,\n\t\"./gv\": 664,\n\t\"./gv.js\": 664,\n\t\"./ha\": 665,\n\t\"./ha.js\": 665,\n\t\"./haw\": 666,\n\t\"./haw.js\": 666,\n\t\"./he\": 667,\n\t\"./he.js\": 667,\n\t\"./hi\": 668,\n\t\"./hi.js\": 668,\n\t\"./hr\": 669,\n\t\"./hr.js\": 669,\n\t\"./hsb\": 670,\n\t\"./hsb.js\": 670,\n\t\"./hu\": 671,\n\t\"./hu.js\": 671,\n\t\"./hy\": 672,\n\t\"./hy.js\": 672,\n\t\"./ia\": 673,\n\t\"./ia.js\": 673,\n\t\"./id\": 674,\n\t\"./id.js\": 674,\n\t\"./ig\": 675,\n\t\"./ig.js\": 675,\n\t\"./ii\": 676,\n\t\"./ii.js\": 676,\n\t\"./in\": 677,\n\t\"./in.js\": 677,\n\t\"./index\": 1430,\n\t\"./index.js\": 1431,\n\t\"./io\": 678,\n\t\"./io.js\": 678,\n\t\"./is\": 679,\n\t\"./is.js\": 679,\n\t\"./it\": 680,\n\t\"./it.js\": 680,\n\t\"./iu\": 681,\n\t\"./iu.js\": 681,\n\t\"./iw\": 682,\n\t\"./iw.js\": 682,\n\t\"./ja\": 683,\n\t\"./ja.js\": 683,\n\t\"./jbo\": 684,\n\t\"./jbo.js\": 684,\n\t\"./jgo\": 685,\n\t\"./jgo.js\": 685,\n\t\"./ji\": 686,\n\t\"./ji.js\": 686,\n\t\"./jmc\": 687,\n\t\"./jmc.js\": 687,\n\t\"./jv\": 688,\n\t\"./jv.js\": 688,\n\t\"./jw\": 689,\n\t\"./jw.js\": 689,\n\t\"./ka\": 690,\n\t\"./ka.js\": 690,\n\t\"./kab\": 691,\n\t\"./kab.js\": 691,\n\t\"./kaj\": 692,\n\t\"./kaj.js\": 692,\n\t\"./kam\": 693,\n\t\"./kam.js\": 693,\n\t\"./kcg\": 694,\n\t\"./kcg.js\": 694,\n\t\"./kde\": 695,\n\t\"./kde.js\": 695,\n\t\"./kea\": 696,\n\t\"./kea.js\": 696,\n\t\"./khq\": 697,\n\t\"./khq.js\": 697,\n\t\"./ki\": 698,\n\t\"./ki.js\": 698,\n\t\"./kk\": 699,\n\t\"./kk.js\": 699,\n\t\"./kkj\": 700,\n\t\"./kkj.js\": 700,\n\t\"./kl\": 701,\n\t\"./kl.js\": 701,\n\t\"./kln\": 702,\n\t\"./kln.js\": 702,\n\t\"./km\": 703,\n\t\"./km.js\": 703,\n\t\"./kn\": 704,\n\t\"./kn.js\": 704,\n\t\"./ko\": 705,\n\t\"./ko.js\": 705,\n\t\"./kok\": 706,\n\t\"./kok.js\": 706,\n\t\"./ks\": 707,\n\t\"./ks.js\": 707,\n\t\"./ksb\": 708,\n\t\"./ksb.js\": 708,\n\t\"./ksf\": 709,\n\t\"./ksf.js\": 709,\n\t\"./ksh\": 710,\n\t\"./ksh.js\": 710,\n\t\"./ku\": 711,\n\t\"./ku.js\": 711,\n\t\"./kw\": 712,\n\t\"./kw.js\": 712,\n\t\"./ky\": 713,\n\t\"./ky.js\": 713,\n\t\"./lag\": 714,\n\t\"./lag.js\": 714,\n\t\"./lb\": 715,\n\t\"./lb.js\": 715,\n\t\"./lg\": 716,\n\t\"./lg.js\": 716,\n\t\"./lkt\": 717,\n\t\"./lkt.js\": 717,\n\t\"./ln\": 718,\n\t\"./ln.js\": 718,\n\t\"./lo\": 719,\n\t\"./lo.js\": 719,\n\t\"./lrc\": 720,\n\t\"./lrc.js\": 720,\n\t\"./lt\": 721,\n\t\"./lt.js\": 721,\n\t\"./lu\": 722,\n\t\"./lu.js\": 722,\n\t\"./luo\": 723,\n\t\"./luo.js\": 723,\n\t\"./luy\": 724,\n\t\"./luy.js\": 724,\n\t\"./lv\": 725,\n\t\"./lv.js\": 725,\n\t\"./mas\": 726,\n\t\"./mas.js\": 726,\n\t\"./mer\": 727,\n\t\"./mer.js\": 727,\n\t\"./mfe\": 728,\n\t\"./mfe.js\": 728,\n\t\"./mg\": 729,\n\t\"./mg.js\": 729,\n\t\"./mgh\": 730,\n\t\"./mgh.js\": 730,\n\t\"./mgo\": 731,\n\t\"./mgo.js\": 731,\n\t\"./mi\": 732,\n\t\"./mi.js\": 732,\n\t\"./mk\": 733,\n\t\"./mk.js\": 733,\n\t\"./ml\": 734,\n\t\"./ml.js\": 734,\n\t\"./mn\": 735,\n\t\"./mn.js\": 735,\n\t\"./mo\": 736,\n\t\"./mo.js\": 736,\n\t\"./mr\": 737,\n\t\"./mr.js\": 737,\n\t\"./ms\": 738,\n\t\"./ms.js\": 738,\n\t\"./mt\": 739,\n\t\"./mt.js\": 739,\n\t\"./mua\": 740,\n\t\"./mua.js\": 740,\n\t\"./my\": 741,\n\t\"./my.js\": 741,\n\t\"./mzn\": 742,\n\t\"./mzn.js\": 742,\n\t\"./nah\": 743,\n\t\"./nah.js\": 743,\n\t\"./naq\": 744,\n\t\"./naq.js\": 744,\n\t\"./nb\": 745,\n\t\"./nb.js\": 745,\n\t\"./nd\": 746,\n\t\"./nd.js\": 746,\n\t\"./nds\": 747,\n\t\"./nds.js\": 747,\n\t\"./ne\": 748,\n\t\"./ne.js\": 748,\n\t\"./nl\": 749,\n\t\"./nl.js\": 749,\n\t\"./nmg\": 750,\n\t\"./nmg.js\": 750,\n\t\"./nn\": 751,\n\t\"./nn.js\": 751,\n\t\"./nnh\": 752,\n\t\"./nnh.js\": 752,\n\t\"./no\": 753,\n\t\"./no.js\": 753,\n\t\"./nqo\": 754,\n\t\"./nqo.js\": 754,\n\t\"./nr\": 755,\n\t\"./nr.js\": 755,\n\t\"./nso\": 756,\n\t\"./nso.js\": 756,\n\t\"./nus\": 757,\n\t\"./nus.js\": 757,\n\t\"./ny\": 758,\n\t\"./ny.js\": 758,\n\t\"./nyn\": 759,\n\t\"./nyn.js\": 759,\n\t\"./om\": 760,\n\t\"./om.js\": 760,\n\t\"./or\": 761,\n\t\"./or.js\": 761,\n\t\"./os\": 762,\n\t\"./os.js\": 762,\n\t\"./pa\": 763,\n\t\"./pa.js\": 763,\n\t\"./pap\": 764,\n\t\"./pap.js\": 764,\n\t\"./pl\": 765,\n\t\"./pl.js\": 765,\n\t\"./prg\": 766,\n\t\"./prg.js\": 766,\n\t\"./ps\": 767,\n\t\"./ps.js\": 767,\n\t\"./pt\": 768,\n\t\"./pt.js\": 768,\n\t\"./qu\": 769,\n\t\"./qu.js\": 769,\n\t\"./rm\": 770,\n\t\"./rm.js\": 770,\n\t\"./rn\": 771,\n\t\"./rn.js\": 771,\n\t\"./ro\": 772,\n\t\"./ro.js\": 772,\n\t\"./rof\": 773,\n\t\"./rof.js\": 773,\n\t\"./ru\": 774,\n\t\"./ru.js\": 774,\n\t\"./rw\": 775,\n\t\"./rw.js\": 775,\n\t\"./rwk\": 776,\n\t\"./rwk.js\": 776,\n\t\"./sah\": 777,\n\t\"./sah.js\": 777,\n\t\"./saq\": 778,\n\t\"./saq.js\": 778,\n\t\"./sbp\": 779,\n\t\"./sbp.js\": 779,\n\t\"./sc\": 780,\n\t\"./sc.js\": 780,\n\t\"./scn\": 781,\n\t\"./scn.js\": 781,\n\t\"./sd\": 782,\n\t\"./sd.js\": 782,\n\t\"./sdh\": 783,\n\t\"./sdh.js\": 783,\n\t\"./se\": 784,\n\t\"./se.js\": 784,\n\t\"./seh\": 785,\n\t\"./seh.js\": 785,\n\t\"./ses\": 786,\n\t\"./ses.js\": 786,\n\t\"./sg\": 787,\n\t\"./sg.js\": 787,\n\t\"./sh\": 788,\n\t\"./sh.js\": 788,\n\t\"./shi\": 789,\n\t\"./shi.js\": 789,\n\t\"./si\": 790,\n\t\"./si.js\": 790,\n\t\"./sk\": 791,\n\t\"./sk.js\": 791,\n\t\"./sl\": 792,\n\t\"./sl.js\": 792,\n\t\"./sma\": 793,\n\t\"./sma.js\": 793,\n\t\"./smi\": 794,\n\t\"./smi.js\": 794,\n\t\"./smj\": 795,\n\t\"./smj.js\": 795,\n\t\"./smn\": 796,\n\t\"./smn.js\": 796,\n\t\"./sms\": 797,\n\t\"./sms.js\": 797,\n\t\"./sn\": 798,\n\t\"./sn.js\": 798,\n\t\"./so\": 799,\n\t\"./so.js\": 799,\n\t\"./sq\": 800,\n\t\"./sq.js\": 800,\n\t\"./sr\": 801,\n\t\"./sr.js\": 801,\n\t\"./ss\": 802,\n\t\"./ss.js\": 802,\n\t\"./ssy\": 803,\n\t\"./ssy.js\": 803,\n\t\"./st\": 804,\n\t\"./st.js\": 804,\n\t\"./sv\": 805,\n\t\"./sv.js\": 805,\n\t\"./sw\": 806,\n\t\"./sw.js\": 806,\n\t\"./syr\": 807,\n\t\"./syr.js\": 807,\n\t\"./ta\": 808,\n\t\"./ta.js\": 808,\n\t\"./te\": 809,\n\t\"./te.js\": 809,\n\t\"./teo\": 810,\n\t\"./teo.js\": 810,\n\t\"./tg\": 811,\n\t\"./tg.js\": 811,\n\t\"./th\": 812,\n\t\"./th.js\": 812,\n\t\"./ti\": 813,\n\t\"./ti.js\": 813,\n\t\"./tig\": 814,\n\t\"./tig.js\": 814,\n\t\"./tk\": 815,\n\t\"./tk.js\": 815,\n\t\"./tl\": 816,\n\t\"./tl.js\": 816,\n\t\"./tn\": 817,\n\t\"./tn.js\": 817,\n\t\"./to\": 818,\n\t\"./to.js\": 818,\n\t\"./tr\": 819,\n\t\"./tr.js\": 819,\n\t\"./ts\": 820,\n\t\"./ts.js\": 820,\n\t\"./tt\": 821,\n\t\"./tt.js\": 821,\n\t\"./twq\": 822,\n\t\"./twq.js\": 822,\n\t\"./tzm\": 823,\n\t\"./tzm.js\": 823,\n\t\"./ug\": 824,\n\t\"./ug.js\": 824,\n\t\"./uk\": 825,\n\t\"./uk.js\": 825,\n\t\"./ur\": 826,\n\t\"./ur.js\": 826,\n\t\"./uz\": 827,\n\t\"./uz.js\": 827,\n\t\"./vai\": 828,\n\t\"./vai.js\": 828,\n\t\"./ve\": 829,\n\t\"./ve.js\": 829,\n\t\"./vi\": 830,\n\t\"./vi.js\": 830,\n\t\"./vo\": 831,\n\t\"./vo.js\": 831,\n\t\"./vun\": 832,\n\t\"./vun.js\": 832,\n\t\"./wa\": 833,\n\t\"./wa.js\": 833,\n\t\"./wae\": 834,\n\t\"./wae.js\": 834,\n\t\"./wo\": 835,\n\t\"./wo.js\": 835,\n\t\"./xh\": 836,\n\t\"./xh.js\": 836,\n\t\"./xog\": 837,\n\t\"./xog.js\": 837,\n\t\"./yav\": 838,\n\t\"./yav.js\": 838,\n\t\"./yi\": 839,\n\t\"./yi.js\": 839,\n\t\"./yo\": 840,\n\t\"./yo.js\": 840,\n\t\"./yue\": 841,\n\t\"./yue.js\": 841,\n\t\"./zgh\": 842,\n\t\"./zgh.js\": 842,\n\t\"./zh\": 843,\n\t\"./zh.js\": 843,\n\t\"./zu\": 844,\n\t\"./zu.js\": 844\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 = 1428;","// 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.removeItem(\"token\");\r\n localStorage.removeItem(\"refresh_token\");\r\n localStorage.removeItem(\"email\");\r\n localStorage.removeItem(\"role\");\r\n localStorage.removeItem(\"schoolName\");\r\n localStorage.removeItem(\"school\");\r\n localStorage.removeItem(\"aplSupervisorHasRegistered\");\r\n localStorage.removeItem(\"help\");\r\n localStorage.removeItem(\"tmpEmail\");\r\n localStorage.removeItem(\"tmpRole\");\r\n localStorage.removeItem(\"showResult\");\r\n window.location.replace(`${BASE_LOGIN_REDIRECT_URL}/`);\r\n window.location.href = \"/\";\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 localStorage.removeItem(\"token\");\r\n localStorage.removeItem(\"refresh_token\");\r\n localStorage.removeItem(\"email\");\r\n localStorage.removeItem(\"role\");\r\n localStorage.removeItem(\"schoolName\");\r\n localStorage.removeItem(\"school\");\r\n localStorage.removeItem(\"aplSupervisorHasRegistered\");\r\n localStorage.removeItem(\"help\");\r\n localStorage.removeItem(\"tmpEmail\");\r\n localStorage.removeItem(\"tmpRole\");\r\n localStorage.removeItem(\"showResult\");\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\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 FetchProgramPeriods = async (id) => {\r\n let res = { data: { result: null } };\r\n res = await axios.get(`/Apl/GetPeriodsByProgram/?programId=${id}`);\r\n return res.data.result;\r\n};\r\n\r\nexport function GetProgramPeriods(id) {\r\n return useQuery(\r\n [\"FetchProgramPeriods\", [id]],\r\n () => FetchProgramPeriods(id),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchAttendances = async (level, objId, periodId) => {\r\n let res = { data: { result: null } };\r\n if (level === \"Program\") {\r\n res = await axios.get(\r\n `/Apl/AttendancesByProgram/?programId=${objId}&periodId=${periodId}`\r\n );\r\n } else if (level === \"Class\") {\r\n res = await axios.get(\r\n `/Apl/AttendancesByClass/?classId=${objId}&periodId=${periodId}`\r\n );\r\n } else if (level === \"Student\") {\r\n res = await axios.get(`/Apl/AttendancesByStudent/?studentId=${objId}`);\r\n }\r\n return res.data.result;\r\n};\r\n\r\nexport function GetAttendances(level, objId, periodId) {\r\n return useQuery(\r\n [\"FetchAttendances\", [level, objId, periodId]],\r\n () => FetchAttendances(level, objId, periodId),\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 FetchAttendanceStatuses = 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/GetAttendanceStatusForProgram/?programId=${objectId}&periodId=${periodId}`\r\n );\r\n } else if (level === \"Class\") {\r\n res = await axios.get(\r\n `/Apl/GetAttendanceStatusForClass/?classId=${objectId}&periodId=${periodId}`\r\n );\r\n } else if (level === \"Student\") {\r\n res = await axios.get(\r\n `/Apl/GetAttendanceStatusForStudent/?studentId=${objectId}&periodId=${periodId}`\r\n );\r\n }\r\n return res.data.result;\r\n }\r\n};\r\n\r\nexport function GetAttendanceStatuses(level, periodId, objectId) {\r\n return useQuery(\r\n [\"FetchAttendanceStatuses\", [level, periodId, objectId]],\r\n () => FetchAttendanceStatuses(level, periodId, objectId),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchFoodCompensationStatus = async (studentId, periodId) => {\r\n if (periodId) {\r\n const res = await axios.get(\r\n `/Apl/GetFoodCompensationRequiredDaysForStudent?studentId=${studentId}&periodId=${periodId}`\r\n );\r\n return res.data.result;\r\n } else return null;\r\n};\r\n\r\nexport function GetFoodCompensationStatus(studentId, periodId) {\r\n return useQuery(\r\n [\"FetchFoodCompensationStatus\", [studentId, periodId]],\r\n () => FetchFoodCompensationStatus(studentId, periodId),\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 DeleteWorkCard = async (workCardId) => {\r\n const data = await axios\r\n .delete(`/Apl/DeleteWorkCard?workCardId=${workCardId}`)\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 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 ChangeStudentsAndSupervisorsInPeriod = async (item) => {\r\n const res = await axios\r\n .post(`/Apl/ChangeStudentsInPeriod`, {\r\n PeriodId: item.periodId,\r\n DeleteMissingStudents: item.deleteMissing,\r\n Students: item.students,\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 SetAttendanceValidity = async (updateObj) => {\r\n const res = await axios\r\n .post(\r\n `/Apl/SetAttendanceValidity?attendanceDay=${updateObj.attendanceDay}&wasPresent=${updateObj.wasPresent}&studentId=${updateObj.studentId}&periodId=${updateObj.periodId}`\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 PostAbsence = async (updateObj) => {\r\n const res = await axios\r\n .post(\r\n `/Apl/PostAbsenceByTeacher?studentId=${updateObj.studentId}&absenceDay=${updateObj.absenceDay}&timeFrom=${updateObj.timeFrom}&timeTo=${updateObj.timeTo}&comment=${updateObj.comment}&isWholeDay=${updateObj.isWholeDay}`\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 SignWorkCardRegistration = async (item) => {\r\n const res = await axios\r\n .post(\r\n `/Apl/SignWorkCardRegistration?workRegistrationId=${item.workRegistrationId}&signed=${item.signed}`\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, useEffect } 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\nimport axios from \"axios\";\r\nimport uuid from \"uuid\";\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 isStandAloneApl,\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 const [settings, setSettings] = useState(null);\r\n\r\n useEffect(() => {\r\n axios\r\n .get(`${process.env.PUBLIC_URL}/settings.json?rndstr=${uuid()}`)\r\n .then((res) => {\r\n setSettings(res.data);\r\n });\r\n }, []);\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 1 &&\r\n !isStandAloneApl)\r\n ? \"lg\"\r\n : \"md\"\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n {((settings?.StandaloneAplShopVideo !== undefined &&\r\n isStandAloneApl &&\r\n settings?.StandaloneAplShopVideo.length) ||\r\n (settings?.PlusPackageShopVideo !== undefined &&\r\n settings?.PlusPackageShopVideo.length > 1 &&\r\n !isStandAloneApl)) && (\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, useEffect } 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\nimport axios from \"axios\";\r\nimport uuid from \"uuid\";\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 const [settings, setSettings] = useState(null);\r\n\r\n useEffect(() => {\r\n axios\r\n .get(`${process.env.PUBLIC_URL}/settings.json?rndstr=${uuid()}`)\r\n .then((res) => {\r\n setSettings(res.data);\r\n });\r\n }, []);\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 1\r\n ? \"lg\"\r\n : \"md\"\r\n }\r\n >\r\n \r\n ?\r\n \r\n \r\n {settings?.LicenseAplShopVideo !== undefined &&\r\n settings?.LicenseAplShopVideo.length > 1 && (\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 isStandAloneApl={false}\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 isStandAloneApl={true}\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 comparePercentage = (a, b) => {\r\n let priorityA = -1;\r\n let priorityB = -1;\r\n if (a !== undefined) {\r\n if (a === 0) {\r\n priorityA = a;\r\n } else {\r\n const percentageArray = a.match(/\\(\\d+%\\)/);\r\n const percentageString = percentageArray ? percentageArray[0] : -1;\r\n const percentage = percentageString.replace(/[()%]/g, \"\");\r\n priorityA = Number(percentage);\r\n }\r\n }\r\n if (b !== undefined) {\r\n if (b === 0) {\r\n priorityB = b;\r\n } else {\r\n const percentageArray = b.match(/\\(\\d+%\\)/);\r\n const percentageString = percentageArray ? percentageArray[0] : -1;\r\n const percentage = percentageString.replace(/[()%]/g, \"\");\r\n priorityB = Number(percentage);\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\r\n const [integratedSortingColumnExtensions] = useState([\r\n { columnName: \"status\", compare: comparePriority },\r\n { columnName: \"score\", compare: comparePercentage },\r\n { columnName: \"activityPoints\", compare: comparePercentage },\r\n ]);\r\n const [sortingStateColumnExtensions] = useState([\r\n { columnName: \"showResult\", 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\r\n ? m.score +\r\n \"/\" +\r\n m.maxScore +\r\n \" (\" +\r\n (m.score && m.maxScore > 0\r\n ? Math.round((m.score / m.maxScore) * 100)\r\n : 0) +\r\n \"%)\"\r\n : 0,\r\n nbrOfAttempts: m.nbrOfAttempts,\r\n activityPoints: m.maxActivityPoints\r\n ? m.activityPoints +\r\n \"/\" +\r\n m.maxActivityPoints +\r\n \" (\" +\r\n (m.activityPoints && m.maxActivityPoints > 0\r\n ? Math.round((m.activityPoints / m.maxActivityPoints) * 100)\r\n : 0) +\r\n \"%)\"\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 activityPointsPercentage: m.activityPoints\r\n ? Math.round((m.activityPoints / m.maxActivityPoints) * 100)\r\n : 0,\r\n scorePercentage: m.score ? Math.round((m.score / m.maxScore) * 100) : 0,\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 \" (\" +\r\n (studentToAdd.score && studentToAdd.maxScore > 0\r\n ? Math.round((studentToAdd.score / studentToAdd.maxScore) * 100)\r\n : 0) +\r\n \"%)\",\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 \" (\" +\r\n (studentToAdd.activityPoints && studentToAdd.maxActivityPoints > 0\r\n ? Math.round(\r\n (studentToAdd.activityPoints /\r\n studentToAdd.maxActivityPoints) *\r\n 100\r\n )\r\n : 0) +\r\n \"%)\",\r\n lastRun: moment(studentToAdd.lastRun).format(\"lll\"),\r\n scorePercent: studentToAdd.score\r\n ? Math.round((studentToAdd.score / studentToAdd.maxScore) * 100)\r\n : 0,\r\n activityPointsPercentage: studentToAdd.activityPoints\r\n ? Math.round(\r\n (studentToAdd.activityPoints /\r\n studentToAdd.maxActivityPoints) *\r\n 100\r\n )\r\n : 0,\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 intl,\r\n aplStudentSupervisors,\r\n isModifying,\r\n}) => {\r\n const [selectableUsers, setSelectableUsers] = useState([]);\r\n\r\n useEffect(() => {\r\n let UsersForSelect = [];\r\n\r\n aplStudentSupervisors.forEach((stud) => {\r\n let studentForSelect = {\r\n userType: \"Student\",\r\n value: isModifying ? stud.student : stud,\r\n label: isModifying ? stud.student.name : stud.name,\r\n };\r\n UsersForSelect.push(studentForSelect);\r\n stud.supervisors.forEach((sv) => {\r\n let supervisorForSelect = {\r\n userType: \"AplSupervisor\",\r\n value: isModifying ? sv.supervisor : sv,\r\n label: isModifying ? sv.supervisor.name : sv.name,\r\n };\r\n if (\r\n !UsersForSelect.some(\r\n (sv) => sv.value.id === supervisorForSelect.value.id\r\n )\r\n ) {\r\n UsersForSelect.push(supervisorForSelect);\r\n }\r\n });\r\n });\r\n setSelectableUsers(UsersForSelect);\r\n }, [aplDocumentsWithUsers, aplStudentSupervisors, isModifying]);\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 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 aplStudentSupervisors.forEach((stud) => {\r\n let studentForSelect = {\r\n userType: \"Student\",\r\n value: stud,\r\n label: stud.name,\r\n };\r\n if (!users.some((usr) => usr.value.id === studentForSelect.value.id)) {\r\n users.push(studentForSelect);\r\n }\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 aplStudentSupervisors.forEach((stud) => {\r\n stud.supervisors.forEach((sv) => {\r\n let supervisorForSelect = {\r\n userType: \"AplSupervisor\",\r\n value: isModifying ? sv.supervisor : sv,\r\n label: isModifying ? sv.supervisor.name : sv.name,\r\n };\r\n if (\r\n !users.some((usr) => usr.value.id === supervisorForSelect.value.id)\r\n ) {\r\n users.push(supervisorForSelect);\r\n }\r\n });\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 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 from \"react\";\r\nimport { Modal, ModalHeader, ModalBody, Button, ModalFooter } from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nexport default function PromtGeneric({\r\n onProceed,\r\n toggle,\r\n isOpen,\r\n title,\r\n text,\r\n}) {\r\n return (\r\n \r\n {title}\r\n {text}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState, useEffect, useRef, useCallback } from \"react\";\r\nimport { FormattedMessage, injectIntl } from \"react-intl\";\r\nimport Select from \"react-select\";\r\nimport {\r\n Button,\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Row,\r\n Col,\r\n} from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport PromptGeneric from \"../Modal/PromptGeneric\";\r\nimport { DeleteWorkCard } from \"../../actions/teacherMutations\";\r\nimport { useMutation, useQueryClient } from \"react-query\";\r\nimport { toast } from \"react-toastify\";\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 ? {\r\n value: defaultSelectedWorkCard,\r\n label: defaultSelectedWorkCard.name,\r\n }\r\n : aplWorkcard !== null\r\n ? { value: aplWorkcard, label: aplWorkcard.name }\r\n : null\r\n );\r\n const [selectableWorkCards, setSelectableWorkCards] = useState([]);\r\n const [isOpen, setIsOpen] = useState(false);\r\n const workCardSelectRef = useRef(null);\r\n const [workCardMenuIsOpen, setworkCardMenuIsOpen] = useState(false);\r\n const [workCardForPromptDelete, setWorkCardForPromptDelete] = useState(null);\r\n\r\n const queryClient = useQueryClient();\r\n const mutateDeleteWorkCard = useMutation(DeleteWorkCard);\r\n\r\n const handleChange = useCallback(\r\n (value) => {\r\n setAplValidationErrors(\r\n aplValidationErrors.filter((item) => item !== \"aplWorkcard\")\r\n );\r\n setSelectedWorkCard(value);\r\n setWorkcard(value.value);\r\n workCardSelectRef.current.blur();\r\n setworkCardMenuIsOpen(false);\r\n },\r\n [aplValidationErrors, setAplValidationErrors, setWorkcard]\r\n );\r\n\r\n useEffect(() => {\r\n let tempSelectableWorkCards = [];\r\n existingWorkCards.forEach((wc) => {\r\n let workcard = {\r\n value: wc,\r\n label: (\r\n \r\n {\r\n setWorkCardForPromptDelete(wc);\r\n }}\r\n >\r\n \r\n \r\n handleChange({ value: wc, label: wc.name })}\r\n >\r\n {wc.name}\r\n \r\n \r\n ),\r\n };\r\n tempSelectableWorkCards.push(workcard);\r\n });\r\n setSelectableWorkCards(tempSelectableWorkCards);\r\n }, [existingWorkCards, handleChange]);\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 const handleDeleteWorkCard = () => {\r\n mutateDeleteWorkCard.mutate(workCardForPromptDelete.id, {\r\n onSuccess: () => {\r\n queryClient.invalidateQueries([\"FetchWorkCards\"]);\r\n setWorkCardForPromptDelete(null);\r\n },\r\n throwOnError: true,\r\n onError: (data) => {\r\n setWorkCardForPromptDelete(null);\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 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\r\n setworkCardMenuIsOpen(true)}\r\n onBlur={() => setworkCardMenuIsOpen(false)}\r\n value={selectedWorkCard}\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 setWorkCardForPromptDelete(null);\r\n }}\r\n isOpen={workCardForPromptDelete !== null}\r\n title={}\r\n text={intl.formatMessage(\r\n { id: \"AreYouSureYouWantToDeleteWorkCardName\" },\r\n {\r\n name: workCardForPromptDelete?.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

    \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, CardBody } 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\nimport uuid from \"uuid\";\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 [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 [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 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 = (stud, supervisor) => {\r\n if (supervisor.value === \"Add\") {\r\n setAddNewSupervisorVisible(true);\r\n } else {\r\n if (!aplStudentSupervisors.some((student) => student.id === stud.id)) {\r\n setAplStudentSupervisors([\r\n ...aplStudentSupervisors,\r\n {\r\n ...stud,\r\n supervisors: [{ ...supervisor.value, isMainResponsible: true }],\r\n },\r\n ]);\r\n } else if (\r\n aplStudentSupervisors.find((student) => student.id === stud.id)\r\n .supervisors.length < 1\r\n ) {\r\n let tempAplStudentSupervisors = [...aplStudentSupervisors];\r\n tempAplStudentSupervisors\r\n .find((student) => student.id === stud.id)\r\n .supervisors.push({ ...supervisor.value, isMainResponsible: true });\r\n setAplStudentSupervisors(tempAplStudentSupervisors);\r\n } else {\r\n let tempAplStudentSupervisors = [...aplStudentSupervisors];\r\n if (\r\n !tempAplStudentSupervisors\r\n .find((student) => student.id === stud.id)\r\n .supervisors.some((sv) => sv.id === supervisor.value.id)\r\n ) {\r\n tempAplStudentSupervisors\r\n .find((student) => student.id === stud.id)\r\n .supervisors.push({ ...supervisor.value });\r\n setAplStudentSupervisors(tempAplStudentSupervisors);\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 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 handleRemoveSupervisorFromStudent = (supervisorId, studentId) => {\r\n let tempAplStudentSupervisors = [...aplStudentSupervisors];\r\n tempAplStudentSupervisors.find(\r\n (stud) => stud.id === studentId\r\n ).supervisors = tempAplStudentSupervisors\r\n .find((stud) => stud.id === studentId)\r\n .supervisors.filter((sv) => sv.id !== supervisorId);\r\n\r\n const student = tempAplStudentSupervisors.find(\r\n (stud) => stud.id === studentId\r\n );\r\n\r\n if (student && student.supervisors.length > 0) {\r\n const firstSupervisor = student.supervisors[0];\r\n firstSupervisor.isMainResponsible = true;\r\n student.supervisors[0] = firstSupervisor;\r\n }\r\n setAplStudentSupervisors(tempAplStudentSupervisors);\r\n };\r\n\r\n const handleRemoveStudentFromAplStudents = (student) => {\r\n setAplStudentSupervisors(\r\n aplStudentSupervisors.filter((stud) => stud.id !== student.id)\r\n );\r\n };\r\n\r\n const handleAddStudentToAplStudents = (student) => {\r\n setAplStudentSupervisors([\r\n ...aplStudentSupervisors,\r\n { ...student, supervisors: [] },\r\n ]);\r\n };\r\n\r\n const handleSetSupervisorResponsable = (studentId, supervisorId) => {\r\n let tempAplStudentSupervisors = [...aplStudentSupervisors];\r\n let index = tempAplStudentSupervisors.findIndex(\r\n (stud) => stud.id === studentId\r\n );\r\n tempAplStudentSupervisors[index].supervisors.forEach((sv) => {\r\n if (sv.id === supervisorId) {\r\n sv.isMainResponsible = true;\r\n } else {\r\n sv.isMainResponsible = false;\r\n }\r\n });\r\n setAplStudentSupervisors(tempAplStudentSupervisors);\r\n };\r\n\r\n const handleAddAllStudents = () => {\r\n const tempAplStudentSupervisors = [...aplStudentSupervisors];\r\n students.forEach((student) => {\r\n if (!tempAplStudentSupervisors.some((stud) => stud.id === student.id)) {\r\n tempAplStudentSupervisors.push({ ...student, supervisors: [] });\r\n }\r\n });\r\n setAplStudentSupervisors(tempAplStudentSupervisors);\r\n };\r\n\r\n const StudentSupervisors = ({ studentId }) => {\r\n const studentSupervisors = aplStudentSupervisors.some(\r\n (stud) => stud.id === studentId\r\n )\r\n ? aplStudentSupervisors.find((stud) => stud.id === studentId).supervisors\r\n : [];\r\n\r\n return studentSupervisors.map((ssv) => {\r\n return (\r\n \r\n handleRemoveSupervisorFromStudent(ssv.id, studentId)}\r\n >\r\n \r\n \r\n \r\n {ssv.isMainResponsible && (\r\n \r\n )}\r\n \r\n handleSetSupervisorResponsable(studentId, ssv.id)}\r\n >\r\n \r\n {ssv.name}{\" \"}\r\n {ssv.aplCompany?.name ? \" - \" + ssv.aplCompany.name : \"\"}\r\n \r\n \r\n \r\n );\r\n });\r\n };\r\n\r\n const StudentCards = () => {\r\n return students.map((stud) => {\r\n const studentIsAdded = aplStudentSupervisors.some(\r\n (student) => student.id === stud.id\r\n );\r\n return (\r\n \r\n \r\n \r\n \r\n studentIsAdded\r\n ? handleRemoveStudentFromAplStudents(stud)\r\n : handleAddStudentToAplStudents(stud)\r\n }\r\n >\r\n \r\n {studentIsAdded && (\r\n \r\n )}\r\n \r\n\r\n {stud.name}\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(stud, event)}\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n });\r\n };\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 handleAddAllStudents()}\r\n >\r\n \r\n \r\n \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 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 setInformationPersons,\r\n informationPersons,\r\n infoPersonUsers,\r\n setInfoPersonUsers,\r\n updateInfoPersonAddUsers,\r\n updateInfoPersonRemoveUsers,\r\n intl,\r\n aplStudentSupervisors,\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 aplStudentSupervisors.forEach((stud) => {\r\n UsersForSelect.push({\r\n userType: \"Student\",\r\n value: stud,\r\n label: stud.name,\r\n });\r\n stud.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, aplStudentSupervisors, 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 PostAplWorkCard,\r\n} from \"../../actions/teacherMutations\";\r\nimport { GetTeacherInformation } from \"../../actions/teacherQueries\";\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 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 [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 teacherInfo = GetTeacherInformation();\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\r\n const handleSetDaysPerWeek = (days) => {\r\n setAplDaysPerWeek(days);\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 var docs = [];\r\n let tempAplStudentSupervisors = [...aplStudentSupervisors];\r\n tempAplStudentSupervisors.forEach((stud) => {\r\n let studentToAdd = {\r\n studentId: stud.id,\r\n companyId: 4,\r\n supervisors: stud.supervisors,\r\n };\r\n if (studentToAdd.supervisors.length === 0) {\r\n studentToAdd.supervisors.push({\r\n ...teacherInfo.data,\r\n IsMainResponsible: true,\r\n });\r\n }\r\n participants.push(studentToAdd);\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 && aplStudentSupervisors.length === 0)\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, useQueryClient } from \"react-query\";\r\nimport styled from \"styled-components\";\r\nimport { Row, Col } from \"reactstrap/lib\";\r\nimport {\r\n Card,\r\n CardFooter,\r\n Carousel,\r\n CarouselItem,\r\n CarouselControl,\r\n CarouselIndicators,\r\n} from \"reactstrap\";\r\nimport SendIcon from \"@mui/icons-material/Send\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { IconButton, TextField } from \"@mui/material\";\r\nimport {\r\n PostWorkCardComment,\r\n SignWorkCardRegistration,\r\n} 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({\r\n item,\r\n date,\r\n level,\r\n periodId,\r\n objectId,\r\n}) {\r\n const [showComments, setShowComments] = useState(false);\r\n const [activeIndex, setActiveIndex] = useState(0);\r\n const toggle = () => {\r\n setShowComments(!showComments);\r\n setValue(\"\");\r\n };\r\n const [value, setValue] = useState(\"\");\r\n\r\n const queryClient = useQueryClient();\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 const signWorkCardRegistration = useMutation(SignWorkCardRegistration);\r\n\r\n const handleSignOrUnSignRegistration = () => {\r\n signWorkCardRegistration.mutate(\r\n {\r\n workRegistrationId: item.id,\r\n signed: !item.signedByTeacher,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n queryClient.refetchQueries(\r\n \"FetchEvents\",\r\n [level, periodId, objectId],\r\n {\r\n active: true,\r\n exact: true,\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 next = () => {\r\n const nextIndex =\r\n activeIndex === item.images.length - 1 ? 0 : activeIndex + 1;\r\n setActiveIndex(nextIndex);\r\n };\r\n\r\n const previous = () => {\r\n const nextIndex =\r\n activeIndex === 0 ? item.images.length - 1 : activeIndex - 1;\r\n setActiveIndex(nextIndex);\r\n };\r\n\r\n const goToIndex = (newIndex) => {\r\n setActiveIndex(newIndex);\r\n };\r\n\r\n const slides = item.images.map((image, i) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n });\r\n\r\n return (\r\n <>\r\n \r\n {item.signedBySupervisor && (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n {item.signedByTeacher && (\r\n
    \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\r\n {item.images.length > 0 && (\r\n \r\n \r\n \r\n {item.images.length > 1 && (\r\n \r\n )}\r\n {slides}\r\n {item.images.length > 1 && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \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 handleSignOrUnSignRegistration()}\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({\r\n studentEvents,\r\n level,\r\n periodId,\r\n objectId,\r\n}) {\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.signedBySupervisor)\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.signedBySupervisor)\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\nimport { FormattedMessage } from \"react-intl\";\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 { Nav, NavItem, NavLink, Button, Row, Col } 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 ({ ...base, zIndex: 9999 }),\r\n }}\r\n menuPosition={\"fixed\"}\r\n options={periodsToSelect}\r\n value={\r\n selectedPeriod\r\n ? selectedPeriod\r\n : { value: null, label: \"Välj period\" }\r\n }\r\n onChange={(event) => {\r\n handleSelectPeriod(event);\r\n }}\r\n placeholder=\"Välj 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\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, Button, Col, Row } 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\n \r\n \r\n ({ ...base, zIndex: 9999 }),\r\n }}\r\n menuPosition={\"fixed\"}\r\n options={periodsToSelect}\r\n value={\r\n selectedPeriod\r\n ? selectedPeriod\r\n : { value: null, label: \"Välj period\" }\r\n }\r\n onChange={(event) => {\r\n handleSelectPeriod(event);\r\n }}\r\n placeholder=\"Välj period\"\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 programId,\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 const [supervisorsInPeriod, setSupervisorsInPeriod] = useState([]);\r\n const [studentsInPeriod, setStudentsInPeriod] = useState([]);\r\n\r\n useEffect(() => {\r\n let UsersForSelect = [];\r\n let tempSupervisorsInPeriod = [];\r\n let tempStudentsInPeriod = [];\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 tempStudentsInPeriod.push(stud.student);\r\n stud.supervisors.forEach((sv) => {\r\n let supervisorForSelect = {\r\n userType: \"AplSupervisor\",\r\n value: sv.supervisor,\r\n label: sv.supervisor.name,\r\n };\r\n if (\r\n !tempSupervisorsInPeriod.some((supV) => supV.id === sv.supervisor.id)\r\n ) {\r\n tempSupervisorsInPeriod.push(sv.supervisor);\r\n }\r\n if (\r\n !UsersForSelect.some(\r\n (usr) => usr.value.id === supervisorForSelect.value.id\r\n )\r\n ) {\r\n UsersForSelect.push(supervisorForSelect);\r\n }\r\n });\r\n setSupervisorsInPeriod(tempSupervisorsInPeriod);\r\n setStudentsInPeriod(tempStudentsInPeriod);\r\n });\r\n setSelectableUsers(UsersForSelect);\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, 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 studentsInPeriod.forEach((stud) => {\r\n tempUsers.push(stud);\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 supervisorsInPeriod.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 { Modal, ModalBody, CardFooter, Button, Row } from \"reactstrap\";\r\nimport { useQueryClient, useMutation } from \"react-query\";\r\nimport { injectIntl } from \"react-intl\";\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 GetProgramPeriods,\r\n GetTeacherInformation,\r\n} from \"../../actions/teacherQueries\";\r\nimport { ChangeStudentsAndSupervisorsInPeriod } from \"../../actions/teacherMutations\";\r\nimport CreateAPLPeriodSupervisor from \"./CreateAPLPeriodSupervisor\";\r\n\r\nconst ModifySupervisorsModal = ({\r\n allSupervisors,\r\n allStudents,\r\n isOpen,\r\n toggle,\r\n period,\r\n listOfStudentIds,\r\n schoolId,\r\n level,\r\n objId,\r\n programTeachers,\r\n programId,\r\n}) => {\r\n const [newStudentsAndSupervisors, setNewStudentsAndSupervisors] = useState(\r\n []\r\n );\r\n const [selectableStudents, setSelectableStudents] = useState([]);\r\n const [promptRemoveStudents, setPromptRemoveStudents] = useState(false);\r\n const [studentsForRemoval, setStudentsForRemoval] = useState([]);\r\n const [allStudentsInPeriod, setAllStudentsInPeriod] = useState([]);\r\n const [studentsNotInLevelNotToChange, setStudentsNotInLevelNotToChange] =\r\n useState([]);\r\n const [postButtonDisabled, setPostButtonDisabled] = useState(true);\r\n const allPeriods = GetProgramPeriods(programId);\r\n\r\n const teacherInfo = GetTeacherInformation();\r\n\r\n const mutateChangeStudentsAndSupervisorsInPeriod = useMutation(\r\n ChangeStudentsAndSupervisorsInPeriod\r\n );\r\n\r\n const availableStudentIds = GetAvailableStudentsForPeriod({\r\n candidates: {\r\n periodId: period.period.id,\r\n candidateStudentIds: listOfStudentIds,\r\n },\r\n });\r\n\r\n const queryClient = useQueryClient();\r\n\r\n useEffect(() => {\r\n if (!allPeriods.isLoading && period?.period) {\r\n const tempAllPeriodStudents = [];\r\n const currentPeriod = allPeriods.data.find(\r\n (p) => p.period.id === period.period.id\r\n );\r\n currentPeriod.period?.students?.forEach((stud) => {\r\n const studentToAdd = {\r\n ...stud.student,\r\n companyId: stud.companyId,\r\n studentId: stud.student.id,\r\n supervisors: [],\r\n };\r\n stud.supervisors.forEach((studsup) => {\r\n const supervisorToAdd = {\r\n id: studsup.supervisor.id,\r\n aplCompany: { ...studsup.supervisor.aplCompany },\r\n name: studsup.supervisor.name,\r\n email: studsup.supervisor.email,\r\n userType: studsup.supervisor.userType,\r\n userTypeOf: studsup.supervisor.userTypeOf,\r\n activatedAccount: studsup.supervisor,\r\n deleted: studsup.supervisor.deleted,\r\n created: studsup.supervisor.created,\r\n isMainResponsible: studsup.isMainResponsible,\r\n };\r\n studentToAdd.supervisors.push(supervisorToAdd);\r\n });\r\n tempAllPeriodStudents.push(studentToAdd);\r\n });\r\n setAllStudentsInPeriod(tempAllPeriodStudents);\r\n }\r\n }, [allPeriods.data, allPeriods.isLoading, period]);\r\n\r\n useEffect(() => {\r\n const tempStudentsNotInLevelNotToChange = [];\r\n allStudentsInPeriod.forEach((stud) => {\r\n if (\r\n !period.period.students.some(\r\n (currstud) => currstud.student.id === stud.id\r\n )\r\n ) {\r\n tempStudentsNotInLevelNotToChange.push(stud);\r\n }\r\n });\r\n setStudentsNotInLevelNotToChange(tempStudentsNotInLevelNotToChange);\r\n setPostButtonDisabled(false);\r\n }, [allStudentsInPeriod, period.period.students]);\r\n\r\n useEffect(() => {\r\n if (\r\n period?.period &&\r\n availableStudentIds.data &&\r\n !availableStudentIds.isLoading &&\r\n !availableStudentIds.error\r\n ) {\r\n const tempNewStudentsAndSupervisors = [];\r\n period.period.students.forEach((stud) => {\r\n const studentToAdd = {\r\n ...stud.student,\r\n companyId: stud.companyId,\r\n studentId: stud.student.id,\r\n supervisors: [],\r\n };\r\n stud.supervisors.forEach((studsup) => {\r\n const supervisorToAdd = {\r\n id: studsup.supervisor.id,\r\n aplCompany: { ...studsup.supervisor.aplCompany },\r\n name: studsup.supervisor.name,\r\n email: studsup.supervisor.email,\r\n userType: studsup.supervisor.userType,\r\n userTypeOf: studsup.supervisor.userTypeOf,\r\n activatedAccount: studsup.supervisor,\r\n deleted: studsup.supervisor.deleted,\r\n created: studsup.supervisor.created,\r\n isMainResponsible: studsup.isMainResponsible,\r\n };\r\n studentToAdd.supervisors.push(supervisorToAdd);\r\n });\r\n tempNewStudentsAndSupervisors.push(studentToAdd);\r\n });\r\n setNewStudentsAndSupervisors(tempNewStudentsAndSupervisors);\r\n let tempAvailableStudents = [];\r\n const availableStudentsWithCurrentStudents = [\r\n ...availableStudentIds.data,\r\n ];\r\n tempNewStudentsAndSupervisors.forEach((stud) => {\r\n availableStudentsWithCurrentStudents.push(stud.id);\r\n });\r\n tempAvailableStudents = allStudents.filter((stud) =>\r\n availableStudentsWithCurrentStudents.includes(stud.id)\r\n );\r\n\r\n let tempStudentsForSorting = [];\r\n tempAvailableStudents.forEach((tempstud) => {\r\n if (\r\n !tempStudentsForSorting.some(\r\n (stud) => stud.id === tempstud.student.id\r\n )\r\n ) {\r\n let studentToAdd = { ...tempstud.student };\r\n tempStudentsForSorting.push(studentToAdd);\r\n }\r\n });\r\n\r\n setSelectableStudents(tempStudentsForSorting);\r\n }\r\n }, [\r\n period,\r\n availableStudentIds.isLoading,\r\n availableStudentIds.error,\r\n availableStudentIds.data,\r\n allStudents,\r\n ]);\r\n\r\n const saveChanges = () => {\r\n const allStudentsIncluded = period.period.students.every((oldStud) =>\r\n newStudentsAndSupervisors.some(\r\n (currStud) => currStud.id === oldStud.studentId\r\n )\r\n );\r\n if (allStudentsIncluded) {\r\n handlePostChanges();\r\n } else {\r\n const tempStudentsForRemoval = [];\r\n period.period.students.forEach((oldStud) => {\r\n if (\r\n !newStudentsAndSupervisors.some(\r\n (currStud) => currStud.id === oldStud.studentId\r\n )\r\n ) {\r\n tempStudentsForRemoval.push(oldStud);\r\n }\r\n });\r\n setStudentsForRemoval(tempStudentsForRemoval);\r\n setPromptRemoveStudents(true);\r\n }\r\n };\r\n\r\n const handlePostChanges = () => {\r\n setStudentsForRemoval([]);\r\n setPromptRemoveStudents(false);\r\n setPostButtonDisabled(true);\r\n const studentsToPost = [];\r\n newStudentsAndSupervisors.forEach((stud) => {\r\n let studentToAdd = {\r\n name: stud.name,\r\n companyId: stud.companyId,\r\n studentId: stud.id,\r\n supervisors: stud.supervisors,\r\n };\r\n if (studentToAdd.supervisors.length === 0) {\r\n studentToAdd.supervisors.push({\r\n ...teacherInfo.data,\r\n IsMainResponsible: true,\r\n });\r\n }\r\n studentsToPost.push(studentToAdd);\r\n });\r\n studentsNotInLevelNotToChange.forEach((stud) => studentsToPost.push(stud));\r\n\r\n mutateChangeStudentsAndSupervisorsInPeriod.mutate(\r\n {\r\n periodId: period.period.id,\r\n deleteMissing: true,\r\n students: studentsToPost,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n if (data && data.status > 199 && data.status < 300) {\r\n setPostButtonDisabled(false);\r\n toast.success();\r\n handleReloadSupervisors();\r\n toggle();\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 handleReloadSupervisors = () => {\r\n queryClient.invalidateQueries([\"FetchProgramPeriods\", [programId]]);\r\n queryClient.invalidateQueries([\"FetchPeriods\", [level, objId]]);\r\n };\r\n\r\n return (\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 saveChanges()}\r\n disabled={postButtonDisabled}\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=\"WillBeRemovedFromPeriod\"\r\n />\r\n }\r\n onProceed={handlePostChanges}\r\n danger={true}\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 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 programId,\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 [listOfStudentIds, setListOfStudentIds] = useState([]);\r\n const [allStudents, setAllStudents] = useState([]);\r\n const [supervisorsInPeriod, setSupervisorsInPeriod] = useState([]);\r\n\r\n useEffect(() => {\r\n if (period?.period) {\r\n const tempSupervisorsInPeriod = [];\r\n period.period.students.forEach((stud) => {\r\n stud.supervisors.forEach((sv) => {\r\n tempSupervisorsInPeriod.push({ ...sv.supervisor });\r\n });\r\n });\r\n setSupervisorsInPeriod(tempSupervisorsInPeriod);\r\n }\r\n }, [period]);\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 {period.period.students.map((stud) => {\r\n return (\r\n \r\n \r\n
    \r\n : {stud.student.name}\r\n \r\n \r\n {stud.supervisors.map((sv) => {\r\n return (\r\n \r\n \r\n {\r\n setSupervisor(sv.supervisor);\r\n toggleSupervisorInfo();\r\n }}\r\n >\r\n \r\n :{\" \"}\r\n {sv.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 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 const hasStudentAccess = doc.documentAccesses.some(\r\n (user) =>\r\n user.userType === \"Student\" &&\r\n students.some((stud) => stud.id === user.id)\r\n );\r\n\r\n const hasAplSupervisorWithCorrectAccess =\r\n doc.documentAccesses.every(\r\n (user) => user.userType === \"AplSupervisor\"\r\n ) ||\r\n doc.documentAccesses.some(\r\n (user) =>\r\n user.userType === \"AplSupervisor\" &&\r\n students.some((stud) => stud.id === user.id)\r\n );\r\n return hasStudentAccess || hasAplSupervisorWithCorrectAccess;\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 period.period.students.forEach((student) => {\r\n participantIds.push(student.id);\r\n student.supervisors.forEach((supervisor) => {\r\n participantIds.push(supervisor.id);\r\n });\r\n });\r\n\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(\r\n doc.users[index].value.student\r\n ? doc.users[index].value.student.id\r\n : 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, { 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, 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\nimport { useMutation, useQueryClient } from \"react-query\";\r\nimport {\r\n SetAttendanceValidity,\r\n PostAbsence,\r\n} from \"../../actions/teacherMutations\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nexport default function APLPresenceCheckTable({\r\n presenceData,\r\n absence,\r\n periodId,\r\n studentId,\r\n level,\r\n objId,\r\n}) {\r\n const [checkIns, setCheckIns] = useState([]);\r\n const [checkOuts, setCheckOuts] = useState([]);\r\n const [mapIsOpen, setMapIsOpen] = useState(false);\r\n const [markersWithPosition, setMarkersWithPosition] = useState([]);\r\n const [markersData, setMarkersData] = useState([]);\r\n const setAttendanceValidity = useMutation(SetAttendanceValidity);\r\n const postAbsence = useMutation(PostAbsence);\r\n\r\n const queryClient = useQueryClient();\r\n\r\n useEffect(() => {\r\n let locationMarkers = [];\r\n presenceData.attendanceThisDay?.points.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 }, [presenceData]);\r\n\r\n useEffect(() => {\r\n let tempCheckins = [];\r\n let tempCheckouts = [];\r\n let tempMarkersWithPos = [];\r\n markersData.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 }, [markersData]);\r\n\r\n const showMap = () => {\r\n setMapIsOpen(true);\r\n };\r\n\r\n const checkIfPositionExists = () => {\r\n var noPositionFound = true;\r\n presenceData.attendanceThisDay?.points.forEach((pr) => {\r\n if (pr.latitute !== null && pr.longitude !== null) {\r\n noPositionFound = false;\r\n }\r\n });\r\n return noPositionFound;\r\n };\r\n\r\n const handleSetValidity = (wasPresent) => {\r\n setAttendanceValidity.mutate(\r\n {\r\n attendanceDay: presenceData.day,\r\n wasPresent: wasPresent,\r\n studentId: studentId,\r\n periodId: periodId,\r\n },\r\n {\r\n onSuccess: () => {\r\n toast.success();\r\n queryClient.invalidateQueries([\r\n \"FetchAttendanceStatuses\",\r\n [level, periodId, 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\r\n const handleAddAbsence = () => {\r\n postAbsence.mutate(\r\n {\r\n studentId: studentId,\r\n absenceDay: presenceData.day,\r\n timeFrom: \"0700\",\r\n timeTo: \"1600\",\r\n comment: \"\",\r\n isWholeDay: false,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n toast.success();\r\n queryClient.invalidateQueries([\r\n \"FetchAttendanceStatuses\",\r\n [level, periodId, 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\r\n return (\r\n \r\n \r\n showMap()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n handleAddAbsence()}\r\n >\r\n \r\n \r\n\r\n handleSetValidity(true)}\r\n >\r\n \r\n \r\n\r\n handleSetValidity(false)}\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 :\r\n \r\n \r\n {presenceData.absencesThisDay.map((ab, i) => {\r\n return (\r\n \r\n {ab.timeFrom}\r\n {ab.timeTo}\r\n {ab.comment}\r\n \r\n {ab.isCreatedByTeacher ? (\r\n \r\n ) : (\r\n \r\n )}\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 { useState, useEffect, useRef } from \"react\";\r\nimport { format, isSameDay, parseISO } from \"date-fns\";\r\nimport { sv } from \"date-fns/locale\";\r\nimport { Row, Col, Card, CardTitle, CardBody } from \"reactstrap\";\r\nimport moment from \"moment\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport APLPresenceCheckTable from \"./APLPresenceCheckTable\";\r\n\r\nexport default function APLPresenceWeeksView({\r\n attendanceByWeek,\r\n studentId,\r\n objId,\r\n level,\r\n activePeriodId,\r\n}) {\r\n const [currentWeekIndex, setCurrentWeekIndex] = useState(0);\r\n const [selectedDate, setSelectedDate] = useState(new Date());\r\n const [selectedDayData, setSelectedDayData] = useState(null);\r\n const [weekIntervals, setWeekIntervals] = useState([[]]);\r\n\r\n const today = useRef(new Date());\r\n const numberOfWeeksToShow = useRef(4);\r\n const dateFormatDayName = \"EEE\";\r\n const dateFormatDayNumber = \"d\";\r\n const dateFormatDayNumberOfWeek = \"i\";\r\n const dateFormatWeekNumber = \"I\";\r\n const dateFormatYear = \"yyyy\";\r\n\r\n useEffect(() => {\r\n const tempWeekIntervals = [];\r\n const currentWeekNumber = format(today.current, dateFormatWeekNumber, {\r\n locale: sv,\r\n });\r\n const currentYear = format(today.current, dateFormatYear, {\r\n locale: sv,\r\n });\r\n\r\n for (\r\n let i = 0;\r\n i < attendanceByWeek.data.weeks.length;\r\n i += numberOfWeeksToShow.current\r\n ) {\r\n const chunk = attendanceByWeek.data.weeks.slice(\r\n i,\r\n i + numberOfWeeksToShow.current\r\n );\r\n tempWeekIntervals.push(chunk);\r\n }\r\n let currentWeekChunk = 0;\r\n tempWeekIntervals.forEach((interval, i) => {\r\n if (\r\n interval.some(\r\n (weeks) =>\r\n weeks.weekNumber === Number(currentWeekNumber) &&\r\n weeks.year === Number(currentYear)\r\n )\r\n ) {\r\n currentWeekChunk = i;\r\n }\r\n });\r\n setWeekIntervals(tempWeekIntervals);\r\n setCurrentWeekIndex(currentWeekChunk);\r\n }, [activePeriodId, today, attendanceByWeek.data.weeks]);\r\n\r\n const renderHeader = () => {\r\n const dateFormat = \"MMM yyyy\";\r\n const startOfCurrentTimeSpan = parseISO(\r\n weekIntervals[currentWeekIndex][0]?.attendanceForStudents[0]?.day\r\n );\r\n const endOfCurrentTimeSpan = parseISO(\r\n weekIntervals[currentWeekIndex]?.at(-1)?.attendanceForStudents?.at(-1).day\r\n );\r\n\r\n if (weekIntervals[currentWeekIndex][0]) {\r\n return (\r\n \r\n \r\n \r\n {format(startOfCurrentTimeSpan, dateFormat, { locale: sv })} -{\" \"}\r\n {format(endOfCurrentTimeSpan, dateFormat, { locale: sv })}\r\n \r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n const renderDaysAndCells = () => {\r\n const cells = [];\r\n const statusClassMap = {\r\n HadNoRegistrations: \"no-registrations\",\r\n WasPresent: \"present\",\r\n HadAbsence: \"absent\",\r\n };\r\n\r\n const attendanceData = weekIntervals[currentWeekIndex]?.flatMap((week) =>\r\n week.attendanceForStudents.filter(\r\n (record) => record.studentId === studentId\r\n )\r\n );\r\n\r\n attendanceData?.forEach((item) => {\r\n const formattedDayName = format(parseISO(item.day), dateFormatDayName, {\r\n locale: sv,\r\n });\r\n const formattedDayNumber = format(\r\n parseISO(item.day),\r\n dateFormatDayNumber,\r\n {\r\n locale: sv,\r\n }\r\n );\r\n const formattedDayNumberOfWeek = format(\r\n parseISO(item.day),\r\n dateFormatDayNumberOfWeek,\r\n {\r\n locale: sv,\r\n }\r\n );\r\n const formattedWeekNumber = format(\r\n parseISO(item.day),\r\n dateFormatWeekNumber,\r\n {\r\n locale: sv,\r\n }\r\n );\r\n\r\n const statusClass = item ? statusClassMap[item.status] || \"\" : \"no-data\";\r\n if (\r\n item &&\r\n formattedDayNumberOfWeek < 6 &&\r\n parseISO(item.day) <= today.current\r\n ) {\r\n cells.push(\r\n \r\n {formattedDayNumberOfWeek === \"1\" && (\r\n \r\n v. {formattedWeekNumber}\r\n \r\n )}\r\n \r\n {formattedDayName}\r\n \r\n onDateClickHandle(parseISO(item.day), item)}\r\n >\r\n {formattedDayNumber}\r\n \r\n {formattedDayNumber}\r\n \r\n \r\n \r\n );\r\n }\r\n });\r\n\r\n return (\r\n <>\r\n \r\n {currentWeekIndex > 0 ? (\r\n changeWeekHandle(\"prev\")}\r\n >\r\n \r\n \r\n ) : (\r\n \r\n )}\r\n <>{cells}\r\n\r\n {currentWeekIndex + 1 < weekIntervals.length && (\r\n changeWeekHandle(\"next\")}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n };\r\n\r\n const onDateClickHandle = (day, attendanceRecord) => {\r\n setSelectedDate(day);\r\n setSelectedDayData(attendanceRecord);\r\n };\r\n\r\n const changeWeekHandle = (btnType) => {\r\n if (btnType === \"prev\") {\r\n setCurrentWeekIndex(currentWeekIndex - 1);\r\n } else if (btnType === \"next\") {\r\n setCurrentWeekIndex(currentWeekIndex + 1);\r\n }\r\n };\r\n\r\n const renderDetails = () => {\r\n if (selectedDayData?.day) {\r\n return (\r\n \r\n \r\n \r\n {moment(selectedDayData?.day).format(\"Do MMMM YYYY\")}\r\n setSelectedDayData(null)}\r\n >\r\n x\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 if (weekIntervals.length >= 1) {\r\n return (\r\n
    \r\n {renderHeader()}\r\n {renderDaysAndCells()}\r\n {selectedDayData !== null && renderDetails()}\r\n
    \r\n );\r\n } else {\r\n return null;\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 { Button, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport { GetFoodCompensationStatus } from \"../../actions/teacherQueries\";\r\nimport moment from \"moment\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nexport default function FoodCompensationInformationForStudentModal({\r\n close,\r\n isOpen,\r\n student,\r\n periodId,\r\n}) {\r\n const foodCompensationData = GetFoodCompensationStatus(student.id, periodId);\r\n\r\n if (foodCompensationData.isLoading) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {foodCompensationData.data?.length > 0 ? (\r\n
    \r\n

    \r\n {student.name}{\" \"}\r\n \r\n :\r\n

    \r\n {foodCompensationData.data.map((item) => {\r\n return
    {moment(item.day).format(\"Do MMMM YYYY\")}
    ;\r\n })}\r\n
    \r\n ) : (\r\n \r\n {student.name}{\" \"}\r\n \r\n \r\n )}\r\n
    \r\n \r\n close()}\r\n className={\"float-right\"}\r\n outline\r\n color=\"primary\"\r\n >\r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport APLPresenceWeeksView from \"./APLPresenceWeeksView\";\r\nimport { GetAttendanceStatuses } from \"../../actions/teacherQueries\";\r\nimport Pacmanloader from \"../../components/Pacmanloader/Pacmanloader\";\r\nimport { Col, Row, Card, CardBody, Tooltip, Button } from \"reactstrap\";\r\nimport APLPresenceColorInfo from \"./APLPresenceColorInfo\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport FoodCompensationInformationForStudentModal from \"../Modal/FoodCompensationInformationForStudentModal\";\r\n\r\nexport default function APLPresence({\r\n students,\r\n objId,\r\n level,\r\n activePeriodId,\r\n periodStart,\r\n periodEnd,\r\n}) {\r\n const attendanceByWeek = GetAttendanceStatuses(level, activePeriodId, objId);\r\n const [attendingStudents, setAttendingStudents] = useState([]);\r\n const [notAttendingStudents, setNotAttendingStudents] = useState([]);\r\n const [attendingTooltipIsOpen, setAttendingTooltipIsOpen] = useState(false);\r\n const [notAttendingTooltipIsOpen, setNotAttendingTooltipIsOpen] =\r\n useState(false);\r\n const [studentForFoodCompensation, setStudentForFoodCompensation] =\r\n useState(null);\r\n\r\n useEffect(() => {\r\n if (!attendanceByWeek.isLoading) {\r\n const tempAttendingStudents = [];\r\n const tempNotAttendingStudents = [];\r\n\r\n students.forEach((stud) => {\r\n const studentStatus = attendanceByWeek.data.checkedInStatus.find(\r\n (statusStud) => statusStud.studentId === stud.studentId\r\n );\r\n if (studentStatus.isCheckedIn) {\r\n tempAttendingStudents.push({\r\n studentId: studentStatus.studentId,\r\n name: students.find((st) => st.studentId === stud.studentId).student\r\n .name,\r\n });\r\n } else {\r\n tempNotAttendingStudents.push({\r\n studentId: studentStatus.studentId,\r\n name: students.find((st) => st.studentId === stud.studentId).student\r\n .name,\r\n });\r\n }\r\n });\r\n setAttendingStudents(tempAttendingStudents);\r\n setNotAttendingStudents(tempNotAttendingStudents);\r\n }\r\n }, [\r\n activePeriodId,\r\n attendanceByWeek.isLoading,\r\n attendanceByWeek.data,\r\n students,\r\n ]);\r\n\r\n const toggleAttendingToolTip = () =>\r\n setAttendingTooltipIsOpen(!attendingTooltipIsOpen);\r\n const toggleNotAttendingToolTip = () =>\r\n setNotAttendingTooltipIsOpen(!notAttendingTooltipIsOpen);\r\n\r\n if (attendanceByWeek.isLoading) {\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 {attendingStudents.length} \r\n \r\n \r\n {attendingStudents.map((stud) => {\r\n return (\r\n \r\n {stud.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 {notAttendingStudents.length} \r\n \r\n \r\n {notAttendingStudents.map((stud) => {\r\n return (\r\n \r\n {stud.name}\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n {students.map((student) => {\r\n const studentCheckedIn = attendanceByWeek.data.checkedInStatus.find(\r\n (studStatus) => studStatus.studentId === student.studentId\r\n ).isCheckedIn;\r\n return (\r\n \r\n \r\n \r\n {studentCheckedIn ? (\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n \r\n {student.student.name}{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setStudentForFoodCompensation({\r\n name: student.student.name,\r\n id: student.studentId,\r\n })\r\n }\r\n size=\"sm\"\r\n outline\r\n color=\"primary\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {!attendanceByWeek.isLoading && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n {studentForFoodCompensation !== null && (\r\n setStudentForFoodCompensation(null)}\r\n isOpen={studentForFoodCompensation !== null}\r\n student={studentForFoodCompensation}\r\n periodId={activePeriodId}\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 { Row, Col, Button, Card } 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 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 GetEvaluations,\r\n GetEvaluationQuestions,\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 { 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\nimport APLPresence from \"./APLPresence\";\r\n\r\nconst APL = ({ level, students, objId, schoolId, intl, programId }) => {\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 [studentParticipation, setStudentParticipation] = 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 //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 evaluationsData = GetEvaluations(activePeriodId);\r\n const evaluationQuestionsData = GetEvaluationQuestions(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 tempPeriod.period.students.sort((a, b) => {\r\n let nameA = a.student.name.toUpperCase();\r\n let nameB = b.student.name.toUpperCase();\r\n if (nameA < nameB) {\r\n return -1;\r\n }\r\n if (nameA > nameB) {\r\n return 1;\r\n }\r\n return 0;\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 /****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 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 students.some(\r\n (studentInLevel) => studentInLevel.id === st.student.id\r\n )\r\n )}\r\n objId={objId}\r\n level={level}\r\n activePeriodId={activePeriodId}\r\n periodStart={period.period.from}\r\n periodEnd={period.period.to}\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\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\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 ) {\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\nimport uuid from \"uuid\";\r\n\r\nexport default function TeacherAboutUs() {\r\n const [contactInfo, setContactInfo] = useState(null);\r\n\r\n useEffect(() => {\r\n axios\r\n .get(`${process.env.PUBLIC_URL}/settings.json?rndstr=${uuid()}`)\r\n .then((res) => {\r\n setContactInfo(res.data);\r\n });\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 const index = this.props.customerLicenses.result.findIndex(item => item.id === this.state.updateLicense.id);\r\n\r\n this.props.customerLicenses.result[index].fortNoxCostCenter =\r\n this.state.fortNoxCostCenter;\r\n this.props.customerLicenses.result[index].fortNoxNumber =\r\n this.state.fortNoxNbrPrgLic;\r\n this.props.customerLicenses.result[index].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 key={\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 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 .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(\"/Course/SetModuleOrder\", {\r\n ParentId: postData.courseId,\r\n SortedChildIds: postData.orderedModuleIds,\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\r\nexport const SetCourseSortOrder = async (postData) => {\r\n const data = await axios\r\n .post(\"/Course/SetCourseOrder\", {\r\n ParentId: postData.programId,\r\n SortedChildIds: postData.orderedCourseIds,\r\n })\r\n .catch((err) => {\r\n return errorMessage(err);\r\n });\r\n return data;\r\n};\r\n\r\nexport const AddNewProgram = async (postData) => {\r\n const data = await axios\r\n .post(\r\n `/ProgramLicense/AddFortNoxProgram?ProgramName=${postData.ProgramName}&FortNoxNumberStudentLicense=${postData.FortNoxNumberStudentLicense}&FortNoxNumberSchoolLicense=${postData.FortNoxNumberSchoolLicense}&CostCenter=${postData.CostCenter}&PriceList=${postData.PriceList}`\r\n )\r\n .catch((err) => {\r\n return err;\r\n });\r\n return data;\r\n};\r\n\r\nexport const EditSchoolGrouping = async (postData) => {\r\n const data = await axios\r\n .put(\r\n `/School/EditSchoolGrouping`,\r\n JSON.stringify(postData.customers, null, 1),\r\n { headers: { \"Content-Type\": \"application/json\" } }\r\n )\r\n .catch((err) => {\r\n return err;\r\n });\r\n return data;\r\n};\r\n\r\nexport const EditSchoolGroupName = async (postData) => {\r\n const data = await axios\r\n .put(`/School/EditGroup`, { Id: postData.id, Name: postData.name })\r\n .catch((err) => {\r\n return err;\r\n });\r\n return data;\r\n};\r\n\r\nexport const CreateSchoolGroup = async (postData) => {\r\n const data = await axios\r\n .post(`/School/CreateGroup/${postData.name}`)\r\n .catch((err) => {\r\n return err;\r\n });\r\n return data;\r\n};\r\n\r\nexport const DeleteSchoolGroup = async (postData) => {\r\n const data = await axios\r\n .delete(`/School/DeleteSchoolGroup?groupId=${postData.groupId}`)\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.group ? school.group.name : \"\"}\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 Grupp\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 { useQuery } from \"react-query\";\r\nimport axios from \"../services/api/api\";\r\n\r\nconst FetchLicenseManagementCustomers = async () => {\r\n const res = await axios.get(`/LicMgt/GetCustomers`);\r\n return res.data.result;\r\n};\r\nexport function GetLicenseManagementCustomers() {\r\n return useQuery(\r\n [\"FetchLicenseManagementCustomers\"],\r\n () => FetchLicenseManagementCustomers(),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchLicenseManagementCourses = async () => {\r\n const res = await axios.get(`/LicMgt/GetCourses`);\r\n return res.data.result;\r\n};\r\nexport function GetLicenseManagementCourses() {\r\n return useQuery(\r\n [\"FetchLicenseManagementCourses\"],\r\n () => FetchLicenseManagementCourses(),\r\n {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n }\r\n );\r\n}\r\n\r\nconst FetchCustomerGroups = async () => {\r\n const res = await axios.get(`/School/GetGroups`);\r\n return res.data.result;\r\n};\r\nexport function GetCustomerGroups() {\r\n return useQuery([\"FetchCustomerGroups\"], () => FetchCustomerGroups(), {\r\n retry: 3,\r\n refetchOnWindowFocus: false,\r\n });\r\n}\r\n","import React from \"react\";\r\nimport {\r\n Row,\r\n Col,\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n Badge,\r\n Input,\r\n Button,\r\n} from \"reactstrap\";\r\nimport Select from \"react-select\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\nexport default function GroupCard({\r\n group,\r\n setNewChanges,\r\n newChanges,\r\n currentSchools,\r\n setCurrentSchools,\r\n allSchools,\r\n changedNames,\r\n setChangedNames,\r\n setPromptForDelete,\r\n}) {\r\n const handleRemoveSchoolFromGroup = (schoolId) => {\r\n let tempSchools = [...currentSchools];\r\n let currentSchool = tempSchools.find((sch) => sch.id === schoolId);\r\n if (currentSchool.isPendingAdded) {\r\n setNewChanges(\r\n newChanges.filter((school) => school.schoolId !== schoolId)\r\n );\r\n currentSchool.group = null;\r\n } else {\r\n currentSchool.group = null;\r\n setNewChanges([...newChanges, { schoolId: schoolId, groupId: null }]);\r\n }\r\n setCurrentSchools(tempSchools);\r\n };\r\n\r\n const handleAddSchoolsToGroup = (school) => {\r\n let tempSchools = [...currentSchools];\r\n let currentSchool = tempSchools.find((sch) => sch.id === school.value.id);\r\n currentSchool.group = group;\r\n currentSchool.isPendingAdded = true;\r\n setCurrentSchools(tempSchools);\r\n if (newChanges.some((sch) => sch.schoolId === school.value.id)) {\r\n let currentSchoolChanges = newChanges.find(\r\n (sch) => sch.schoolId === school.value.id\r\n );\r\n currentSchoolChanges.group = group.id;\r\n } else {\r\n setNewChanges([\r\n ...newChanges,\r\n { schoolId: school.value.id, group: group.id },\r\n ]);\r\n }\r\n };\r\n\r\n const handleSetNewName = (newName) => {\r\n if (newName.trim() !== \"\") {\r\n if (changedNames.some((gr) => gr.id === group.id)) {\r\n const tempChangesNames = JSON.parse(JSON.stringify(changedNames));\r\n tempChangesNames.find((tcn) => tcn.id === group.id).name = newName;\r\n setChangedNames(tempChangesNames);\r\n } else {\r\n setChangedNames([\r\n ...changedNames,\r\n { id: group.id, name: newName.trim() },\r\n ]);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n setPromptForDelete(group)}\r\n >\r\n \r\n \r\n \r\n \r\n handleSetNewName(data.target.value)}\r\n />\r\n \r\n \r\n ({ ...base, zIndex: 9999 }) }}\r\n menuPortalTarget={document.body}\r\n placeholder=\"Lägg till i grupp\"\r\n onChange={(selected) => handleAddSchoolsToGroup(selected)}\r\n options={allSchools\r\n .filter((school) => school.group === null)\r\n .map((option) => ({\r\n label: option.name,\r\n value: option,\r\n clearableValue: true,\r\n }))}\r\n />\r\n \r\n \r\n \r\n \r\n {currentSchools\r\n .filter((school) => school.group !== null)\r\n .filter((schoolWithGroup) => schoolWithGroup.group.id === group.id)\r\n .map((sch) => {\r\n return (\r\n \r\n {sch.name}\r\n handleRemoveSchoolFromGroup(sch.id)}\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 Button,\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Input,\r\n Row,\r\n Col,\r\n} from \"reactstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { GetCustomerGroups } from \"../../actions/superUserQueries\";\r\nimport { useQuery, useMutation } from \"react-query\";\r\nimport GroupCard from \"../Groups/GroupCard\";\r\nimport {\r\n EditSchoolGroupName,\r\n CreateSchoolGroup,\r\n EditSchoolGrouping,\r\n DeleteSchoolGroup,\r\n} from \"../../actions/superUserMutations\";\r\nimport { toast } from \"react-toastify\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { fetchSchoolsForAdmin } from \"../../actions/schoolActions\";\r\nimport ConfirmDialog from \"./ConfirmDialog\";\r\n\r\nexport default function EditGroupsModal({ close, isOpen, schools }) {\r\n const [addNewGroupOpen, setAddNewGroupOpen] = useState(false);\r\n const [newGroupName, setNewGroupName] = useState(\"\");\r\n const [newChanges, setNewChanges] = useState([]);\r\n const [currentSchools, setCurrentSchools] = useState(\r\n structuredClone(schools)\r\n );\r\n const [changedNames, setChangedNames] = useState([]);\r\n const [promptForDelete, setPromptForDelete] = useState(null);\r\n const [updateMade, setUpdateMade] = useState(false);\r\n\r\n const groups = useQuery(\"FetchCustomerGroups\", GetCustomerGroups());\r\n\r\n const handleEditSchoolGroupName = useMutation(EditSchoolGroupName);\r\n const handleCreateSchoolGroup = useMutation(CreateSchoolGroup);\r\n const handleEditSchoolGrouping = useMutation(EditSchoolGrouping);\r\n const handleDeleteSchoolGroup = useMutation(DeleteSchoolGroup);\r\n const dispatch = useDispatch();\r\n\r\n const onProceed = () => {\r\n handleChangeNames();\r\n if (newChanges.length > 0) {\r\n handleChangeGroups();\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (updateMade) {\r\n dispatch(fetchSchoolsForAdmin());\r\n close();\r\n setUpdateMade(false);\r\n }\r\n }, [updateMade, close, dispatch]);\r\n\r\n const handleDeleteGroup = () => {\r\n handleDeleteSchoolGroup.mutate(\r\n {\r\n groupId: promptForDelete.id,\r\n },\r\n {\r\n onSuccess: () => {\r\n groups.refetch();\r\n toast.success();\r\n setPromptForDelete(null);\r\n },\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n };\r\n\r\n const handleChangeGroups = () => {\r\n const schoolsToPost = [];\r\n newChanges.forEach((groupCoupling) => {\r\n schoolsToPost.push({\r\n CustomerId: groupCoupling.schoolId,\r\n GroupId: groupCoupling.group,\r\n });\r\n });\r\n handleEditSchoolGrouping.mutate(\r\n {\r\n customers: schoolsToPost,\r\n },\r\n {\r\n onSuccess: () => {\r\n toast.success();\r\n setUpdateMade(true);\r\n setNewChanges([]);\r\n },\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n };\r\n\r\n const handleChangeNames = () => {\r\n const namesToPost = [];\r\n changedNames.forEach((item) => {\r\n if (\r\n groups.data.find((group) => group.id === item.id).name !== item.name\r\n ) {\r\n namesToPost.push(item);\r\n }\r\n });\r\n namesToPost.forEach((change) => {\r\n handleEditSchoolGroupName.mutate(\r\n {\r\n id: change.id,\r\n name: change.name,\r\n },\r\n {\r\n onSuccess: () => {\r\n setUpdateMade(true);\r\n toast.success();\r\n },\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 handlePostNewGroup = () => {\r\n handleCreateSchoolGroup.mutate(\r\n {\r\n name: newGroupName,\r\n },\r\n {\r\n onSuccess: () => {\r\n groups.refetch();\r\n toast.success();\r\n },\r\n onError: (data) => {\r\n toast.warn(data.response.data);\r\n },\r\n }\r\n );\r\n setNewGroupName(\"\");\r\n setAddNewGroupOpen(false);\r\n };\r\n\r\n const handleCloseModal = () => {\r\n setCurrentSchools(structuredClone(schools));\r\n close();\r\n };\r\n\r\n const addNewGroup = () => {\r\n if (addNewGroupOpen) {\r\n return (\r\n <>\r\n \r\n setNewGroupName(data.target.value)}\r\n >\r\n \r\n \r\n {\r\n setNewGroupName(\"\");\r\n setAddNewGroupOpen(false);\r\n }}\r\n >\r\n \r\n \r\n\r\n handlePostNewGroup()}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n setAddNewGroupOpen(true)}\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 {addNewGroup()}\r\n \r\n {groups.data?.map((group) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n setPromptForDelete(null)}\r\n title={}\r\n message={\r\n \"Är du säker på att du vill ta bort \" + promptForDelete?.name + \"?\"\r\n }\r\n onProceed={handleDeleteGroup}\r\n />\r\n \r\n );\r\n}\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\nimport EditGroupsModal from \"../../components/Modal/EditGroupsModal\";\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 editGroupsModalIsOpen: 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 (school.group != null &&\r\n school.group.name\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 this.setState({ editGroupsModalIsOpen: true })}\r\n >\r\n Redigera grupper\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 this.setState({ editGroupsModalIsOpen: false })}\r\n schools={schools}\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 useEffect(() => {\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 }, [selectedCourse, bgRef]);\r\n\r\n const selectCourse = (course) => {\r\n setSelectedCourse(\r\n selectedCourse && selectedCourse.id === course.id ? null : course\r\n );\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 closeCourse = () => {\r\n setSelectedCourse(null);\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 isFromApp: false,\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 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(\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 //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 isFromApp: props.isFromApp,\r\n })\r\n .then((response) => {\r\n if (response.data.code === \"999\") {\r\n toast.success(\r\n response.data.isFromApp ? (\r\n \r\n ) : (\r\n \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 (response.data.isFromApp) {\r\n window.location.replace(\r\n `${BASE_LOGIN_REDIRECT_URL}/lwc#/password/redirectToApp`\r\n );\r\n } else {\r\n window.location.replace(`${BASE_LOGIN_REDIRECT_URL}/`);\r\n }\r\n },\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 { useState, useEffect, useMemo } from \"react\";\r\nimport axios from \"../../services/api/api\";\r\nimport UpdatePasswordForm from \"../../components/Forms/UpdatePasswordForm\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nfunction UpdatePassword() {\r\n const [hash, setHash] = useState(null);\r\n\r\n function useQuery() {\r\n const { search } = useLocation();\r\n\r\n return useMemo(() => new URLSearchParams(search), [search]);\r\n }\r\n let query = useQuery();\r\n\r\n const isFromApp = query.get(\"isFromApp\");\r\n\r\n const indexStartOfCheck =\r\n window.location.toString().indexOf(\"check=\") + \"check=\".length;\r\n\r\n const check = window.location\r\n .toString()\r\n .substring(\r\n indexStartOfCheck,\r\n window.location.toString().indexOf(\"&isFromApp\")\r\n );\r\n\r\n useEffect(() => {\r\n if (check) {\r\n axios\r\n .post(\"/password/validate\", {\r\n hash: check,\r\n })\r\n .then((response) => {\r\n setHash(response.data.result);\r\n })\r\n .catch(() => {\r\n setHash(null);\r\n });\r\n }\r\n }, [check]);\r\n\r\n return ;\r\n}\r\n\r\nexport default UpdatePassword;\r\n","import React, { useEffect } from \"react\";\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} from \"reactstrap\";\r\nimport { Format } from \"react-intl-format\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nfunction PasswordResetAppRedirect() {\r\n const appLink = \"com.aplby.learnware://\";\r\n\r\n useEffect(() => {\r\n window.location.replace(appLink);\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 window.location.replace(appLink)}\r\n >\r\n \r\n \r\n
    \r\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 PasswordResetAppRedirect;\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 PasswordResetAppRedirect from \"./views/AppRedirect/PasswordResetAppRedirect\";\r\n\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":""}