Add USB checkout system and SSO profile page

New Features:
- USB Device checkout/check-in system with barcode scanning
  - displayusb.asp: List all USB devices with status
  - addusb.asp: Add new USB devices via barcode scan
  - checkout_usb.asp/savecheckout_usb.asp: Check out USB to SSO
  - checkin_usb.asp/savecheckin_usb.asp: Check in with wipe confirmation
  - usb_history.asp: Full checkout history with filters
  - api_usb.asp: JSON API for AJAX lookups
- displayprofile.asp: SSO profile page showing user info and USB history
- Date/time format changed to 12-hour (MM/DD/YYYY h:mm AM/PM)
- SSO links in USB history now link to profile page via search

Database:
- New machinetypeid 44 for USB devices
- New usb_checkouts table for tracking checkouts

Cleanup:
- Removed v2 folder (duplicate/old files)
- Removed old debug/test files
- Removed completed migration documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
cproudlock
2025-12-07 11:16:14 -05:00
parent c7834d4b99
commit 65b622c361
1061 changed files with 19034 additions and 213120 deletions

View File

@@ -224,6 +224,7 @@ var machineTypeColors = {
' Query active network infrastructure with map coordinates
Dim strSQL, rs, mapleft, maptop, machineid, machinenumber, machineType, machineTypeId, modelnumber, vendor, alias, ipaddress, sourceTable
' NOTE: machinetypeid is now sourced from models table (models.machinetypeid) not machines table
strSQL = "SELECT printers.printerid AS id, machines.machinenumber AS name, machines.alias, " &_
"printers.mapleft, printers.maptop, printers.ipaddress, NULL AS machinetypeid, " &_
"'Printer' AS type, models.modelnumber, vendors.vendor, 'printers' AS source " &_
@@ -238,14 +239,14 @@ strSQL = "SELECT printers.printerid AS id, machines.machinenumber AS name, machi
"UNION ALL " &_
"" &_
"SELECT m.machineid AS id, m.machinenumber AS name, m.alias, " &_
"m.mapleft, m.maptop, c.address AS ipaddress, m.machinetypeid, " &_
"m.mapleft, m.maptop, c.address AS ipaddress, mo.machinetypeid, " &_
"mt.machinetype AS type, mo.modelnumber, v.vendor, 'machines' AS source " &_
"FROM machines m " &_
"INNER JOIN machinetypes mt ON m.machinetypeid = mt.machinetypeid " &_
"LEFT JOIN models mo ON m.modelnumberid = mo.modelnumberid " &_
"LEFT JOIN machinetypes mt ON mo.machinetypeid = mt.machinetypeid " &_
"LEFT JOIN vendors v ON mo.vendorid = v.vendorid " &_
"LEFT JOIN communications c ON m.machineid = c.machineid AND c.isprimary = 1 AND c.comstypeid = 1 " &_
"WHERE mt.machinetypeid IN (16, 17, 18, 19, 20) " &_
"WHERE mo.machinetypeid IN (16, 17, 18, 19, 20) " &_
"AND m.isactive = 1 " &_
"AND m.mapleft IS NOT NULL " &_
"AND m.maptop IS NOT NULL " &_