Skip to content
Snippets Groups Projects
Commit cf2e778b authored by Michael Terry's avatar Michael Terry
Browse files

TNL-7185: clean up unused html blobs from the API

Now that the MFE consumes our data structure for a couple of the
alerts, we no longer need to send raw html at all for them.
parent 2711fbb3
Branches
Tags release-2021-01-05-15.23
No related merge requests found
......@@ -111,7 +111,6 @@ class OutlineTabSerializer(DatesBannerSerializerMixin, VerifiedModeSerializerMix
"""
access_expiration = serializers.DictField()
course_blocks = CourseBlockSerializer()
course_expired_html = serializers.CharField()
course_goals = CourseGoalsSerializer()
course_tools = CourseToolSerializer(many=True)
dates_widget = DatesWidgetSerializer()
......@@ -119,6 +118,5 @@ class OutlineTabSerializer(DatesBannerSerializerMixin, VerifiedModeSerializerMix
handouts_html = serializers.CharField()
has_ended = serializers.BooleanField()
offer = serializers.DictField()
offer_html = serializers.CharField()
resume_course = ResumeCourseSerializer()
welcome_message_html = serializers.CharField()
......@@ -171,11 +171,9 @@ class OutlineTabTestViews(BaseCourseHomeTests):
response = self.client.get(self.url)
self.assertIsNone(response.data['offer'])
self.assertIsNone(response.data['offer_html'])
with override_waffle_flag(DISCOUNT_APPLICABILITY_FLAG, active=True):
response = self.client.get(self.url)
self.assertIsNotNone(response.data['offer_html'])
# Just a quick spot check that the dictionary looks like what we expect
self.assertEqual(response.data['offer']['code'], 'EDXWELCOME')
......@@ -188,11 +186,9 @@ class OutlineTabTestViews(BaseCourseHomeTests):
response = self.client.get(self.url)
self.assertIsNone(response.data['access_expiration'])
self.assertIsNone(response.data['course_expired_html'])
enrollment.update_enrollment(CourseMode.AUDIT)
response = self.client.get(self.url)
self.assertIsNotNone(response.data['course_expired_html'])
# Just a quick spot check that the dictionary looks like what we expect
deadline = enrollment.created + MIN_DURATION
......@@ -297,8 +293,8 @@ class OutlineTabTestViews(BaseCourseHomeTests):
@override_experiment_waffle_flag(COURSE_HOME_MICROFRONTEND, active=True)
@override_waffle_flag(COURSE_HOME_MICROFRONTEND_OUTLINE_TAB, active=True)
@override_waffle_flag(COURSE_ENABLE_UNENROLLED_ACCESS_FLAG, active=True)
@patch('lms.djangoapps.course_home_api.outline.v1.views.generate_offer_html', new=Mock(return_value='<p>Offer</p>'))
@patch('lms.djangoapps.course_home_api.outline.v1.views.generate_course_expired_message', new=Mock(return_value='<p>Expired</p>'))
@patch('lms.djangoapps.course_home_api.outline.v1.views.generate_offer_data', new=Mock(return_value={'a': 1}))
@patch('lms.djangoapps.course_home_api.outline.v1.views.get_access_expiration_data', new=Mock(return_value={'b': 1}))
@ddt.data(*itertools.product([True, False], [True, False],
[None, COURSE_VISIBILITY_PUBLIC, COURSE_VISIBILITY_PUBLIC_OUTLINE]))
@ddt.unpack
......@@ -329,8 +325,8 @@ class OutlineTabTestViews(BaseCourseHomeTests):
data = self.client.get(self.url).data
self.assertEqual(data['course_blocks'] is not None, show_enrolled or is_public or is_public_outline)
self.assertEqual(data['handouts_html'] is not None, show_enrolled or is_public)
self.assertEqual(data['offer_html'] is not None, show_enrolled)
self.assertEqual(data['course_expired_html'] is not None, show_enrolled)
self.assertEqual(data['offer'] is not None, show_enrolled)
self.assertEqual(data['access_expiration'] is not None, show_enrolled)
self.assertEqual(data['resume_course']['url'] is not None, show_enrolled)
@override_experiment_waffle_flag(COURSE_HOME_MICROFRONTEND, active=True)
......
......@@ -30,14 +30,14 @@ from lms.djangoapps.courseware.courses import get_course_date_blocks, get_course
from lms.djangoapps.courseware.date_summary import TodaysDate
from lms.djangoapps.courseware.masquerade import setup_masquerade
from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
from openedx.features.course_duration_limits.access import generate_course_expired_message, get_access_expiration_data
from openedx.features.course_duration_limits.access import get_access_expiration_data
from openedx.features.course_experience import COURSE_ENABLE_UNENROLLED_ACCESS_FLAG
from openedx.features.course_experience.course_tools import CourseToolsPluginManager
from openedx.features.course_experience.course_updates import (
dismiss_current_update_for_user, get_current_update_for_user,
)
from openedx.features.course_experience.utils import get_course_outline_block_tree
from openedx.features.discounts.utils import generate_offer_data, generate_offer_html
from openedx.features.discounts.utils import generate_offer_data
from common.djangoapps.student.models import CourseEnrollment
from xmodule.course_module import COURSE_VISIBILITY_PUBLIC, COURSE_VISIBILITY_PUBLIC_OUTLINE
from xmodule.modulestore.django import modulestore
......@@ -176,11 +176,8 @@ class OutlineTabView(RetrieveAPIView):
show_handouts = show_enrolled or allow_public
handouts_html = get_course_info_section(request, request.user, course, 'handouts') if show_handouts else ''
# TODO: TNL-7185 Legacy: Refactor to return the offer & expired data and format the message in the MFE
offer_data = show_enrolled and generate_offer_data(request.user, course_overview)
offer_html = show_enrolled and generate_offer_html(request.user, course_overview)
access_expiration = show_enrolled and get_access_expiration_data(request.user, course_overview)
course_expired_html = show_enrolled and generate_course_expired_message(request.user, course_overview)
welcome_message_html = show_enrolled and get_current_update_for_user(request, course)
......@@ -259,7 +256,6 @@ class OutlineTabView(RetrieveAPIView):
data = {
'access_expiration': access_expiration or None,
'course_blocks': course_blocks,
'course_expired_html': course_expired_html or None,
'course_goals': course_goals,
'course_tools': course_tools,
'dates_widget': dates_widget,
......@@ -267,7 +263,6 @@ class OutlineTabView(RetrieveAPIView):
'handouts_html': handouts_html or None,
'has_ended': course.has_ended(),
'offer': offer_data or None,
'offer_html': offer_html or None,
'resume_course': resume_course,
'welcome_message_html': welcome_message_html or None,
}
......
......@@ -81,7 +81,6 @@ class CourseInfoSerializer(serializers.Serializer): # pylint: disable=abstract-
access_expiration = serializers.DictField()
can_show_upgrade_sock = serializers.BooleanField()
content_type_gating_enabled = serializers.BooleanField()
course_expired_message = serializers.CharField()
effort = serializers.CharField()
end = serializers.DateTimeField()
enrollment = serializers.DictField()
......@@ -93,7 +92,6 @@ class CourseInfoSerializer(serializers.Serializer): # pylint: disable=abstract-
name = serializers.CharField(source='display_name_with_default_escaped')
number = serializers.CharField(source='display_number_with_default')
offer = serializers.DictField()
offer_html = serializers.CharField()
org = serializers.CharField(source='display_org_with_default')
related_programs = CourseProgramSerializer(many=True)
short_description = serializers.CharField()
......
......@@ -40,8 +40,8 @@ from openedx.core.lib.api.view_utils import DeveloperErrorViewMixin
from openedx.core.djangoapps.programs.utils import ProgramProgressMeter
from openedx.features.course_experience import DISPLAY_COURSE_SOCK_FLAG
from openedx.features.content_type_gating.models import ContentTypeGatingConfig
from openedx.features.course_duration_limits.access import generate_course_expired_message, get_access_expiration_data
from openedx.features.discounts.utils import generate_offer_data, generate_offer_html
from openedx.features.course_duration_limits.access import get_access_expiration_data
from openedx.features.discounts.utils import generate_offer_data
from common.djangoapps.student.models import (
CourseEnrollment, CourseEnrollmentCelebration, LinkedInAddToProfileConfiguration
)
......@@ -123,20 +123,10 @@ class CoursewareMeta:
def access_expiration(self):
return get_access_expiration_data(self.effective_user, self.overview)
@property
def course_expired_message(self):
# TODO: TNL-7185 Legacy: Refactor to return the expiration date and format the message in the MFE
return generate_course_expired_message(self.effective_user, self.overview)
@property
def offer(self):
return generate_offer_data(self.effective_user, self.overview)
@property
def offer_html(self):
# TODO: TNL-7185 Legacy: Refactor to return the offer data and format the message in the MFE
return generate_offer_html(self.effective_user, self.overview)
@property
def content_type_gating_enabled(self):
return ContentTypeGatingConfig.enabled_for_enrollment(
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment