expose fix field mapping bc break (#4517)

This commit is contained in:
Aina Sitraka
2024-06-04 18:53:34 +03:00
committed by GitHub
parent 288d49021d
commit 0debca8883

View File

@@ -960,6 +960,9 @@ class PSExposeController extends Controller
}
$exposeMappingName = $this->getExposeMappingName('field');
$fields = [];
$fieldMapping = [];
try {
$clientAnnotationProfile = $this->getClientAnnotationProfile($exposeClient, $exposeName, $profile);
@@ -1216,12 +1219,23 @@ class PSExposeController extends Controller
$fieldFromProfile = [];
foreach ($actualFieldsList as $key => $value) {
$t = explode('_', $key);
$oldFieldMapping = false;
if (count($t) == 2) {
$id = $key;
} else {
$oldFieldMapping = true;
$t = explode('_', $value);
$id = $value;
}
$databox = $this->getApplicationBox()->get_databox($t[0]);
$viewName = $t[0]. ':::' .$databox->get_viewname();
$name = $databox->get_meta_structure()->get_element($t[1])->get_label($this->app['locale']);
$fieldFromProfile[$viewName][$t[1]]['id'] = $key;
$fieldFromProfile[$viewName][$t[1]]['name'] = $databox->get_meta_structure()->get_element($t[1])->get_label($this->app['locale']);
$fieldFromProfile[$viewName][$t[1]]['exposeSideName'] = $value;
$fieldFromProfile[$viewName][$t[1]]['id'] = $id;
$fieldFromProfile[$viewName][$t[1]]['name'] = $name;
$fieldFromProfile[$viewName][$t[1]]['exposeSideName'] = ($oldFieldMapping) ? $name : $value;
$fieldFromProfile[$viewName][$t[1]]['checked'] = true;
}
@@ -1233,7 +1247,7 @@ class PSExposeController extends Controller
continue;
}
// get databoxID_metaID for the checkbox name
$fields[$viewName][$meta->get_id()]['id'] = $databox->get_sbas_id().'_'.$meta->get_id();
$fields[$viewName][$meta->get_id()]['id'] = $databox->get_sbas_id().'_'.$meta->get_id();
$fields[$viewName][$meta->get_id()]['name'] = $meta->get_label($this->app['locale']);
$fields[$viewName][$meta->get_id()]['exposeSideName'] = $meta->get_label($this->app['locale']);;
}