From e374ad98de06f759404f2ff35190327459bb528e Mon Sep 17 00:00:00 2001 From: Livio Bieri Date: Tue, 19 Mar 2024 15:59:23 +0100 Subject: [PATCH] =?UTF-8?q?chore:=20learning=20mentor=20course=20=E2=86=92?= =?UTF-8?q?=20course=20session?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/learningMentor/MyMentors.vue | 9 ++- .../learningMentor/InvitationAcceptPage.vue | 6 +- server/config/urls.py | 3 - .../core/management/commands/cypress_reset.py | 14 ++-- .../course/creators/test_utils.py | 6 +- .../course/tests/test_course_session_api.py | 2 +- server/vbv_lernwelt/course/views.py | 4 +- .../vbv_lernwelt/dashboard/graphql/queries.py | 4 +- .../dashboard/tests/graphql/test_dashboard.py | 4 +- server/vbv_lernwelt/iam/permissions.py | 12 ++- server/vbv_lernwelt/iam/tests/test_actions.py | 5 +- server/vbv_lernwelt/iam/tests/test_roles.py | 4 +- server/vbv_lernwelt/learning_mentor/admin.py | 2 +- .../migrations/0006_auto_20240319_1058.py | 57 ++++++++++++++ server/vbv_lernwelt/learning_mentor/models.py | 4 +- .../vbv_lernwelt/learning_mentor/signals.py | 4 +- .../learning_mentor/tests/test_invitation.py | 74 +++++++++---------- .../learning_mentor/tests/test_mentor.py | 28 ++++--- server/vbv_lernwelt/learning_mentor/views.py | 35 +++------ .../tests/test_api.py | 2 +- .../self_evaluation_feedback/views.py | 2 +- 21 files changed, 166 insertions(+), 115 deletions(-) create mode 100644 server/vbv_lernwelt/learning_mentor/migrations/0006_auto_20240319_1058.py diff --git a/client/src/components/learningMentor/MyMentors.vue b/client/src/components/learningMentor/MyMentors.vue index d614348f..4f58c330 100644 --- a/client/src/components/learningMentor/MyMentors.vue +++ b/client/src/components/learningMentor/MyMentors.vue @@ -3,6 +3,7 @@ import { useCurrentCourseSession } from "@/composables"; import ItModal from "@/components/ui/ItModal.vue"; import { computed, ref } from "vue"; import { useCSRFFetch } from "@/fetchHelpers"; +import { useUserStore } from "@/stores/user"; const courseSession = useCurrentCourseSession(); @@ -33,6 +34,12 @@ const hasMentors = computed(() => { }); const validEmail = computed(() => { + const isSelfInvitation = Boolean(inviteeEmail.value === useUserStore().email); + + if (isSelfInvitation) { + return false; + } + const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; return emailRegex.test(inviteeEmail.value); }); @@ -81,7 +88,7 @@ const inviteMentor = async () => {
diff --git a/client/src/pages/learningMentor/InvitationAcceptPage.vue b/client/src/pages/learningMentor/InvitationAcceptPage.vue index 163712ed..36f3e55b 100644 --- a/client/src/pages/learningMentor/InvitationAcceptPage.vue +++ b/client/src/pages/learningMentor/InvitationAcceptPage.vue @@ -1,6 +1,6 @@