Improvements on Importer Page.
This commit is contained in:
parent
ea2d86a58b
commit
9787688585
|
@ -16,6 +16,7 @@
|
|||
:message="$i18n.get('info_source_file_upload')"/>
|
||||
<br>
|
||||
<b-upload
|
||||
v-if="importer.tmp_file == undefined"
|
||||
:value="importerFile"
|
||||
@input="onUploadFile($event)"
|
||||
drag-drop>
|
||||
|
@ -137,7 +138,7 @@ export default {
|
|||
},
|
||||
mappedCollection: {
|
||||
'id': Number,
|
||||
'map': Array,
|
||||
'mapping': {},
|
||||
'total_items': Number
|
||||
},
|
||||
importerTypes: [],
|
||||
|
@ -146,7 +147,7 @@ export default {
|
|||
importerSourceInfo: null,
|
||||
collections: [],
|
||||
collectionMetadata: [],
|
||||
collectionId: Number
|
||||
collectionId: undefined
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
@ -209,7 +210,7 @@ export default {
|
|||
});
|
||||
},
|
||||
checkIfMetadatumIsAvailable(metadatumId) {
|
||||
return this.mappedCollection.map[metadatumId] != undefined;
|
||||
return this.mappedCollection['mapping'][metadatumId] != undefined;
|
||||
},
|
||||
onRunImporter() {
|
||||
if (this.importer.manual_collection) {
|
||||
|
@ -217,7 +218,7 @@ export default {
|
|||
.then(updatedImporter => {
|
||||
this.importer = updatedImporter;
|
||||
|
||||
this.runImporter({ sessionId: this.sessionId })
|
||||
this.runImporter(this.sessionId)
|
||||
.then(backgroundProcess => {
|
||||
this.$console.log(backgroundProcess);
|
||||
})
|
||||
|
@ -229,7 +230,7 @@ export default {
|
|||
this.$console.log(errors);
|
||||
});
|
||||
} else {
|
||||
this.runImporter({ sessionId: this.sessionId })
|
||||
this.runImporter(this.sessionId)
|
||||
.then(backgroundProcess => {
|
||||
this.$console.log(backgroundProcess);
|
||||
})
|
||||
|
@ -253,7 +254,7 @@ export default {
|
|||
},
|
||||
onSelectCollection(collectionId) {
|
||||
this.collectionId = collectionId;
|
||||
this.mappedCollection.id = collectionId;
|
||||
this.mappedCollection['id'] = collectionId;
|
||||
|
||||
// Generates options for metadata listing
|
||||
this.isFetchingCollectionMetadata = true;
|
||||
|
@ -270,7 +271,7 @@ export default {
|
|||
},
|
||||
onSelectCollectionMetadata(selectedMetadatum, sourceMetadatum) {
|
||||
this.isFetchingCollectionMetadata = true;
|
||||
this.mappedCollection.map[selectedMetadatum] = sourceMetadatum;
|
||||
this.mappedCollection['mapping'][selectedMetadatum] = sourceMetadatum;
|
||||
this.isFetchingCollectionMetadata = false;
|
||||
}
|
||||
},
|
||||
|
|
|
@ -46,6 +46,7 @@ html {
|
|||
// Link (hover is the same color as secondary
|
||||
a:hover {
|
||||
color: $secondary;
|
||||
//text-decoration: underline;
|
||||
}
|
||||
|
||||
// Page settings
|
||||
|
|
|
@ -56,7 +56,7 @@ class REST_Importers_Controller extends REST_Controller {
|
|||
'description' => __( 'The URL to be used by the importer', 'tainacan' ),
|
||||
],
|
||||
'collection' => [
|
||||
'type' => 'array',
|
||||
'type' => 'array/object',
|
||||
'description' => __( 'The array describing the destination collectino as expected by the importer', 'tainacan' ),
|
||||
],
|
||||
'options' => [
|
||||
|
@ -272,7 +272,7 @@ class REST_Importers_Controller extends REST_Controller {
|
|||
}
|
||||
|
||||
|
||||
public function run() {
|
||||
public function run($request) {
|
||||
$session_id = $request['session_id'];
|
||||
$importer = $_SESSION['tainacan_importer'][$session_id];
|
||||
|
||||
|
@ -286,8 +286,16 @@ class REST_Importers_Controller extends REST_Controller {
|
|||
global $Tainacan_Importer_Handler;
|
||||
|
||||
$process = $Tainacan_Importer_Handler->add_to_queue($importer);
|
||||
|
||||
if (false === $process) {
|
||||
return new \WP_REST_Response([
|
||||
'error_message' => __('Error starting importer', 'tainacan' ),
|
||||
'session_id' => $session_id
|
||||
], 400);
|
||||
}
|
||||
|
||||
$response = [
|
||||
'bg_process_id' => $process->get_id()
|
||||
'bg_process_id' => $process->ID
|
||||
];
|
||||
return new \WP_REST_Response( $response, 200 );
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ abstract class Background_Process extends \WP_Background_Process {
|
|||
* ID of the process in the database
|
||||
* @var false|int
|
||||
*/
|
||||
protected $ID = false;
|
||||
public $ID = false;
|
||||
|
||||
/**
|
||||
* Prefix
|
||||
|
|
|
@ -35,8 +35,12 @@ class Importer_Handler {
|
|||
|
||||
function add_to_queue(\Tainacan\Importer\Importer $importer_object) {
|
||||
$data = $importer_object->_to_Array(true);
|
||||
$importer_object = $this->bg_importer->data($data)->save()->dispatch();
|
||||
return $importer_object;
|
||||
$bg_process = $this->bg_importer->data($data)->save();
|
||||
if ( is_wp_error($bg_process->dispatch()) ) {
|
||||
return false;
|
||||
}
|
||||
return $bg_process;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -116,7 +116,7 @@ export const fetchImporterSourceInfo = ({ commit }, sessionId ) => {
|
|||
});
|
||||
};
|
||||
|
||||
export const runImporter = ( { commit } , { importerId }) => {
|
||||
export const runImporter = ( { commit } , importerId ) => {
|
||||
return new Promise(( resolve, reject ) => {
|
||||
|
||||
axios.tainacan.post('importers/session/' + importerId + '/run')
|
||||
|
|
Loading…
Reference in New Issue