328b195127
Alert sweep (113 alerts, 79 files):
All persistent static banners now carry alert-permanent so the
layout's 5-second auto-dismiss cannot swallow guidance, warnings,
or validation errors. Transient dismissible toasts left untouched.
CSS fixes (site.css):
.card.shadow-sm — strips rogue border from ~40 drifted cards
.card-header.bg-white — rebinds to var(--bs-body-bg) so card
headers follow dark/light theme correctly
Typography utilities — .text-2xs (.68rem), .text-xs (.73rem)
Token color classes — .text-ember, .text-ok, .text-bad,
.text-warn, .text-cool, .bg-paper-2
Layout utilities — .mw-xs/sm/md/lg replace inline max-width
Comment — documents text-ember vs text-primary intent
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
79 lines
3.9 KiB
Plaintext
79 lines
3.9 KiB
Plaintext
@model PowderCoating.Core.Entities.JobTemplate
|
|
@{
|
|
ViewData["Title"] = $"Edit Template: {Model.Name}";
|
|
ViewData["PageIcon"] = "bi-pencil-square";
|
|
}
|
|
|
|
<div class="d-flex justify-content-end mb-4">
|
|
<a asp-action="Details" asp-route-id="@Model.Id" class="btn btn-outline-secondary">
|
|
<i class="bi bi-arrow-left me-2"></i>Back
|
|
</a>
|
|
</div>
|
|
|
|
<div class="row justify-content-center">
|
|
<div class="col-lg-7">
|
|
<div class="card border-0 shadow-sm">
|
|
<div class="card-body p-4">
|
|
<form asp-action="Edit" asp-route-id="@Model.Id" method="post">
|
|
@Html.AntiForgeryToken()
|
|
|
|
<div class="mb-3">
|
|
<label class="form-label fw-semibold">Template Name <span class="text-danger">*</span></label>
|
|
<input type="text" name="name" class="form-control" value="@Model.Name" required maxlength="100">
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label class="form-label fw-semibold">Description</label>
|
|
<textarea name="description" class="form-control" rows="2" maxlength="500">@Model.Description</textarea>
|
|
<div class="form-text">Briefly describe what this template is used for.</div>
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label class="form-label fw-semibold">Default Customer</label>
|
|
<select name="customerId" class="form-select">
|
|
<option value="">— Any customer —</option>
|
|
@foreach (SelectListItem item in (ViewBag.Customers as IEnumerable<SelectListItem> ?? Enumerable.Empty<SelectListItem>()))
|
|
{
|
|
if (item.Selected)
|
|
{
|
|
<option value="@item.Value" selected>@item.Text</option>
|
|
}
|
|
else
|
|
{
|
|
<option value="@item.Value">@item.Text</option>
|
|
}
|
|
}
|
|
</select>
|
|
<div class="form-text">Pre-selects this customer when creating a job from the template. Optional.</div>
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label class="form-label fw-semibold">Special Instructions</label>
|
|
<textarea name="specialInstructions" class="form-control" rows="3" maxlength="2000">@Model.SpecialInstructions</textarea>
|
|
</div>
|
|
|
|
<div class="mb-4">
|
|
<div class="form-check form-switch">
|
|
<input class="form-check-input" type="checkbox" name="isActive" value="true" id="isActive" @(Model.IsActive ? "checked" : "")>
|
|
<label class="form-check-label fw-semibold" for="isActive">Active</label>
|
|
</div>
|
|
<div class="form-text">Inactive templates won't appear in the "Create from Template" picker.</div>
|
|
</div>
|
|
|
|
<div class="d-flex gap-2">
|
|
<button type="submit" class="btn btn-primary">
|
|
<i class="bi bi-check-circle me-2"></i>Save Changes
|
|
</button>
|
|
<a asp-action="Details" asp-route-id="@Model.Id" class="btn btn-outline-secondary">Cancel</a>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="alert alert-info alert-permanent mt-3">
|
|
<i class="bi bi-info-circle me-2"></i>
|
|
To update the <strong>items and coatings</strong> on this template, create a new job with the desired configuration and save it as a template.
|
|
</div>
|
|
</div>
|
|
</div>
|