/** * Fetches a project, where the area registration is currently possible. * * @param int $id Project ID * @return Project * @throws Cantiga\CoreBundle\Repository\Exception * @throws ItemNotFoundException */ public function getAvailableProject($id) { $this->transaction->requestTransaction(); try { $project = Project::fetchAvailableForRegistration($this->conn, $id); if (false === $project) { throw new ItemNotFoundException('The specified project is not available for the area registration.'); } return $project; } catch (Exception $exception) { $this->transaction->requestRollback(); throw $exception; } }