public function testBasic() { $sender = new \stdClass(); $event = new Event($sender, ['a' => 'b', 'c' => 'd']); $this->assertFalse($event->isDefaultPrevented()); $event->preventDefault(); $this->assertTrue($event->isDefaultPrevented()); $this->assertTrue($event->hasParam('a')); $this->assertTrue($event->hasParam('c')); $this->assertEquals('b', $event->getParam('a')); $this->assertEquals('d', $event->getParam('c')); }
/** * onPopulateUserProperty * * @param Event $e e * * @return bool|Result */ public function onPopulateUserProperty($e) { $propertyNameSpace = $e->getParam('propertyNameSpace'); $data = $e->getParam('data'); $thisPropertyNameSpace = $this->getUserPropertyKey(); if ($propertyNameSpace !== $thisPropertyNameSpace) { return false; } $property = new UserRoleProperty(); try { $property->populate($data); } catch (\Exception $e) { return new \RcmUser\Result($property, Result::CODE_FAIL, 'Property failed to populate with error: ' . $e->getMessage()); } return new Result($property); }
/** * Outputs the event data for users * Use $eventParams if you only want to output certain data, but not all available event parameters * * @param Event $event * @param array $eventParams * @return string */ public static function outputEventInfo($event, $eventParams = "") { if ($eventParams == "") { $eventParams = Event::$eventParamsNames; } $output = "<div id='content'><table id = 'event_info'>"; foreach ($eventParams as $title => $param) { if ($param == 'topicID') { $value = $event->getTopic(); } else { if ($param == 'mandantID') { $value = $event->getMandant(); } else { if ($param == 'addressID') { $value = $event->getAddress()->getAddressValue(true); } else { if ($param == 'eventType') { $value = Event::$eventTypes[$event->getEventType()]; } else { $value = $event->getParam($param); } } } } if ($param != 'event_visible') { $output .= "<tr><th>{$title}</th><td>" . $value . "</td></tr>"; } } $output .= '</table>'; return $output; }
/** * onDeleteUserSuccess * * @param Event $e e * * @return Result */ public function onDeleteUserSuccess($e) { $result = $e->getParam('result'); if (!$result->isSuccess()) { return $result; } $responseUser = $result->getUser(); /** @var $userRoleProperty \RcmUser\User\Entity\UserRoleProperty */ $userRoleProperty = $responseUser->getProperty($this->getUserPropertyKey(), $this->buildUserRoleProperty([])); $deleteResult = $this->getUserRoleService()->deleteRoles($responseUser, $userRoleProperty->getRoles()); if (!$deleteResult->isSuccess()) { return new Result($responseUser, Result::CODE_FAIL, $deleteResult->getMessages()); } $userRoleProperty->setRoles([]); $responseUser->setProperty($this->getUserPropertyKey(), $userRoleProperty); return new Result($responseUser, Result::CODE_SUCCESS); }
/** * onDeleteUser * * @param Event $e e * * @return \RcmUser\User\Result */ public function onDeleteUser($e) { //$target = $e->getTarget(); $requestUser = $e->getParam('requestUser'); $responseUser = $e->getParam('responseUser'); $result = $this->getUserDataMapper()->delete($requestUser, $responseUser); if ($result->isSuccess()) { // @todo may not be required if can assign (by reference) $responseUser->populate($result->getUser()); } return $result; }
/** * onSetIdentity * * @param Event $e e * * @return void|Result */ public function onSetIdentity($e) { $identity = $e->getParam('identity'); $authService = $this->getAuthService(); $authService->setIdentity($identity); }