diff --git a/server/vbv_lernwelt/course_session/factories.py b/server/vbv_lernwelt/course_session/factories.py index e69de29b..d0143664 100644 --- a/server/vbv_lernwelt/course_session/factories.py +++ b/server/vbv_lernwelt/course_session/factories.py @@ -0,0 +1,22 @@ +from factory.django import DjangoModelFactory + +from vbv_lernwelt.course.factories import CourseFactory +from vbv_lernwelt.course.models import CourseSession +from vbv_lernwelt.course_session.models import CourseSessionAssignment, CourseSessionAttendanceCourse + + +class CourseSessionAssignmentFactory(DjangoModelFactory): + class Meta: + model = CourseSessionAssignment + + +class CourseSessionAttendanceCourseFactory(DjangoModelFactory): + class Meta: + model = CourseSessionAttendanceCourse + + +class CourseSessionFactory(DjangoModelFactory): + class Meta: + model = CourseSession + + course = CourseFactory() diff --git a/server/vbv_lernwelt/course_session/tests/test_factories.py b/server/vbv_lernwelt/course_session/tests/test_factories.py deleted file mode 100644 index 6bcbaa07..00000000 --- a/server/vbv_lernwelt/course_session/tests/test_factories.py +++ /dev/null @@ -1,47 +0,0 @@ -from datetime import timedelta - -from django.test import TestCase - -from vbv_lernwelt.core.create_default_users import create_default_users -from vbv_lernwelt.core.models import User -from vbv_lernwelt.course.consts import COURSE_TEST_ID -from vbv_lernwelt.course.creators.test_course import create_test_course -from vbv_lernwelt.course.models import CourseSession, CourseSessionUser -from vbv_lernwelt.course_session.models import CourseSessionAssignment -from vbv_lernwelt.learnpath.models import Circle - - -class CourseSessionModelsTestCase(TestCase): - def setUp(self) -> None: - create_default_users() - create_test_course() - - self.user = User.objects.get(username="student") - self.expert = User.objects.get( - username="patrizia.huggel@eiger-versicherungen.ch" - ) - - self.course_session = CourseSession.objects.create( - course_id=COURSE_TEST_ID, - title="Test Lehrgang Session", - ) - - csu = CourseSessionUser.objects.create( - course_session=self.course_session, - user=User.objects.get(username="patrizia.huggel@eiger-versicherungen.ch"), - role=CourseSessionUser.Role.EXPERT, - ) - csu.expert.add(Circle.objects.get(slug="test-lehrgang-lp-circle-fahrzeug")) - - def test_course_session_assignment(self): - csa = CourseSessionAssignment.objects.create( - course_session=self.course_session, - # cs learning_content=LearningContentAssignment.objects.get( - # slug=f"{course.slug}-lp-circle-fahrzeug-lc-überprüfen-einer-motorfahrzeug-versicherungspolice" - # ), - ) - print(csa) - - submission_deadline = csa.submission_deadline - submission_deadline.end = self.course_session.start_date + timedelta(days=14) - submission_deadline.save() diff --git a/server/vbv_lernwelt/course_session/tests/test_models.py b/server/vbv_lernwelt/course_session/tests/test_models.py index ce7e54b5..578e5532 100644 --- a/server/vbv_lernwelt/course_session/tests/test_models.py +++ b/server/vbv_lernwelt/course_session/tests/test_models.py @@ -5,7 +5,7 @@ from django.utils import timezone from vbv_lernwelt.core.create_default_users import create_default_users from vbv_lernwelt.course.creators.test_course import create_test_course -from vbv_lernwelt.course_session.models import CourseSessionAssignment, CourseSessionAttendanceCourse +from vbv_lernwelt.course_session.models import CourseSessionAttendanceCourse from vbv_lernwelt.duedate.models import DueDate @@ -14,18 +14,6 @@ class CourseSessionModelsTestCase(TestCase): create_default_users() create_test_course(with_sessions=True) - def test_course_session_assignment(self): - csa = CourseSessionAssignment.objects.all().first() - - submission_deadline = csa.submission_deadline - - deadline_date = datetime(2023, 7, 6, 8, 30, tzinfo=timezone.get_current_timezone()) - submission_deadline.end = deadline_date - submission_deadline.save() - - this_date = DueDate.objects.get(pk=submission_deadline.pk) - self.assertEqual(this_date.end, deadline_date) - def test_course_session_attendance_course(self): csac = CourseSessionAttendanceCourse.objects.all().first() diff --git a/server/vbv_lernwelt/duedate/factories.py b/server/vbv_lernwelt/duedate/factories.py index 99ced1c8..a855041c 100644 --- a/server/vbv_lernwelt/duedate/factories.py +++ b/server/vbv_lernwelt/duedate/factories.py @@ -4,10 +4,6 @@ import structlog from django.utils import timezone from factory.django import DjangoModelFactory -from ..assignment.models import Assignment -from ..course.models import CourseSession -from ..learnpath.models import LearningContentAttendanceCourse - from .models import DueDate logger = structlog.get_logger(__name__) @@ -44,44 +40,6 @@ def hour_rounder(t): ) + datetime.timedelta(hours=t.minute // 30) -def create_duedates_for_all_course_sessions(): - all_course_sessions: list[CourseSession] = CourseSession.objects.all() - - for course_session in all_course_sessions: - create_duedates_for_course_session(course_session) - - -def create_duedates_for_course_session(course_session: CourseSession): - course = course_session.course - attendance_courses = list( - LearningContentAttendanceCourse.objects.descendant_of( - course.get_learning_path() - ) - ) - assignments = list(Assignment.objects.descendant_of(course.get_learning_path())) - contents = attendance_courses + assignments - - for content in contents: - if callable(getattr(content, "get_frontend_url", None)): - url = content.get_frontend_url() - - duedate, created = DueDate.objects.get_or_create( - course_session=course_session, - title=content.title, - url=url, - page=content.specific, - ) - - if created: - pass - logger.info( - "Created duedate ", - duedate=duedate, - course_session=course_session, - content=content, - ) - - def set_default_times_for_duedates(): now = hour_rounder(timezone.now()) diff --git a/server/vbv_lernwelt/duedate/management/commands/__init__.py b/server/vbv_lernwelt/duedate/management/commands/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/server/vbv_lernwelt/duedate/management/commands/create_default_duedates.py b/server/vbv_lernwelt/duedate/management/commands/create_default_duedates.py deleted file mode 100644 index 4b6af079..00000000 --- a/server/vbv_lernwelt/duedate/management/commands/create_default_duedates.py +++ /dev/null @@ -1,12 +0,0 @@ -import djclick as click - -from vbv_lernwelt.duedate.factories import ( - create_duedates_for_all_course_sessions, - set_default_times_for_duedates, -) - - -@click.command() -def command(): - create_duedates_for_all_course_sessions() - set_default_times_for_duedates()