From 10ff281794fe83a95665fbe0011d619513140732 Mon Sep 17 00:00:00 2001 From: Victor Boctor Date: Sun, 23 Jul 2017 12:11:05 -0700 Subject: [PATCH] Support sub-projects in REST API get all projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - GET /api/rest/projects should return sub-projects. - Projects should include “subProjects” element that lists sub-projects. - Project info returned for sub-project reflects inherited information like categories and versions. Fixes #23131 --- api/rest/restcore/projects_rest.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/api/rest/restcore/projects_rest.php b/api/rest/restcore/projects_rest.php index e2447dd1b8..07e56514a5 100644 --- a/api/rest/restcore/projects_rest.php +++ b/api/rest/restcore/projects_rest.php @@ -39,11 +39,21 @@ function rest_projects_get( \Slim\Http\Request $p_request, \Slim\Http\Response $ $t_user_id = auth_get_current_user_id(); $t_lang = mci_get_user_lang( $t_user_id ); - $t_project_ids = user_get_accessible_projects( $t_user_id, /* disabled */ false ); + $t_project_ids = user_get_all_accessible_projects( $t_user_id, /* disabled */ false ); $t_projects = array(); foreach( $t_project_ids as $t_project_id ) { $t_project = mci_project_get( $t_project_id, $t_lang, /* detail */ true ); + $t_subproject_ids = user_get_accessible_subprojects( $t_user_id, $t_project_id ); + if( !empty( $t_subproject_ids ) ) { + $t_subprojects = array(); + foreach( $t_subproject_ids as $t_subproject_id ) { + $t_subprojects[] = mci_project_as_array_by_id( $t_subproject_id ); + } + + $t_project['subProjects'] = $t_subprojects; + } + $t_projects[] = $t_project; }