Portfolio: Add hook for when an item is deleted - refs BT#20443

pull/4505/head
Angel Fernando Quiroz Campos 3 years ago
parent 270429782f
commit c8aa8821c5
  1. 5
      main/inc/lib/PortfolioController.php
  2. 19
      main/inc/lib/hook/HookPortfolioItemDeleted.php
  3. 8
      main/inc/lib/hook/interfaces/HookPortfolioItemDeletedEventInterface.php
  4. 8
      main/inc/lib/hook/interfaces/HookPortfolioItemDeletedHookObserverInterface.php

@ -948,6 +948,11 @@ class PortfolioController
api_not_allowed(true);
}
HookPortfolioItemDeleted::create()
->setEventData(['item' => $item])
->notifyItemDeleted()
;
$this->em->remove($item);
$this->em->flush();

@ -0,0 +1,19 @@
<?php
/* For licensing terms, see /license.txt */
class HookPortfolioItemDeleted extends HookEvent implements HookPortfolioItemDeletedEventInterface
{
protected function __construct()
{
parent::__construct('HookPortfolioItemDeleted');
}
public function notifyItemDeleted()
{
/** @var HookPortfolioItemDeletedHookObserverInterface $observer */
foreach ($this->observers as $observer) {
$observer->hookItemDeleted($this);
}
}
}

@ -0,0 +1,8 @@
<?php
/* For licensing terms, see /license.txt */
interface HookPortfolioItemDeletedEventInterface extends HookEventInterface
{
public function notifyItemDeleted();
}

@ -0,0 +1,8 @@
<?php
/* For licensing terms, see /license.txt */
interface HookPortfolioItemDeletedHookObserverInterface extends HookObserverInterface
{
public function hookItemDeleted(HookPortfolioItemDeletedEventInterface $hookEvent);
}
Loading…
Cancel
Save