Add inventory bin filter, print bin, mobile login fixes, and QR scan fix

- Inventory: location filter dropdown + Print Bin page (line #, name, color, SKU)
- Fix: Prismatic Powders QR scan now extracts manufacturer/SKU/color from URL path
  and uses full LookupAsync pipeline instead of relying on page fetch alone
- Fix: iOS Safari 'Login / data Zero KB' download -- add OnRejected HTML response to rate limiter
- Fix: mobile session logout -- ConfigureApplicationCookie with 30-day MaxAge persistent cookie
- Help: new 'Location Filtering & Bin Print' section in Inventory help article
- Help: HelpKnowledgeBase updated with bin filter and print bin details

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-22 15:19:11 -04:00
parent 8c86eba4f2
commit dfb1d34af3
8 changed files with 443 additions and 48 deletions
@@ -73,6 +73,49 @@
</div>
</section>
<section id="bin-filter" class="mb-5">
<h2 class="h4 fw-bold border-bottom pb-2 mb-3">
<i class="bi bi-geo-alt text-primary me-2"></i>Filtering by Location &amp; Printing a Bin List
</h2>
<p>
Every inventory item has an optional <strong>Location</strong> field (for example "Shelf A",
"Bin 3", or "Back Wall") that you can set when creating or editing an item. Once locations
are filled in, the Inventory list gives you two shortcuts for physical counts and
stocktaking:
</p>
<h3 class="h6 fw-semibold mt-3 mb-2">Filtering by location</h3>
<p>
When at least one item has a location set, a <strong>Location</strong> dropdown appears in
the filter bar at the top of the Inventory list, next to the Category filter. Select a
location from the dropdown to instantly narrow the list to only the items stored there.
You can combine the location filter with a keyword search or category filter at the same time.
</p>
<p>
Each location badge shown in the Location column of the table is also a direct link &mdash;
clicking it immediately filters to that bin without using the dropdown.
</p>
<h3 class="h6 fw-semibold mt-4 mb-2">Printing a bin list</h3>
<p>
With a location filter active, a <strong>Print Bin</strong> button appears next to the
Clear Filters button. Click it to open a printer-ready page (in a new tab) listing every
item in that bin with its item number, name, color, and SKU. Click <strong>Print</strong>
on that page or use your browser&rsquo;s print shortcut to send it to a printer or save
as PDF. The page has no site chrome &mdash; just the table &mdash; so it prints cleanly on a
standard sheet.
</p>
<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>
The Location dropdown only appears once at least one inventory item has a location set.
If you don&rsquo;t see it, open any item, fill in the <strong>Location</strong> field on the
edit form, and save &mdash; the dropdown will appear on your next visit to the Inventory list.
</div>
</div>
</section>
<section id="catalog-lookup" class="mb-5">
<h2 class="h4 fw-bold border-bottom pb-2 mb-3">
<i class="bi bi-search text-primary me-2"></i>Catalog Lookup &amp; Label Scanner
@@ -533,6 +576,7 @@
<nav class="nav flex-column">
<a class="nav-link py-1 px-3 small text-body" href="#overview">Overview</a>
<a class="nav-link py-1 px-3 small text-body" href="#adding-items">Adding Inventory Items</a>
<a class="nav-link py-1 px-3 small text-body" href="#bin-filter">Location Filtering &amp; Bin Print</a>
<a class="nav-link py-1 px-3 small text-body" href="#catalog-lookup">Catalog Lookup &amp; Label Scanner</a>
<a class="nav-link py-1 px-3 small text-body" href="#stock-levels">Stock Levels and Reorder Points</a>
<a class="nav-link py-1 px-3 small text-body" href="#stock-adjustment">Stock Adjustment</a>