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

@@ -1,126 +1,13 @@
-- Update vw_network_devices view to include machines table network devices
-- Date: 2025-11-13
-- Purpose: Make network_devices.asp show devices from machines table with network device types
-- Update vw_network_devices view for Phase 3 (legacy tables dropped)
-- Date: 2025-11-25
-- Purpose: Network devices now come from machines table (16-20) and printers table
-- Legacy tables (idfs, servers, switches, cameras, accesspoints) have been dropped
USE shopdb;
DROP VIEW IF EXISTS vw_network_devices;
CREATE VIEW vw_network_devices AS
-- IDFs from separate table
SELECT
'IDF' AS device_type,
i.idfid AS device_id,
i.idfname AS device_name,
NULL AS modelid,
NULL AS modelnumber,
NULL AS vendor,
NULL AS serialnumber,
NULL AS ipaddress,
i.description AS description,
i.maptop AS maptop,
i.mapleft AS mapleft,
i.isactive AS isactive,
NULL AS idfid,
NULL AS idfname,
NULL AS macaddress
FROM idfs i
UNION ALL
-- Servers from separate table
SELECT
'Server' AS device_type,
s.serverid AS device_id,
s.servername AS device_name,
s.modelid,
m.modelnumber,
v.vendor,
s.serialnumber,
s.ipaddress,
s.description,
s.maptop,
s.mapleft,
s.isactive,
NULL AS idfid,
NULL AS idfname,
NULL AS macaddress
FROM servers s
LEFT JOIN models m ON s.modelid = m.modelnumberid
LEFT JOIN vendors v ON m.vendorid = v.vendorid
UNION ALL
-- Switches from separate table
SELECT
'Switch' AS device_type,
sw.switchid AS device_id,
sw.switchname AS device_name,
sw.modelid,
m.modelnumber,
v.vendor,
sw.serialnumber,
sw.ipaddress,
sw.description,
sw.maptop,
sw.mapleft,
sw.isactive,
NULL AS idfid,
NULL AS idfname,
NULL AS macaddress
FROM switches sw
LEFT JOIN models m ON sw.modelid = m.modelnumberid
LEFT JOIN vendors v ON m.vendorid = v.vendorid
UNION ALL
-- Cameras from separate table
SELECT
'Camera' AS device_type,
c.cameraid AS device_id,
c.cameraname AS device_name,
c.modelid,
m.modelnumber,
v.vendor,
c.serialnumber,
c.ipaddress,
c.description,
c.maptop,
c.mapleft,
c.isactive,
c.idfid,
i.idfname,
c.macaddress
FROM cameras c
LEFT JOIN models m ON c.modelid = m.modelnumberid
LEFT JOIN vendors v ON m.vendorid = v.vendorid
LEFT JOIN idfs i ON c.idfid = i.idfid
UNION ALL
-- Access Points from separate table
SELECT
'Access Point' AS device_type,
a.apid AS device_id,
a.apname AS device_name,
a.modelid,
m.modelnumber,
v.vendor,
a.serialnumber,
a.ipaddress,
a.description,
a.maptop,
a.mapleft,
a.isactive,
NULL AS idfid,
NULL AS idfname,
NULL AS macaddress
FROM accesspoints a
LEFT JOIN models m ON a.modelid = m.modelnumberid
LEFT JOIN vendors v ON m.vendorid = v.vendorid
UNION ALL
-- Printers from separate table
SELECT
'Printer' AS device_type,
@@ -137,7 +24,8 @@ SELECT
p.isactive,
NULL AS idfid,
NULL AS idfname,
NULL AS macaddress
NULL AS macaddress,
p.fqdn
FROM printers p
LEFT JOIN models m ON p.modelid = m.modelnumberid
LEFT JOIN vendors v ON m.vendorid = v.vendorid
@@ -145,6 +33,7 @@ LEFT JOIN vendors v ON m.vendorid = v.vendorid
UNION ALL
-- Network devices from machines table (machinetypeid 16-20)
-- 16=Access Point, 17=IDF, 18=Camera, 19=Switch, 20=Server
SELECT
mt.machinetype AS device_type,
ma.machineid AS device_id,
@@ -154,13 +43,14 @@ SELECT
ve.vendor,
ma.serialnumber,
c.address AS ipaddress,
NULL AS description,
ma.machinenotes AS description,
ma.maptop,
ma.mapleft,
ma.isactive,
NULL AS idfid,
NULL AS idfname,
NULL AS macaddress
c.macaddress,
NULL AS fqdn
FROM machines ma
INNER JOIN machinetypes mt ON ma.machinetypeid = mt.machinetypeid
LEFT JOIN models mo ON ma.modelnumberid = mo.modelnumberid