Commit ed5168ec by Diana Huang

Move more dashboard logic into the views

parent 7ba38c0f
...@@ -48,6 +48,7 @@ from certificates.models import CertificateStatuses, certificate_status_for_stud ...@@ -48,6 +48,7 @@ from certificates.models import CertificateStatuses, certificate_status_for_stud
from xmodule.course_module import CourseDescriptor from xmodule.course_module import CourseDescriptor
from xmodule.modulestore.exceptions import ItemNotFoundError from xmodule.modulestore.exceptions import ItemNotFoundError
from xmodule.modulestore.django import modulestore from xmodule.modulestore.django import modulestore
from xmodule.modulestore import MONGO_MODULESTORE_TYPE
from collections import namedtuple from collections import namedtuple
...@@ -295,6 +296,11 @@ def dashboard(request): ...@@ -295,6 +296,11 @@ def dashboard(request):
cert_statuses = {course.id: cert_info(request.user, course) for course, _enrollment in courses} 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 # get info w.r.t ExternalAuthMap
external_auth_map = None external_auth_map = None
try: try:
...@@ -310,6 +316,7 @@ def dashboard(request): ...@@ -310,6 +316,7 @@ def dashboard(request):
'errored_courses': errored_courses, 'errored_courses': errored_courses,
'show_courseware_links_for': show_courseware_links_for, 'show_courseware_links_for': show_courseware_links_for,
'cert_statuses': cert_statuses, 'cert_statuses': cert_statuses,
'show_email_settings_for': show_email_settings_for,
} }
return render_to_response('dashboard.html', context) return render_to_response('dashboard.html', context)
......
...@@ -157,7 +157,8 @@ ...@@ -157,7 +157,8 @@
% for course, enrollment in courses: % for course, enrollment in courses:
<% show_courseware_link = (course.id in show_courseware_links_for) %> <% show_courseware_link = (course.id in show_courseware_links_for) %>
<% cert_status = cert_statuses.get(course.id) %> <% 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 % endfor
</ul> </ul>
......
<%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 _ %> <%! from django.utils.translation import ugettext as _ %>
<%! <%!
...@@ -6,10 +6,6 @@ ...@@ -6,10 +6,6 @@
from courseware.courses import course_image_url, get_course_about_section from courseware.courses import course_image_url, get_course_about_section
from courseware.access import has_access from courseware.access import has_access
from certificates.models import CertificateStatuses from certificates.models import CertificateStatuses
from xmodule.modulestore import MONGO_MODULESTORE_TYPE
from xmodule.modulestore.django import modulestore
import waffle import waffle
%> %>
<li class="course-item"> <li class="course-item">
...@@ -123,8 +119,7 @@ ...@@ -123,8 +119,7 @@
<a href="#unenroll-modal" class="unenroll" rel="leanModal" data-course-id="${course.id}" data-course-number="${course.number}">${_('Unregister')}</a> <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: % if show_email_settings:
<!-- Only show the Email Settings link/modal if this course has bulk email feature enabled -->
<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> <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 % endif
......
Markdown is supported
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