- Created admin page for direct event seeding (admin/seed-events-direct.php)
- Added test admin user creation script with master trainer roles
- Implemented comprehensive Playwright tests for event edit workflow
- Verified field population with TEC v5.0.8
- Confirmed 11 core fields properly populate in edit forms
- Added XWayland display configuration for headed browser testing
- Created seeding scripts that add events with complete metadata
Test Results:
- Login functionality: Working
- Event access: 20+ events accessible
- Field population: 11 essential fields confirmed
- Edit workflow: Functional with TEC Community Events
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
		
	
			
		
			
				
	
	
		
			200 lines
		
	
	
		
			No EOL
		
	
	
		
			6.7 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			200 lines
		
	
	
		
			No EOL
		
	
	
		
			6.7 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| # Fix TEC Community Events URLs on Staging
 | |
| # Ensures proper page creation and permalink structure
 | |
| 
 | |
| set -e
 | |
| 
 | |
| STAGING_IP="146.190.76.204"
 | |
| STAGING_USER="roodev"
 | |
| STAGING_PATH="/home/974670.cloudwaysapps.com/uberrxmprk/public_html"
 | |
| 
 | |
| echo "=== Fixing TEC Community Events URLs ==="
 | |
| echo ""
 | |
| 
 | |
| # Create the fix script
 | |
| cat > /tmp/fix_tec_urls.sh << 'SCRIPT'
 | |
| #!/bin/bash
 | |
| cd /home/974670.cloudwaysapps.com/uberrxmprk/public_html
 | |
| 
 | |
| echo "Checking TEC Community Events status..."
 | |
| wp plugin list | grep tribe-events-community
 | |
| 
 | |
| echo ""
 | |
| echo "Flushing rewrite rules..."
 | |
| wp rewrite flush
 | |
| 
 | |
| echo ""
 | |
| echo "Checking for Community Events pages..."
 | |
| 
 | |
| # Check if community events pages exist
 | |
| echo "Looking for existing community pages..."
 | |
| wp post list --post_type=page --meta_key=_wp_page_template --format=table | grep -i community || true
 | |
| 
 | |
| # Create/update the main community events page if needed
 | |
| echo ""
 | |
| echo "Ensuring Community Events main page exists..."
 | |
| COMMUNITY_PAGE_ID=$(wp post list --post_type=page --title="Community" --format=ids)
 | |
| 
 | |
| if [ -z "$COMMUNITY_PAGE_ID" ]; then
 | |
|     echo "Creating Community Events main page..."
 | |
|     COMMUNITY_PAGE_ID=$(wp post create \
 | |
|         --post_type=page \
 | |
|         --post_title="Community" \
 | |
|         --post_name="community" \
 | |
|         --post_status=publish \
 | |
|         --post_content="[tribe_community_events]" \
 | |
|         --porcelain)
 | |
|     echo "Created Community page with ID: $COMMUNITY_PAGE_ID"
 | |
| else
 | |
|     echo "Community page exists with ID: $COMMUNITY_PAGE_ID"
 | |
|     # Ensure it has the shortcode
 | |
|     wp post update $COMMUNITY_PAGE_ID --post_content="[tribe_community_events]"
 | |
| fi
 | |
| 
 | |
| # Set the community events main page in TEC settings
 | |
| echo ""
 | |
| echo "Updating TEC Community Events settings..."
 | |
| wp option update tribe_events_community_main_page $COMMUNITY_PAGE_ID
 | |
| 
 | |
| # Check/create the events page
 | |
| echo ""
 | |
| echo "Checking Events page..."
 | |
| EVENTS_PAGE_ID=$(wp post list --post_type=page --title="Events" --format=ids)
 | |
| 
 | |
| if [ -z "$EVENTS_PAGE_ID" ]; then
 | |
|     echo "Creating Events page..."
 | |
|     EVENTS_PAGE_ID=$(wp post create \
 | |
|         --post_type=page \
 | |
|         --post_title="Events" \
 | |
|         --post_name="events" \
 | |
|         --post_status=publish \
 | |
|         --post_content="" \
 | |
|         --porcelain)
 | |
|     echo "Created Events page with ID: $EVENTS_PAGE_ID"
 | |
| else
 | |
|     echo "Events page exists with ID: $EVENTS_PAGE_ID"
 | |
| fi
 | |
| 
 | |
| # Set the events page in TEC settings
 | |
| wp option update tribe_events_page $EVENTS_PAGE_ID
 | |
| 
 | |
| # Enable community events features
 | |
| echo ""
 | |
| echo "Enabling Community Events features..."
 | |
| wp option patch update tribe_events_community '{"allowAnonymousSubmissions":"0","defaultStatus":"draft","blockRolesFromSubmissions":"","blockRolesList":"","allowUsersToEditSubmissions":"1","allowUsersToDeleteSubmissions":"1","trashItemsVsDelete":"1","emailAlertsEnabled":"1","emailAlertsList":""}' --format=json 2>/dev/null || true
 | |
| 
 | |
| # Create the community events subpages
 | |
| echo ""
 | |
| echo "Creating Community Events subpages..."
 | |
| 
 | |
| # Add Event page
 | |
| ADD_PAGE_ID=$(wp post list --post_type=page --name="add" --post_parent=$COMMUNITY_PAGE_ID --format=ids)
 | |
| if [ -z "$ADD_PAGE_ID" ]; then
 | |
|     ADD_PAGE_ID=$(wp post create \
 | |
|         --post_type=page \
 | |
|         --post_title="Add Event" \
 | |
|         --post_name="add" \
 | |
|         --post_parent=$COMMUNITY_PAGE_ID \
 | |
|         --post_status=publish \
 | |
|         --post_content="[tribe_community_events view='edit']" \
 | |
|         --porcelain)
 | |
|     echo "Created Add Event page with ID: $ADD_PAGE_ID"
 | |
| fi
 | |
| 
 | |
| # List Events page
 | |
| LIST_PAGE_ID=$(wp post list --post_type=page --name="list" --post_parent=$COMMUNITY_PAGE_ID --format=ids)
 | |
| if [ -z "$LIST_PAGE_ID" ]; then
 | |
|     LIST_PAGE_ID=$(wp post create \
 | |
|         --post_type=page \
 | |
|         --post_title="My Events" \
 | |
|         --post_name="list" \
 | |
|         --post_parent=$COMMUNITY_PAGE_ID \
 | |
|         --post_status=publish \
 | |
|         --post_content="[tribe_community_events view='list']" \
 | |
|         --porcelain)
 | |
|     echo "Created My Events page with ID: $LIST_PAGE_ID"
 | |
| fi
 | |
| 
 | |
| # Edit Event page (dynamic)
 | |
| EDIT_PAGE_ID=$(wp post list --post_type=page --name="edit" --post_parent=$COMMUNITY_PAGE_ID --format=ids)
 | |
| if [ -z "$EDIT_PAGE_ID" ]; then
 | |
|     EDIT_PAGE_ID=$(wp post create \
 | |
|         --post_type=page \
 | |
|         --post_title="Edit Event" \
 | |
|         --post_name="edit" \
 | |
|         --post_parent=$COMMUNITY_PAGE_ID \
 | |
|         --post_status=publish \
 | |
|         --post_content="[tribe_community_events view='edit']" \
 | |
|         --porcelain)
 | |
|     echo "Created Edit Event page with ID: $EDIT_PAGE_ID"
 | |
| fi
 | |
| 
 | |
| echo ""
 | |
| echo "Flushing rewrite rules again..."
 | |
| wp rewrite flush
 | |
| 
 | |
| echo ""
 | |
| echo "Verifying URLs..."
 | |
| echo "Main Community Page: https://upskill-staging.measurequick.com/community/"
 | |
| echo "Add Event: https://upskill-staging.measurequick.com/community/add/"
 | |
| echo "My Events: https://upskill-staging.measurequick.com/community/list/"
 | |
| echo "Edit Event: https://upskill-staging.measurequick.com/community/edit/"
 | |
| 
 | |
| echo ""
 | |
| echo "Creating test events with WP-CLI..."
 | |
| 
 | |
| # Ensure test users exist
 | |
| TRAINER_ID=$(wp user get test_trainer@example.com --field=ID 2>/dev/null || wp user create test_trainer test_trainer@example.com --user_pass=TestTrainer123! --role=hvac_trainer --first_name=Test --last_name=Trainer --porcelain)
 | |
| 
 | |
| echo "Test Trainer ID: $TRAINER_ID"
 | |
| 
 | |
| # Create a simple test event
 | |
| echo "Creating test event..."
 | |
| TEST_EVENT_ID=$(wp post create \
 | |
|     --post_type=tribe_events \
 | |
|     --post_title="HVAC System Diagnostics Workshop" \
 | |
|     --post_content="Learn advanced diagnostic techniques for modern HVAC systems." \
 | |
|     --post_status=publish \
 | |
|     --post_author=$TRAINER_ID \
 | |
|     --porcelain)
 | |
| 
 | |
| wp post meta update $TEST_EVENT_ID _EventStartDate "2025-08-25 09:00:00"
 | |
| wp post meta update $TEST_EVENT_ID _EventEndDate "2025-08-25 17:00:00"
 | |
| wp post meta update $TEST_EVENT_ID _EventTimezone "America/Chicago"
 | |
| 
 | |
| echo "Created test event with ID: $TEST_EVENT_ID"
 | |
| 
 | |
| echo ""
 | |
| echo "Listing all events..."
 | |
| wp post list --post_type=tribe_events --fields=ID,post_title,post_status,post_author --format=table
 | |
| 
 | |
| echo ""
 | |
| echo "✅ TEC Community Events URLs fixed!"
 | |
| echo ""
 | |
| echo "Test URLs:"
 | |
| echo "1. Add Event: https://upskill-staging.measurequick.com/community/add/"
 | |
| echo "2. My Events: https://upskill-staging.measurequick.com/community/list/"
 | |
| echo "3. Edit Event: https://upskill-staging.measurequick.com/community/edit/{event_id}/"
 | |
| echo ""
 | |
| echo "Test Account:"
 | |
| echo "Email: test_trainer@example.com"
 | |
| echo "Password: TestTrainer123!"
 | |
| 
 | |
| SCRIPT
 | |
| 
 | |
| echo "Uploading fix script to staging..."
 | |
| scp -q /tmp/fix_tec_urls.sh $STAGING_USER@$STAGING_IP:/tmp/ 2>/dev/null || {
 | |
|     echo "Note: Manual SSH password required"
 | |
| }
 | |
| 
 | |
| echo "Executing fix script on staging..."
 | |
| ssh $STAGING_USER@$STAGING_IP "bash /tmp/fix_tec_urls.sh" 2>/dev/null || {
 | |
|     echo ""
 | |
|     echo "=== Manual Execution Required ==="
 | |
|     echo "SSH to staging and run:"
 | |
|     echo "bash /tmp/fix_tec_urls.sh"
 | |
| }
 | |
| 
 | |
| # Cleanup
 | |
| rm /tmp/fix_tec_urls.sh |