Fixed #16097 - allow location update by ID in importer

Signed-off-by: snipe <snipe@snipe.net>
This commit is contained in:
snipe 2025-01-20 16:23:13 +00:00
parent 4fe83467ee
commit 801328ec42
4 changed files with 11 additions and 4 deletions

View file

@ -39,6 +39,7 @@ abstract class Importer
* @var array * @var array
*/ */
private $defaultFieldMap = [ private $defaultFieldMap = [
'id' => 'id',
'asset_tag' => 'asset tag', 'asset_tag' => 'asset tag',
'activated' => 'activated', 'activated' => 'activated',
'category' => 'category', 'category' => 'category',

View file

@ -456,14 +456,13 @@ class ItemImporter extends Importer
{ {
if (empty($asset_location)) { if (empty($asset_location)) {
$this->log('No location given, so none created.'); $this->log('No location given, so none created.');
return null; return null;
} }
$location = Location::where(['name' => $asset_location])->first(); $location = Location::where(['name' => $asset_location])->first();
if ($location) { if ($location) {
$this->log('Location '.$asset_location.' already exists'); $this->log('Location '.$asset_location.' already exists');
return $location->id; return $location->id;
} }
// No matching locations in the collection, create a new one. // No matching locations in the collection, create a new one.

View file

@ -38,7 +38,14 @@ class LocationImporter extends ItemImporter
{ {
$editingLocation = false; $editingLocation = false;
if ($this->findCsvMatch($row, 'id')) {
$location = Location::find($this->findCsvMatch($row, 'id'));
} else {
$location = Location::where('name', '=', $this->findCsvMatch($row, 'name'))->first(); $location = Location::where('name', '=', $this->findCsvMatch($row, 'name'))->first();
}
if ($location) { if ($location) {
if (! $this->updating) { if (! $this->updating) {

View file

@ -329,6 +329,7 @@ class Importer extends Component
]; ];
$this->locations_fields = [ $this->locations_fields = [
'id' => trans('general.id'),
'name' => trans('general.item_name_var', ['item' => trans('general.location')]), 'name' => trans('general.item_name_var', ['item' => trans('general.location')]),
'address' => trans('general.address'), 'address' => trans('general.address'),
'address2' => trans('general.importer.address2'), 'address2' => trans('general.importer.address2'),
@ -400,7 +401,6 @@ class Importer extends Component
'requestable', 'requestable',
'Requestable', 'Requestable',
], ],
'gravatar' => 'gravatar' =>
[ [
'gravatar', 'gravatar',