Commit graph

149 commits

Author SHA1 Message Date
bengizmo
f5cb8c07cf Implement certificate preview system with AJAX to eliminate page reloads and provide real-time certificate previews with secure token-based access as requested by user feedback.
🎯 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-23 08:39:32 -03:00
bengizmo
add4911210 feat: Add PNG generation and fix certificate reports TEC query interference
Enhanced certificate system with:
- Added PNG generation capability using ImageMagick for certificate previews
- Fixed TEC query interference in Certificate Manager methods
- Updated database schema to include png_path column
- Enhanced E2E test to verify certificate preview functionality
- Replaced WP_Query with direct database queries in:
  - get_user_certificates()
  - get_user_certificate_count()
  - get_user_certificate_stats()
  - Certificate Reports template

Certificate statistics now showing correctly:
- Total: 169 certificates
- Active: 158 certificates
- Revoked: 11 certificates
- Emailed: 129 certificates

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-23 07:29:09 -03:00
bengizmo
9f8bc104f0 fix: Complete Generate Certificates page functionality and attendee display
Fixed critical issues with Generate Certificates page:
- Replaced tribe_tickets_get_attendees() with direct database queries
- Added support for both TEC and TPP attendee post types
- Fixed attendee meta keys to show real names and emails
- Added proper CSS styling and navigation buttons
- Updated test utilities with correct staging URL

Generate Certificates page now fully functional:
- Shows 16 events in dropdown
- Displays 5 attendees with proper data
- Successfully generates certificates with confirmation message
- Includes Dashboard and Certificate Reports navigation

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-23 07:04:15 -03:00
bengizmo
0b64980286 fix: Resolve dashboard data display and certificate generation issues
Fixed critical issues where dashboard showed zero tickets sold/revenue and
Generate Certificates page couldn't recognize events. Replaced TEC-interfering
queries with direct database queries and added proper navigation header.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-23 00:39:42 -03:00
bengizmo
66680590dc fix: Remove PHP syntax error in certificate reports template
Remove unmatched catch block and duplicate PHP closing tags that were
causing parse errors and 500 status responses on the certificate
reports page.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-22 20:59:35 -03:00
bengizmo
43e0bb10f5 Fix PHP compatibility issues causing dashboard 500 errors
- Removed PHP 7.4+ type declarations (private int, return types) that were causing fatal errors
- Fixed constructor parameter and property declarations for older PHP versions
- Created minimal dashboard data class as emergency fallback
- Root cause: Server running older PHP version incompatible with modern type declarations

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-22 20:25:31 -03:00
bengizmo
a82616b6f7 Fix dashboard data inconsistency and enhance test suite with WP API
- Fixed dashboard data class to use consistent post_author queries instead of mixed _EventOrganizerID meta queries
- This resolves the issue where dashboard showed 18 events but 0 tickets/revenue
- Added WordPress API credentials to environment (.env)
- Created comprehensive API debugging utilities (wp-api-debug.sh, wp-api-fix.sh, api-only-debug.sh)
- Enhanced test and deployment suite with WordPress REST API capabilities
- Root cause: get_total_tickets_sold() and get_total_revenue() were using _EventOrganizerID while other methods used post_author

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-22 19:24:18 -03:00
bengizmo
a014a9d7f7 fix: Resolve redirect loop when WordPress admin accesses HVAC dashboard
- Updated dashboard template to show access denied message instead of redirect for non-authorized users
- Enhanced login handler to redirect admins to WP admin instead of causing loops
- Added view_hvac_dashboard capability to administrator role during plugin activation
- Improved access control logic to allow administrators to view dashboard
- Added proper cleanup of admin capabilities on plugin deactivation
- Prevents ERR_TOO_MANY_REDIRECTS when WordPress admin users try to access trainer dashboard

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-22 15:59:33 -03:00
bengizmo
45b8192715 feat: Enhanced test data creation and login system improvements
- Updated comprehensive test data script to use proper deployment configuration
- Fixed test data script file paths and deployment process
- Enhanced login form with better error/success messaging
- Improved Zoho admin interface with detailed OAuth flow
- Fixed login page styling to prevent theme constraints
- Added proper error handling for expired/invalid Zoho tokens

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-22 15:54:15 -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
88c7b87606 test: Add comprehensive E2E tests for help system
- Add welcome guide modal functionality tests with navigation and dismissal
- Add tooltip system tests for hover behavior and positioning
- Add documentation page tests for content accuracy and navigation
- Add integration tests for complete user journey through help features
- Test cookie persistence, accessibility, and cross-page functionality
- Verify asset loading and JavaScript initialization

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-22 09:03:37 -03:00
bengizmo
803993d5e9 feat: Add comprehensive help system with welcome guide, tooltips, and documentation
- Add interactive welcome guide modal with 4 informative cards
- Implement cookie-based dismissal lasting 30 days
- Create tooltips system for major sections across custom pages
- Add comprehensive documentation page with FAQs and step-by-step guides
- Include Font Awesome icons for visual enhancement
- Add Help buttons to navigation across all pages
- Enhance user onboarding and platform understanding

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-22 08:47:43 -03:00
bengizmo
f17234ba3b feat: Add deployment utilities and login troubleshooting test
- Add web installer creation script
- Add domain-updated plugin deployment script
- Add plugin package deployment script
- Add E2E test for login troubleshooting scenarios
2025-05-22 00:09:48 -03:00
bengizmo
c20be7ebbc security: Update .gitignore to exclude sensitive files 2025-05-22 00:05:10 -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
cec59b1f6e ci: Add comprehensive CI/CD workflow
- Added GitHub Actions workflow for testing and deployment
- Implemented multi-stage deployment with validation
- Added visual regression testing to CI process
- Integrated all resilience scripts into automated workflow
- Added staging and production deployment pipelines

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-21 22:18:29 -03:00
bengizmo
b3b0901cd6 feat: Add advanced testing resilience and deployment scripts
- Added visual-regression.sh for detecting UI changes
- Created optimize-tests.sh to improve test performance
- Added canary-deploy.sh for safer deployments with automatic rollback
- Enhanced overall testing and deployment reliability

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-21 21:05:01 -03:00
bengizmo
27bd8b512c feat: Add comprehensive testing resilience and monitoring scripts
- Added test-monitor.sh for monitoring test execution metrics and generating reports
- Created test-data-manager.sh for robust test data management
- Added health-check.sh for comprehensive system health verification
- Enhanced overall deployment safety and reliability

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-21 20:58:41 -03:00
bengizmo
1bdb4f7de8 docs: Add comprehensive testing resilience documentation and scripts
- Added DEPLOYMENT-RESILIENCE.md with strategies for resilient testing
- Created TROUBLESHOOTING.md with solutions to common issues
- Added SELECTORS.md as a centralized selector database
- Created auto-recovery.sh script for automated test failure recovery
- Enhanced overall testing framework resilience

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-21 20:48:10 -03:00
bengizmo
261ab99e88 docs: Update testing documentation and add deployment resilience scripts
- Enhanced documentation with selector stability best practices
- Added recommendations for resilient testing and deployment
- Created verify-selectors.sh script to validate critical selectors pre-deployment
- Added pre-deploy-validation.sh for comprehensive environment validation
- Improved troubleshooting section with specific recommendations

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-21 20:37:32 -03:00
bengizmo
d1f1005a5a fix: Update login form selectors to match actual page structure
- Updated LoginPage selectors to use more robust input[name] selectors instead of id-based
- Added better error handling and message detection
- Enhanced form waiting for better reliability
- Created debug test scripts to verify selector functionality
- Fixed isLoginFormVisible reference in trainer journey test

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-21 20:21:16 -03:00
bengizmo
7ac4d4b853 feat: Add test user creation and plugin verification scripts 2025-05-21 20:12:38 -03:00
bengizmo
9b2b574518 fix: Remove duplicate import in BasePage.ts 2025-05-21 20:12:30 -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
ba40c296f5 update: Change staging domain to upskill-staging.measurequick.com
- Updated configuration files and documentation to use new staging domain
- Created centralized URL configuration for tests
- Updated page objects to use configuration instead of hardcoded URLs
- Added script to automatically update test files with new domain

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-21 16:42:10 -03:00
bengizmo
1eb46ad0f1 feat: Add Zoho CRM fixes deployment script
- Created deploy-zoho-fixes.sh script to deploy only Zoho-related fixes
- Script creates backups before making changes
- Patch maintains existing credentials while adding .env loading
- Enables diagnostics in wp-config.php
- Properly handles file permissions and cache clearing

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-21 11:29:46 -03:00
bengizmo
e4e41b6c28 fix: Improve Zoho CRM environment variable loading
- Added direct .env file loading to zoho-config.php (without requiring WordPress)
- Created check-zoho-env.php to diagnose environment variable issues
- Enhanced logging of credential loading for better debugging
- Fixed issue with Zoho credentials not being loaded from .env file

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-21 11:26:14 -03:00
bengizmo
0d55020273 feat: Add Zoho CRM diagnostic and setup tools
- Added setup-zoho-credentials.php script to help generate OAuth credentials
- Added check-permissions.php tool to diagnose file access issues
- Updated diagnostics system to better identify common problems
- Added detailed steps for setting up Zoho CRM integration

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-21 11:22:25 -03:00
bengizmo
005bbf537e fix: Improve Zoho CRM integration debug and error handling
- Enhanced error messages for Zoho CRM connection test failures
- Added detailed error information display in admin UI
- Created diagnostics.php script for advanced troubleshooting
- Improved logging with file, line, and stack trace information
- Added client ID, secret, and refresh token validation checks
- Enhanced CSS styling for error messages and debugging info
- Added configuration status checks to help identify issues

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-21 11:09:23 -03:00
bengizmo
8d44245ec9 feat: Harmonize Playwright testing capabilities
- Create consistent test structure with latest Playwright version (1.52.0)
- Implement trainer-journey-harmonized.test.ts that works with updated Playwright
- Fix package.json to ensure consistent dependencies
- Add certificate-basic.spec.ts that avoids framework compatibility issues
- Create run-advanced-tests.sh script with enhanced configuration options
- Add comprehensive documentation for the harmonized testing approach

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-21 10:33:48 -03:00
bengizmo
b9fb3b43f4 test: Add standalone trainer journey test script
- Create comprehensive Node.js-based trainer journey test
- Implement event creation, dashboard verification, and certificate testing
- Add robust error handling and detailed logging
- Bypass Playwright framework issues with direct Playwright API usage
- Ensure test can run independently of test framework configuration
2025-05-21 10:19:51 -03:00
bengizmo
826555b326 test: Enhance trainer journey with certificate functionality
- Update trainer journey tests to include comprehensive certificate testing
- Add attendee search and filtering functionality to the test
- Implement certificate generation and viewing test steps
- Improve documentation with updated test coverage
- Create run script for trainer journey with certificates test
- Update test plan to reflect implemented features
2025-05-21 10:07:35 -03:00
bengizmo
f24b72dc64 test: Add standalone certificate testing script
- Fix Playwright version conflicts in package.json
- Create standalone Node.js certificate testing script
- Improve test reliability by avoiding framework issues
- Test certificate generation and report pages
- Implement filter testing for attendee search
- Add detailed logging for certificate test results
2025-05-21 10:03:09 -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
bengizmo
353d951ba7 test: Optimize E2E testing infrastructure for certificates
- Add CertificatePage for certificate operations
- Create BasePage for common page object functionality
- Implement CertificateTestData for test data generation
- Create optimized certificate tests with improved stability
- Add test-certificate-filter.sh script for testing certificate filtering
- Improve test organization and reliability
2025-05-21 09:53:36 -03:00
bengizmo
8dde809062 test: Optimize E2E testing infrastructure for certificates
- Add dedicated AttendeeFilterPage for isolating filtering functionality
- Create optimized certificate test focusing on attendee search
- Document testing strategy and best practices
- Add script to analyze and improve Playwright configuration
- Create optimized Playwright configuration template
- Resolve test stability issues with simplified approach
- Improve test isolation and reliability for certificates
2025-05-21 09:45:00 -03:00
bengizmo
a24d3af81b feat: Add certificate test data generation and verification
- Add comprehensive test data generation scripts for certificate testing
- Create scripts to verify certificate data and attendee filtering
- Add detailed findings and documentation on test data
- Include certificate tests for various filter combinations
- Fix issues with attendee filtering implementation in template
- Add validation for certificate template file syntax
- Document test data structure and verification results
2025-05-21 09:41:09 -03:00
bengizmo
31dae475a6 Fix certificate reports page 500 error
This commit addresses the 500 error on the certificate-reports page by:
1. Adding proper error handling to certificate templates
2. Ensuring required classes are loaded in the right order
3. Adding try-catch blocks for better error reporting
4. Creating diagnostic and troubleshooting tools
5. Fixing method signature issues in the certificate manager

The issues were caused by missing database tables or classes not being loaded in the correct order.

Additional improvements:
- Added certificate system diagnostic scripts
- Added comprehensive troubleshooting documentation
- Added automated fix deploy script
2025-05-20 23:29:41 -03:00
bengizmo
5d08f8d28e docs: Update certificate testing documentation and methodology
This commit:
- Creates comprehensive CERTIFICATE_TESTING_GUIDE.md to document certificate testing
- Updates TRAINER_JOURNEY_TEST_SUMMARY.md to include certificate functionality
- Updates main README.md with certificate testing information
- Creates a centralized Config.ts utility for consistent configuration
- Updates CertificatePage.ts and other page objects for consistency
- Creates a guided manual test script (run-certificate-tests.sh)
- Archives outdated certificate test files
- Improves documentation organization and consistency
2025-05-20 23:10:19 -03:00
bengizmo
fbc2d818c0 feat: Add comprehensive certificate E2E tests
- Created CertificatePage class for testing certificate functionality
- Updated DashboardPage to support certificate links in navigation
- Implemented test data generator for certificate testing
- Added tests for certificate generation with checked-in users
- Added tests for certificate generation with non-checked-in users
- Added certificate management (view/email/revoke) tests
- Created comprehensive trainer journey test including certificates
- Added utility script to run certificate-specific tests

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-20 20:44:42 -03:00
bengizmo
c417a6154b feat: Implement certificate generation system
- Add certificate database table for storing certificate records
- Create certificate generator using TCPDF library
- Implement certificate template system with HTML templates
- Add certificate management UI for viewing, emailing, and revoking
- Add AJAX handlers for certificate actions
- Implement secure certificate download with tokenization
- Create certificate reports and generation pages with appropriate UI

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-20 18:33:34 -03:00
bengizmo
64af743cdd fix: Improve email sending functionality and debugging
- Remove problematic  filter implementation
- Add improved email debugging and logging
- Enhance error handling for wp_mail failures
- Add helpful email troubleshooting information
- Add SMTP configuration debugging

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-20 16:48:23 -03:00
bengizmo
8a9f86718f fix: Enhance email system with better error handling and debugging
- Add detailed logging for email system to track issues
- Use PHP mail() as fallback when wp_mail() fails
- Improve recipient matching and validation
- Add debug tools to diagnose email issues on staging
- Add email system debugging panel for admin users
- Fix direct sending for attendees created from test data
- Handle different email field formats from test attendees

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-20 16:38:28 -03:00
bengizmo
6f3dab5c53 fix: Add direct database query fallback for email attendees page
- Update email attendees class to handle custom attendee data
- Add fallback method to directly query attendee data from database
- Support multiple field formats for attendee names and emails
- Ensure email page works with test attendees created via WP-CLI

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-20 16:35:15 -03:00
bengizmo
967d3e9c4c fix: Improve dashboard data retrieval for test attendees
- Update dashboard data class to check multiple meta field formats
- Add attendee counting to calculate stats when meta fields missing
- Add revenue calculation based on ticket prices and attendee count
- Add fallback methods for direct database queries
- Fix event summary data to update dashboard stats on view
- Handle check-in status from multiple possible field formats

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-20 16:29:37 -03:00
bengizmo
42138339cb test: Add certificate generation tests and deployment tools
- Add E2E test for certificate generation functionality
- Create deployment configuration script for staging server
- Add certificate email testing script
- Update composer.lock with TCPDF dependencies

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-20 15:32:29 -03:00
bengizmo
964d5f75a8 feat: Implement certificate generation system
- Add certificate database schema and installer
- Integrate TCPDF for PDF generation
- Create certificate management and generation classes
- Implement certificate template customization
- Add certificate reports and generation pages
- Integrate with check-in functionality
- Implement certificate viewing, revocation, and email features
- Add certificate actions to Event Summary page

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-20 15:17:55 -03:00
bengizmo
9a930ea1fc feat: Enhance plugin UI with improved styling and accessibility
- Add responsive button styles with mobile optimization
- Implement accessibility focus styles and keyboard navigation support
- Create animation system for smoother interactive elements
- Add mobile navigation menu for dashboard and main pages
- Include print stylesheet for better printable event summaries
- Optimize all UI components for better usability and consistency

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-20 12:37:59 -03:00
bengizmo
4262221115 fix: Correct template path for dashboard shortcode
Updated the dashboard shortcode render method to use the correct template path.
Added page rendering verification test to ensure shortcodes render properly.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-20 10:41:18 -03:00
bengizmo
e6bdce4301 feat: Add Email Attendees functionality (Phase 2)
Implements the Email Attendees feature which allows trainers to:
- Email event attendees directly from the Event Summary page
- Filter attendees by ticket type
- Use a rich text editor to compose messages
- Include CC recipients
- Send personalized emails to selected attendees

Includes unit tests, integration tests, and E2E tests to verify functionality.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-20 10:33:03 -03:00