/** * @param ReservationView $reservationView * @param UserSession $userSession * @return bool */ private function IsAuthorized(ReservationView $reservationView, UserSession $userSession) { if (!$this->IsCached($reservationView, $userSession)) { $this->Cache($reservationView, $userSession, $this->reservationAuthorization->CanViewDetails($reservationView, $userSession)); } return $this->GetCachedValue($reservationView, $userSession); }
public function PageLoad() { $hideUserInfo = Configuration::Instance()->GetSectionKey(ConfigSection::PRIVACY, ConfigKeys::PRIVACY_HIDE_USER_DETAILS, new BooleanConverter()); $hideReservationDetails = Configuration::Instance()->GetSectionKey(ConfigSection::PRIVACY, ConfigKeys::PRIVACY_HIDE_RESERVATION_DETAILS, new BooleanConverter()); $userSession = ServiceLocator::GetServer()->GetUserSession(); $tz = $userSession->Timezone; $reservation = $this->_reservationRepository->GetReservationForEditing($this->_page->GetReservationId()); if (!$reservation->IsDisplayable()) { return; } if ($hideReservationDetails || $hideUserInfo) { $canViewDetails = $this->_reservationAuthorization->CanViewDetails($reservation, ServiceLocator::GetServer()->GetUserSession()); $hideReservationDetails = !$canViewDetails && $hideReservationDetails; $hideUserInfo = !$canViewDetails && $hideUserInfo; } $this->_page->SetHideDetails($hideReservationDetails); $this->_page->SetHideUser($hideUserInfo); $startDate = $reservation->StartDate->ToTimezone($tz); $endDate = $reservation->EndDate->ToTimezone($tz); $this->_page->SetName($reservation->OwnerFirstName, $reservation->OwnerLastName); $this->_page->SetResources($reservation->Resources); $this->_page->SetParticipants($reservation->Participants); $this->_page->SetSummary($reservation->Description); $this->_page->SetTitle($reservation->Title); $this->_page->SetAccessories($reservation->Accessories); $this->_page->SetDates($startDate, $endDate); $attributeValues = $this->attributeService->GetReservationAttributes($userSession, $reservation); $this->_page->BindAttributes($attributeValues); }