From fef864df25eba756ceb1b7322dc3ded504c0f37b Mon Sep 17 00:00:00 2001 From: Daniel Egger Date: Tue, 25 Apr 2023 15:06:25 +0200 Subject: [PATCH] VBV-321: squash current work Load and display AssignmentCompletionStatus Datenmodell um Bewertungskriterien erweitern Refactor assignment pages Show user results Update some data fields Show user assignment evaluation Changes after rebase Rename `grading` -> `evaluation` Add evaluation data to AssignmentCompletion Refactor usage of `assignmentStore` Store points for evaluation Only debounce text Show user responses on evaluation page --- client/src/components/ui/ItProgress.vue | 9 +- client/src/components/ui/ItTextarea.vue | 2 +- .../src/pages/cockpit/CockpitParentPage.vue | 23 +- .../AssignmentEvaluationPage.vue | 117 ++++ .../EvaluationTask.vue | 122 ++++ .../UserEvaluation.vue | 46 ++ .../assignmentsPage/AssignmentDetails.vue | 85 +++ .../AssignmentSubmissionProgress.vue | 58 ++ .../assignmentsPage/AssignmentsPage.vue | 71 +++ .../cockpit/cockpitPage/AssignmentsTile.vue | 57 ++ .../CockpitPage.vue} | 18 +- .../assignment/AssignmentIntroductionView.vue | 4 +- .../AssignmentSubmissionResponses.vue | 36 +- .../assignment/AssignmentSubmissionView.vue | 18 +- .../assignment/AssignmentTaskView.vue | 37 +- .../assignment/AssignmentView.vue | 10 +- client/src/router/index.ts | 16 +- client/src/services/assignmentService.ts | 68 +++ client/src/stores/assignmentStore.ts | 85 ++- client/src/stores/cockpit.ts | 13 +- client/src/stores/courseSessions.ts | 9 +- client/src/types.ts | 83 ++- client/tailwind.css | 5 + server/config/urls.py | 16 +- .../assignment/creators/create_assignments.py | 574 ++++++++++++++---- .../assignment/migrations/0001_initial.py | 276 ++++++++- .../migrations/0002_auto_20230425_0849.py | 161 ----- server/vbv_lernwelt/assignment/models.py | 99 ++- server/vbv_lernwelt/assignment/serializers.py | 4 +- server/vbv_lernwelt/assignment/services.py | 41 +- .../assignment/tests/assignment_factories.py | 27 +- .../assignment/tests/test_assignment_api.py | 16 +- .../assignment/tests/test_services.py | 49 +- server/vbv_lernwelt/assignment/views.py | 23 +- server/vbv_lernwelt/core/constants.py | 5 + .../vbv_lernwelt/core/create_default_users.py | 1 + .../commands/create_default_courses.py | 8 +- ...006_alter_coursesession_attendance_days.py | 19 + server/vbv_lernwelt/course/views.py | 7 +- 39 files changed, 1806 insertions(+), 512 deletions(-) create mode 100644 client/src/pages/cockpit/assignmentEvaluationPage/AssignmentEvaluationPage.vue create mode 100644 client/src/pages/cockpit/assignmentEvaluationPage/EvaluationTask.vue create mode 100644 client/src/pages/cockpit/assignmentEvaluationPage/UserEvaluation.vue create mode 100644 client/src/pages/cockpit/assignmentsPage/AssignmentDetails.vue create mode 100644 client/src/pages/cockpit/assignmentsPage/AssignmentSubmissionProgress.vue create mode 100644 client/src/pages/cockpit/assignmentsPage/AssignmentsPage.vue create mode 100644 client/src/pages/cockpit/cockpitPage/AssignmentsTile.vue rename client/src/pages/cockpit/{CockpitIndexPage.vue => cockpitPage/CockpitPage.vue} (94%) create mode 100644 client/src/services/assignmentService.ts delete mode 100644 server/vbv_lernwelt/assignment/migrations/0002_auto_20230425_0849.py create mode 100644 server/vbv_lernwelt/core/constants.py create mode 100644 server/vbv_lernwelt/course/migrations/0006_alter_coursesession_attendance_days.py diff --git a/client/src/components/ui/ItProgress.vue b/client/src/components/ui/ItProgress.vue index b3eb35fd..37403218 100644 --- a/client/src/components/ui/ItProgress.vue +++ b/client/src/components/ui/ItProgress.vue @@ -1,12 +1,11 @@ + + + + diff --git a/client/src/pages/cockpit/assignmentEvaluationPage/EvaluationTask.vue b/client/src/pages/cockpit/assignmentEvaluationPage/EvaluationTask.vue new file mode 100644 index 00000000..c3bc3d2f --- /dev/null +++ b/client/src/pages/cockpit/assignmentEvaluationPage/EvaluationTask.vue @@ -0,0 +1,122 @@ + + + + + diff --git a/client/src/pages/cockpit/assignmentEvaluationPage/UserEvaluation.vue b/client/src/pages/cockpit/assignmentEvaluationPage/UserEvaluation.vue new file mode 100644 index 00000000..7106479f --- /dev/null +++ b/client/src/pages/cockpit/assignmentEvaluationPage/UserEvaluation.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/client/src/pages/cockpit/assignmentsPage/AssignmentDetails.vue b/client/src/pages/cockpit/assignmentsPage/AssignmentDetails.vue new file mode 100644 index 00000000..409ca8fb --- /dev/null +++ b/client/src/pages/cockpit/assignmentsPage/AssignmentDetails.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/client/src/pages/cockpit/assignmentsPage/AssignmentSubmissionProgress.vue b/client/src/pages/cockpit/assignmentsPage/AssignmentSubmissionProgress.vue new file mode 100644 index 00000000..8b205ad7 --- /dev/null +++ b/client/src/pages/cockpit/assignmentsPage/AssignmentSubmissionProgress.vue @@ -0,0 +1,58 @@ + + + + + diff --git a/client/src/pages/cockpit/assignmentsPage/AssignmentsPage.vue b/client/src/pages/cockpit/assignmentsPage/AssignmentsPage.vue new file mode 100644 index 00000000..261a75cd --- /dev/null +++ b/client/src/pages/cockpit/assignmentsPage/AssignmentsPage.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/client/src/pages/cockpit/cockpitPage/AssignmentsTile.vue b/client/src/pages/cockpit/cockpitPage/AssignmentsTile.vue new file mode 100644 index 00000000..e1b89f10 --- /dev/null +++ b/client/src/pages/cockpit/cockpitPage/AssignmentsTile.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/client/src/pages/cockpit/CockpitIndexPage.vue b/client/src/pages/cockpit/cockpitPage/CockpitPage.vue similarity index 94% rename from client/src/pages/cockpit/CockpitIndexPage.vue rename to client/src/pages/cockpit/cockpitPage/CockpitPage.vue index db8548ea..fb9ccfc6 100644 --- a/client/src/pages/cockpit/CockpitIndexPage.vue +++ b/client/src/pages/cockpit/cockpitPage/CockpitPage.vue @@ -5,6 +5,7 @@ import ItPersonRow from "@/components/ui/ItPersonRow.vue"; import ItProgress from "@/components/ui/ItProgress.vue"; import type { LearningPath } from "@/services/learningPath"; +import AssignmentsTile from "@/pages/cockpit/cockpitPage/AssignmentsTile.vue"; import { useCockpitStore } from "@/stores/cockpit"; import { useCompetenceStore } from "@/stores/competence"; import { useCourseSessionsStore } from "@/stores/courseSessions"; @@ -92,7 +93,7 @@ function setActiveClasses(translationKey: string) { @@ -101,17 +102,10 @@ function setActiveClasses(translationKey: string) {
-
-

- {{ $t("general.transferTask", 2) }} -

-
- -
-

{{ $t("cockpit.tasksDone") }}

-
+

(), {

{{ $t("assignment.assessmentTitle") }}

-

{{ props.assignment.assessment_description }}

- +

{{ props.assignment.evaluation_description }}

+
{{ $t("assignment.showAssessmentDocument") }} diff --git a/client/src/pages/learningPath/learningContentPage/assignment/AssignmentSubmissionResponses.vue b/client/src/pages/learningPath/learningContentPage/assignment/AssignmentSubmissionResponses.vue index 22863429..a97ca578 100644 --- a/client/src/pages/learningPath/learningContentPage/assignment/AssignmentSubmissionResponses.vue +++ b/client/src/pages/learningPath/learningContentPage/assignment/AssignmentSubmissionResponses.vue @@ -1,36 +1,46 @@ diff --git a/client/src/pages/learningPath/learningContentPage/assignment/AssignmentTaskView.vue b/client/src/pages/learningPath/learningContentPage/assignment/AssignmentTaskView.vue index a5d47018..102424fe 100644 --- a/client/src/pages/learningPath/learningContentPage/assignment/AssignmentTaskView.vue +++ b/client/src/pages/learningPath/learningContentPage/assignment/AssignmentTaskView.vue @@ -1,15 +1,14 @@