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
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)
......
......@@ -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>
......
<%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
......
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