Integrate PhraseaCore in Events Manager

This commit is contained in:
Romain Neutron
2011-12-27 14:04:47 +01:00
parent c7e9161c7f
commit f6eef1af39
7 changed files with 58 additions and 28 deletions

View File

@@ -12,10 +12,16 @@ class eventsmanager_broker
* @var appbox * @var appbox
*/ */
protected $appbox; protected $appbox;
/**
*
* @var \Alchemy\Phrasea\Core
*/
protected $core;
private function __construct(appbox &$appbox) private function __construct(appbox &$appbox)
{ {
$this->appbox = $appbox; $this->appbox = $appbox;
$this->core = bootstrap::getCore();
return $this; return $this;
} }
@@ -50,7 +56,7 @@ class eventsmanager_broker
{ {
continue; continue;
} }
$this->pool_classes[$classname] = new $classname($this->appbox, $this->appbox->get_registry(), $this); $this->pool_classes[$classname] = new $classname($this->appbox, $this->core, $this);
foreach ($this->pool_classes[$classname]->get_events() as $event) foreach ($this->pool_classes[$classname]->get_events() as $event)
$this->bind($event, $classname); $this->bind($event, $classname);
@@ -100,7 +106,7 @@ class eventsmanager_broker
{ {
continue; continue;
} }
$obj = new $classname($this->appbox, $this->appbox->get_registry(), $this); $obj = new $classname($this->appbox, $this->core, $this);
$ret[$classname] = $obj->get_name(); $ret[$classname] = $obj->get_name();
} }

View File

@@ -15,6 +15,11 @@ abstract class eventsmanager_eventAbstract
* @var registryInterface * @var registryInterface
*/ */
protected $registry; protected $registry;
/**
*
* @var \Alchemy\Phrasea\Core
*/
protected $core;
/** /**
* *
* @var eventsmanager * @var eventsmanager
@@ -22,10 +27,11 @@ abstract class eventsmanager_eventAbstract
protected $broker; protected $broker;
public function __construct(appbox &$appbox, registryInterface $registry, eventsmanager_broker &$broker) public function __construct(appbox &$appbox, \Alchemy\Phrasea\Core $core, eventsmanager_broker &$broker)
{ {
$this->appbox = $appbox; $this->appbox = $appbox;
$this->registry = $registry; $this->registry = $core->getRegistry();
$this->core = $core;
$this->broker = $broker; $this->broker = $broker;
return $this; return $this;

View File

@@ -28,10 +28,10 @@ class eventsmanager_notify_orderdeliver extends eventsmanager_notifyAbstract
* *
* @return notify_orderdeliver * @return notify_orderdeliver
*/ */
function __construct(appbox &$appbox, registryInterface &$registry, eventsmanager_broker &$broker) function __construct(appbox &$appbox, \Alchemy\Phrasea\Core $core, eventsmanager_broker &$broker)
{ {
$this->group = _('Commande'); $this->group = _('Commande');
parent::__construct($appbox, $registry, $broker); parent::__construct($appbox, $core, $broker);
return $this; return $this;
} }
@@ -147,7 +147,10 @@ class eventsmanager_notify_orderdeliver extends eventsmanager_notifyAbstract
try try
{ {
$basket = basket_adapter::getInstance($this->appbox, $ssel_id, $this->appbox->get_session()->get_usr_id()); $em = $this->core->getEntityManager();
$repository = $em->getRepository('\Entities\Basket');
$basket = $repository->findUserBasket($ssel_id, $this->core->getAuthenticatedUser());
} }
catch (Exception $e) catch (Exception $e)
{ {
@@ -159,7 +162,7 @@ class eventsmanager_notify_orderdeliver extends eventsmanager_notifyAbstract
$sender, $n, $sender, $n,
'<a href="/lightbox/compare/' '<a href="/lightbox/compare/'
. (string) $sx->ssel_id . '/" target="_blank">' . (string) $sx->ssel_id . '/" target="_blank">'
. $basket->get_name() . '</a>' . $basket->getName() . '</a>'
) )
, 'class' => '' , 'class' => ''
); );
@@ -196,7 +199,10 @@ class eventsmanager_notify_orderdeliver extends eventsmanager_notifyAbstract
{ {
try try
{ {
$basket = basket_adapter::getInstance($this->appbox, $ssel_id, $this->appbox->get_session()->get_usr_id()); $em = $this->core->getEntityManager();
$repository = $em->getRepository('\Entities\Basket');
$basket = $repository->findUserBasket($ssel_id, $this->core->getAuthenticatedUser());
} }
catch (Exception $e) catch (Exception $e)
{ {
@@ -204,7 +210,7 @@ class eventsmanager_notify_orderdeliver extends eventsmanager_notifyAbstract
} }
$subject = sprintf( $subject = sprintf(
_('push::mail:: Reception de votre commande %s'), _('push::mail:: Reception de votre commande %s'),
$basket->get_name() $basket->getName()
); );
$body = "<div>" $body = "<div>"

View File

@@ -24,10 +24,10 @@ class eventsmanager_notify_ordernotdelivered extends eventsmanager_notifyAbstrac
*/ */
public $events = array('__ORDER_NOT_DELIVERED__'); public $events = array('__ORDER_NOT_DELIVERED__');
function __construct(appbox &$appbox, registryInterface &$registry, eventsmanager_broker &$broker) function __construct(appbox &$appbox, \Alchemy\Phrasea\Core $core, eventsmanager_broker &$broker)
{ {
$this->group = _('Commande'); $this->group = _('Commande');
parent::__construct($appbox, $registry, $broker); parent::__construct($appbox, $core, $broker);
return $this; return $this;
} }

View File

@@ -28,10 +28,10 @@ class eventsmanager_notify_validate extends eventsmanager_notifyAbstract
* *
* @return notify_validate * @return notify_validate
*/ */
function __construct(appbox &$appbox, registryInterface &$registry, eventsmanager_broker &$broker) function __construct(appbox &$appbox, \Alchemy\Phrasea\Core $core, eventsmanager_broker &$broker)
{ {
$this->group = _('Validation'); $this->group = _('Validation');
parent::__construct($appbox, $registry, $broker); parent::__construct($appbox, $core, $broker);
return $this; return $this;
} }
@@ -140,9 +140,12 @@ class eventsmanager_notify_validate extends eventsmanager_notifyAbstract
try try
{ {
$basket = basket_adapter::getInstance($this->appbox, $ssel_id,$this->appbox->get_session()->get_usr_id()); $em = $this->core->getEntityManager();
$basket_name = (trim($basket->get_name()) != '' ? $repository = $em->getRepository('\Entities\Basket');
$basket->get_name() : _('Une selection'));
$basket = $repository->findUserBasket($ssel_id, $this->core->getAuthenticatedUser());
$basket_name = trim($basket->getName()) ?: _('Une selection');
} }
catch (Exception $e) catch (Exception $e)
{ {

View File

@@ -28,10 +28,10 @@ class eventsmanager_notify_validationdone extends eventsmanager_notifyAbstract
* *
* @return notify_validationdone * @return notify_validationdone
*/ */
function __construct(appbox &$appbox, registryInterface &$registry, eventsmanager_broker &$broker) function __construct(appbox &$appbox, \Alchemy\Phrasea\Core $core, eventsmanager_broker &$broker)
{ {
$this->group = _('Validation'); $this->group = _('Validation');
parent::__construct($appbox, $registry, $broker); parent::__construct($appbox, $core, $broker);
return $this; return $this;
} }
@@ -143,7 +143,10 @@ class eventsmanager_notify_validationdone extends eventsmanager_notifyAbstract
try try
{ {
$basket = basket_adapter::getInstance($this->appbox, $ssel_id,$this->appbox->get_session()->get_usr_id()); $em = $this->core->getEntityManager();
$repository = $em->getRepository('\Entities\Basket');
$basket = $repository->findUserBasket($ssel_id, $this->core->getAuthenticatedUser());
} }
catch (Exception $e) catch (Exception $e)
{ {
@@ -156,7 +159,7 @@ class eventsmanager_notify_validationdone extends eventsmanager_notifyAbstract
$sender, $sender,
'<a href="/lightbox/validate/' '<a href="/lightbox/validate/'
. (string) $sx->ssel_id . '/" target="_blank">' . (string) $sx->ssel_id . '/" target="_blank">'
. $basket->get_name() . '</a>' . $basket->getName() . '</a>'
) )
, 'class' => '' , 'class' => ''
); );
@@ -193,7 +196,10 @@ class eventsmanager_notify_validationdone extends eventsmanager_notifyAbstract
{ {
try try
{ {
$basket = basket_adapter::getInstance($this->appbox, $ssel_id,$this->appbox->get_session()->get_usr_id()); $em = $this->core->getEntityManager();
$repository = $em->getRepository('\Entities\Basket');
$basket = $repository->findUserBasket($ssel_id, $this->core->getAuthenticatedUser());
} }
catch (Exception $e) catch (Exception $e)
{ {
@@ -203,7 +209,7 @@ class eventsmanager_notify_validationdone extends eventsmanager_notifyAbstract
$subject = sprintf( $subject = sprintf(
_('push::mail:: Rapport de validation de %1$s pour %2$s'), _('push::mail:: Rapport de validation de %1$s pour %2$s'),
$to['name'], $to['name'],
$basket->get_name() $basket->getName()
); );
$body = "<div>" . sprintf( $body = "<div>" . sprintf(

View File

@@ -28,10 +28,10 @@ class eventsmanager_notify_validationreminder extends eventsmanager_notifyAbstra
* *
* @return notify_validationreminder * @return notify_validationreminder
*/ */
function __construct(appbox &$appbox, registryInterface &$registry, eventsmanager_broker &$broker) function __construct(appbox &$appbox, \Alchemy\Phrasea\Core $core, eventsmanager_broker &$broker)
{ {
$this->group = _('Validation'); $this->group = _('Validation');
parent::__construct($appbox, $registry, $broker); parent::__construct($appbox, $core, $broker);
return $this; return $this;
} }
@@ -156,9 +156,12 @@ class eventsmanager_notify_validationreminder extends eventsmanager_notifyAbstra
try try
{ {
$basket = basket_adapter::getInstance($this->appbox, $ssel_id, $this->appbox->get_session()->get_usr_id()); $em = $this->core->getEntityManager();
$basket_name = (trim($basket->get_name()) != '' ? $repository = $em->getRepository('\Entities\Basket');
$basket->get_name() : _('Une selection'));
$basket = $repository->findUserBasket($ssel_id, $this->core->getAuthenticatedUser());
$basket_name = trim($basket->getName()) ? : _('Une selection');
} }
catch (Exception $e) catch (Exception $e)
{ {