upskill-event-manager/wordpress-dev/wordpress/wp-content/plugins/hvac-community-events/docs/event-summary.md
bengizmo 1a563f3133 feat: Add Event Summary Page functionality
- Add event-summary page to required_pages array in main plugin file
- Update render_event_summary() method to handle event ID from URL
- Update template_include filter to load custom event summary template
- Update dashboard event links to point to new event summary page
- Create comprehensive event summary template with statistics and attendee info
- Add E2E tests for Event Summary Page
- Add documentation for Event Summary functionality

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-20 08:23:40 -03:00

3.4 KiB

Event Summary Functionality

Overview

The Event Summary page provides trainers with detailed information about their events, including ticket sales, attendee data, and revenue tracking. This page is designed to be a central hub for monitoring event performance and managing attendees.

Access & Navigation

  • Access Path: The Event Summary page can be accessed from the Trainer Dashboard by clicking the "Summary" link next to any event in the events table.
  • URL Structure: /event-summary/?event_id={id} where {id} is the event post ID.
  • Authentication: Only logged-in users with appropriate permissions (event creators or administrators) can access this page.

Page Components

1. Header & Navigation

The header section contains:

  • The event title with "Summary" suffix
  • Navigation links to:
    • Dashboard
    • Edit Event (if user has permission)
    • View Public Page (opens in new tab)
    • Email Attendees (Phase 2 feature, currently a placeholder)

2. Event Overview

This section provides basic event information including:

  • Date & Time (start and end)
  • Event Status (Published, Draft, etc.)
  • Cost
  • Venue information (if available)
  • Organizer details (if available)

3. Event Statistics

A visual representation of key metrics:

  • Total Tickets Sold
  • Total Revenue
  • Ticket Type Distribution (with count and revenue for each type)

Statistics are displayed in card format for easy scanning, with the same visual style as the dashboard stats.

4. Ticket Sales & Attendees

A comprehensive table showing all attendee information:

  • Attendee name
  • Email address
  • Ticket type
  • Price paid
  • Order ID
  • Check-in status

This table provides a complete overview of all registrations and can be used for attendee management.

5. Event Description

The full event description is displayed for reference.

Technical Implementation

Files & Classes

  • Template: templates/template-event-summary.php
  • Data Handler: includes/community/class-event-summary-data.php
  • Shortcode: [hvac_event_summary] (registered in main plugin class)
  • Styling: Inline CSS in the template (consistent with dashboard styling)

Data Flow

  1. The render_event_summary() method in the main plugin class:

    • Retrieves the event ID from the URL parameter
    • Verifies user permissions
    • Includes the event summary template
  2. The template:

    • Initializes the HVAC_Event_Summary_Data class with the event ID
    • Retrieves event details, venue info, organizer info, and transaction data
    • Calculates statistics from the transaction data
    • Renders the UI with the retrieved data
  3. The HVAC_Event_Summary_Data class:

    • Provides methods to retrieve all necessary event data
    • Integrates with The Events Calendar API for event details
    • Integrates with Event Tickets for transaction data

Testing

The Event Summary page is verified by E2E tests in tests/e2e/event-summary.spec.ts. The tests cover:

  • Page accessibility from the dashboard
  • Display of event overview information
  • Display of event statistics
  • Display of ticket sales and attendees data
  • Display of event description
  • Proper navigation links
  • Authentication requirements

Future Enhancements (Planned)

  • Phase 2: Integration with the Email Attendees feature
  • Phase 2: CSV export of attendee data
  • Phase 3: Enhanced visualization of event statistics
  • Phase 3: Integration with certificate generation