{% extends "base.html" %} {% load humanize %} {% block title %}{{ submission.slug }} — hamprint{% endblock %} {% block content %} {% if not is_owner %} {% comment %} ─── Minimal public view ──────────────────────────────────────────────── Shown to anonymous visitors AND to authenticated users who don't own the row. Slug, status badge, age -- that's the contract. Anything more could leak the submitter's notes, source URL, uploaded filename, etc. {% endcomment %}

{{ submission.slug }}

{{ submission.get_status_display }}

Submitted {{ submission.created_at|naturaltime }}

{% if request.user.is_authenticated %}

This isn't one of your submissions — only limited info is shown publicly.

{% else %}

Public view of this submission. Sign in if this print is yours to see more.

{% endif %}
{% else %} {% comment %} ─── Owner view ──────────────────────────────────────────────────────── Mirrors demo/detail-completed.html's structure: status banner, header with slug + age, two-column grid with the substantive content on the left and a Details sidebar on the right. {% endcomment %} {# Status banner -- one card per state, palette matches the badge. #} {% if submission.status == 'completed' %}

Ready for pickup!

Your print is finished and waiting at the hamlab.lt space. See pickup instructions below.

{% elif submission.status == 'printing' %}

Currently printing

An operator is running this print at the hamlab.lt printer right now.

{% elif submission.status == 'queued' %}

In the print queue

An operator approved your submission. Printing starts shortly.

{% elif submission.status == 'verifying' %}

Awaiting operator review

Auto-checks cleared. An operator will take a manual look next; you'll get an email when the status changes.

{% elif submission.status == 'processing' %}

Running automated checks

We're validating your file or URL. This usually finishes in under a minute.

{% elif submission.status == 'identifying' %}

Check your inbox to confirm

We sent a confirmation link. Click it within 24 hours or this submission (and any uploaded STL) will be deleted automatically.

{% elif submission.status == 'rejected' %}

Submission rejected

{% if submission.operator_notes %}See the reason below.{% else %}No reason was recorded.{% endif %} This row will be deleted automatically within 24 hours.

{% elif submission.status == 'failed' %}

Print failed

{% if submission.operator_notes %}The operator left a comment below.{% else %}The operator hasn't left a comment yet.{% endif %}

{% endif %}
{{ submission.get_status_display }} Submitted {{ submission.created_at|naturaltime }}

{{ submission.slug }}

{% if submission.operator_notes %}

{% if submission.status == 'completed' %}Pickup instructions {% elif submission.status == 'rejected' %}Reason for rejection {% elif submission.status == 'failed' %}Operator comments {% else %}Notes from the operator{% endif %}

{{ submission.operator_notes }}

{% endif %} {# Source: uploaded .stl OR external URL link #}

Source

{% if submission.source_type == 'upload' %} {% if submission.stl_file %}

{{ submission.stl_file.name }}

Raw .stl upload · click to download

{% else %}

(file not on disk)

Raw .stl upload

{% endif %} {% else %} {{ submission.source_type|slice:":1"|upper }}

{{ submission.source_url }}

{{ submission.get_source_type_display }} · external link

{% endif %}
{% comment %} The user's own notes (private from public dashboard, but obviously visible to the user themselves). {% endcomment %} {% if submission.notes_for_op %}

Your notes to the operator

{{ submission.notes_for_op }}

{% endif %}
{% endif %} {% endblock %}