bramdeleeuw/silverstripe-event-tickets

Event tickets for SilverStripe Event Calendar

Installs: 753

Dependents: 3

Suggesters: 0

Security: 0

Stars: 4

Watchers: 2

Forks: 4

Open Issues: 5

Type:silverstripe-vendormodule


README

Scrutinizer Code Quality Build Status Latest Stable Version

Add a ticket office to your silverstripe site. Payments handled trough the SilverStripe Omnipay module.

Installation

Install the module trough composer

composer require bramdeleeuw/silverstripe-event-tickets

Add the nessesary extensions to the DataObject you want to sell tickets on. This can be an Event, for example with an events module. Or you can add the tickets to a special tickets Page, when, for example, you are selling tickets for an festival where one ticket grants access to multiple events.

# the object that sells tickets
XD\Events\Model\EventPage:
 extensions:
   - Broarm\EventTickets\Extensions\TicketExtension
# the ticket controller
XD\Events\Model\EventPageController:
 extensions:
   - Broarm\EventTickets\Extensions\TicketControllerExtension
   - Broarm\EventTickets\Checkout\Steps\RegisterStep
   - Broarm\EventTickets\Checkout\Steps\SummaryStep
   - Broarm\EventTickets\Checkout\Steps\SuccessStep

On the extended Object you need to expose a couple of methods that we use to add data to the ticket.

public function getEventTitle()
{
    return $this->owner->Title;
}

public function getEventStartDate()
{
    return $this->owner->dbObject('StartDate');
}

public function getEventAddress()
{
    $this->owner->getFullAddress();
}

Maintainers

Bram de Leeuw