How a specification is used
Each parameter is a limit. A numeric parameter is checked between its minimum and
maximum; a visual parameter is checked against its allowed grades. A QC result is
judged against the specification that is both approved and
current.
A specification needs at least one parameter: with none, every QC result would pass.
Approval (four-eyes)
{% if object and object.pk %}
{% if object.status == 'approved' %}
Approved{% if object.approved_by %} by {{ object.approved_by.full_name|default:object.approved_by.email }}{% endif %}{% if object.approved_at %} on {{ object.approved_at|date:'d/m/Y H:i' }}{% endif %}.
{% if object.is_current %}It is the current specification for this product.{% endif %}
{% elif object.status == 'superseded' %}
This version is superseded. It can no longer be approved.
{% elif show_approval %}
{% if approval_error %}
{{ approval_error }}
{% else %}
Approving makes these parameters the limits QC is judged against, and
supersedes the product's previously current version.
{% endif %}
{% else %}
Approval is an administrator action. Save this specification as a draft; an
administrator can then approve it. The creator may not approve their own
specification.
{% endif %}
{% else %}
A new specification is saved as a draft. Approval is a separate administrator
action, and the creator may not approve their own specification, so a second
person makes the limits live.
{% endif %}