diff --git a/common/djangoapps/student/views.py b/common/djangoapps/student/views.py index 8c84d9557e340cff74df72f0b3ac4b937fcff003..285509bf5a495e681260db03bd63ba8a7f078702 100644 --- a/common/djangoapps/student/views.py +++ b/common/djangoapps/student/views.py @@ -48,6 +48,7 @@ from certificates.models import CertificateStatuses, certificate_status_for_stud from xmodule.course_module import CourseDescriptor from xmodule.modulestore.exceptions import ItemNotFoundError from xmodule.modulestore.django import modulestore +from xmodule.modulestore import MONGO_MODULESTORE_TYPE from collections import namedtuple @@ -295,6 +296,11 @@ def dashboard(request): cert_statuses = {course.id: cert_info(request.user, course) for course, _enrollment in courses} + # only show email settings for Mongo course and when bulk email is turned on + show_email_settings_for = frozenset(course.id for course, _enrollment in courses + if (settings.MITX_FEATURES['ENABLE_INSTRUCTOR_EMAIL'] and + modulestore().get_modulestore_type(course.id) == MONGO_MODULESTORE_TYPE)) + # get info w.r.t ExternalAuthMap external_auth_map = None try: @@ -310,6 +316,7 @@ def dashboard(request): 'errored_courses': errored_courses, 'show_courseware_links_for': show_courseware_links_for, 'cert_statuses': cert_statuses, + 'show_email_settings_for': show_email_settings_for, } return render_to_response('dashboard.html', context) diff --git a/lms/templates/dashboard.html b/lms/templates/dashboard.html index d6d708a0c65df807540af6fd8127040c959560f5..725841415af53a652e4da5439fd54bb05e98fb83 100644 --- a/lms/templates/dashboard.html +++ b/lms/templates/dashboard.html @@ -157,7 +157,8 @@ % for course, enrollment in courses: <% show_courseware_link = (course.id in show_courseware_links_for) %> <% cert_status = cert_statuses.get(course.id) %> - <%include file='dashboard/dashboard_course_listing.html' args="course=course, enrollment=enrollment, show_courseware_link=show_courseware_link, cert_status=cert_status" /> + <% show_email_settings = (course.id in show_email_settings_for) %> + <%include file='dashboard/dashboard_course_listing.html' args="course=course, enrollment=enrollment, show_courseware_link=show_courseware_link, cert_status=cert_status, show_email_settings=show_email_settings" /> % endfor </ul> diff --git a/lms/templates/dashboard/dashboard_course_listing.html b/lms/templates/dashboard/dashboard_course_listing.html index 98cdebca3c4f628fc113a1b1e5e3e1784da54275..c51f6e50158f47c042d70723492fb15cbadcc128 100644 --- a/lms/templates/dashboard/dashboard_course_listing.html +++ b/lms/templates/dashboard/dashboard_course_listing.html @@ -1,4 +1,4 @@ -<%page args="course, enrollment, show_courseware_link, cert_status" /> +<%page args="course, enrollment, show_courseware_link, cert_status, show_email_settings" /> <%! from django.utils.translation import ugettext as _ %> <%! @@ -6,10 +6,6 @@ from courseware.courses import course_image_url, get_course_about_section from courseware.access import has_access from certificates.models import CertificateStatuses - - from xmodule.modulestore import MONGO_MODULESTORE_TYPE - from xmodule.modulestore.django import modulestore - import waffle %> <li class="course-item"> @@ -123,8 +119,7 @@ <a href="#unenroll-modal" class="unenroll" rel="leanModal" data-course-id="${course.id}" data-course-number="${course.number}">${_('Unregister')}</a> -% if settings.MITX_FEATURES['ENABLE_INSTRUCTOR_EMAIL'] and modulestore().get_modulestore_type(course.id) == MONGO_MODULESTORE_TYPE: - <!-- Only show the Email Settings link/modal if this course has bulk email feature enabled --> +% if show_email_settings: <a href="#email-settings-modal" class="email-settings" rel="leanModal" data-course-id="${course.id}" data-course-number="${course.number}" data-optout="${course.id in course_optouts}">${_('Email Settings')}</a> % endif