57 lines
2.1 KiB
ReStructuredText
57 lines
2.1 KiB
ReStructuredText
Course certificate Status
|
|
=========================
|
|
|
|
Status
|
|
------
|
|
Accepted
|
|
|
|
Background
|
|
----------
|
|
Course certificates can have any one of a number of status values (for the
|
|
full list, see the `CertificateStatuses model`_). For a certificate to be
|
|
available for the user to see, it must be in the *downloadable* state, meaning
|
|
it must have a status value of *downloadable*.
|
|
|
|
Decision
|
|
--------
|
|
The course certificate code will only set the following certificate statuses:
|
|
|
|
* downloadable - The user has been granted this certificate and the certificate is ready and available
|
|
* notpassing - The user has not achieved a passing grade
|
|
* unavailable - Certificate has been invalidated
|
|
* unverified - The user does not have an approved, unexpired identity verification
|
|
|
|
Other status values are kept for historical reasons and because existing course
|
|
certificates may have been granted that status.
|
|
|
|
Consequences
|
|
------------
|
|
If a certificate has been invalidated, its status will be *unavailable*.
|
|
|
|
If all requirements have been met, a *downloadable* certificate will be
|
|
generated (created or updated).
|
|
|
|
If all requirements *except* for identity verification have been met, an
|
|
*unverified* certificate will be generated.
|
|
|
|
If all requirements *except* for passing the course have been met and a
|
|
certificate already exists, its status will be *notpassing*. Alternately, if a
|
|
*downloadable* certificate exists and a failing grade signal is received for
|
|
a user who is not on the allowlist, the certificate's status will be
|
|
*notpassing*.
|
|
|
|
Note that this does not create a hierarchy of certificate statuses. For
|
|
example, a certificate could have a *notpassing* status even if the user
|
|
has not the passed identity verification requirement.
|
|
|
|
References
|
|
----------
|
|
For a full list of requirements for a course certificate to be granted, please
|
|
see the `allowlist certificate requirements`_ and `certificate requirements`_.
|
|
|
|
For a full list of certificate statuses, see the `CertificateStatuses model`_.
|
|
|
|
.. _allowlist certificate requirements: ./001-allowlist-cert-requirements.rst
|
|
.. _certificate requirements: ./002-cert-requirements.rst
|
|
.. _CertificateStatuses model: ../../data.py
|