From f63173617c64af46a6d12e30043ed248888000e9 Mon Sep 17 00:00:00 2001 From: oliviaruizknott Date: Wed, 4 Aug 2021 08:10:08 -0600 Subject: [PATCH] feat: Add CertificateDateOverride model to admin Register the new CertificateDateOverride model with the Django admin. Customize the `generated_certificate` field to accept the certificate id (with search); and autosave the admin user making the change to the `overridden_by` field, and make it read-only. For MICROBA-1417, toward MICROBA-1239. --- lms/djangoapps/certificates/admin.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lms/djangoapps/certificates/admin.py b/lms/djangoapps/certificates/admin.py index cb6c577b86..8b98a2c971 100644 --- a/lms/djangoapps/certificates/admin.py +++ b/lms/djangoapps/certificates/admin.py @@ -13,6 +13,7 @@ from django.utils.safestring import mark_safe from organizations.api import get_organizations from lms.djangoapps.certificates.models import ( + CertificateDateOverride, CertificateGenerationConfiguration, CertificateGenerationCommandConfiguration, CertificateGenerationCourseSetting, @@ -96,9 +97,23 @@ class CertificateGenerationCommandConfigurationAdmin(ConfigurationModelAdmin): pass +class CertificateDateOverrideAdmin(admin.ModelAdmin): + """ + # Django admin customizations for CertificateDateOverride model + """ + list_display = ('generated_certificate', 'date', 'reason', 'overridden_by') + raw_id_fields = ('generated_certificate',) + readonly_fields = ('overridden_by',) + + def save_model(self, request, obj, form, change): + obj.overridden_by = request.user + super().save_model(request, obj, form, change) + + admin.site.register(CertificateGenerationConfiguration) admin.site.register(CertificateGenerationCourseSetting, CertificateGenerationCourseSettingAdmin) admin.site.register(CertificateHtmlViewConfiguration, ConfigurationModelAdmin) admin.site.register(CertificateTemplate, CertificateTemplateAdmin) admin.site.register(CertificateTemplateAsset, CertificateTemplateAssetAdmin) admin.site.register(GeneratedCertificate, GeneratedCertificateAdmin) +admin.site.register(CertificateDateOverride, CertificateDateOverrideAdmin)