admin panel changes

This commit is contained in:
Maciek Głowacki
2020-12-12 20:32:09 +01:00
parent e3a1b280e0
commit 54027d1980
6 changed files with 34 additions and 19 deletions

View File

@ -26,12 +26,13 @@ interface CourseContext {
restoreGroupInBasket: (restoreGroup: Group, courseId: number) => void;
deleteFromBasket: (id: number) => void;
saveBasket: (userID: string) => Promise<void>;
getUserID: (userID: string) => Promise<void>;
changeStudent: (studentId: string) => void;
selectSchedulerEvents: () => Array<SchedulerEvent>;
selectBasketNames: () => Array<string>;
selectBasketCourses: () => Array<Course>;
selectBasketCourseGroups: (courseId: number) => { lecture: Group | undefined; classes: Group | undefined };
getUserTimetable: (userID: string) => Promise<void>;
getNewestStudentTimetable: (studentId: string) => void;
changeDataLoading: (isLoading: boolean) => void;
}
export const coursesContext = createContext<CourseContext | undefined>(undefined);
@ -92,6 +93,8 @@ export const CoursesProvider = ({ children }: CoursesProviderProps) => {
const changeHoveredGroup = (group: Group | null) => setHoveredGroup(group);
const changeDataLoading = (isLoading: boolean) => setIsDataLoading(isLoading);
const addCourseToBasket = (course: Course) => {
const courseToBasket: Basket = {
name: course.name,
@ -104,8 +107,11 @@ export const CoursesProvider = ({ children }: CoursesProviderProps) => {
const deleteFromBasket = (id: number) => setBasket(basket.filter((course) => course.id !== id));
const getUserID = async (userID: string) => {
setUserID(userID);
const changeStudent = async (studentId: string) => {
setUserID(studentId);
setTimeout(() => {
getNewestStudentTimetable(studentId);
}, 100);
};
const saveBasket = async (userID: string) => {
@ -177,10 +183,13 @@ export const CoursesProvider = ({ children }: CoursesProviderProps) => {
}
};
const getUserTimetable = async (userID: string) => {
const getNewestStudentTimetable = async (studentId: string) => {
try {
const { data } = await axiosInstance.get(`${process.env.REACT_APP_API_URL}/api/v1/commisions/user/${userID}`);
console.log(data);
const { data } = await axiosInstance.get(
`${process.env.REACT_APP_API_URL}/api/v1/commisions/user/${studentId}/schedule`,
);
const basket = data === '' ? [] : data;
setBasket(basket);
} catch (e) {
console.log(e);
}
@ -225,8 +234,9 @@ export const CoursesProvider = ({ children }: CoursesProviderProps) => {
selectBasketNames,
selectBasketCourses,
selectBasketCourseGroups,
getUserTimetable,
getUserID,
getNewestStudentTimetable,
changeStudent,
changeDataLoading,
}}
>
{children}

View File

@ -1,6 +1,7 @@
import React, { useState, createContext, useEffect, ReactNode, useRef } from 'react';
import React, { useState, createContext, useEffect, ReactNode, useRef, useContext } from 'react';
import { Student } from '../types';
import { axiosInstance } from '../utils/axiosInstance';
import { CASContext } from './CASProvider';
interface StudentContext {
students: Array<Student>;
@ -15,7 +16,9 @@ interface StudentsProviderProps {
export const StudentsProvider = ({ children }: StudentsProviderProps) => {
const [students, setStudents] = useState<Array<Student>>([]);
//not working currently
const userPrivilige = localStorage.getItem('userPrivilige');
const { user } = useContext(CASContext)!;
const getStudents = async () => {
try {
@ -31,7 +34,8 @@ export const StudentsProvider = ({ children }: StudentsProviderProps) => {
useEffect(() => {
setTimeout(() => {
userPrivilige === 'DEANERY' && getStudents();
// user?.authorityRole === 'DEANERY' &&
getStudents();
}, 500);
}, []);