/** * @param IReservationViewRepository $reservationViewRepository * @param IReservationAuthorization $authorization * @param IReservationHandler $reservationHandler * @param IUpdateReservationPersistenceService $persistenceService */ public function __construct(IReservationViewRepository $reservationViewRepository, $authorization = null, $reservationHandler = null, $persistenceService = null) { $this->reservationViewRepository = $reservationViewRepository; $this->reservationAuthorization = $authorization == null ? new ReservationAuthorization(PluginManager::Instance()->LoadAuthorization()) : $authorization; $this->persistenceService = $persistenceService == null ? new UpdateReservationPersistenceService(new ReservationRepository()) : $persistenceService; $this->reservationHandler = $reservationHandler == null ? ReservationHandler::Create(ReservationAction::Update, $this->persistenceService, ServiceLocator::GetServer()->GetUserSession()) : $reservationHandler; }
/** * @param IReservationApprovalPage $approvePage * @param UserSession $userSession * @return ReservationApprovalPresenter */ public function Approve(IReservationApprovalPage $approvePage, UserSession $userSession) { $persistenceFactory = new ReservationPersistenceFactory(); $approveAction = ReservationAction::Approve; $handler = ReservationHandler::Create($approveAction, $persistenceFactory->Create($approveAction), $userSession); $auth = new ReservationAuthorization(PluginManager::Instance()->LoadAuthorization()); return new ReservationApprovalPresenter($approvePage, $persistenceFactory->Create($approveAction), $handler, $auth, $userSession); }
public function PageLoad() { try { $reservationAction = ReservationAction::Approve; $factory = new ReservationPersistenceFactory(); $persistenceService = $factory->Create($reservationAction); $handler = ReservationHandler::Create($reservationAction, $persistenceService, ServiceLocator::GetServer()->GetUserSession()); $auth = new ReservationAuthorization(PluginManager::Instance()->LoadAuthorization()); $presenter = new ReservationApprovalPresenter($this, $persistenceService, $handler, $auth, ServiceLocator::GetServer()->GetUserSession()); $presenter->PageLoad(); } catch (Exception $ex) { Log::Error('ReservationApprovalPage - Critical error saving reservation: %s', $ex); $this->Display('Ajax/reservation/reservation_error.tpl'); } }
$contact_info = trim($_REQUEST['contact_info']); $rid = trim($_REQUEST['rid']); if ($contact_info && $rid) { header('HTTP/1.1 406 Not Acceptable', true, 406); print json_encode(array('message' => "You must not set both contact_info and rid")); return; } if ($contact_info) { $resource = $resourceRepository->LoadByContactInfo($contact_info); } elseif ($rid) { $resource = $resourceRepository->LoadByPublicId($rid); } $updateAction = ReservationAction::Update; $persistenceFactory = new ReservationPersistenceFactory(); $persistenceService = $persistenceFactory->Create($updateAction); $handler = ReservationHandler::Create($updateAction, $persistenceService, ServiceLocator::GetServer()->GetUserSession()); $reservationRepository = new ReservationRepository(); $series = $reservationRepository->LoadByReferenceNumber($params['rn']); if (!$series) { header('HTTP/1.1 404 Not Found', true, 404); $response = array('reference_number' => $rn, 'message' => 'Reservation could not be found'); print json_encode($response); return; } $series->ApplyChangesTo(SeriesUpdateScope::FullSeries); if ($params['starts_at'] || $params['ends_at']) { if (!$params['starts_at']) { $params['starts_at'] = $series->CurrentInstance()->Duration()->GetBegin(); } if (!$params['ends_at']) { $params['ends_at'] = $series->CurrentInstance()->Duration()->GetEnd();