privacyEvent: remove element parameter

This commit is contained in:
Mat 2018-10-16 14:47:19 +02:00
parent 5f36a62379
commit 6324eceb1b
4 changed files with 19 additions and 24 deletions

View File

@ -56,7 +56,7 @@ class AccompanyingPeriodController extends Controller
$person = $this->_getPerson($person_id); $person = $this->_getPerson($person_id);
$event = new PrivacyEvent($person, null, array( $event = new PrivacyEvent($person, array(
'element_class' => AccompanyingPeriod::class, 'element_class' => AccompanyingPeriod::class,
'action' => 'list' 'action' => 'list'
)); ));

View File

@ -71,7 +71,7 @@ class TimelinePersonController extends Controller
$paginator = $paginatorFactory->create($nbItems); $paginator = $paginatorFactory->create($nbItems);
$event = new PrivacyEvent($person); $event = new PrivacyEvent($person, array('action' => 'timeline'));
$this->eventDispatcher->dispatch(PrivacyEvent::PERSON_PRIVACY_EVENT, $event); $this->eventDispatcher->dispatch(PrivacyEvent::PERSON_PRIVACY_EVENT, $event);
return $this->render('ChillPersonBundle:Timeline:index.html.twig', array return $this->render('ChillPersonBundle:Timeline:index.html.twig', array

View File

@ -25,6 +25,14 @@ namespace Chill\PersonBundle\Privacy;
use Symfony\Component\EventDispatcher\Event; use Symfony\Component\EventDispatcher\Event;
use Chill\PersonBundle\Entity\Person; use Chill\PersonBundle\Entity\Person;
/**
* Class PrivacyEvent
*
* Array $args expects arguments with the following keys: 'element_class', 'element_id', 'action'
* By default, action is set to 'show'
*
* @package Chill\PersonBundle\Privacy
*/
class PrivacyEvent extends Event class PrivacyEvent extends Event
{ {
const PERSON_PRIVACY_EVENT = 'chill_person.privacy_event'; const PERSON_PRIVACY_EVENT = 'chill_person.privacy_event';
@ -34,11 +42,6 @@ class PrivacyEvent extends Event
*/ */
private $person; private $person;
/**
* @var Object
*/
private $element;
/** /**
* @var array * @var array
*/ */
@ -53,13 +56,11 @@ class PrivacyEvent extends Event
* PrivacyEvent constructor. * PrivacyEvent constructor.
* *
* @param Person $person * @param Person $person
* @param object $element
* @param array $args * @param array $args
*/ */
public function __construct(Person $person, object $element = null, array $args = array('action' => 'show')) public function __construct(Person $person, array $args = array('action' => 'show'))
{ {
$this->person = $person; $this->person = $person;
$this->element = $element;
$this->args = $args; $this->args = $args;
$this->persons = array(); $this->persons = array();
} }
@ -95,15 +96,7 @@ class PrivacyEvent extends Event
*/ */
public function hasPersons() public function hasPersons()
{ {
return (count($this->persons) >= 1 ? true : false); return count($this->persons) >= 1;
}
/**
* @return Object
*/
public function getElement()
{
return $this->element;
} }
/** /**

View File

@ -69,15 +69,17 @@ class PrivacyEventSubscriber implements EventSubscriberInterface
} }
} }
$this->logger->notice("[Privacy Event] A Person Folder has been viewed", array( $involved = array(
'by_user' => $this->token->getToken()->getUser()->getUsername(), 'by_user' => $this->token->getToken()->getUser()->getUsername(),
'by_user_id' => $this->token->getToken()->getUser()->getId(), 'by_user_id' => $this->token->getToken()->getUser()->getId(),
'person_id' => $event->getPerson()->getId(), 'person_id' => $event->getPerson()->getId(),
'persons' => $persons, 'persons' => $persons,
'element_class' => $event->getArgs()['element_class'], );
'element_id' => intval($event->getArgs()['element_id']),
'action' => $event->getArgs()['action'] $this->logger->notice(
)); "[Privacy Event] A Person Folder has been viewed",
array_merge($involved, $event->getArgs())
);
dump($event); dump($event);
} }