Commit graph

22 commits

Author SHA1 Message Date
bengizmo
00b3b2008b fix: Resolve event manage page CSS override and duplicate header issues
- Scoped all CSS rules to .hvac-event-manage-wrapper to prevent theme conflicts
- Moved navigation header directly into page template to avoid duplication
- Disabled duplicate header hook in HVAC_Event_Manage_Header class
- Added theme override styles to enforce 1200px max-width and 20px padding
- Updated CSS methodology to use consistent spacing and remove CSS variables
- Added HVAC_Page_Content_Fixer class to clean escaped HTML comments
- Updated documentation with CSS architecture details
- Enhanced theme compatibility with higher specificity selectors

The event manage page now displays correctly with:
- Single navigation header (no duplicates)
- Proper white background and shadows
- Consistent button styling matching other pages
- Clean 1200px max-width layout with 20px padding

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 15:36:39 -03:00
bengizmo
a1abbf1577 fix: Resolve duplicate content and raw shortcode display on manage event page
- Strip WordPress block editor comments (<\!-- wp:shortcode -->) from content
- Prevent duplicate header rendering when using page template vs shortcode
- Add conditional header rendering based on URL path to avoid duplication
- Header now only renders for non-hierarchical URLs where template isn't used

The manage event page was showing duplicate "Create and Manage Your HVAC Training Events"
sections and raw block editor comments because both the template and the header class
were outputting content, and block editor wrapper comments weren't being stripped.

Co-Authored-By: Ben Reed <ben@tealmaker.com>
2025-07-30 10:06:49 -03:00
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