From 81351aa9fac9fdef8828180c074a37b9ba486a7c Mon Sep 17 00:00:00 2001 From: Christian Cueni Date: Thu, 17 Aug 2023 13:52:35 +0200 Subject: [PATCH] Exclude email, fix dates, don't check "Geburtsdatum" field --- client/src/stores/courseSessions.ts | 10 +++++-- .../assignment/migrations/0001_initial.py | 1 - ...nmentcompletionauditlog_assignment_user.py | 1 - .../assignment/migrations/0003_initial.py | 1 - ...signmentcompletion_additional_json_data.py | 1 - .../0005_alter_assignment_assignment_type.py | 1 - .../competence/migrations/0001_initial.py | 1 - .../0002_performancecriteria_learning_unit.py | 1 - .../contrib/sites/migrations/0001_initial.py | 1 - .../core/migrations/0001_initial.py | 1 - .../course/migrations/0001_initial.py | 1 - .../course/migrations/0002_initial.py | 1 - ...r_coursecompletion_additional_json_data.py | 1 - .../course_session/migrations/0001_initial.py | 1 - ..._coursesessionattendancecourse_due_date.py | 1 - .../course_session/migrations/0003_initial.py | 1 - .../duedate/migrations/0001_initial.py | 1 - .../edoniq_test/tests/test_edoniq_export.py | 16 +++++------ server/vbv_lernwelt/edoniq_test/views.py | 26 +++++++++++++----- .../feedback/migrations/0001_initial.py | 1 - .../feedback/migrations/0002_initial.py | 1 - .../files/migrations/0001_initial.py | 1 - server/vbv_lernwelt/importer/services.py | 1 - .../tests/Schulungen_Teilnehmende.xlsx | Bin 18236 -> 17342 bytes .../learnpath/migrations/0001_initial.py | 1 - ...arningcontentassignment_assignment_type.py | 1 - .../media_library/migrations/0001_initial.py | 1 - .../notify/migrations/0001_initial.py | 1 - 28 files changed, 34 insertions(+), 42 deletions(-) diff --git a/client/src/stores/courseSessions.ts b/client/src/stores/courseSessions.ts index 19019699..138a7b95 100644 --- a/client/src/stores/courseSessions.ts +++ b/client/src/stores/courseSessions.ts @@ -44,6 +44,7 @@ export const useCourseSessionsStore = defineStore("courseSessions", () => { dueDate.start = dayjs(dueDate.start); dueDate.end = dayjs(dueDate.end); }); + sortDueDates(cs.due_dates); }) ); @@ -202,7 +203,12 @@ export const useCourseSessionsStore = defineStore("courseSessions", () => { allDueDatesReturn.push(...cs.due_dates); }); - allDueDatesReturn.sort((a, b) => { + sortDueDates(allDueDatesReturn); + return allDueDatesReturn; + } + + function sortDueDates(dueDates: DueDate[]) { + dueDates.sort((a, b) => { const dateA = dayjs(a.end); const dateB = dayjs(b.end); @@ -212,8 +218,6 @@ export const useCourseSessionsStore = defineStore("courseSessions", () => { return dateA.diff(dateB); // Otherwise, sort by the end date }); - - return allDueDatesReturn; } async function startUpload() { diff --git a/server/vbv_lernwelt/assignment/migrations/0001_initial.py b/server/vbv_lernwelt/assignment/migrations/0001_initial.py index 426909d4..26a2ed66 100644 --- a/server/vbv_lernwelt/assignment/migrations/0001_initial.py +++ b/server/vbv_lernwelt/assignment/migrations/0001_initial.py @@ -9,7 +9,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - initial = True dependencies = [ diff --git a/server/vbv_lernwelt/assignment/migrations/0002_assignmentcompletionauditlog_assignment_user.py b/server/vbv_lernwelt/assignment/migrations/0002_assignmentcompletionauditlog_assignment_user.py index 261ddcf8..d8e227ab 100644 --- a/server/vbv_lernwelt/assignment/migrations/0002_assignmentcompletionauditlog_assignment_user.py +++ b/server/vbv_lernwelt/assignment/migrations/0002_assignmentcompletionauditlog_assignment_user.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - initial = True dependencies = [ diff --git a/server/vbv_lernwelt/assignment/migrations/0003_initial.py b/server/vbv_lernwelt/assignment/migrations/0003_initial.py index 553a518a..19877e6c 100644 --- a/server/vbv_lernwelt/assignment/migrations/0003_initial.py +++ b/server/vbv_lernwelt/assignment/migrations/0003_initial.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - initial = True dependencies = [ diff --git a/server/vbv_lernwelt/assignment/migrations/0004_alter_assignmentcompletion_additional_json_data.py b/server/vbv_lernwelt/assignment/migrations/0004_alter_assignmentcompletion_additional_json_data.py index ac2436f6..d81074b9 100644 --- a/server/vbv_lernwelt/assignment/migrations/0004_alter_assignmentcompletion_additional_json_data.py +++ b/server/vbv_lernwelt/assignment/migrations/0004_alter_assignmentcompletion_additional_json_data.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ("assignment", "0003_initial"), ] diff --git a/server/vbv_lernwelt/assignment/migrations/0005_alter_assignment_assignment_type.py b/server/vbv_lernwelt/assignment/migrations/0005_alter_assignment_assignment_type.py index 45cd2e6a..c9bd2a08 100644 --- a/server/vbv_lernwelt/assignment/migrations/0005_alter_assignment_assignment_type.py +++ b/server/vbv_lernwelt/assignment/migrations/0005_alter_assignment_assignment_type.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ("assignment", "0004_alter_assignmentcompletion_additional_json_data"), ] diff --git a/server/vbv_lernwelt/competence/migrations/0001_initial.py b/server/vbv_lernwelt/competence/migrations/0001_initial.py index a857392c..120e8741 100644 --- a/server/vbv_lernwelt/competence/migrations/0001_initial.py +++ b/server/vbv_lernwelt/competence/migrations/0001_initial.py @@ -7,7 +7,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - initial = True dependencies = [ diff --git a/server/vbv_lernwelt/competence/migrations/0002_performancecriteria_learning_unit.py b/server/vbv_lernwelt/competence/migrations/0002_performancecriteria_learning_unit.py index 890ac6c1..125f8adc 100644 --- a/server/vbv_lernwelt/competence/migrations/0002_performancecriteria_learning_unit.py +++ b/server/vbv_lernwelt/competence/migrations/0002_performancecriteria_learning_unit.py @@ -5,7 +5,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - initial = True dependencies = [ diff --git a/server/vbv_lernwelt/contrib/sites/migrations/0001_initial.py b/server/vbv_lernwelt/contrib/sites/migrations/0001_initial.py index 297ae556..7cfa9b89 100644 --- a/server/vbv_lernwelt/contrib/sites/migrations/0001_initial.py +++ b/server/vbv_lernwelt/contrib/sites/migrations/0001_initial.py @@ -5,7 +5,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - initial = True dependencies = [] diff --git a/server/vbv_lernwelt/core/migrations/0001_initial.py b/server/vbv_lernwelt/core/migrations/0001_initial.py index e196649b..81165d64 100644 --- a/server/vbv_lernwelt/core/migrations/0001_initial.py +++ b/server/vbv_lernwelt/core/migrations/0001_initial.py @@ -9,7 +9,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - initial = True dependencies = [ diff --git a/server/vbv_lernwelt/course/migrations/0001_initial.py b/server/vbv_lernwelt/course/migrations/0001_initial.py index 730fc62f..dc339bd0 100644 --- a/server/vbv_lernwelt/course/migrations/0001_initial.py +++ b/server/vbv_lernwelt/course/migrations/0001_initial.py @@ -9,7 +9,6 @@ import vbv_lernwelt.course.models class Migration(migrations.Migration): - initial = True dependencies = [ diff --git a/server/vbv_lernwelt/course/migrations/0002_initial.py b/server/vbv_lernwelt/course/migrations/0002_initial.py index 25a52a56..2bd9fdb4 100644 --- a/server/vbv_lernwelt/course/migrations/0002_initial.py +++ b/server/vbv_lernwelt/course/migrations/0002_initial.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - initial = True dependencies = [ diff --git a/server/vbv_lernwelt/course/migrations/0003_alter_coursecompletion_additional_json_data.py b/server/vbv_lernwelt/course/migrations/0003_alter_coursecompletion_additional_json_data.py index d90a3f15..6fc15629 100644 --- a/server/vbv_lernwelt/course/migrations/0003_alter_coursecompletion_additional_json_data.py +++ b/server/vbv_lernwelt/course/migrations/0003_alter_coursecompletion_additional_json_data.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ("course", "0002_initial"), ] diff --git a/server/vbv_lernwelt/course_session/migrations/0001_initial.py b/server/vbv_lernwelt/course_session/migrations/0001_initial.py index a669d2d2..dc9cca8d 100644 --- a/server/vbv_lernwelt/course_session/migrations/0001_initial.py +++ b/server/vbv_lernwelt/course_session/migrations/0001_initial.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - initial = True dependencies = [ diff --git a/server/vbv_lernwelt/course_session/migrations/0002_coursesessionattendancecourse_due_date.py b/server/vbv_lernwelt/course_session/migrations/0002_coursesessionattendancecourse_due_date.py index dfc7cb7d..f4166c6b 100644 --- a/server/vbv_lernwelt/course_session/migrations/0002_coursesessionattendancecourse_due_date.py +++ b/server/vbv_lernwelt/course_session/migrations/0002_coursesessionattendancecourse_due_date.py @@ -5,7 +5,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - initial = True dependencies = [ diff --git a/server/vbv_lernwelt/course_session/migrations/0003_initial.py b/server/vbv_lernwelt/course_session/migrations/0003_initial.py index 73c4e1ef..68fcb7bf 100644 --- a/server/vbv_lernwelt/course_session/migrations/0003_initial.py +++ b/server/vbv_lernwelt/course_session/migrations/0003_initial.py @@ -5,7 +5,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - initial = True dependencies = [ diff --git a/server/vbv_lernwelt/duedate/migrations/0001_initial.py b/server/vbv_lernwelt/duedate/migrations/0001_initial.py index 0d84b5f4..c59e833f 100644 --- a/server/vbv_lernwelt/duedate/migrations/0001_initial.py +++ b/server/vbv_lernwelt/duedate/migrations/0001_initial.py @@ -5,7 +5,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - initial = True dependencies = [ diff --git a/server/vbv_lernwelt/edoniq_test/tests/test_edoniq_export.py b/server/vbv_lernwelt/edoniq_test/tests/test_edoniq_export.py index 893ca698..e3ad08ff 100644 --- a/server/vbv_lernwelt/edoniq_test/tests/test_edoniq_export.py +++ b/server/vbv_lernwelt/edoniq_test/tests/test_edoniq_export.py @@ -35,12 +35,12 @@ class EdoniqUserExportTestCase(TestCase): user2.save() def test_fetch_course_session_users(self): - users = fetch_course_session_users([COURSE_TEST_ID]) + users = fetch_course_session_users([COURSE_TEST_ID], excluded_domains=[]) self.assertEqual(len(users), 2) def test_fetch_course_session_trainers(self): users = fetch_course_session_users( - [COURSE_TEST_ID], role=CourseSessionUser.Role.EXPERT + [COURSE_TEST_ID], role=CourseSessionUser.Role.EXPERT, excluded_domains=[] ) self.assertEqual(len(users), 1) @@ -48,11 +48,13 @@ class EdoniqUserExportTestCase(TestCase): user1 = User.objects.get(email="test-student1@example.com") user1.email = "some@eiger-versicherungen.ch" user1.save() - users = fetch_course_session_users([COURSE_TEST_ID]) + users = fetch_course_session_users( + [COURSE_TEST_ID], excluded_domains=["eiger-versicherungen.ch"] + ) self.assertEqual(len(users), 1) def test_export_students_and_trainers(self): - users = fetch_course_session_all_users([COURSE_TEST_ID]) + users = fetch_course_session_all_users([COURSE_TEST_ID], excluded_domains=[]) self.assertEqual(len(users), 3) def test_deduplicates_users(self): @@ -64,13 +66,11 @@ class EdoniqUserExportTestCase(TestCase): course_session=cs_zrh, user=trainer1, ) - users = fetch_course_session_all_users([COURSE_TEST_ID]) - for u in users: - print(u.edoniq_role, u.email) + users = fetch_course_session_all_users([COURSE_TEST_ID], excluded_domains=[]) self.assertEqual(len(users), 3) def test_response_csv(self): - users = fetch_course_session_users([COURSE_TEST_ID]) + users = fetch_course_session_users([COURSE_TEST_ID], excluded_domains=[]) response = generate_export_response(users) user_data = [ diff --git a/server/vbv_lernwelt/edoniq_test/views.py b/server/vbv_lernwelt/edoniq_test/views.py index 30f65398..3cae228d 100644 --- a/server/vbv_lernwelt/edoniq_test/views.py +++ b/server/vbv_lernwelt/edoniq_test/views.py @@ -4,7 +4,7 @@ from itertools import chain from typing import List from django.contrib.admin.views.decorators import staff_member_required -from django.db.models import CharField, Value +from django.db.models import CharField, Q, Value from django.http import HttpResponse from vbv_lernwelt.core.models import User @@ -12,6 +12,7 @@ from vbv_lernwelt.course.consts import COURSE_UK, COURSE_UK_FR, COURSE_UK_IT from vbv_lernwelt.course.models import CourseSessionUser UK_COURSE_IDS = [COURSE_UK, COURSE_UK_FR, COURSE_UK_IT] +DEFAULT_EXCLUDED_DOMAINS = ["eiger-versicherung.ch", "assurance.ch", "example.com"] @staff_member_required @@ -34,30 +35,41 @@ def export_students_and_trainers(request): return generate_export_response(course_session_users) -def fetch_course_session_users(courses: List[int], role=CourseSessionUser.Role.MEMBER): +def fetch_course_session_users( + courses: List[int], role=CourseSessionUser.Role.MEMBER, excluded_domains=None +): if role == CourseSessionUser.Role.EXPERT: edoniq_role = "Trainer" else: edoniq_role = "Lernende" + # exclude test users if required + if excluded_domains is None: + excluded_domains = DEFAULT_EXCLUDED_DOMAINS + + exclude_q = Q() + for condition in excluded_domains: + exclude_q |= Q(email__contains=condition) + # if users should be exported per course session, remove the distinct() call return ( User.objects.filter( coursesessionuser__course_session__course__id__in=courses, coursesessionuser__role=role, ) - .exclude(email__contains="eiger-versicherungen.ch") # exclude test users - .exclude(email__contains="assurance.ch") + .exclude(exclude_q) .order_by("email") .annotate(edoniq_role=Value(edoniq_role, output_field=CharField())) .distinct() ) -def fetch_course_session_all_users(courses: List[int]): - course_session_users = fetch_course_session_users(courses) +def fetch_course_session_all_users(courses: List[int], excluded_domains=None): + course_session_users = fetch_course_session_users( + courses, excluded_domains=excluded_domains + ) course_session_trainers = fetch_course_session_users( - courses, role=CourseSessionUser.Role.EXPERT + courses, role=CourseSessionUser.Role.EXPERT, excluded_domains=excluded_domains ) combined_queryset = chain(course_session_users, course_session_trainers) diff --git a/server/vbv_lernwelt/feedback/migrations/0001_initial.py b/server/vbv_lernwelt/feedback/migrations/0001_initial.py index c871fc75..d0a63cb2 100644 --- a/server/vbv_lernwelt/feedback/migrations/0001_initial.py +++ b/server/vbv_lernwelt/feedback/migrations/0001_initial.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - initial = True dependencies = [] diff --git a/server/vbv_lernwelt/feedback/migrations/0002_initial.py b/server/vbv_lernwelt/feedback/migrations/0002_initial.py index d0543c85..651b2e27 100644 --- a/server/vbv_lernwelt/feedback/migrations/0002_initial.py +++ b/server/vbv_lernwelt/feedback/migrations/0002_initial.py @@ -5,7 +5,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - initial = True dependencies = [ diff --git a/server/vbv_lernwelt/files/migrations/0001_initial.py b/server/vbv_lernwelt/files/migrations/0001_initial.py index 36cbad5e..117404b6 100644 --- a/server/vbv_lernwelt/files/migrations/0001_initial.py +++ b/server/vbv_lernwelt/files/migrations/0001_initial.py @@ -10,7 +10,6 @@ import vbv_lernwelt.files.utils class Migration(migrations.Migration): - initial = True dependencies = [ diff --git a/server/vbv_lernwelt/importer/services.py b/server/vbv_lernwelt/importer/services.py index 2cd64419..7e9aa252 100644 --- a/server/vbv_lernwelt/importer/services.py +++ b/server/vbv_lernwelt/importer/services.py @@ -508,7 +508,6 @@ def import_students_from_excel(filename: str): "Sprache", "Durchführungen", "Lehrvertragsnummer", - "Geburtsdatum", ], ) create_or_update_student(data) diff --git a/server/vbv_lernwelt/importer/tests/Schulungen_Teilnehmende.xlsx b/server/vbv_lernwelt/importer/tests/Schulungen_Teilnehmende.xlsx index b79f00e000a3d9dbffc70854736c690e7088a2f2..d12771898805bcfd9031e5bc1871de311b47df6d 100644 GIT binary patch delta 8202 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 delta 9072 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 YY5y5=5&pN2V<{L+ju~r3=E3v-0FGSzyZ`_I diff --git a/server/vbv_lernwelt/learnpath/migrations/0001_initial.py b/server/vbv_lernwelt/learnpath/migrations/0001_initial.py index 596b11ad..58dc9315 100644 --- a/server/vbv_lernwelt/learnpath/migrations/0001_initial.py +++ b/server/vbv_lernwelt/learnpath/migrations/0001_initial.py @@ -7,7 +7,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - initial = True dependencies = [ diff --git a/server/vbv_lernwelt/learnpath/migrations/0002_alter_learningcontentassignment_assignment_type.py b/server/vbv_lernwelt/learnpath/migrations/0002_alter_learningcontentassignment_assignment_type.py index fcdbbdbe..e76592f7 100644 --- a/server/vbv_lernwelt/learnpath/migrations/0002_alter_learningcontentassignment_assignment_type.py +++ b/server/vbv_lernwelt/learnpath/migrations/0002_alter_learningcontentassignment_assignment_type.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ("learnpath", "0001_initial"), ] diff --git a/server/vbv_lernwelt/media_library/migrations/0001_initial.py b/server/vbv_lernwelt/media_library/migrations/0001_initial.py index 004d5f13..c36493ef 100644 --- a/server/vbv_lernwelt/media_library/migrations/0001_initial.py +++ b/server/vbv_lernwelt/media_library/migrations/0001_initial.py @@ -10,7 +10,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - initial = True dependencies = [ diff --git a/server/vbv_lernwelt/notify/migrations/0001_initial.py b/server/vbv_lernwelt/notify/migrations/0001_initial.py index cbca2aeb..2739e157 100644 --- a/server/vbv_lernwelt/notify/migrations/0001_initial.py +++ b/server/vbv_lernwelt/notify/migrations/0001_initial.py @@ -8,7 +8,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - initial = True dependencies = [