2017 © Pedro Peláez
 

library ticket

Core of the Consolidate ticket system

image

consolidate/ticket

Core of the Consolidate ticket system

  • Wednesday, October 7, 2015
  • by xsist10
  • Repository
  • 1 Watchers
  • 0 Stars
  • 2 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

ticket

Consolidate event driven ticket system, (*1)

Goal

To create a flexible and extensible event-driven ticketing system that is easy to integrate with existing data sources and systems., (*2)

The priorities are:, (*3)

  • Easy to configure
  • Easy to extend
  • Easy to debug

Simple example

use Consolidate\Ticket\Ticket;
use Consolidate\Ticket\Event\TicketEvent;
use Consolidate\Ticket\Data\Status;

use Symfony\Component\EventDispatcher\EventDispatcher;

$dispatcher = new EventDispatcher();
$dispatcher->addListener('ticket-set-status', function (TicketEvent $event) {
    if ($event->getData() == 'Working On' && $event->getTicket()->getWorker() == 'Mike') {
        $ticket->addTag('PR Disaster');
        $ticket->addComment('This ticket has been touched my Mike. It is possible to salvage it if we act right now!');
    }
});

$ticket = new Ticket();
$ticket->setEventManager($dispatcher);

$ticket->setWorker(new Participant('Mike'));
$ticket->setStatus(new Status('Working On'));
$ticket->addComment('Told customer to shove it!');

Import from sources

$importer = new Importer(new SMTP());

$dispatcher = new EventDispatcher();
$dispatcher->addListener('importer-new-ticket', function (TicketEvent $event) {
    $ticket->setChannel(new Channel('Sales'));

    foreach ($ticket->getData(['Consolidate\Ticket\Data\Comment']) as $comment) {
        $language_detected = $language_detector->detect((string)$comment);
        $ticket->addTag($language_detected);
    }
});

The Versions

07/10 2015

dev-master

9999999-dev

Core of the Consolidate ticket system

  Sources   Download

MIT

The Requires

 

The Development Requires