示例#1
0
 /**
  * @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);
 }
示例#2
0
 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);
 }