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:
@@ -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,
|
||||
)
|
||||
]
|
||||
Reference in New Issue
Block a user