From 9961362d3054a5401347d8f7377e13e6caf1bbd5 Mon Sep 17 00:00:00 2001 From: sandeep Date: Mon, 26 Mar 2018 14:42:17 +0400 Subject: [PATCH] PHRAS-1911 fix structure fields --- lib/Alchemy/Phrasea/Controller/Api/V1Controller.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/Alchemy/Phrasea/Controller/Api/V1Controller.php b/lib/Alchemy/Phrasea/Controller/Api/V1Controller.php index 6d2f83aa43..a1eede2e2f 100644 --- a/lib/Alchemy/Phrasea/Controller/Api/V1Controller.php +++ b/lib/Alchemy/Phrasea/Controller/Api/V1Controller.php @@ -2689,7 +2689,7 @@ class V1Controller extends Controller { $ret = [ "meta_fields" => $this->listUserAuthorizedMetadataFields($this->getAuthenticatedUser()), - "aggregable_fields" => $this->buildUserFieldList(ElasticsearchOptions::getAggregableTechnicalFields()), + "aggregable_fields" => $this->buildUserFieldList(ElasticsearchOptions::getAggregableTechnicalFields(), ['choices']), "technical_fields" => $this->buildUserFieldList(media_subdef::getTechnicalFieldsList()), ]; @@ -2753,9 +2753,10 @@ class V1Controller extends Controller /** * Build the aggregable/technical fields array * @param array $fields + * @param array $excludes * @return array */ - private function buildUserFieldList(array $fields) + private function buildUserFieldList(array $fields, array $excludes = []) { $ret = []; @@ -2763,6 +2764,10 @@ class V1Controller extends Controller $data['name'] = $key; foreach ($field as $k => $i) { + if (in_array($k, $excludes)) { + continue; + } + $data[$k] = $i; } @@ -2790,6 +2795,7 @@ class V1Controller extends Controller $opt = []; $data = [ 'name' => $sub->get_name(), + 'databox_id' => $databoxId, 'class' => $sub->get_class(), 'preset' => $sub->get_preset(), 'downloadable' => $sub->isDownloadable(), @@ -2806,7 +2812,7 @@ class V1Controller extends Controller $opt[$option->getName()] = $option->getValue(); } $data['options'] = $opt; - $ret[$databoxId][$subGroup->getName()][$sub->get_name()] = $data; + $ret[$subGroup->getName()][$sub->get_name()] = $data; } } }