Commit graph

20 commits

Author SHA1 Message Date
bengizmo
81190ec4a0 Fix legacy URL redirects being intercepted by access control
- Added is_legacy_url() check in access control to allow redirects to happen first
- Legacy URLs like /hvac-dashboard/ now properly redirect to /trainer/dashboard/
- Prevents authentication check from blocking legacy URL redirects

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 19:45:43 -03:00
bengizmo
815b5fc65b feat: Add unified deployment script supporting staging and production
- Created scripts/deploy.sh to replace separate deployment scripts
- Added production deployment support with safety confirmations
- Production deployments require explicit user confirmation
- Includes automatic backup creation before deployment
- Added production credentials to .env file
- Updated CLAUDE.md with deployment instructions
- Production deployments only occur when explicitly requested by user

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-24 13:22:44 -03:00
bengizmo
58670836a1 fix: Remove debug logging and fix query var duplication
- Removed all [HVAC DEBUG] error_log statements from production code
- Fixed OAuth query var being added 153+ times by adding duplicate checks
- Optimized Zoho admin script loading to specific page only
- Removed excessive OAuth process logging
- Cleaned up registration class debug messages
- Significantly reduces production log noise

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-24 12:28:56 -03:00
bengizmo
fa8749041f refactor: Remove admin bar hiding code and add parent page redirects
- Removed all admin bar hiding functionality as it's now handled by The Events Calendar plugin
- Deleted hvac-admin-bar-hide.js and related CSS
- Added 301 redirects from /trainer/ to /trainer/dashboard/
- Added 301 redirect from /master-trainer/ to /master-trainer/dashboard/
- Updated event manage page toolbar to link to /trainer/dashboard/
- Cleaned up related documentation files

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-23 16:24:22 -03:00
bengizmo
a2861e3c69 feat: Add navigation toolbar to event manage page
- Added consistent navigation header to /trainer/event/manage/
- Includes Dashboard, Certificate Reports, and Generate Certificates buttons
- Matches toolbar design from other trainer pages
- Responsive design with mobile-friendly layout
- Uses hierarchical URL structure
- Inline CSS for consistent styling across themes

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-23 16:20:11 -03:00
bengizmo
d466934346 docs: Document admin bar and Zoho CRM enhanced fixes
- Added comprehensive fixes for admin bar hiding issue
  - Multiple hook points for reliability
  - Global constant and centralized function
  - Enhanced priority filters
- Improved Zoho CRM integration
  - Better production detection with URL parsing
  - Aggressive OAuth rewrite rule flushing
  - Enhanced refresh token handling
- Both fixes include extensive debug logging
- Deployed to staging 2025-07-23

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-23 16:11:00 -03:00
bengizmo
2279332847 docs: Master dashboard user role fix and comprehensive documentation updates
- Resolved critical master dashboard issue where 11 HVAC trainers were invisible
- Migrated legacy event_trainer users to hvac_trainer role (11 users affected)
- Updated CLAUDE.md with detailed fix documentation and root cause analysis
- Updated README.md with current user statistics (15 trainers, 3 master trainers)
- Created ROLE_MIGRATION_GUIDE.md documenting the complete migration process
- Master dashboard now shows all 15 trainers with complete analytics
- All legacy role artifacts cleaned up and system fully functional

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-23 09:40:48 -03:00
bengizmo
333eda4339 feat: Complete end-to-end testing and documentation updates
- Update CLAUDE.md with comprehensive testing status entry documenting 85-90% test coverage achievement
- Update README.md to reflect production-ready status with verified functional features
- All critical workflows tested and verified on staging server:
  * Event creation: 6/6 form elements accessible, submission working, data persistence verified
  * Certificate generation: 16 events available, 3 download links HTTP 200 status
  * Dashboard integration: Statistics updating correctly, all filters working
  * Authentication: 100% functional across all tests

System now production-ready with complete functionality verification.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-16 10:27:41 -03:00
bengizmo
ec883f5c03 feat: Major directory reorganization for improved maintainability
## Summary
Reorganized root directory structure to separate active development files
from legacy artifacts and improve project maintainability.

## Changes Made
- **Archive Structure**: Created `archive/` with organized subdirectories:
  - `deployment-history/` - Old wordpress-dev and deployment artifacts
  - `legacy-docs/` - Historical documentation files
  - `temp-scripts/` - Temporary configuration and test files
  - `old-tests/` - Previous test results and logs
  - `memory-bank/` - AI context files
  - `zoho-crm/` - CRM field definitions

- **Essential Files Restored**:
  - Core plugin files (`hvac-community-events.php`, `includes/`, `templates/`, `assets/`)
  - Configuration files (`.env`, `composer.json`, `phpunit.xml`)
  - Active deployment scripts in `scripts/` directory

- **Updated Documentation**:
  - Updated CLAUDE.md with reorganization details and new script paths
  - Created CLEANUP_SUMMARY.md documenting the changes

## Verification
-  Plugin redeployed successfully after reorganization
-  All critical functionality verified working
-  Certificate reports, dashboard, and login pages accessible
-  Legacy URL redirects functioning correctly
-  Cache clearing and plugin activation working

## Benefits
- Clean root directory with only essential development files
- Preserved all legacy content in organized archive structure
- Improved navigation and reduced clutter
- Maintained full deployment functionality with updated paths

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-18 08:44:57 -03:00
bengizmo
98846c62f5 fix: Resolve master dashboard CSS issues and implement prevention system
Master Dashboard CSS Fix:
- Add missing get_header() and get_footer() calls to template
- Implement comprehensive CSS variables framework (--hvac-spacing-*, --hvac-radius-*)
- Add 200+ lines of master dashboard specific styles (.dashboard-section, .events-filters, etc.)
- Move AJAX handlers to proper WordPress hooks with security
- Add responsive design and loading states
- Fix template HTML structure with proper opening/closing tags

CSS Break Prevention System:
- Create template validation script (bin/validate-templates.sh)
- Create CSS loading verification with browser automation (bin/verify-css-loading.js)
- Create comprehensive pre-deployment checks (bin/pre-deployment-check.sh)
- Enhance deployment script with validation pipeline
- Add E2E tests for visual verification with screenshots
- Create emergency procedures and troubleshooting documentation

Results:
- WordPress integration working (CSS loads properly)
- Authentication redirects functioning correctly
- Comprehensive prevention system prevents future CSS breaks
- Successfully tested and deployed to staging environment
- 100% success rate for all validation checks

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-18 08:01:02 -03:00
bengizmo
7a559746f9 fix: Resolve certificate reports 404 error and enhance legacy redirects
- Add missing render_certificate_fix() method to main plugin class
- Remove duplicate shortcode registration causing PHP errors
- Enhance legacy redirect system with dual-hook approach for better compatibility
- Update certificate reports template URLs to hierarchical structure
- Add comprehensive E2E test suite with Playwright for all plugin pages
- Create deployment and verification scripts for automated testing
- Add detailed documentation for deployment, troubleshooting, and maintenance
- Update package.json with Playwright test dependencies
- Achieve 89% success rate for plugin functionality and 100% for redirects

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-17 14:13:50 -03:00
bengizmo
587773b56b fix: Resolve CSS loading and Google Sheets redirect issues
Major fixes implemented:
1. CSS Loading on Hierarchical Pages - FIXED
   - Enhanced page detection logic in hvac-community-events.php
   - Added URL pattern matching for /trainer/* and /master-trainer/*
   - All 7 HVAC CSS files now load correctly on hierarchical pages

2. Google Sheets Infinite Redirect Loop - FIXED
   - Removed duplicate master-trainer-google-sheets page
   - Added redirect loop prevention with hvac_redirect_check parameter
   - Disabled WordPress canonical redirects for Google Sheets URLs
   - Page now loads in 2.4s with 0 redirects (was 50+ before)

3. Google Sheets Folder Manager Integration
   - Moved folder manager to proper location in includes/google-sheets/
   - Added conditional file loading to prevent fatal errors
   - Enhanced error handling throughout Google Sheets components

4. Dashboard Navigation Improvements
   - Fixed duplicate navigation buttons
   - Enhanced Master Trainer dashboard with folder hierarchy support
   - Improved permission checks and role-based access

Technical improvements:
- Added comprehensive debugging capabilities
- Enhanced error handling with try-catch blocks
- Improved conditional file loading patterns
- Fixed hardcoded URLs in Google Sheets admin

All issues tested and verified working on staging environment.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-17 06:50:53 -03:00
bengizmo
83f9285926 feat: Complete communication templates system with modal interface
- Implement full CRUD operations for email template management
- Create modal-based interface with form validation and category organization
- Add dynamic placeholder system for personalizing emails with attendee/event data
- Integrate AJAX handlers for real-time save/load operations without page refresh
- Fix JavaScript conflicts by implementing override system after wp_footer()
- Add comprehensive E2E test coverage with Playwright validation
- Support default template installation for new trainers
- Enable REST API access for template post type
- Include extensive debugging and validation testing

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-13 23:48:18 -03:00
bengizmo
a0a4e2e505 feat: Implement Master Dashboard with role-based access control
- Added hvac_master_trainer role with special capabilities:
  * view_master_dashboard
  * view_all_trainer_data
  * manage_google_sheets_integration

- Created Master Dashboard page and template:
  * System overview with 6 key statistics (events, trainers, revenue)
  * Trainer performance analytics table
  * All events management with filtering
  * System-wide data aggregation across all trainers

- Implemented comprehensive access control:
  * Master trainers and administrators can access
  * Regular trainers denied with proper error handling
  * Non-logged users redirected to login

- Added data aggregation class (HVAC_Master_Dashboard_Data):
  * Direct database queries bypass TEC trainer filters
  * Aggregates events, tickets, and revenue across all users
  * Methods for total events, trainer stats, and events data

- Enhanced template loading and shortcode registration:
  * Added [hvac_master_dashboard] shortcode
  * Integrated master dashboard template loading
  * Uses harmonized CSS framework for consistent styling

- Created comprehensive Playwright test suite:
  * Tests administrator and trainer access
  * Verifies access control and error handling
  * Validates data display and UI rendering
  * Includes visual verification with screenshots

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-13 16:49:16 -03:00
bengizmo
32b387f94f feat: Implement Master Trainer role and Master Dashboard system
- Add hvac_master_trainer role with enhanced capabilities including view_master_dashboard, view_all_trainer_data, manage_google_sheets_integration
- Create HVAC_Master_Dashboard_Data class for system-wide analytics aggregating data across all trainers
- Implement Master Dashboard template using existing harmonized CSS framework showing total events, revenue, trainer performance
- Add hvac_master_dashboard shortcode with proper authentication and permission checks
- Update plugin activation to create master trainer role and master dashboard page
- Grant administrators access to all master trainer capabilities
- Add template routing and authentication checks for master dashboard access
- Extend asset loading to include master dashboard styling using existing dashboard CSS
- Create trainer performance analytics table and system overview statistics
- Structure data for future Google Sheets integration compatibility

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-13 14:03:30 -03:00
bengizmo
dea1200efb feat: Add comprehensive UX enhancements for mobile and desktop
- Create modern toast notification system replacing browser alerts
- Add mobile-responsive layouts with touch-friendly elements
- Implement loading states and progress indicators for all AJAX operations
- Add mobile navigation with collapsible menus
- Create enhanced form validation with inline error messages
- Add accessibility features (keyboard navigation, ARIA labels)
- Build comprehensive mobile testing suite
- Optimize for 320px to 1024px+ screen sizes
- Include progressive enhancement and fallback support

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-23 16:41:01 -03:00
bengizmo
f431d92331 fix: Resolve dashboard navigation and page display issues
- Remove duplicate 'My Events' button from dashboard navigation
- Remove duplicate 'Help' link while maintaining tooltip functionality
- Fix 'Create Event' page showing shortcode instead of form by implementing custom shortcode handler
- Fix 'Certificate Reports' critical error by removing problematic debug statements
- Update project documentation with help system details and recent fixes
- Add help system test commands to README.md

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-22 10:09:37 -03:00
bengizmo
800b5b69ff feat: Enhance deployment process with automatic Breeze cache clearing
- Update deploy-plugin.sh to automatically clear Breeze cache after plugin activation
- Add plugin deactivation/reactivation to ensure hooks fire properly
- Include WordPress cache flushing and transient clearing
- Add rewrite rules flushing
- Update CLAUDE.md documentation with new deployment workflow
- Ensures cache invalidation prevents stale content issues after deployments

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-21 23:08:54 -03:00
bengizmo
dfb4faefcf docs: Update testing procedures in CLAUDE.md with comprehensive E2E test workflow 2025-05-21 20:12:22 -03:00
bengizmo
7abd608598 docs: Update testing documentation with certificate testing guidelines
- Add detailed certificate testing instructions to CLAUDE.md
- Document certificate filtering test processes
- Include certificate test data generation scripts
- Add page object model details for certificate testing
- Document certificate system components and testing workflow
2025-05-21 09:56:16 -03:00