{% extends 'ops/base_ops.html' %} {% block title %}{{ page_title }} - IXG Operations{% endblock %} {% block content %} {% if messages %} {% for m in messages %}
{{ m }}
{% endfor %} {% endif %} {% if editing_approved %}
This specification is not a draft. Its parameters are the limits QC results are judged against, so editing them changes those limits. Approval is not available in the portal yet — it is held until the approval control is decided.
{% endif %}
{% csrf_token %}
Specification
{% if form.non_field_errors %} {% for e in form.non_field_errors %}
{{ e }}
{% endfor %} {% endif %} {% for field in form %}
{{ field }} {% if field.help_text %}
{{ field.help_text }}
{% endif %} {% for e in field.errors %}
{{ e }}
{% endfor %}
{% endfor %}
Parameters
{{ formset.management_form }} {% if formset.non_form_errors %} {% for e in formset.non_form_errors %}
{{ e }}
{% endfor %} {% endif %}
{% for pf in formset %}
{{ pf.id }}
{{ pf.parameter }} {% for e in pf.parameter.errors %}
{{ e }}
{% endfor %}
{{ pf.unit }}
{{ pf.min_value }} {% for e in pf.min_value.errors %}
{{ e }}
{% endfor %}
{{ pf.max_value }} {% for e in pf.max_value.errors %}
{{ e }}
{% endfor %}
{{ pf.sort_order }}
{{ pf.allowed_values }} {% for e in pf.allowed_values.errors %}
{{ e }}
{% endfor %}
{{ pf.required }}
{{ pf.DELETE }}
{% for e in pf.non_field_errors %}
{{ e }}
{% endfor %}
{% endfor %}
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 is held

Creating and editing is available here, but the portal does not approve a specification. A new one is saved as a draft. Approving it — the step that makes its limits the ones QC is judged against — waits for the approval control to be decided.

Cancel
{% endblock %} {% block extra_js %} {% endblock %}