/** * Constructor. */ public function __construct(Role $role, AbstractRoleSubject $subject) { $this->role = $role; $this->workspaceOwners = array(); $details = array('role' => array('name' => $role->getTranslationKey())); if ($role->getWorkspace()) { $details['workspace'] = array('name' => $role->getWorkspace()->getName(), 'id' => $role->getWorkspace()->getId()); $managerRole = $role->getWorkspace()->getManagerRole(); $this->workspaceOwners = $managerRole->getUsers(); } if ($subject instanceof User) { $details['receiverUser'] = array('firstName' => $subject->getFirstName(), 'lastName' => $subject->getLastName(), 'username' => $subject->getUsername()); $this->receiver = $subject; } else { $details['receiverGroup'] = array('name' => $subject->getName()); $this->receiverGroup = $subject; } $this->details = $details; parent::__construct($this->getActionKey(), $details, $this->receiver, $this->receiverGroup, null, $role, $role->getWorkspace()); }