From 0f1c48cb6fe7da9d7b639153020f5a5691c1b442 Mon Sep 17 00:00:00 2001 From: Ivan Nieto Vivanco Date: Sat, 24 Jul 2021 02:38:44 -0500 Subject: [PATCH] Add the field model_number to Accessory importer --- app/Importer/AccessoryImporter.php | 6 ++++-- resources/assets/js/components/importer/importer-file.vue | 8 +++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/app/Importer/AccessoryImporter.php b/app/Importer/AccessoryImporter.php index 709b58ea3..324d27e9e 100644 --- a/app/Importer/AccessoryImporter.php +++ b/app/Importer/AccessoryImporter.php @@ -14,7 +14,7 @@ class AccessoryImporter extends ItemImporter protected function handle($row) { parent::handle($row); // TODO: Change the autogenerated stub - $this->createAccessoryIfNotExists(); + $this->createAccessoryIfNotExists($row); } /** @@ -23,7 +23,7 @@ class AccessoryImporter extends ItemImporter * @author Daniel Melzter * @since 3.0 */ - public function createAccessoryIfNotExists() + public function createAccessoryIfNotExists($row) { $accessory = Accessory::where('name', $this->item['name'])->first(); if ($accessory) { @@ -33,12 +33,14 @@ class AccessoryImporter extends ItemImporter } $this->log('Updating Accessory'); + $this->item['model_number'] = $this->findCsvMatch($row, "model_number"); $accessory->update($this->sanitizeItemForUpdating($accessory)); $accessory->save(); return; } $this->log("No Matching Accessory, Creating a new one"); $accessory = new Accessory(); + $this->item['model_number'] = $this->findCsvMatch($row, "model_number"); $accessory->fill($this->sanitizeItemForStoring($accessory)); //FIXME: this disables model validation. Need to find a way to avoid double-logs without breaking everything. diff --git a/resources/assets/js/components/importer/importer-file.vue b/resources/assets/js/components/importer/importer-file.vue index f4fddcd84..83970614e 100644 --- a/resources/assets/js/components/importer/importer-file.vue +++ b/resources/assets/js/components/importer/importer-file.vue @@ -141,6 +141,9 @@ {id: 'username', text: 'Username' }, {id: 'department', text: 'Department' }, ], + accessories:[ + {id: 'model_number', text: 'Model Number'}, + ], assets: [ {id: 'asset_tag', text: 'Asset Tag' }, {id: 'asset_model', text: 'Model Name' }, @@ -208,7 +211,10 @@ .concat(this.columnOptions.assets) .concat(this.columnOptions.customFields) .sort(sorter); - + case 'accessory': + return this.columnOptions.general + .concat(this.columnOptions.accessories) + .sort(sorter); case 'consumable': return this.columnOptions.general .concat(this.columnOptions.consumables)