Files
edx-platform/lms/djangoapps/certificates
oliviaruizknott 703c917f2a refactor: Use post_delete for date override
Previously, using the bulk delete tool in the Django admin for
`CertificateDateOverride`s would not trigger the post to the credentials
service to delete the corresponding date override stored there. This was
because we were sending the COURSE_CERT_CHANGED signal from an
overridden version of the delete() method. But the Django docs warn:

"Note that the delete() method for an object is not necessarily called
when deleting objects in bulk using a QuerySet or as a result of a
cascading delete. To ensure customized delete logic gets executed, you
can use pre_delete and/or post_delete signals."

Now we use the post_delete signal instead of overriding the delete()
method to make sure the COURSE_CERT_CHANGED signal is sent for both
individual and bulk deletes.

MICROBA-1487
2021-09-01 14:03:35 -06:00
..
2021-08-27 14:21:31 -06:00
2021-07-19 14:48:08 -04:00

Status: Maintenance

Responsibilities
================
The Certificates app is responsible for creating and managing course run certificates, including relevant data models for invalidating certificates and managing the allowlist.

Direction: Move and Extract
===========================
Certificates related functionality is scattered across a number of places and should be better consolidated. Today we have:

* ``lms/djangoapps/certificates``
* ``openedx/core/djangoapps/certificates``
* ``cms/djangoapps/contentstore/views/certificates.py``
* Various front-end static templates in multiple locations

Ideally, we want to extract these into the `credentials service`_, which would be ultimately responsible for Course-Run and Program certificates (and possibly other credentials). Right now, the `credentials service`_ only manages Program certificates.

.. _credentials service: https://github.com/edx/credentials

Glossary
========

More Documentation
==================