hackzilla/ticket-bundle

This Bundle provides multilingual ticketing functionality for Symfony applications.


README

Currently v3 is a work in progress, please use v2.

Simple multilingual ticketing bundle to add to any project. Languages: English, French, Russian, German and Spanish.

Build Status SensioLabsInsight

Requirements

Version Matrix

Ticket Bundle Symfony PHP
3.x (master) ^2.8|^3.0 >=5.6
2.x ^2.7|^3.0 >=5.3
1.x ^2.3 >=5.3
0.x ^2.3 >=5.3

Demo

See Ticket Bundle Demo App for an example installation. This can also be used for confirming bugs.

Setup

Events

TicketBundle show fires events for creating, updating, and deleting of tickets.

  • hackzilla.ticket.create
  • hackzilla.ticket.update
  • hackzilla.ticket.delete

See for example of how to create listener: http://symfony.com/doc/current/cookbook/service_container/event_listener.html

Add your user, ticket and ticket message entities into your config.

hackzilla_ticket:
    user_class:             AppBundle\Entity\User
    ticket_class:           AppBundle\Entity\Ticket
    message_class:          AppBundle\Entity\Message

Your entities needs to implement:

Entity Interface
User Hackzilla\Bundle\TicketBundle\Model\UserInterface
Ticket Hackzilla\Bundle\TicketBundle\Model\MessageInterface
Message Hackzilla\Bundle\TicketBundle\Model\TicketMessageInterface

Migration from v2 to v3

Ticket and TicketMessage entities still exist and the config will default to them if not overridden.

hackzilla_ticket:
    user_class:             AppBundle\Entity\User
    ticket_class:           Hackzilla\Bundle\TicketBundle\Entity\Ticket
    message_class:          Hackzilla\Bundle\TicketBundle\Entity\TicketMessage

Any reference to TicketMessage constants will need to use TicketMessageInterface.

Migrating from v1 to v2

Add your user class into your config.

hackzilla_ticket:
    user_class:             AppBundle\Entity\User

Hackzilla\Bundle\TicketBundle\User\UserInterface has been replaced with Hackzilla\Bundle\TicketBundle\Manager\UserManagerInterface

Your user class needs to implement Hackzilla\Bundle\TicketBundle\Model\UserInterface

Roles are now checked against the User

Pull Requests

I'm open to pull requests for additional languages, features and/or improvements.