Update help docs and AI assistant for QR modal and vendor supply categories

- HelpKnowledgeBase.cs: QR label now opens a preview modal (not new tab); mention list-page QR button; add vendor supply categories knowledge
- Help/Inventory.cshtml: Update QR printing steps for modal workflow; document list-page QR button
- Help/Vendors.cshtml: Add Supply Categories section with filtering behaviour and fallback; add nav link

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-23 10:48:00 -04:00
parent edf56c1164
commit e443457139
3 changed files with 47 additions and 4 deletions
@@ -466,7 +466,8 @@ public static class HelpKnowledgeBase
Filter by item, date range, and transaction type. Summary pills show total lbs received, used, and net adjustments. Access from the sidebar ("Inventory Activity") or via "View Activity History" on any item's Details page (pre-filtered to that item).
**QR Code Labels & Mobile Usage Logging:**
- Print a QR label from any item's Details page click "Print QR Label" opens a standalone print page with the item name, SKU, colour, and QR code. Print and stick on the bag/bin.
- Print a QR label from any item's Details page OR from the QR icon in the Actions column on the Inventory list page click "Print QR Label" a preview modal opens with the label (item name, SKU, colour, finish, and QR code). Click "Print Label" inside the modal to send to your printer without opening a new tab.
- You can also print from the list page without opening the item: click the QR icon (first button in the action column) next to any row.
- Scan the QR code with a phone camera opens the mobile-friendly Log Usage page at /Inventory/Scan/[item-id]
- On the scan page: select a job (My Jobs shows jobs assigned to the logged-in user; Other Jobs shows all open jobs; No Job logs without a reference), enter quantity used (live balance preview shown), choose reason (Job Usage / Waste / Correction / Transfer Out), add optional notes, tap Save
- After saving: success screen with "Log Another Item for This Job" (returns to scan with same job pre-selected) or "Back to Inventory" / "View Item Details"
@@ -347,10 +347,14 @@
</p>
<h3 class="h6 fw-semibold mt-4 mb-2">Printing a label</h3>
<p>You can print from two places &mdash; the item's Details page, or directly from the list without opening the item.</p>
<ol class="mb-3">
<li class="mb-1">Open the inventory item's Details page.</li>
<li class="mb-1">Click <strong>Print QR Label</strong> in the Actions panel &mdash; the label opens in a new tab.</li>
<li class="mb-1">Click <strong>Print Label</strong> and send it to your printer. The label is sized for a standard 3.5&Prime; label and includes the item name, SKU, colour, finish, and manufacturer.</li>
<li class="mb-1">
<strong>From the list:</strong> click the <i class="bi bi-qr-code"></i> QR icon (first button in the Actions column) next to any row.
<br /><strong>From Details:</strong> click <strong>Print QR Label</strong> in the Actions panel.
</li>
<li class="mb-1">A preview modal opens showing the label &mdash; item name, SKU, colour, finish, and QR code.</li>
<li class="mb-1">Click <strong>Print Label</strong> inside the modal to send it to your printer. No new tab is opened; printing happens directly in the modal. The label is sized for a standard 3.5&Prime; label.</li>
</ol>
<h3 class="h6 fw-semibold mt-4 mb-2">Scanning and logging usage</h3>
@@ -149,6 +149,43 @@
</div>
</section>
<section id="supply-categories" class="mb-5">
<h2 class="h4 fw-bold border-bottom pb-2 mb-3">
<i class="bi bi-tags text-primary me-2"></i>Supply Categories
</h2>
<p>
Each vendor can be tagged with one or more <strong>Supply Categories</strong> &mdash; for example,
<em>Powder</em>, <em>Chemical</em>, or <em>Consumables</em>. These tags tell the system what types of
inventory items this vendor supplies.
</p>
<p>
When you add or edit an inventory item and choose a <strong>Category</strong>, the vendor dropdown
automatically filters to show only vendors tagged for that category. This prevents accidentally
selecting an unrelated supplier.
</p>
<ul class="mb-3">
<li>A vendor can belong to <strong>multiple categories</strong> &mdash; check as many boxes as apply.</li>
<li>If <strong>no vendor</strong> in your list is tagged for the selected category, the dropdown falls back to
showing all active vendors so you are never blocked.</li>
<li>A <em>&ldquo;Showing vendors for this category&rdquo;</em> note appears below the dropdown when the filter is
active. Click <strong>Show all</strong> in that note to temporarily override the filter.</li>
</ul>
<p>To tag a vendor with supply categories:</p>
<ol class="mb-3">
<li class="mb-1">Open the vendor's Edit page (click the vendor name in the list, then <strong>Edit</strong>).</li>
<li class="mb-1">In the <strong>Supply Categories</strong> section, check the boxes that apply.</li>
<li class="mb-1">Click <strong>Save Vendor</strong>.</li>
</ol>
<div class="alert alert-permanent alert-info d-flex gap-2 mb-0" role="alert">
<i class="bi bi-lightbulb-fill flex-shrink-0 mt-1"></i>
<div>
Supply categories are the same categories used on your inventory items. If you add a new category
under <strong>Settings &rsaquo; Inventory Categories</strong>, it will appear automatically in the vendor
checkboxes.
</div>
</div>
</section>
<section id="deactivating-a-vendor" class="mb-5">
<h2 class="h4 fw-bold border-bottom pb-2 mb-3">
<i class="bi bi-truck text-primary me-2" style="text-decoration:line-through"></i>Deactivating a Vendor
@@ -186,6 +223,7 @@
<a class="nav-link py-1 px-3 small text-body" href="#default-expense-account">Default Expense Account</a>
<a class="nav-link py-1 px-3 small text-body" href="#payment-terms">Payment Terms</a>
<a class="nav-link py-1 px-3 small text-body" href="#preferred-vendor">Preferred Vendor</a>
<a class="nav-link py-1 px-3 small text-body" href="#supply-categories">Supply Categories</a>
<a class="nav-link py-1 px-3 small text-body" href="#vendor-details">Vendor Details Page</a>
<a class="nav-link py-1 px-3 small text-body" href="#deactivating-a-vendor">Deactivating a Vendor</a>
</nav>