Enable the journal app in LMS. Add support to display Journals on index and courseware pages and dashboard.
51 lines
1.8 KiB
Python
51 lines
1.8 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
|
|
from openedx.features.journals.api import journals_enabled
|
|
|
|
|
|
@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,
|
|
'show_journal_listing': journals_enabled(), # TODO: Dashboard Plugin required
|
|
'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)
|