Files
Hardings-service/src/views/orders/detail.njk
T
2026-07-11 21:01:27 -04:00

86 lines
3.3 KiB
Plaintext

{% extends "layout.njk" %}
{% block title %}Order #{{ order.order_number }} — Harding's Clocks{% endblock %}
{% block content %}
<div class="page-header">
<h1>Order #{{ order.order_number }}</h1>
<div class="header-actions">
<a class="button-link" href="/orders/{{ order.id }}/invoice" target="_blank">Print Invoice</a>
<button type="button" class="danger"
hx-delete="/orders/{{ order.id }}"
hx-confirm="Delete this order? It can be recovered later if needed.">
Delete Order
</button>
</div>
</div>
<section class="card two-col">
<div>
<h2>Customer</h2>
<p>{{ order.customer_name }}</p>
{% if order.address_line1 %}<p>{{ order.address_line1 }}{% if order.address_line2 %}, {{ order.address_line2 }}{% endif %}</p>{% endif %}
{% if order.city or order.state or order.zip %}<p>{{ order.city or '' }}{% if order.state %}, {{ order.state }}{% endif %} {{ order.zip or '' }}</p>{% endif %}
{% if order.phone %}<p>{{ order.phone }}{% if order.alt_phone %} / {{ order.alt_phone }}{% endif %}</p>{% endif %}
{% if order.email %}<p>{{ order.email }}</p>{% endif %}
</div>
<div>
<h2>Clock</h2>
{% if order.clock_description %}<p>{{ order.clock_description }}</p>{% endif %}
{% if order.clock_note %}<p>{{ order.clock_note }}</p>{% endif %}
{% if not order.clock_description and not order.clock_note %}
<p class="empty">No clock on file.</p>
{% endif %}
</div>
</section>
{% include "orders/_order_summary.njk" %}
<section class="card">
<h2>Line Items</h2>
<table class="data-table">
<thead>
<tr><th>Type</th><th>Stock #</th><th>Description</th><th>Qty</th><th>Unit Price</th><th>Total</th><th></th></tr>
</thead>
<tbody id="lines-body">
{% for line in order.lineItems %}
{% include "orders/_line_item_row.njk" %}
{% endfor %}
</tbody>
</table>
<form class="inline-form"
hx-post="/orders/{{ order.id }}/line-items"
hx-target="#lines-body"
hx-swap="beforeend"
hx-on::after-request="this.reset()">
<select name="kind">
<option value="labor">Labor</option>
<option value="part">Part</option>
<option value="sublet">Sublet</option>
</select>
<input type="text" name="stock_code" placeholder="Stock #">
<input type="text" name="description" placeholder="Description" required>
<input type="number" name="quantity" placeholder="Qty" value="1" step="0.25" min="0">
<input type="text" name="unit_price" placeholder="Unit price">
<button type="submit">Add Line</button>
</form>
</section>
<section class="card">
<h2>Internal Work Log</h2>
<ul id="work-log-list" class="work-log-list">
{% for entry in order.workLog %}
{% include "orders/_work_log_item.njk" %}
{% endfor %}
</ul>
<form class="inline-form work-log-form"
hx-post="/orders/{{ order.id }}/work-log"
hx-target="#work-log-list"
hx-swap="afterbegin"
hx-on::after-request="this.reset()">
<textarea name="note" placeholder="Add a note…" rows="4" required></textarea>
<button type="submit">Add Note</button>
</form>
</section>
{% endblock %}