From 50e74ac5a9a467c98496e449f093a9222a326ff8 Mon Sep 17 00:00:00 2001 From: christianbeeznst Date: Thu, 4 Jul 2024 20:06:22 -0500 Subject: [PATCH] Internal: Add duration field to multiple tables and handle migration of extra fields - refs #5633 --- assets/vue/components/course/CourseCard.vue | 7 ++ assets/vue/graphql/queries/Course.js | 1 + assets/vue/graphql/queries/CourseRelUser.js | 3 +- assets/vue/views/course/CatalogueCourses.vue | 82 +++++++++++++---- public/main/admin/course_add.php | 30 ++++-- public/main/admin/course_edit.php | 23 ++++- public/main/inc/lib/add_course.lib.inc.php | 4 + public/main/inc/lib/api.lib.php | 4 + .../PlatformConfigurationController.php | 1 + .../DataFixtures/SettingsCurrentFixtures.php | 5 + src/CoreBundle/Entity/Course.php | 16 ++++ .../Schema/V200/Version20240704120400.php | 42 +++++++++ .../Schema/V200/Version20240704120500.php | 91 +++++++++++++++++++ .../Settings/CourseSettingsSchema.php | 2 + .../Entity/CAttendanceCalendar.php | 15 +++ src/CourseBundle/Entity/CLp.php | 15 +++ src/CourseBundle/Entity/CLpItem.php | 15 +++ src/CourseBundle/Entity/CQuiz.php | 15 +++ src/CourseBundle/Entity/CQuizQuestion.php | 15 +++ .../Entity/CStudentPublication.php | 15 +++ src/CourseBundle/Entity/CSurvey.php | 15 +++ 21 files changed, 385 insertions(+), 31 deletions(-) create mode 100644 src/CoreBundle/Migrations/Schema/V200/Version20240704120400.php create mode 100644 src/CoreBundle/Migrations/Schema/V200/Version20240704120500.php diff --git a/assets/vue/components/course/CourseCard.vue b/assets/vue/components/course/CourseCard.vue index 20a7c6ca4e..390a6b419d 100644 --- a/assets/vue/components/course/CourseCard.vue +++ b/assets/vue/components/course/CourseCard.vue @@ -26,6 +26,9 @@ v-text="session.title" /> {{ course.title }} + + ({{ (course.duration / 60 / 60).toFixed(2) }} hours) + 'true' === platformConfigStore.getSetting("course.show_course_duration")) + const teachers = computed(() => { if (props.session?.courseCoachesSubscriptions) { return props.session.courseCoachesSubscriptions diff --git a/assets/vue/graphql/queries/Course.js b/assets/vue/graphql/queries/Course.js index 3421ba6105..d619d70fff 100644 --- a/assets/vue/graphql/queries/Course.js +++ b/assets/vue/graphql/queries/Course.js @@ -9,6 +9,7 @@ export const GET_STICKY_COURSES = gql` title illustrationUrl sticky + duration } } } diff --git a/assets/vue/graphql/queries/CourseRelUser.js b/assets/vue/graphql/queries/CourseRelUser.js index 87df143edd..68429daef6 100644 --- a/assets/vue/graphql/queries/CourseRelUser.js +++ b/assets/vue/graphql/queries/CourseRelUser.js @@ -8,7 +8,8 @@ export const GET_COURSE_REL_USER = gql` course { _id, title, - illustrationUrl + illustrationUrl, + duration, users(status: 1, first: 4) { edges { node { diff --git a/assets/vue/views/course/CatalogueCourses.vue b/assets/vue/views/course/CatalogueCourses.vue index 5df86301b8..9dccafd082 100644 --- a/assets/vue/views/course/CatalogueCourses.vue +++ b/assets/vue/views/course/CatalogueCourses.vue @@ -40,7 +40,7 @@ - +