To extract the program detail information edX mobile team has to parse all the un-necassary details which takes time that ultimately slows down app.To avoid it,a detail fragment is created that will be used in the mobile app as well as on the web. LEARNER-2981
49 lines
1.6 KiB
Python
49 lines
1.6 KiB
Python
"""Learner dashboard views"""
|
|
from django.contrib.auth.decorators import login_required
|
|
from django.views.decorators.http import require_GET
|
|
|
|
from edxmako.shortcuts import render_to_response
|
|
|
|
from lms.djangoapps.learner_dashboard.programs import ProgramsFragmentView, ProgramDetailsFragmentView
|
|
from openedx.core.djangoapps.programs.models import ProgramsApiConfig
|
|
|
|
|
|
@login_required
|
|
@require_GET
|
|
def program_listing(request):
|
|
"""View a list of programs in which the user is engaged."""
|
|
programs_config = ProgramsApiConfig.current()
|
|
programs_fragment = ProgramsFragmentView().render_to_fragment(request, programs_config=programs_config)
|
|
|
|
context = {
|
|
'disable_courseware_js': True,
|
|
'programs_fragment': programs_fragment,
|
|
'nav_hidden': True,
|
|
'show_dashboard_tabs': True,
|
|
'show_program_listing': programs_config.enabled,
|
|
'uses_pattern_library': True,
|
|
}
|
|
|
|
return render_to_response('learner_dashboard/programs.html', context)
|
|
|
|
|
|
@login_required
|
|
@require_GET
|
|
def program_details(request, program_uuid):
|
|
"""View details about a specific program."""
|
|
programs_config = ProgramsApiConfig.current()
|
|
program_fragment = ProgramDetailsFragmentView().render_to_fragment(
|
|
request, program_uuid, programs_config=programs_config
|
|
)
|
|
|
|
context = {
|
|
'program_fragment': program_fragment,
|
|
'show_program_listing': programs_config.enabled,
|
|
'show_dashboard_tabs': True,
|
|
'nav_hidden': True,
|
|
'disable_courseware_js': True,
|
|
'uses_pattern_library': True,
|
|
}
|
|
|
|
return render_to_response('learner_dashboard/program_details.html', context)
|