Commit 448f5cc4 by Julia Hansbrough

Response to CR

parent 1a3f4cb8
...@@ -296,13 +296,13 @@ def complete_course_mode_info(course_id, enrollment): ...@@ -296,13 +296,13 @@ def complete_course_mode_info(course_id, enrollment):
def dashboard(request): def dashboard(request):
user = request.user user = request.user
# Build our courses list for the user, but ignore any courses that no longer # Build our (course, enorllment) list for the user, but ignore any courses that no
# exist (because the course IDs have changed). Still, we don't delete those # longer exist (because the course IDs have changed). Still, we don't delete those
# enrollments, because it could have been a data push snafu. # enrollments, because it could have been a data push snafu.
courses = [] course_enrollment_pairs = []
for enrollment in CourseEnrollment.enrollments_for_user(user): for enrollment in CourseEnrollment.enrollments_for_user(user):
try: try:
courses.append((course_from_id(enrollment.course_id), enrollment)) course_enrollment_pairs.append((course_from_id(enrollment.course_id), enrollment))
except ItemNotFoundError: except ItemNotFoundError:
log.error("User {0} enrolled in non-existent course {1}" log.error("User {0} enrolled in non-existent course {1}"
.format(user.username, enrollment.course_id)) .format(user.username, enrollment.course_id))
...@@ -321,15 +321,15 @@ def dashboard(request): ...@@ -321,15 +321,15 @@ def dashboard(request):
staff_access = True staff_access = True
errored_courses = modulestore().get_errored_courses() errored_courses = modulestore().get_errored_courses()
show_courseware_links_for = frozenset(course.id for course, _enrollment in courses show_courseware_links_for = frozenset(course.id for course, _enrollment in course_enrollment_pairs
if has_access(request.user, course, 'load')) if has_access(request.user, course, 'load'))
course_modes = {course.id: complete_course_mode_info(course.id, enrollment) for course, enrollment in courses} course_modes = {course.id: complete_course_mode_info(course.id, enrollment) for course, enrollment in course_enrollment_pairs}
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 course_enrollment_pairs}
# only show email settings for Mongo course and when bulk email is turned on # only show email settings for Mongo course and when bulk email is turned on
show_email_settings_for = frozenset( show_email_settings_for = frozenset(
course.id for course, _enrollment in courses if ( course.id for course, _enrollment in course_enrollment_pairs if (
settings.MITX_FEATURES['ENABLE_INSTRUCTOR_EMAIL'] and settings.MITX_FEATURES['ENABLE_INSTRUCTOR_EMAIL'] and
modulestore().get_modulestore_type(course.id) == MONGO_MODULESTORE_TYPE and modulestore().get_modulestore_type(course.id) == MONGO_MODULESTORE_TYPE and
CourseAuthorization.instructor_email_enabled(course.id) CourseAuthorization.instructor_email_enabled(course.id)
...@@ -339,7 +339,7 @@ def dashboard(request): ...@@ -339,7 +339,7 @@ def dashboard(request):
# Verification Attempts # Verification Attempts
verification_status, verification_msg = SoftwareSecurePhotoVerification.user_status(user) verification_status, verification_msg = SoftwareSecurePhotoVerification.user_status(user)
show_refund_option_for = frozenset(course.id for course, _enrollment in courses show_refund_option_for = frozenset(course.id for course, _enrollment in course_enrollment_pairs
if _enrollment.refundable()) if _enrollment.refundable())
# get info w.r.t ExternalAuthMap # get info w.r.t ExternalAuthMap
...@@ -349,7 +349,7 @@ def dashboard(request): ...@@ -349,7 +349,7 @@ def dashboard(request):
except ExternalAuthMap.DoesNotExist: except ExternalAuthMap.DoesNotExist:
pass pass
context = {'courses': courses, context = {'course_enrollment_pairs': course_enrollment_pairs,
'course_optouts': course_optouts, 'course_optouts': course_optouts,
'message': message, 'message': message,
'external_auth_map': external_auth_map, 'external_auth_map': external_auth_map,
...@@ -1515,4 +1515,4 @@ def change_email_settings(request): ...@@ -1515,4 +1515,4 @@ def change_email_settings(request):
log.info(u"User {0} ({1}) opted out of receiving emails from course {2}".format(user.username, user.email, course_id)) log.info(u"User {0} ({1}) opted out of receiving emails from course {2}".format(user.username, user.email, course_id))
track.views.server_track(request, "change-email-settings", {"receive_emails": "no", "course": course_id}, page='dashboard') track.views.server_track(request, "change-email-settings", {"receive_emails": "no", "course": course_id}, page='dashboard')
return HttpResponse(json.dumps({'success': True})) return HttpResponse(json.dumps({'success': True}))
\ No newline at end of file
...@@ -411,10 +411,7 @@ class CertificateItem(OrderItem): ...@@ -411,10 +411,7 @@ class CertificateItem(OrderItem):
""" """
# Only refund verified cert unenrollments that are within bounds of the expiration date # Only refund verified cert unenrollments that are within bounds of the expiration date
if course_enrollment.mode != 'verified': if not course_enrollment.refundable():
return
if CourseMode.mode_for_course(course_enrollment.course_id, 'verified') is None:
return return
target_certs = CertificateItem.objects.filter(course_id=course_enrollment.course_id, user_id=course_enrollment.user, status='purchased', mode='verified') target_certs = CertificateItem.objects.filter(course_id=course_enrollment.course_id, user_id=course_enrollment.user, status='purchased', mode='verified')
......
...@@ -183,9 +183,9 @@ ...@@ -183,9 +183,9 @@
<h2>${_("Current Courses")}</h2> <h2>${_("Current Courses")}</h2>
</header> </header>
% if len(courses) > 0: % if len(course_enrollment_pairs) > 0:
<ul class="listing-courses"> <ul class="listing-courses">
% for course, enrollment in courses: % for course, enrollment in course_enrollment_pairs:
<% 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) %>
<% show_email_settings = (course.id in show_email_settings_for) %> <% show_email_settings = (course.id in show_email_settings_for) %>
...@@ -341,4 +341,4 @@ ...@@ -341,4 +341,4 @@
</div> </div>
</form> </form>
</div> </div>
</section> </section>
\ No newline at end of file
...@@ -157,4 +157,4 @@ ...@@ -157,4 +157,4 @@
</section> </section>
</article> </article>
</li> </li>
\ No newline at end of file
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