From 05e9fab473285310a123a40b00678791c6c0dfea Mon Sep 17 00:00:00 2001 From: Christian Beeznest Date: Tue, 28 Jan 2025 01:52:45 -0500 Subject: [PATCH] Attendance: Improve attendance tool with Vue & Symfony integration - refs #6048 --- .../attendance/AttendanceCalendarForm.vue | 156 ++++ .../components/attendance/AttendanceForm.vue | 205 +++++ .../components/attendance/AttendanceTable.vue | 133 ++++ .../components/basecomponents/BaseIcon.vue | 2 + .../components/basecomponents/ChamiloIcons.js | 11 +- assets/vue/router/attendance.js | 44 ++ assets/vue/router/index.js | 2 + assets/vue/services/attendanceService.js | 253 +++++++ assets/vue/services/gradebookService.js | 24 + .../attendance/AttendanceCalendarAdd.vue | 32 + .../attendance/AttendanceCalendarList.vue | 262 +++++++ .../vue/views/attendance/AttendanceCreate.vue | 32 + .../vue/views/attendance/AttendanceEdit.vue | 77 ++ .../vue/views/attendance/AttendanceExport.vue | 11 + .../vue/views/attendance/AttendanceList.vue | 124 +++ .../views/attendance/AttendanceSheetList.vue | 704 ++++++++++++++++++ config/services.yaml | 9 + .../Controller/AttendanceController.php | 241 ++++++ .../Controller/GradebookController.php | 33 + src/CoreBundle/Entity/AbstractResource.php | 5 +- .../Schema/V200/Version20250126180000.php | 30 + .../GradeBookCategoryRepository.php | 65 +- .../Repository/Node/UserRepository.php | 49 ++ .../State/CAttendanceStateProcessor.php | 133 ++++ src/CoreBundle/Tool/Attendance.php | 2 +- src/CourseBundle/Entity/CAttendance.php | 105 ++- .../Entity/CAttendanceCalendar.php | 23 +- .../Entity/CAttendanceCalendarRelGroup.php | 3 +- src/CourseBundle/Entity/CAttendanceResult.php | 1 + src/CourseBundle/Entity/CAttendanceSheet.php | 29 +- src/CourseBundle/Entity/CGroup.php | 40 +- .../CAttendanceCalendarRelGroupRepository.php | 42 ++ .../CAttendanceCalendarRepository.php | 184 +++++ .../Repository/CAttendanceSheetRepository.php | 38 + 34 files changed, 3068 insertions(+), 36 deletions(-) create mode 100644 assets/vue/components/attendance/AttendanceCalendarForm.vue create mode 100644 assets/vue/components/attendance/AttendanceForm.vue create mode 100644 assets/vue/components/attendance/AttendanceTable.vue create mode 100644 assets/vue/router/attendance.js create mode 100644 assets/vue/services/attendanceService.js create mode 100644 assets/vue/services/gradebookService.js create mode 100644 assets/vue/views/attendance/AttendanceCalendarAdd.vue create mode 100644 assets/vue/views/attendance/AttendanceCalendarList.vue create mode 100644 assets/vue/views/attendance/AttendanceCreate.vue create mode 100644 assets/vue/views/attendance/AttendanceEdit.vue create mode 100644 assets/vue/views/attendance/AttendanceExport.vue create mode 100644 assets/vue/views/attendance/AttendanceList.vue create mode 100644 assets/vue/views/attendance/AttendanceSheetList.vue create mode 100644 src/CoreBundle/Controller/AttendanceController.php create mode 100644 src/CoreBundle/Migrations/Schema/V200/Version20250126180000.php create mode 100644 src/CoreBundle/State/CAttendanceStateProcessor.php create mode 100644 src/CourseBundle/Repository/CAttendanceCalendarRelGroupRepository.php create mode 100644 src/CourseBundle/Repository/CAttendanceCalendarRepository.php create mode 100644 src/CourseBundle/Repository/CAttendanceSheetRepository.php diff --git a/assets/vue/components/attendance/AttendanceCalendarForm.vue b/assets/vue/components/attendance/AttendanceCalendarForm.vue new file mode 100644 index 0000000000..e6e0297c4b --- /dev/null +++ b/assets/vue/components/attendance/AttendanceCalendarForm.vue @@ -0,0 +1,156 @@ + + diff --git a/assets/vue/components/attendance/AttendanceForm.vue b/assets/vue/components/attendance/AttendanceForm.vue new file mode 100644 index 0000000000..3dc7a71e9d --- /dev/null +++ b/assets/vue/components/attendance/AttendanceForm.vue @@ -0,0 +1,205 @@ + + diff --git a/assets/vue/components/attendance/AttendanceTable.vue b/assets/vue/components/attendance/AttendanceTable.vue new file mode 100644 index 0000000000..f73593e5ee --- /dev/null +++ b/assets/vue/components/attendance/AttendanceTable.vue @@ -0,0 +1,133 @@ + + diff --git a/assets/vue/components/basecomponents/BaseIcon.vue b/assets/vue/components/basecomponents/BaseIcon.vue index 540c3ce23e..5a13b80ee0 100644 --- a/assets/vue/components/basecomponents/BaseIcon.vue +++ b/assets/vue/components/basecomponents/BaseIcon.vue @@ -2,6 +2,8 @@