From a782f5d7e5e43ec6673c1ecc576045e6fb8e71e8 Mon Sep 17 00:00:00 2001 From: muhammad-ammar Date: Thu, 16 Sep 2021 09:14:49 +0500 Subject: [PATCH] feat: add new field and updated existing fields max_length value * add primary_program_type field in EnterpriseLearnerEnrollment * update max_length value for existing fields in EnterpriseLearnerEnrollment --- CHANGELOG.rst | 5 ++ enterprise_data/__init__.py | 2 +- enterprise_data/api/v1/serializers.py | 2 +- enterprise_data/api/v1/views.py | 2 +- .../migrations/0026_auto_20210916_0414.py | 68 +++++++++++++++++++ enterprise_data/models.py | 21 +++--- 6 files changed, 87 insertions(+), 13 deletions(-) create mode 100644 enterprise_data/migrations/0026_auto_20210916_0414.py diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 7d701f0f..86b54368 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -15,6 +15,11 @@ Unreleased ---------- ========================= +[3.1.0] - 2021-09-16 +--------------------- + * add `primary_program_type` field in EnterpriseLearnerEnrollment + * update max_length value for existing fields in EnterpriseLearnerEnrollment + [3.0.0] - 2021-09-07 --------------------- * Remove old field names from LPR API V1 diff --git a/enterprise_data/__init__.py b/enterprise_data/__init__.py index b3ad375a..05f4e4ff 100644 --- a/enterprise_data/__init__.py +++ b/enterprise_data/__init__.py @@ -2,6 +2,6 @@ Enterprise data api application. This Django app exposes API endpoints used by enterprises. """ -__version__ = "3.0.0" +__version__ = "3.1.0" default_app_config = "enterprise_data.apps.EnterpriseDataAppConfig" # pylint: disable=invalid-name diff --git a/enterprise_data/api/v1/serializers.py b/enterprise_data/api/v1/serializers.py index 05a3422e..9d6fe5d1 100644 --- a/enterprise_data/api/v1/serializers.py +++ b/enterprise_data/api/v1/serializers.py @@ -28,7 +28,7 @@ class Meta: 'course_list_price', 'amount_learner_paid', 'course_key', 'courserun_key', 'course_title', 'course_pacing_type', 'course_start_date', 'course_end_date', 'course_duration_weeks', 'course_max_effort', 'course_min_effort', - 'course_primary_program', 'course_primary_subject', 'has_passed', + 'course_primary_program', 'primary_program_type', 'course_primary_subject', 'has_passed', 'last_activity_date', 'progress_status', 'passed_date', 'current_grade', 'letter_grade', 'enterprise_user_id', 'user_email', 'user_account_creation_date', 'user_country_code', 'user_username', 'enterprise_name', 'enterprise_customer_uuid', diff --git a/enterprise_data/api/v1/views.py b/enterprise_data/api/v1/views.py index 6f1b1a4a..d7b88e4d 100644 --- a/enterprise_data/api/v1/views.py +++ b/enterprise_data/api/v1/views.py @@ -80,7 +80,7 @@ class EnterpriseLearnerEnrollmentViewSet(EnterpriseViewSet, viewsets.ModelViewSe 'course_list_price', 'amount_learner_paid', 'course_key', 'courserun_key', 'course_title', 'course_pacing_type', 'course_start_date', 'course_end_date', 'course_duration_weeks', 'course_max_effort', 'course_min_effort', - 'course_primary_program', 'course_primary_subject', 'has_passed', + 'course_primary_program', 'primary_program_type', 'course_primary_subject', 'has_passed', 'last_activity_date', 'progress_status', 'passed_date', 'current_grade', 'letter_grade', 'enterprise_user_id', 'user_email', 'user_account_creation_date', 'user_country_code', 'user_username', 'enterprise_name', 'enterprise_customer_uuid', diff --git a/enterprise_data/migrations/0026_auto_20210916_0414.py b/enterprise_data/migrations/0026_auto_20210916_0414.py new file mode 100644 index 00000000..7bbd4478 --- /dev/null +++ b/enterprise_data/migrations/0026_auto_20210916_0414.py @@ -0,0 +1,68 @@ +# Generated by Django 2.2.17 on 2021-09-16 04:14 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('enterprise_data', '0025_auto_20210703_1854'), + ] + + operations = [ + migrations.AddField( + model_name='enterpriselearnerenrollment', + name='primary_program_type', + field=models.CharField(max_length=255, null=True), + ), + migrations.AlterField( + model_name='enterpriselearnerenrollment', + name='contract_id', + field=models.CharField(max_length=255, null=True), + ), + migrations.AlterField( + model_name='enterpriselearnerenrollment', + name='coupon_code', + field=models.CharField(max_length=255, null=True), + ), + migrations.AlterField( + model_name='enterpriselearnerenrollment', + name='coupon_name', + field=models.CharField(max_length=255, null=True), + ), + migrations.AlterField( + model_name='enterpriselearnerenrollment', + name='course_primary_program', + field=models.CharField(max_length=255, null=True), + ), + migrations.AlterField( + model_name='enterpriselearnerenrollment', + name='course_primary_subject', + field=models.CharField(max_length=255, null=True), + ), + migrations.AlterField( + model_name='enterpriselearnerenrollment', + name='letter_grade', + field=models.CharField(max_length=64, null=True), + ), + migrations.AlterField( + model_name='enterpriselearnerenrollment', + name='offer_type', + field=models.CharField(max_length=255, null=True), + ), + migrations.AlterField( + model_name='enterpriselearnerenrollment', + name='paid_by', + field=models.CharField(max_length=255, null=True), + ), + migrations.AlterField( + model_name='enterpriselearnerenrollment', + name='progress_status', + field=models.CharField(max_length=255, null=True), + ), + migrations.AlterField( + model_name='enterpriselearnerenrollment', + name='seat_delivery_method', + field=models.CharField(max_length=255, null=True), + ), + ] diff --git a/enterprise_data/models.py b/enterprise_data/models.py index 2b5ed4c3..7e52c399 100644 --- a/enterprise_data/models.py +++ b/enterprise_data/models.py @@ -74,18 +74,18 @@ class Meta: enterprise_enrollment_id = models.PositiveIntegerField(primary_key=True) enrollment_id = models.PositiveIntegerField(null=True) is_consent_granted = models.BooleanField(default=False) - paid_by = models.CharField(max_length=128, null=True) + paid_by = models.CharField(max_length=255, null=True) user_current_enrollment_mode = models.CharField(max_length=32) enrollment_date = models.DateField() unenrollment_date = models.DateField(null=True) unenrollment_end_within_date = models.DateField(null=True) is_refunded = models.BooleanField(default=None, null=True) - seat_delivery_method = models.CharField(max_length=128, null=True) + seat_delivery_method = models.CharField(max_length=255, null=True) offer_name = models.CharField(max_length=255, null=True) - offer_type = models.CharField(max_length=128, null=True) - coupon_code = models.CharField(max_length=128, null=True) - coupon_name = models.CharField(max_length=128, null=True) - contract_id = models.CharField(max_length=128, null=True) + offer_type = models.CharField(max_length=255, null=True) + coupon_code = models.CharField(max_length=255, null=True) + coupon_name = models.CharField(max_length=255, null=True) + contract_id = models.CharField(max_length=255, null=True) course_list_price = models.FloatField(null=True) amount_learner_paid = models.FloatField(null=True) course_key = models.CharField(max_length=255, null=False, db_index=True) @@ -97,14 +97,15 @@ class Meta: course_duration_weeks = models.PositiveIntegerField(null=True) course_max_effort = models.PositiveIntegerField(null=True) course_min_effort = models.PositiveIntegerField(null=True) - course_primary_program = models.CharField(max_length=128, null=True) - course_primary_subject = models.CharField(max_length=128, null=True) + course_primary_program = models.CharField(max_length=255, null=True) + primary_program_type = models.CharField(max_length=255, null=True) + course_primary_subject = models.CharField(max_length=255, null=True) has_passed = models.BooleanField(default=False) last_activity_date = models.DateField(null=True, db_index=True) - progress_status = models.CharField(max_length=128, null=True) + progress_status = models.CharField(max_length=255, null=True) passed_date = models.DateField(null=True) current_grade = models.FloatField(null=True) - letter_grade = models.CharField(max_length=32, null=True) + letter_grade = models.CharField(max_length=64, null=True) enterprise_user = models.ForeignKey( 'EnterpriseLearner', related_name='enrollments',