/** * @param ReservationSeries $reservationSeries * @return void */ public function Notify($reservationSeries) { $resourceAdmins = array(); $applicationAdmins = array(); $groupAdmins = array(); if ($this->SendForResourceAdmins($reservationSeries)) { $resourceAdmins = $this->userViewRepo->GetResourceAdmins($reservationSeries->ResourceId()); } if ($this->SendForApplicationAdmins($reservationSeries)) { $applicationAdmins = $this->userViewRepo->GetApplicationAdmins(); } if ($this->SendForGroupAdmins($reservationSeries)) { $groupAdmins = $this->userViewRepo->GetGroupAdmins($reservationSeries->UserId()); } $admins = array_merge($resourceAdmins, $applicationAdmins, $groupAdmins); if (count($admins) == 0) { // skip if there is nobody to send to return; } $owner = $this->userRepo->LoadById($reservationSeries->UserId()); $resource = $reservationSeries->Resource(); $adminIds = array(); /** @var $admin UserDto */ foreach ($admins as $admin) { $id = $admin->Id(); if (array_key_exists($id, $adminIds) || $id == $owner->Id()) { // only send to each person once continue; } $adminIds[$id] = true; $message = $this->GetMessage($admin, $owner, $reservationSeries, $resource); ServiceLocator::GetEmailService()->Send($message); } }
public function testUpdateValidatesExistingUsername() { $this->expectsAttributeValidator(); $request = UpdateUserRequest::Example(); $this->userRepository->expects($this->at(1))->method('UserExists')->with($this->isNull(), $this->equalTo($request->userName))->will($this->returnValue(2)); $errors = $this->validator->ValidateUpdateRequest(1, $request); $this->assertTrue(count($errors) == 1); }
public function DeleteUser($userId) { $user = $this->userRepository->LoadById($userId); $this->userRepository->DeleteById($userId); if (Configuration::Instance()->GetKey(ConfigKeys::REGISTRATION_NOTIFY, new BooleanConverter())) { $currentUser = ServiceLocator::GetServer()->GetUserSession(); $applicationAdmins = $this->userViewRepository->GetApplicationAdmins(); $groupAdmins = $this->userViewRepository->GetGroupAdmins($userId); foreach ($applicationAdmins as $applicationAdmin) { ServiceLocator::GetEmailService()->Send(new AccountDeletedEmail($user, $applicationAdmin, $currentUser)); } foreach ($groupAdmins as $groupAdmin) { ServiceLocator::GetEmailService()->Send(new AccountDeletedEmail($user, $groupAdmin, $currentUser)); } } }