Commit ae7b44bb by Eric Fischer

Merge pull request #10497 from edx/rc/2015-11-03

Fixing cert_status None bug
parents 0951dc39 dc469ea5
...@@ -195,14 +195,14 @@ class CourseEndingTest(TestCase): ...@@ -195,14 +195,14 @@ class CourseEndingTest(TestCase):
# test when the display is unavailable or notpassing, we get the correct results out # test when the display is unavailable or notpassing, we get the correct results out
course2.certificates_display_behavior = 'early_no_info' course2.certificates_display_behavior = 'early_no_info'
cert_status = {'status': 'unavailable'} cert_status = {'status': 'unavailable'}
self.assertIsNone(_cert_info(user, course2, cert_status, course_mode)) self.assertEqual(_cert_info(user, course2, cert_status, course_mode), {})
cert_status = { cert_status = {
'status': 'notpassing', 'grade': '67', 'status': 'notpassing', 'grade': '67',
'download_url': download_url, 'download_url': download_url,
'mode': 'honor' 'mode': 'honor'
} }
self.assertIsNone(_cert_info(user, course2, cert_status, course_mode)) self.assertEqual(_cert_info(user, course2, cert_status, course_mode), {})
@ddt.ddt @ddt.ddt
......
...@@ -312,7 +312,7 @@ def _cert_info(user, course_overview, cert_status, course_mode): # pylint: disa ...@@ -312,7 +312,7 @@ def _cert_info(user, course_overview, cert_status, course_mode): # pylint: disa
is_hidden_status = cert_status['status'] in ('unavailable', 'processing', 'generating', 'notpassing') is_hidden_status = cert_status['status'] in ('unavailable', 'processing', 'generating', 'notpassing')
if course_overview.certificates_display_behavior == 'early_no_info' and is_hidden_status: if course_overview.certificates_display_behavior == 'early_no_info' and is_hidden_status:
return None return {}
status = template_state.get(cert_status['status'], default_status) status = template_state.get(cert_status['status'], default_status)
...@@ -1033,8 +1033,8 @@ def change_enrollment(request, check_access=True): ...@@ -1033,8 +1033,8 @@ def change_enrollment(request, check_access=True):
if not enrollment: if not enrollment:
return HttpResponseBadRequest(_("You are not enrolled in this course")) return HttpResponseBadRequest(_("You are not enrolled in this course"))
certicifate_info = cert_info(user, enrollment.course_overview, enrollment.mode) certificate_info = cert_info(user, enrollment.course_overview, enrollment.mode)
if certicifate_info.get('status') in DISABLE_UNENROLL_CERT_STATES: if certificate_info.get('status') in DISABLE_UNENROLL_CERT_STATES:
return HttpResponseBadRequest(_("Your certificate prevents you from unenrolling from this course")) return HttpResponseBadRequest(_("Your certificate prevents you from unenrolling from this course"))
CourseEnrollment.unenroll(user, course_id) CourseEnrollment.unenroll(user, course_id)
......
...@@ -11,6 +11,7 @@ from certificates.models import ( ...@@ -11,6 +11,7 @@ from certificates.models import (
BadgeImageConfiguration, BadgeImageConfiguration,
CertificateTemplate, CertificateTemplate,
CertificateTemplateAsset, CertificateTemplateAsset,
GeneratedCertificate,
) )
...@@ -46,8 +47,17 @@ class CertificateTemplateAssetAdmin(admin.ModelAdmin): ...@@ -46,8 +47,17 @@ class CertificateTemplateAssetAdmin(admin.ModelAdmin):
list_display = ('description', '__unicode__') list_display = ('description', '__unicode__')
class GeneratedCertificateAdmin(admin.ModelAdmin):
"""
Django admin customizations for GeneratedCertificate model
"""
search_fields = ('course_id', 'user__username')
list_display = ('id', 'course_id', 'mode', 'user')
admin.site.register(CertificateGenerationConfiguration) admin.site.register(CertificateGenerationConfiguration)
admin.site.register(CertificateHtmlViewConfiguration, ConfigurationModelAdmin) admin.site.register(CertificateHtmlViewConfiguration, ConfigurationModelAdmin)
admin.site.register(BadgeImageConfiguration) admin.site.register(BadgeImageConfiguration)
admin.site.register(CertificateTemplate, CertificateTemplateAdmin) admin.site.register(CertificateTemplate, CertificateTemplateAdmin)
admin.site.register(CertificateTemplateAsset, CertificateTemplateAssetAdmin) admin.site.register(CertificateTemplateAsset, CertificateTemplateAssetAdmin)
admin.site.register(GeneratedCertificate, GeneratedCertificateAdmin)
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