/EmailCRMBundle

CRM bundle for Symfony with Email management

Primary LanguagePHPOtherNOASSERTION

SymfonyLibrinfoEmailCRMBundle

Build Status Coverage Status License

Latest Stable Version Latest Unstable Version Total Downloads

CRM bundle for Symfony with Email management

This bundle leverages the full potential of both SymfonyLibrinfoEmailBundle and SymfonyLibrinfoCRMBundle

It is also a proof of concept of how it is possible to override the entity mapping of a Symfony bundle, using the new Design Pattern "Outer Extension" (still a WIP in the Libre Informatique's lab, for the moment)! New article coming soon about how we did it...

Usage

You have to implement 4 "outer extension" traits in your symfony AppBundle :

  • ContactExtension
  • PositionExtension
  • OrganismExtension
  • EmailExtension
// src/AppBundle/Entity/Extension/ContactExtension.php
namespace AppBundle\Entity\Extension;

trait ContactExtension
{
    use \Librinfo\EmailCRMBundle\Entity\Traits\HasEmailMessages;
}
// src/AppBundle/Entity/Extension/PositionExtension.php
namespace AppBundle\Entity\Extension;

trait PositionExtension
{
    use \Librinfo\EmailCRMBundle\Entity\Traits\HasEmailMessages;
}
// src/AppBundle/Entity/Extension/OrganismExtension.php
namespace AppBundle\Entity\Extension;

trait OrganismExtension
{
    use \Librinfo\EmailCRMBundle\Entity\Traits\HasEmailMessages;
}
// src/AppBundle/Entity/Extension/EmailExtension.php
namespace AppBundle\Entity\Extension;

trait EmailExtension
{
    use \Librinfo\EmailCRMBundle\Entity\Traits\HasEmailRecipients;
}

... and now the entities of SymfonyLibrinfoEmailBundle and SymfonyLibrinfoCRMBundle are linked from outer space!