From 7740dcd5c055babaa8f021073c9c38c99fad4dec Mon Sep 17 00:00:00 2001 From: Arunmozhi Date: Tue, 4 Jul 2023 13:44:14 +0530 Subject: [PATCH 01/10] feat: adds attribute to hide course prices when zero This adds a new attribute `hide_course_price_when_zero` to the EnterpriseCustomer model, which will hide the pricing information from the enrollment page when the final price of a premium course mode is Zero. --- enterprise/admin/forms.py | 1 + .../migrations/0175_auto_20230704_0740.py | 23 +++++++++++++++ enterprise/models.py | 5 ++++ .../enterprise_course_enrollment_page.html | 24 ++++++++-------- .../enterprise/templatetags/course_modal.html | 2 +- enterprise/utils.py | 26 +++++++++++++++++ enterprise/views.py | 7 ++++- tests/test_enterprise/test_utils.py | 28 +++++++++++++++++++ 8 files changed, 103 insertions(+), 13 deletions(-) create mode 100644 enterprise/migrations/0175_auto_20230704_0740.py diff --git a/enterprise/admin/forms.py b/enterprise/admin/forms.py index fd076aa4d4..ffa6b16136 100644 --- a/enterprise/admin/forms.py +++ b/enterprise/admin/forms.py @@ -395,6 +395,7 @@ class Meta: "enable_audit_data_reporting", "replace_sensitive_sso_username", "hide_course_original_price", + "hide_course_price_when_zero", "enable_portal_code_management_screen", "enable_portal_subscription_management_screen", "enable_learner_portal", diff --git a/enterprise/migrations/0175_auto_20230704_0740.py b/enterprise/migrations/0175_auto_20230704_0740.py new file mode 100644 index 0000000000..dc84c483f0 --- /dev/null +++ b/enterprise/migrations/0175_auto_20230704_0740.py @@ -0,0 +1,23 @@ +# Generated by Django 3.2.19 on 2023-07-04 07:40 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('enterprise', '0174_auto_20230608_2041'), + ] + + operations = [ + migrations.AddField( + model_name='enterprisecustomer', + name='hide_course_price_when_zero', + field=models.BooleanField(default=False, help_text="Hides the course's price from the enrollment page when it is Zero, either by itself or due to a discount."), + ), + migrations.AddField( + model_name='historicalenterprisecustomer', + name='hide_course_price_when_zero', + field=models.BooleanField(default=False, help_text="Hides the course's price from the enrollment page when it is Zero, either by itself or due to a discount."), + ), + ] diff --git a/enterprise/models.py b/enterprise/models.py index 4ad711cee8..8180e033fb 100644 --- a/enterprise/models.py +++ b/enterprise/models.py @@ -472,6 +472,11 @@ class Meta: help_text=_("Email address that will receive learner replies to automated edX emails.") ) + hide_course_price_when_zero = models.BooleanField( + default=False, + help_text=_("Specify whether course cost should be hidden in the landing page when the final price is zero.") + ) + enable_generation_of_api_credentials = models.BooleanField( verbose_name="Allow generation of API credentials", default=False, diff --git a/enterprise/templates/enterprise/enterprise_course_enrollment_page.html b/enterprise/templates/enterprise/enterprise_course_enrollment_page.html index 1d4a777bdf..efb644a519 100644 --- a/enterprise/templates/enterprise/enterprise_course_enrollment_page.html +++ b/enterprise/templates/enterprise/enterprise_course_enrollment_page.html @@ -77,19 +77,21 @@

{{ confirmation_text }}

diff --git a/enterprise/templates/enterprise/templatetags/course_modal.html b/enterprise/templates/enterprise/templatetags/course_modal.html index 41e6f694e0..bc7965b9f3 100644 --- a/enterprise/templates/enterprise/templatetags/course_modal.html +++ b/enterprise/templates/enterprise/templatetags/course_modal.html @@ -25,7 +25,7 @@

{{ course_title