From 0c9f982bdf62a9b6e8636046aaf3ecfbdcd2bbf1 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Tue, 24 Nov 2020 16:11:20 +1100 Subject: [PATCH] Fixes for imports --- app/Jobs/Util/Import.php | 27 +++++++++++++++++---------- app/Utils/Traits/GeneratesCounter.php | 2 +- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/app/Jobs/Util/Import.php b/app/Jobs/Util/Import.php index fbbb8c7ab094..dd5bccf38bbf 100644 --- a/app/Jobs/Util/Import.php +++ b/app/Jobs/Util/Import.php @@ -96,7 +96,7 @@ class Import implements ShouldQueue /** * @var array */ - private $data; //the file path - using a different JSON parser here. + private $file_path; //the file path - using a different JSON parser here. /** * @var Company @@ -163,9 +163,9 @@ class Import implements ShouldQueue * @param User $user * @param array $resources */ - public function __construct(string $data, Company $company, User $user, array $resources = []) + public function __construct(string $file_path, Company $company, User $user, array $resources = []) { - $this->data = $data; + $this->file_path = $file_path; $this->company = $company; $this->user = $user; $this->resources = $resources; @@ -180,20 +180,27 @@ class Import implements ShouldQueue { set_time_limit(0); - $jsonStream = \JsonMachine\JsonMachine::fromFile($this->data, "/data"); + // $jsonStream = \JsonMachine\JsonMachine::fromFile($this->file_path, "/data"); + $array = json_decode(file_get_contents($this->file_path), 1); + $data = $array['data']; - foreach ($jsonStream as $key => $resource) { - if (! in_array($key, $this->available_imports)) { +info(array_keys($data)); + + foreach ($this->available_imports as $import) { + + info("the key = {$import}"); + + if (! array_key_exists($import, $data)) { //throw new ResourceNotAvailableForMigration("Resource {$key} is not available for migration."); - info("Resource {$key} is not available for migration."); + info("Resource {$import} is not available for migration."); continue; } - $method = sprintf('process%s', Str::ucfirst(Str::camel($key))); + $method = sprintf('process%s', Str::ucfirst(Str::camel($import))); - info("Importing {$key}"); + info("Importing {$import}"); - $this->{$method}($resource); + $this->{$method}($data[$import]); } $this->setInitialCompanyLedgerBalances(); diff --git a/app/Utils/Traits/GeneratesCounter.php b/app/Utils/Traits/GeneratesCounter.php index 75e2f54fc8cf..da5c90d62009 100644 --- a/app/Utils/Traits/GeneratesCounter.php +++ b/app/Utils/Traits/GeneratesCounter.php @@ -600,7 +600,7 @@ trait GeneratesCounter $replace[] = str_replace($format, $date, $matches[1]); } - if($entity instanceof Client){ + if($entity instanceof Client || $entity instanceof Vendor){ $search[] = '{$client_custom1}'; $replace[] = $entity->custom_value1;