upskill-event-manager/scripts/fix-tec-community-urls.sh
Ben 023d77541c feat: Add event seeding functionality and comprehensive edit workflow tests
- 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>
2025-08-18 10:40:11 -03:00

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