From 0895d1bf0cf099a10768d7b77f36132a8687dec0 Mon Sep 17 00:00:00 2001 From: Muhammad Afaq Shuaib Date: Tue, 30 Apr 2024 02:45:21 +0500 Subject: [PATCH] test: add some changes --- .../apps/course_metadata/managers.py | 26 +++++++++++++------ ...er_restrictedcourserun_restriction_type.py | 18 ------------- 2 files changed, 18 insertions(+), 26 deletions(-) delete mode 100644 course_discovery/apps/course_metadata/migrations/0342_alter_restrictedcourserun_restriction_type.py diff --git a/course_discovery/apps/course_metadata/managers.py b/course_discovery/apps/course_metadata/managers.py index 6e8e37432de..56bc98034dc 100644 --- a/course_discovery/apps/course_metadata/managers.py +++ b/course_discovery/apps/course_metadata/managers.py @@ -8,18 +8,28 @@ class DraftManager(models.Manager): """ Model manager that hides draft rows unless you ask for them. """ - def get_queryset(self): - return super().get_queryset().filter(draft=models.Value(0)) - - def _with_drafts(self): - return super().get_queryset() - - def filter_drafts(self, **kwargs): + def get_queryset(self, allow_restricted=False): + if not allow_restricted: + return super().get_queryset().filter(draft=models.Value(0), restricted_run__isnull=True) + else: + return super().get_queryset().filter(draft=models.Value(0)) + + def _with_drafts(self, allow_restricted=False): + if not allow_restricted: + return super().get_queryset().filter(restricted_run__isnull=True) + else: + return super().get_queryset() + + def filter_drafts(self, allow_restricted=False, **kwargs): """ Acts like filter(), but prefers draft versions. If a draft is not available, we give back the non-draft version. """ - return self._with_drafts().filter(Q(draft=models.Value(1)) | Q(draft_version=None)).filter(**kwargs) + if allow_restricted: + return self._with_drafts(allow_restricted=True).filter(Q(draft=models.Value(1)) | Q(draft_version=None)).filter(**kwargs) + else: + return self._with_drafts().filter(Q(draft=models.Value(1)) | Q(draft_version=None)).filter(**kwargs) + def get_draft(self, **kwargs): """ diff --git a/course_discovery/apps/course_metadata/migrations/0342_alter_restrictedcourserun_restriction_type.py b/course_discovery/apps/course_metadata/migrations/0342_alter_restrictedcourserun_restriction_type.py deleted file mode 100644 index da2e55b89ce..00000000000 --- a/course_discovery/apps/course_metadata/migrations/0342_alter_restrictedcourserun_restriction_type.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 4.2.9 on 2024-04-29 20:43 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('course_metadata', '0341_restrictedcourserun'), - ] - - operations = [ - migrations.AlterField( - model_name='restrictedcourserun', - name='restriction_type', - field=models.CharField(blank=True, choices=[('custom-b2b-enterprise', 'Custom B2B Enterprise'), ('custom-b2c', 'Custom B2C')], help_text='The type of restriction for the course run', max_length=255, null=True), - ), - ]