diff --git a/front/components/Pages/Trail/TrailCourseElement.tsx b/front/components/Pages/Trail/TrailCourseElement.tsx index 57cef41d..67332711 100644 --- a/front/components/Pages/Trail/TrailCourseElement.tsx +++ b/front/components/Pages/Trail/TrailCourseElement.tsx @@ -4,6 +4,7 @@ import { removeCourse } from '@services/courses/activity'; import { getCourseThumbnailMediaDirectory } from '@services/media/media'; import { revalidateTags } from '@services/utils/ts/requests'; import Link from 'next/link'; +import { useRouter } from 'next/navigation'; import { mutate } from 'swr'; interface TrailCourseElementProps { @@ -14,12 +15,14 @@ interface TrailCourseElementProps { function TrailCourseElement(props: TrailCourseElementProps) { const courseid = props.course.course_id.replace("course_", "") const course = props.course + const router = useRouter(); async function quitCourse(course_id: string) { // Close activity let activity = await removeCourse(course_id, props.orgslug); // Mutate course revalidateTags(['courses'], props.orgslug); + router.refresh(); // Mutate mutate(`${getAPIUrl()}trail/org_slug/${props.orgslug}/trail`); diff --git a/src/services/trail.py b/src/services/trail.py index 6c133b3c..f09d0fca 100644 --- a/src/services/trail.py +++ b/src/services/trail.py @@ -121,19 +121,13 @@ async def get_user_trail_with_orgslug( if not trail: return Trail(masked=False, courses=[]) - # Check if these courses still exist in the database - for course in trail["courses"]: - course_id = course["course_id"] - course_object = await courses_mongo.find_one( - {"course_id": course_id}, {"_id": 0} - ) - print('checking course ' + course_id) - if not course_object: - print("Course not found " + course_id) - trail["courses"].remove(course) - continue + course_ids = [course["course_id"] for course in trail["courses"]] - course["course_object"] = course_object + live_courses = await courses_mongo.find({"course_id": {"$in": course_ids}}).to_list( + length=None + ) + + trail["courses"] = live_courses for courses in trail["courses"]: course_id = courses["course_id"]