Files
padelnomics/web/src/padelnomics/leads/templates/partials/quote_step_4.html
Deeman ad02140594
All checks were successful
CI / test (push) Successful in 54s
CI / tag (push) Successful in 3s
fix(quote): add missing required asterisk and error hint to step 4
Step 4 (Project Phase) required location_status server-side but had no
visual "*" indicator and no error message when submitting without a
selection. All other steps already had both.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 22:21:57 +01:00

37 lines
1.9 KiB
HTML

{# Step 4: Project Phase #}
<form hx-post="{{ url_for('leads.quote_step', step=4) }}"
hx-target="#quote-step" hx-swap="innerHTML">
<input type="hidden" name="_accumulated" value='{{ data | tojson }}'>
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
<h2 class="q-step-title">{{ t.q4_heading }}</h2>
<p class="q-step-sub">{{ t.q4_subheading }}</p>
<div class="q-field-group">
<span class="q-label">{{ t.q4_phase_label }} <span class="required">*</span></span>
{% if 'location_status' in errors %}<p class="q-error-hint">{{ t.q4_error_phase }}</p>{% endif %}
<div class="q-pills">
{% for val, label in [('still_searching', t.q4_phase_searching), ('location_found', t.q4_phase_found), ('converting_existing', t.q4_phase_converting), ('lease_signed', t.q4_phase_lease_signed), ('permit_not_filed', t.q4_phase_permit_not_filed), ('permit_pending', t.q4_phase_permit_pending), ('permit_granted', t.q4_phase_permit_granted)] %}
<label><input type="radio" name="location_status" value="{{ val }}" {{ 'checked' if data.get('location_status') == val }}><span class="q-pill">{{ label }}</span></label>
{% endfor %}
</div>
</div>
<div class="q-nav">
<button type="button" class="q-btn-back"
hx-get="{{ url_for('leads.quote_step', step=3, _accumulated=data | tojson) }}"
hx-target="#quote-step" hx-swap="innerHTML">{{ t.q_btn_back }}</button>
<button type="submit" class="q-btn-next">{{ t.q_btn_next }}</button>
</div>
</form>
<div id="q-progress" hx-swap-oob="innerHTML">
<div class="q-progress__meta">
<span class="q-progress__label">{{ steps[step - 1].title }}</span>
<span class="q-progress__count">{{ t.q_step_counter | tformat(step=step, total=steps|length) }}</span>
</div>
<div class="q-progress__track">
<div class="q-progress__fill" style="width: {{ (step / steps|length * 100) | round }}%"></div>
</div>
</div>