diff --git a/app/Export/Exporter/BasicExporter.php b/app/Export/Exporter/BasicExporter.php index b16b19776a..256fa3b544 100644 --- a/app/Export/Exporter/BasicExporter.php +++ b/app/Export/Exporter/BasicExporter.php @@ -26,17 +26,15 @@ class BasicExporter { /** @var ExportJob */ protected $job; - private $entries; + /** @var Collection */ + private $entries; /** * BasicExporter constructor. - * - * @param ExportJob $job */ - public function __construct(ExportJob $job) + public function __construct() { $this->entries = new Collection; - $this->job = $job; } /** @@ -55,5 +53,13 @@ class BasicExporter $this->entries = $entries; } + /** + * @param ExportJob $job + */ + public function setJob(ExportJob $job) + { + $this->job = $job; + } + } diff --git a/app/Export/Exporter/CsvExporter.php b/app/Export/Exporter/CsvExporter.php index b1f12f4e30..200bf8116d 100644 --- a/app/Export/Exporter/CsvExporter.php +++ b/app/Export/Exporter/CsvExporter.php @@ -14,7 +14,6 @@ declare(strict_types = 1); namespace FireflyIII\Export\Exporter; use FireflyIII\Export\Entry\Entry; -use FireflyIII\Models\ExportJob; use League\Csv\Writer; use SplFileObject; @@ -30,13 +29,10 @@ class CsvExporter extends BasicExporter implements ExporterInterface /** * CsvExporter constructor. - * - * @param ExportJob $job */ - public function __construct(ExportJob $job) + public function __construct() { - parent::__construct($job); - + parent::__construct(); } /** diff --git a/app/Export/Exporter/ExporterInterface.php b/app/Export/Exporter/ExporterInterface.php index 3559d89cec..9e267b4812 100644 --- a/app/Export/Exporter/ExporterInterface.php +++ b/app/Export/Exporter/ExporterInterface.php @@ -13,6 +13,7 @@ declare(strict_types = 1); namespace FireflyIII\Export\Exporter; +use FireflyIII\Models\ExportJob; use Illuminate\Support\Collection; /** @@ -45,4 +46,9 @@ interface ExporterInterface */ public function setEntries(Collection $entries); + /** + * @param ExportJob $job + */ + public function setJob(ExportJob $job); + } diff --git a/app/Export/Processor.php b/app/Export/Processor.php index 0d0421a460..90ff2d8692 100644 --- a/app/Export/Processor.php +++ b/app/Export/Processor.php @@ -19,7 +19,6 @@ use FireflyIII\Export\Collector\JournalExportCollector; use FireflyIII\Export\Collector\UploadCollector; use FireflyIII\Export\Entry\Entry; use FireflyIII\Models\ExportJob; -use Illuminate\Filesystem\FilesystemAdapter; use Illuminate\Support\Collection; use Log; use Storage; @@ -78,7 +77,8 @@ class Processor implements ProcessorInterface public function collectAttachments(): bool { /** @var AttachmentCollector $attachmentCollector */ - $attachmentCollector = app(AttachmentCollector::class, [$this->job]); + $attachmentCollector = app(AttachmentCollector::class); + $attachmentCollector->setJob($this->job); $attachmentCollector->setDates($this->settings['startDate'], $this->settings['endDate']); $attachmentCollector->run(); $this->files = $this->files->merge($attachmentCollector->getEntries()); @@ -92,7 +92,8 @@ class Processor implements ProcessorInterface public function collectJournals(): bool { /** @var JournalExportCollector $collector */ - $collector = app(JournalExportCollector::class, [$this->job]); + $collector = app(JournalExportCollector::class); + $collector->setJob($this->job); $collector->setDates($this->settings['startDate'], $this->settings['endDate']); $collector->setAccounts($this->settings['accounts']); $collector->run(); @@ -108,7 +109,8 @@ class Processor implements ProcessorInterface public function collectOldUploads(): bool { /** @var UploadCollector $uploadCollector */ - $uploadCollector = app(UploadCollector::class, [$this->job]); + $uploadCollector = app(UploadCollector::class); + $uploadCollector->setJob($this->job); $uploadCollector->run(); $this->files = $this->files->merge($uploadCollector->getEntries()); @@ -166,7 +168,8 @@ class Processor implements ProcessorInterface public function exportJournals(): bool { $exporterClass = config('firefly.export_formats.' . $this->exportFormat); - $exporter = app($exporterClass, [$this->job]); + $exporter = app($exporterClass); + $exporter->setJob($this->job); $exporter->setEntries($this->exportEntries); $exporter->run(); $this->files->push($exporter->getFileName());