From c110dffefe259c13e60193fb81ebb9d4b79504de Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sun, 26 Jun 2016 12:34:20 -0400 Subject: Added new API call: "getProjectByIdentifier" --- ChangeLog | 5 +++-- app/Api/Procedure/ProjectProcedure.php | 7 +++++++ tests/integration/ProjectProcedureTest.php | 3 ++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 550a7ada..883cc6cf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,14 +4,15 @@ Version 1.0.31 (unreleased) New features: * Added application and project roles validation for API procedure calls +* Added new API call: "getProjectByIdentifier" Improvements: * Added argument owner_id and identifier to project API calls * Rewrite integration tests to run with Docker containers * Use the same task form layout everywhere -* Remove some tasks dropdown menus that are now available with task edit form -* Make embedded documentation available in multiple languages +* Removed some tasks dropdown menus that are now available with task edit form +* Make embedded documentation readable in multiple languages (if a translation is available) Bug fixes: diff --git a/app/Api/Procedure/ProjectProcedure.php b/app/Api/Procedure/ProjectProcedure.php index fe6b63e2..a580c8d9 100644 --- a/app/Api/Procedure/ProjectProcedure.php +++ b/app/Api/Procedure/ProjectProcedure.php @@ -25,6 +25,13 @@ class ProjectProcedure extends BaseProcedure return $this->formatProject($project); } + public function getProjectByIdentifier($identifier) + { + $project = $this->formatProject($this->projectModel->getByIdentifier($identifier)); + ProjectAuthorization::getInstance($this->container)->check($this->getClassName(), 'getProjectByIdentifier', $project['id']); + return $this->formatProject($project); + } + public function getAllProjects() { return $this->formatProjects($this->projectModel->getAll()); diff --git a/tests/integration/ProjectProcedureTest.php b/tests/integration/ProjectProcedureTest.php index a4b65241..69c2464f 100644 --- a/tests/integration/ProjectProcedureTest.php +++ b/tests/integration/ProjectProcedureTest.php @@ -93,7 +93,8 @@ class ProjectProcedureTest extends BaseProcedureTest $this->assertNotFalse($projectId); - $project = $this->app->getProjectById($projectId); + $project = $this->app->getProjectByIdentifier('MYPROJECTWITHIDENTIFIER'); + $this->assertEquals($projectId, $project['id']); $this->assertEquals('My project with an identifier', $project['name']); $this->assertEquals('MYPROJECTWITHIDENTIFIER', $project['identifier']); } -- cgit v1.2.3