diff --git a/assets/js/admin/element-import/element-import.js b/assets/js/admin/element-import/element-import.js index caacb6f03133edf6c5ef08187b4842dfe9504c08..dacf5c5d36d5c67c9dabdb4052002ec799478c04 100644 --- a/assets/js/admin/element-import/element-import.js +++ b/assets/js/admin/element-import/element-import.js @@ -28,6 +28,7 @@ document.addEventListener('DOMContentLoaded', function() { mounted() { for(let key in importObject) this[key] = importObject[key] this.osmQueriesJson = JSON.parse(this.osmQueriesJson) + this.sourceType = sourceType; this.formName = formName $(`#sonata-ba-field-container-${formName}_file`).appendTo('.file-container') } diff --git a/src/Controller/Admin/ImportAdminController.php b/src/Controller/Admin/ImportAdminController.php index f3a21bfaa8dc3a883a741373d520777006302765..a8e4d2fb5ce7225940e1bee112346b3d73697ae3 100755 --- a/src/Controller/Admin/ImportAdminController.php +++ b/src/Controller/Admin/ImportAdminController.php @@ -120,7 +120,7 @@ class ImportAdminController extends Controller if ($isFormValid) { try { $dm = $this->container->get('doctrine_mongodb')->getManager(); - + $object->setSourceType($request->get('sourceType')); $ontology = $request->get('ontology'); // Fix ontology mapping for elements fields with reverse value diff --git a/src/Document/Import.php b/src/Document/Import.php index e0f92830edf0871767c0eb05e70074c4d9f3d379..91b7b63a3d2245b79734f55fe177243229c235b2 100644 --- a/src/Document/Import.php +++ b/src/Document/Import.php @@ -209,7 +209,7 @@ class Import extends AbstractFile } public function getSourceType() { - if ($this->sourceType) return $this->sourceType; + if (isset($this->sourceType)) return $this->sourceType; if (isset($this->osmQueriesJson)) return 'openstreetmap'; if ($this->url) return 'json'; if ($this->file) return 'csv'; diff --git a/templates/admin/core_custom/custom-fields/element-import.html.twig b/templates/admin/core_custom/custom-fields/element-import.html.twig index b435d08672e1dd8974c1a8d8936f9762fe4cfa35..5cec14076831ea9faa3ef19b3572dbc13a792d2f 100644 --- a/templates/admin/core_custom/custom-fields/element-import.html.twig +++ b/templates/admin/core_custom/custom-fields/element-import.html.twig @@ -1,7 +1,7 @@ {% set formName = form.vars.full_name|split('[')|first %} <div id="element-import"> - <select class="source-type form-control" data-sonata-select2="false" v-model="sourceType" :name="`${formName}[sourceType]`"> + <select class="source-type form-control" data-sonata-select2="false" v-model="sourceType" name="sourceType"> <option></option> <option value="csv">Fichier CSV</option> <option value="json">API Json</option> @@ -31,6 +31,7 @@ <script> var importObject = {{ form.vars.sonata_admin.admin.subject|json_encode|raw }} + var sourceType = "{{ form.vars.sonata_admin.admin.subject.getSourceType() }}" var formName = {{ form.vars.full_name|split('[')|first|json_encode|raw }} // See element-import.js Vue Component </script>