From 9a5febe63be6d60fe38f9374d546b8854773c3f7 Mon Sep 17 00:00:00 2001 From: rutvikrj26 Date: Wed, 1 May 2024 15:09:05 -0400 Subject: [PATCH] updated the function for 12M connection between course adn training --- physionet-django/user/managers.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/physionet-django/user/managers.py b/physionet-django/user/managers.py index f925dd0f5e..9be562564f 100644 --- a/physionet-django/user/managers.py +++ b/physionet-django/user/managers.py @@ -10,37 +10,35 @@ def get_review(self): return self.filter(status=TrainingStatus.REVIEW) def get_valid(self): - course_duration = Course.objects.filter(trainings=OuterRef('pk')).values('valid_duration')[:1] return self.filter( Q(status=TrainingStatus.ACCEPTED), Q(training_type__valid_duration__isnull=True) | Q(process_datetime__gte=timezone.now() - Case( - When(training_type__required_field=RequiredField.PLATFORM, then=Subquery(course_duration)), + When(training_type__required_field=RequiredField.PLATFORM, then=F('course__valid_duration')), default=F('training_type__valid_duration') )), ).annotate( valid_datetime=ExpressionWrapper( F('process_datetime') + Case( - When(training_type__required_field=RequiredField.PLATFORM, then=Subquery(course_duration)), + When(training_type__required_field=RequiredField.PLATFORM, then=F('course__valid_duration')), default=F('training_type__valid_duration') ), output_field=DateTimeField() ) ) def get_expired(self): - course_duration = Course.objects.filter(trainings=OuterRef('pk')).values('valid_duration')[:1] return self.filter( Q(status=TrainingStatus.ACCEPTED), Q(process_datetime__lt=timezone.now() - Case( - When(training_type__required_field=RequiredField.PLATFORM, then=Subquery(course_duration)), + When(training_type__required_field=RequiredField.PLATFORM, then=F('course__valid_duration')), default=F('training_type__valid_duration') )), ).annotate( valid_datetime=ExpressionWrapper( F('process_datetime') + Case( - When(training_type__required_field=RequiredField.PLATFORM, then=Subquery(course_duration)), + When(training_type__required_field=RequiredField.PLATFORM, then=F('course__valid_duration')), default=F('training_type__valid_duration') ), output_field=DateTimeField() )