diff --git a/src/app/indexingModel/controllers/IndexingModelController.php b/src/app/indexingModel/controllers/IndexingModelController.php index 8098cccd876c08a4bf095cd19e3e05dc3f599f4a..c52b4e855947ef9eb0431daa8d3de5f232f5f957 100755 --- a/src/app/indexingModel/controllers/IndexingModelController.php +++ b/src/app/indexingModel/controllers/IndexingModelController.php @@ -171,17 +171,17 @@ class IndexingModelController // if field in master is not in child, return an error // if field is not in master but in child, is ignored $arrayTmp = []; - $diffusionListFound = false; foreach ($fieldsMaster as $field) { - if ($field['identifier'] == 'diffusionList' && $diffusionListFound) { - continue; - } $found = false; foreach ($body['fields'] as $value) { - if ($value['identifier'] == $field['identifier'] && $value['mandatory'] == $field['mandatory'] && $value['unit'] == $field['unit']) { + if (($field['identifier'] == 'destination' && $value['identifier'] == 'diffusionList') + || ($value['identifier'] == $field['identifier'] && $value['mandatory'] == $field['mandatory'] && $value['unit'] == $field['unit'])) { if (!$field['enabled']) { $value = $field; } + if ($field['identifier'] == 'destination' && $value['identifier'] == 'diffusionList') { + $value['unit'] = $field['unit']; + } array_push($arrayTmp, $value); $found = true; @@ -189,17 +189,6 @@ class IndexingModelController break; } } - if ($field['identifier'] == 'destination' && $value['identifier'] == 'diffusionList') { - if (!$field['enabled']) { - $value = $field; - } - $diffusionListFound = true; - $value['unit'] = $field['unit']; - - array_push($arrayTmp, $value); - $found = true; - break; - } } if (!$found) { @@ -345,7 +334,8 @@ class IndexingModelController foreach ($body['fields'] as $field) { $found = false; foreach ($childFields as $value) { - if ($value['identifier'] == $field['identifier'] && $value['mandatory'] == $field['mandatory'] && $value['unit'] == $field['unit'] && $value['enabled'] == $field['enabled']) { + if (($field['identifier'] == 'destination' && $value['identifier'] == 'diffusionList') + || ($value['identifier'] == $field['identifier'] && $value['mandatory'] == $field['mandatory'] && $value['unit'] == $field['unit'] && $value['enabled'] == $field['enabled'])) { $fieldsToKeep[] = $value; $found = true; }