Merge pull request #34118 from openedx/dkaplan1/APER-1322_certs-with-invalidation-records-arent-in-the-unavailable-status

feat: data migration for some ancient legacy problems
This commit is contained in:
Deborah Kaplan
2024-01-29 12:27:24 -05:00
committed by GitHub

View File

@@ -0,0 +1,32 @@
# Generated by Django 3.2.23 on 2024-01-25 21:56
from django.db import migrations
from lms.djangoapps.certificates.data import CertificateStatuses
class Migration(migrations.Migration):
"""
If any certificates exist with an invalidation record that are not marked as unavailable,
change their status. Irreversible.
"""
dependencies = [
("certificates", "0036_modifiedcertificatetemplatecommandconfiguration"),
]
def make_invalid_certificates_unavailable(apps, schema_editor):
GeneratedCertificate = apps.get_model("certificates", "GeneratedCertificate")
GeneratedCertificate.objects.filter(
certificateinvalidation__active=True
).exclude(status=CertificateStatuses.unavailable).update(
status=CertificateStatuses.unavailable
)
operations = [
migrations.RunPython(
make_invalid_certificates_unavailable,
reverse_code=migrations.RunPython.noop,
)
]