Merge pull request #10497 from edx/rc/2015-11-03
Fixing cert_status None bug
This commit is contained in:
@@ -195,14 +195,14 @@ class CourseEndingTest(TestCase):
|
||||
# test when the display is unavailable or notpassing, we get the correct results out
|
||||
course2.certificates_display_behavior = 'early_no_info'
|
||||
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 = {
|
||||
'status': 'notpassing', 'grade': '67',
|
||||
'download_url': download_url,
|
||||
'mode': 'honor'
|
||||
}
|
||||
self.assertIsNone(_cert_info(user, course2, cert_status, course_mode))
|
||||
self.assertEqual(_cert_info(user, course2, cert_status, course_mode), {})
|
||||
|
||||
|
||||
@ddt.ddt
|
||||
|
||||
@@ -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')
|
||||
|
||||
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)
|
||||
|
||||
@@ -1033,8 +1033,8 @@ def change_enrollment(request, check_access=True):
|
||||
if not enrollment:
|
||||
return HttpResponseBadRequest(_("You are not enrolled in this course"))
|
||||
|
||||
certicifate_info = cert_info(user, enrollment.course_overview, enrollment.mode)
|
||||
if certicifate_info.get('status') in DISABLE_UNENROLL_CERT_STATES:
|
||||
certificate_info = cert_info(user, enrollment.course_overview, enrollment.mode)
|
||||
if certificate_info.get('status') in DISABLE_UNENROLL_CERT_STATES:
|
||||
return HttpResponseBadRequest(_("Your certificate prevents you from unenrolling from this course"))
|
||||
|
||||
CourseEnrollment.unenroll(user, course_id)
|
||||
|
||||
@@ -11,6 +11,7 @@ from certificates.models import (
|
||||
BadgeImageConfiguration,
|
||||
CertificateTemplate,
|
||||
CertificateTemplateAsset,
|
||||
GeneratedCertificate,
|
||||
)
|
||||
|
||||
|
||||
@@ -46,8 +47,17 @@ class CertificateTemplateAssetAdmin(admin.ModelAdmin):
|
||||
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(CertificateHtmlViewConfiguration, ConfigurationModelAdmin)
|
||||
admin.site.register(BadgeImageConfiguration)
|
||||
admin.site.register(CertificateTemplate, CertificateTemplateAdmin)
|
||||
admin.site.register(CertificateTemplateAsset, CertificateTemplateAssetAdmin)
|
||||
admin.site.register(GeneratedCertificate, GeneratedCertificateAdmin)
|
||||
|
||||
Reference in New Issue
Block a user