- Add 26 documentation files including test reports, deployment guides, and troubleshooting documentation - Include 3 CSV data files for trainer imports and user registration tracking - Add 43 JavaScript test files covering mobile optimization, Safari compatibility, and E2E testing - Include 18 PHP utility files for debugging, geocoding, and data analysis - Add 12 shell scripts for deployment verification, user management, and database operations - Update .gitignore with whitelist patterns for development files, documentation, and CSV data 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
136 lines
No EOL
3.7 KiB
Markdown
136 lines
No EOL
3.7 KiB
Markdown
# HVAC Trainer Role Migration Guide
|
|
|
|
**Date**: July 23, 2025
|
|
**Issue**: Master dashboard not showing all HVAC trainers
|
|
**Resolution**: Legacy role migration from `event_trainer` to `hvac_trainer`
|
|
|
|
---
|
|
|
|
## Problem Description
|
|
|
|
The master dashboard was only showing 4 out of 15 HVAC trainer users. Investigation revealed that 11 users had the legacy `event_trainer` role instead of the current `hvac_trainer` role.
|
|
|
|
### Root Cause
|
|
- Master dashboard code only queries for users with `hvac_trainer` and `hvac_master_trainer` roles
|
|
- 11 users had legacy `event_trainer` role from previous development
|
|
- These users were invisible to the master dashboard analytics
|
|
|
|
---
|
|
|
|
## Solution Summary
|
|
|
|
**Migration Process**: Convert all `event_trainer` users to `hvac_trainer` role
|
|
|
|
**Users Migrated**:
|
|
1. andys@genzryan.com
|
|
2. ben@tealmaker.com
|
|
3. david@hvacinstituteinc.com
|
|
4. dpetz@johnstonenjpa.com
|
|
5. eric.energy@gmail.com
|
|
6. Greg.a.kula@gmail.com
|
|
7. hhr.handc@gmail.com
|
|
8. janderson@sila.com
|
|
9. mnantel@republicsupplyco.com
|
|
10. rigobertohugo19 (info103@noreply0.com)
|
|
11. thoffmaster@hoffmastermechanical.com
|
|
|
|
---
|
|
|
|
## Migration Script
|
|
|
|
The migration was performed using `migrate-event-trainers.sh`:
|
|
|
|
```bash
|
|
#!/bin/bash
|
|
# Migration script: migrate-event-trainers.sh
|
|
|
|
# For each event_trainer user:
|
|
wp user remove-role "$username" event_trainer
|
|
wp user add-role "$username" hvac_trainer
|
|
```
|
|
|
|
### Verification Commands
|
|
|
|
```bash
|
|
# Check role counts before migration
|
|
wp user list --role=event_trainer --format=count
|
|
wp user list --role=hvac_trainer --format=count
|
|
|
|
# Perform migration
|
|
./migrate-event-trainers.sh
|
|
|
|
# Verify migration completed
|
|
wp user list --role=event_trainer --format=count # Should be 0
|
|
wp user list --role=hvac_trainer --format=count # Should be 14
|
|
```
|
|
|
|
---
|
|
|
|
## Results
|
|
|
|
### Before Migration
|
|
- **HVAC Trainers**: 3 users
|
|
- **Event Trainers**: 11 users (invisible to master dashboard)
|
|
- **Master Dashboard**: Showed 4 total trainers
|
|
|
|
### After Migration
|
|
- **HVAC Trainers**: 14 users ✅
|
|
- **HVAC Master Trainers**: 3 users ✅
|
|
- **Event Trainers**: 0 users ✅
|
|
- **Master Dashboard**: Shows 15 total trainers ✅
|
|
|
|
### Master Dashboard Statistics
|
|
- **Total Trainers**: 15 (increased from 4)
|
|
- **Total Events**: 16 events across all trainers
|
|
- **Complete Analytics**: All trainer data now visible
|
|
- **Legacy Cleanup**: All `event_trainer` role artifacts removed
|
|
|
|
---
|
|
|
|
## Prevention
|
|
|
|
To prevent similar issues in the future:
|
|
|
|
1. **Consistent Role Naming**: Always use `hvac_trainer` for trainer users
|
|
2. **Role Verification**: Check user roles during testing
|
|
3. **Master Dashboard Testing**: Verify all trainers appear in analytics
|
|
4. **Migration Scripts**: Keep role migration scripts for future use
|
|
|
|
---
|
|
|
|
## Testing Verification
|
|
|
|
**Master Dashboard Query Test**:
|
|
```php
|
|
$trainer_users = get_users(array(
|
|
'role__in' => array('hvac_trainer', 'hvac_master_trainer'),
|
|
'fields' => 'ID'
|
|
));
|
|
// Should return 15 users after migration
|
|
```
|
|
|
|
**Master Dashboard Access**:
|
|
- Login as master trainer: joe@measurequick.com
|
|
- Navigate to: `/master-trainer/dashboard/`
|
|
- Verify: 15 trainers visible in analytics
|
|
- Confirm: All trainer statistics display correctly
|
|
|
|
---
|
|
|
|
## Files Modified
|
|
|
|
1. **Migration Script**: `migrate-event-trainers.sh` (created)
|
|
2. **Verification Script**: `verify-master-dashboard-data.sh` (created)
|
|
3. **Documentation**: `CLAUDE.md` (updated with fix details)
|
|
4. **Documentation**: `README.md` (updated user counts)
|
|
|
|
---
|
|
|
|
## Deployment Notes
|
|
|
|
- **Code Changes**: No code changes required (only data migration)
|
|
- **Database Changes**: User role metadata updated
|
|
- **Cache Clearing**: Automatic via deployment script
|
|
- **Verification**: Master dashboard functionality confirmed
|
|
|
|
The migration resolved the issue completely and all HVAC trainers are now properly visible in the master dashboard analytics. |