public function getCurrentAppliance() { $appliance_id = intval($this->request->getVar('id')); $is_draft = intval($this->request->getVar('is_draft')); $appliance = false; if ($appliance_id > 0) { if ($is_draft) { $appliance = $this->appliance_draft_repository->getById($appliance_id); } else { $appliance = $this->appliance_draft_repository->getByLiveServiceId($appliance_id); } //if no draft found we pull the live one to create the draft from it when saved if (!$appliance) { $appliance = $this->appliance_repository->getById($appliance_id); } } return $appliance; }
protected function registerCompanyServiceResource(array $data, ICompanyService $company_service) { $validator = $this->validator_factory->buildValidatorForCompanyResource($data); if ($validator->fails()) { return $this->validationError($validator->messages()); } $resource = $this->marketplace_factory->buildResource($data['name'], $data['link'], $company_service); $company_service_id = $resource->getOwner()->getIdentifier(); $company_service = $resource->getOwner(); if ($company_service_id > 0 && !$this->repository->getById($company_service_id)) { throw new NotFoundEntityException('CompanyService', sprintf("id %s", $company_service_id)); } if (!is_null($this->add_resource_policy)) { $this->add_resource_policy->canAdd($company_service); } $company_service->addResource($resource); return $resource->getIdentifier(); }