{% extends "base.html" %} {% block title %}Submit a print — hamprint{% endblock %} {% block extra_head %} {% endblock %} {% block content %}

Submit a print

Anyone can submit a job. We'll send you a codename to follow it on the dashboard.

{% if user.is_authenticated %}

Signed in as {{ user.email|default:user.get_username }}. No email confirmation needed.

{% else %}
Guest

You're submitting anonymously. We'll email you a confirmation link — click it within 24 hours to put your print in the queue. Sign in with Google to skip this step.

{% endif %}
{% csrf_token %} {% if form.non_field_errors %}
{{ form.non_field_errors|join:" " }}
{% endif %} {% comment %} Source-type radio cards. Hardcoded (not looped) so Tailwind's scanner sees the literal `peer/` and `peer-checked/:` class strings and emits the matching CSS rules. {% endcomment %}
Where is the model coming from? *
{% comment %} Upload pane. The native file input stays sr-only and is triggered by the wrapping
{# Filament #}
{{ form.requested_filament }}

Only filaments currently loaded at hamlab.lt are listed. The list is curated by operators — out-of-stock options are hidden.

{% if form.requested_filament.errors %}

{{ form.requested_filament.errors|join:" " }}

{% endif %}
{# Notes (private) #}
{{ form.notes_for_op }}

Only the operator sees these — they're not shown on your public submission page.

{% if form.notes_for_op.errors %}

{{ form.notes_for_op.errors|join:" " }}

{% endif %}
{% if form.guest_email %}
{{ form.guest_email }}

We'll send a confirmation link. The submission disappears in 24 hours if not confirmed. Never shown publicly.

{% if form.guest_email.errors %}

{{ form.guest_email.errors|join:" " }}

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