コード例 #1
0
ファイル: UsersWebService.php プロジェクト: Trideon/gigolo
 /**
  * @name GetUser
  * @description Loads the requested user by Id
  * @response UserResponse
  * @param int $userId
  * @return void
  */
 public function GetUser($userId)
 {
     $responseCode = RestResponse::OK_CODE;
     $hideUsers = Configuration::Instance()->GetSectionKey(ConfigSection::PRIVACY, ConfigKeys::PRIVACY_HIDE_USER_DETAILS, new BooleanConverter());
     $userSession = $this->server->GetSession();
     $repository = $this->repositoryFactory->Create($userSession);
     $user = $repository->LoadById($userId);
     $loadedUserId = $user->Id();
     if (empty($loadedUserId)) {
         $this->server->WriteResponse(RestResponse::NotFound(), RestResponse::NOT_FOUND_CODE);
         return;
     }
     $attributes = $this->attributeService->GetAttributes(CustomAttributeCategory::USER, array($userId));
     if ($userId == $userSession->UserId || !$hideUsers || $userSession->IsAdmin) {
         $response = new UserResponse($this->server, $user, $attributes);
     } else {
         $me = $repository->LoadById($userSession->UserId);
         if ($me->IsAdminFor($user)) {
             $response = new UserResponse($this->server, $user, $attributes);
         } else {
             $response = RestResponse::Unauthorized();
             $responseCode = RestResponse::UNAUTHORIZED_CODE;
         }
     }
     $this->server->WriteResponse($response, $responseCode);
 }
コード例 #2
0
 public function testWhenScheduleNotFound()
 {
     $scheduleId = 89181;
     $this->scheduleRepository->expects($this->once())->method('LoadById')->with($this->equalTo($scheduleId))->will($this->returnValue(null));
     $this->service->GetSchedule($scheduleId);
     $this->assertEquals(RestResponse::NotFound(), $this->server->_LastResponse);
 }
コード例 #3
0
 public function testWhenAttributeNotFound()
 {
     $attributeId = 123;
     $this->attributeService->expects($this->once())->method('GetById')->with($this->equalTo($attributeId))->will($this->returnValue(null));
     $this->service->GetAttribute($attributeId);
     $this->assertEquals(RestResponse::NotFound(), $this->server->_LastResponse);
 }
コード例 #4
0
 public function testWhenNotFound()
 {
     $resourceId = 8282;
     $this->repository->expects($this->once())->method('LoadById')->with($this->equalTo($resourceId))->will($this->returnValue(BookableResource::Null()));
     $this->service->GetResource($resourceId);
     $this->assertEquals(RestResponse::NotFound(), $this->server->_LastResponse);
 }
コード例 #5
0
 public function testWhenAccessoryNotFound()
 {
     $accessoryId = 1233;
     $this->accessoryRepository->expects($this->once())->method('LoadById')->with($this->equalTo($accessoryId))->will($this->returnValue(null));
     $this->service->GetAccessory($accessoryId);
     $this->assertEquals(RestResponse::NotFound(), $this->server->_LastResponse);
     $this->assertEquals(RestResponse::NOT_FOUND_CODE, $this->server->_LastResponseCode);
 }
コード例 #6
0
 /**
  * @name GetAttribute
  * @description Gets all custom attribute definitions for the requested attribute
  * @response CustomAttributeDefinitionResponse
  * @return void
  * @param int $attributeId
  */
 public function GetAttribute($attributeId)
 {
     $attribute = $this->attributeService->GetById($attributeId);
     if ($attribute != null) {
         $this->server->WriteResponse(new CustomAttributeDefinitionResponse($this->server, $attribute));
     } else {
         $this->server->WriteResponse(RestResponse::NotFound(), RestResponse::NOT_FOUND_CODE);
     }
 }
コード例 #7
0
ファイル: GroupsWebService.php プロジェクト: ksdtech/booked
 /**
  * @name GetGroup
  * @description Loads a specific group by id
  * @response GroupResponse
  * @param int $groupId
  * @return void
  */
 public function GetGroup($groupId)
 {
     $group = $this->groupRepository->LoadById($groupId);
     if ($group != null) {
         $this->server->WriteResponse(new GroupResponse($this->server, $group));
     } else {
         $this->server->WriteResponse(RestResponse::NotFound(), RestResponse::NOT_FOUND_CODE);
     }
 }
コード例 #8
0
 /**
  * @name GetAccessory
  * @description Loads a specific accessory by id
  * @param int $accessoryId
  * @response AccessoryResponse
  * @return void
  */
 public function GetAccessory($accessoryId)
 {
     $accessory = $this->accessoryRepository->LoadById($accessoryId);
     if (empty($accessory)) {
         $this->server->WriteResponse(RestResponse::NotFound(), RestResponse::NOT_FOUND_CODE);
     } else {
         $this->server->WriteResponse(new AccessoryResponse($this->server, $accessory));
     }
 }
コード例 #9
0
 public function testWhenGroupIsNotFound()
 {
     $groupId = 999;
     $this->groupRepository->expects($this->once())->method('LoadById')->with($this->equalTo($groupId))->will($this->returnValue(null));
     $expectedResponse = RestResponse::NotFound();
     $this->service->GetGroup($groupId);
     $this->assertEquals($expectedResponse, $this->server->_LastResponse);
     $this->assertEquals(RestResponse::NOT_FOUND_CODE, $this->server->_LastResponseCode);
 }
コード例 #10
0
 /**
  * @name GetSchedule
  * @description Loads a specific schedule by id
  * @response ScheduleResponse
  * @param $scheduleId
  * @return void
  */
 public function GetSchedule($scheduleId)
 {
     $schedule = $this->scheduleRepository->LoadById($scheduleId);
     if ($schedule != null) {
         $layout = $this->scheduleRepository->GetLayout($schedule->GetId(), new ScheduleLayoutFactory($this->server->GetSession()->Timezone));
         $this->server->WriteResponse(new ScheduleResponse($this->server, $schedule, $layout));
     } else {
         $this->server->WriteResponse(RestResponse::NotFound(), RestResponse::NOT_FOUND_CODE);
     }
 }
コード例 #11
0
 /**
  * @name GetResource
  * @description Loads a specific resource by id
  * @param int $resourceId
  * @response ResourceResponse
  * @return void
  */
 public function GetResource($resourceId)
 {
     $resource = $this->resourceRepository->LoadById($resourceId);
     $resourceId = $resource->GetResourceId();
     if (empty($resourceId)) {
         $this->server->WriteResponse(RestResponse::NotFound(), RestResponse::NOT_FOUND_CODE);
     } else {
         $attributes = $this->attributeService->GetAttributes(CustomAttributeCategory::RESOURCE, array($resourceId));
         $this->server->WriteResponse(new ResourceResponse($this->server, $resource, $attributes));
     }
 }
コード例 #12
0
 /**
  * @name GetReservation
  * @param string $referenceNumber
  * @description Loads a specific reservation by reference number
  * @response ReservationResponse
  * @return void
  */
 public function GetReservation($referenceNumber)
 {
     Log::Debug('GetReservation called. $referenceNumber=%s', $referenceNumber);
     $reservation = $this->reservationViewRepository->GetReservationForEditing($referenceNumber);
     if (!empty($reservation->ReferenceNumber)) {
         $attributes = $this->attributeService->GetByCategory(CustomAttributeCategory::RESERVATION);
         $response = new ReservationResponse($this->server, $reservation, $this->privacyFilter, $attributes);
         $this->server->WriteResponse($response);
     } else {
         $this->server->WriteResponse($response = RestResponse::NotFound(), RestResponse::NOT_FOUND_CODE);
     }
 }
コード例 #13
0
 public function testWhenReservationIsNotFound()
 {
     $reservation = NullReservationView::Instance();
     $referenceNumber = '12323';
     $this->reservationViewRepository->expects($this->once())->method('GetReservationForEditing')->with($this->equalTo($referenceNumber))->will($this->returnValue($reservation));
     $this->service->GetReservation($referenceNumber);
     $expectedResponse = RestResponse::NotFound();
     $this->assertEquals($expectedResponse, $this->server->_LastResponse);
 }
コード例 #14
0
 public function testWhenUserIsNotFound()
 {
     $userId = 999;
     $this->HideUsers(false);
     $this->userRepositoryFactory->expects($this->once())->method('Create')->with($this->equalTo($this->server->GetSession()))->will($this->returnValue($this->userRepository));
     $this->userRepository->expects($this->at(0))->method('LoadById')->with($this->equalTo($userId))->will($this->returnValue(User::Null()));
     $expectedResponse = RestResponse::NotFound();
     $this->service->GetUser($userId);
     $this->assertEquals($expectedResponse, $this->server->_LastResponse);
     $this->assertEquals(RestResponse::NOT_FOUND_CODE, $this->server->_LastResponseCode);
 }