Sweep all .cshtml files for encoding corruption; add pre-commit guard
Replace all corruption variants with HTML entities across 226 view files: - 3-char UTF-8-as-Win1252 sequences (ae-corruption) - Standalone smart/curly quotes that break C# Razor expressions - Partially re-corrupted variants where the 3rd byte was normalised to ASCII tools/Fix-Encoding.ps1: re-runnable sweep; uses [char] code points so the script itself never contains a literal non-ASCII character; supports -DryRun .githooks/pre-commit: blocks commits containing the ae-corruption byte signature (xc3xa2xe2x82xac); git core.hooksPath = .githooks so the hook is repo-committed and active for all future work on this machine. Build clean; 225 unit tests pass. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -20,14 +20,14 @@
|
||||
<i class="bi bi-info-circle text-primary me-2"></i>Overview
|
||||
</h2>
|
||||
<p>
|
||||
The Equipment module lets you keep a full register of every piece of machinery in your shop —
|
||||
The Equipment module lets you keep a full register of every piece of machinery in your shop —
|
||||
curing ovens, sandblasters, coating booths, compressors, conveyors, and anything else you
|
||||
rely on to do the work. Each equipment record includes its current operating status and a
|
||||
complete maintenance log.
|
||||
</p>
|
||||
<p>
|
||||
Keeping this information up to date pays off in two ways. First, your team always knows
|
||||
which machines are available and which are down for service — preventing jobs from being
|
||||
which machines are available and which are down for service — preventing jobs from being
|
||||
scheduled on equipment that is not ready. Second, the maintenance history gives you a
|
||||
paper trail for warranty claims, insurance, and resale.
|
||||
</p>
|
||||
@@ -46,14 +46,14 @@
|
||||
<li class="mb-2">
|
||||
Fill in the equipment details:
|
||||
<ul class="mt-1">
|
||||
<li><strong>Name</strong> — a short, descriptive name (e.g., "Main Curing Oven" or "Blast Cabinet #2").</li>
|
||||
<li><strong>Model / Serial Number</strong> — from the manufacturer's plate on the machine. Useful for warranty and service calls.</li>
|
||||
<li><strong>Manufacturer</strong> — who made the equipment.</li>
|
||||
<li><strong>Purchase Date</strong> — when your shop acquired it.</li>
|
||||
<li><strong>Last Service Date</strong> — the date it was last professionally serviced or inspected.</li>
|
||||
<li><strong>Next Service Due</strong> — when the next scheduled service is due. This triggers alerts on the Dashboard.</li>
|
||||
<li><strong>Location</strong> — where in the shop the equipment is located (e.g., "Bay 1", "Back Room").</li>
|
||||
<li><strong>Notes</strong> — any important operational notes, quirks, or warnings for the team.</li>
|
||||
<li><strong>Name</strong> — a short, descriptive name (e.g., "Main Curing Oven" or "Blast Cabinet #2").</li>
|
||||
<li><strong>Model / Serial Number</strong> — from the manufacturer's plate on the machine. Useful for warranty and service calls.</li>
|
||||
<li><strong>Manufacturer</strong> — who made the equipment.</li>
|
||||
<li><strong>Purchase Date</strong> — when your shop acquired it.</li>
|
||||
<li><strong>Last Service Date</strong> — the date it was last professionally serviced or inspected.</li>
|
||||
<li><strong>Next Service Due</strong> — when the next scheduled service is due. This triggers alerts on the Dashboard.</li>
|
||||
<li><strong>Location</strong> — where in the shop the equipment is located (e.g., "Bay 1", "Back Room").</li>
|
||||
<li><strong>Notes</strong> — any important operational notes, quirks, or warnings for the team.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="mb-2">Set the initial <strong>Status</strong> (see below).</li>
|
||||
@@ -67,7 +67,7 @@
|
||||
</h2>
|
||||
<p>
|
||||
Every piece of equipment has a status that reflects its current condition. Update the status
|
||||
whenever the equipment's situation changes — this keeps the Dashboard accurate and lets
|
||||
whenever the equipment's situation changes — this keeps the Dashboard accurate and lets
|
||||
supervisors quickly see what is available.
|
||||
</p>
|
||||
|
||||
@@ -146,14 +146,14 @@
|
||||
<li class="mb-2">
|
||||
Fill in the details:
|
||||
<ul class="mt-1">
|
||||
<li><strong>Task Description</strong> — what was done or needs to be done (e.g., "Replace heating element", "Annual burner service", "Belt tension check").</li>
|
||||
<li><strong>Type</strong> — choose <strong>Scheduled</strong> for planned preventive maintenance, or <strong>Corrective</strong> for repairs to fix a problem.</li>
|
||||
<li><strong>Scheduled Date</strong> — when the task is planned for (or when it was done).</li>
|
||||
<li><strong>Completion Date</strong> — leave blank if the task has not been done yet.</li>
|
||||
<li><strong>Cost</strong> — what the service cost (parts, labor, contractor fees).</li>
|
||||
<li><strong>Priority</strong> — how urgent this task is (see below).</li>
|
||||
<li><strong>Assigned To</strong> — the shop worker responsible for this task.</li>
|
||||
<li><strong>Notes</strong> — parts used, observations, instructions for next time.</li>
|
||||
<li><strong>Task Description</strong> — what was done or needs to be done (e.g., "Replace heating element", "Annual burner service", "Belt tension check").</li>
|
||||
<li><strong>Type</strong> — choose <strong>Scheduled</strong> for planned preventive maintenance, or <strong>Corrective</strong> for repairs to fix a problem.</li>
|
||||
<li><strong>Scheduled Date</strong> — when the task is planned for (or when it was done).</li>
|
||||
<li><strong>Completion Date</strong> — leave blank if the task has not been done yet.</li>
|
||||
<li><strong>Cost</strong> — what the service cost (parts, labor, contractor fees).</li>
|
||||
<li><strong>Priority</strong> — how urgent this task is (see below).</li>
|
||||
<li><strong>Assigned To</strong> — the shop worker responsible for this task.</li>
|
||||
<li><strong>Notes</strong> — parts used, observations, instructions for next time.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="mb-2">Click <strong>Save</strong>.</li>
|
||||
@@ -167,7 +167,7 @@
|
||||
<h3 class="h6 fw-semibold mt-3 mb-2">Recurring Maintenance</h3>
|
||||
<p>
|
||||
For maintenance that happens on a regular schedule (e.g., monthly filter cleaning, quarterly
|
||||
burner service), set the <strong>Recurrence</strong> field when creating the record — choose
|
||||
burner service), set the <strong>Recurrence</strong> field when creating the record — choose
|
||||
from Daily, Weekly, Monthly, Quarterly, or Annually. When you complete the record, the system
|
||||
automatically creates the next maintenance record at the appropriate interval. This ensures
|
||||
preventive maintenance tasks never fall through the cracks.
|
||||
@@ -248,7 +248,7 @@
|
||||
<ol class="mb-3">
|
||||
<li class="mb-2">Go to the Oven Scheduler from the sidebar.</li>
|
||||
<li class="mb-2">Select the oven you are loading.</li>
|
||||
<li class="mb-2">Add jobs to the batch — the remaining capacity updates as you add items.</li>
|
||||
<li class="mb-2">Add jobs to the batch — the remaining capacity updates as you add items.</li>
|
||||
<li class="mb-2">Progress batches through Loading → In Progress → Completed as work is done.</li>
|
||||
</ol>
|
||||
<p>
|
||||
@@ -262,7 +262,7 @@
|
||||
<i class="bi bi-person-gear text-primary me-2"></i>Assigning Maintenance Tasks
|
||||
</h2>
|
||||
<p>
|
||||
Each maintenance record can be assigned to one shop worker — typically someone in the
|
||||
Each maintenance record can be assigned to one shop worker — typically someone in the
|
||||
<strong>Maintenance</strong> role, or a <strong>Supervisor</strong> who will coordinate
|
||||
with an outside service technician.
|
||||
</p>
|
||||
|
||||
Reference in New Issue
Block a user