diff --git a/app/Classes/Modules/Documents/DataTransferObjects/FileObject.php b/app/Classes/Modules/Documents/DataTransferObjects/FileObject.php
index ed289eac..736853fc 100644
--- a/app/Classes/Modules/Documents/DataTransferObjects/FileObject.php
+++ b/app/Classes/Modules/Documents/DataTransferObjects/FileObject.php
@@ -28,7 +28,7 @@ class FileObject implements DataTransferObject
*/
public function getData()
{
- return $this->getExtension() === 'pdf' ? $this->data : (new imageManager())->make($this->data);
+ return in_array($this->getExtension(), ['pdf', 'excel']) ? $this->data : (new imageManager())->make($this->data);
}
/**
@@ -66,7 +66,7 @@ class FileObject implements DataTransferObject
*/
public function getDecodedData(): string
{
- return $this->getExtension() === 'pdf' ?
+ return in_array($this->getExtension(), ['pdf', 'excel']) ?
base64_decode((explode('base64,', $this->getData()))[1]):
$this->getData()->encode('data-url')->encoded;
}
diff --git a/app/Classes/Modules/Documents/Services/ConvertsBase64ToFile.php b/app/Classes/Modules/Documents/Services/ConvertsBase64ToFile.php
index a7a5c8b6..8741b823 100644
--- a/app/Classes/Modules/Documents/Services/ConvertsBase64ToFile.php
+++ b/app/Classes/Modules/Documents/Services/ConvertsBase64ToFile.php
@@ -36,7 +36,7 @@ class ConvertsBase64ToFile
foreach ($files as $file) {
$object = new FileObject($file);
- $object->getExtension() === 'pdf' ? $this->generatePDF($object) : $this->generateImage($object);
+ in_array($object->getExtension(), ['pdf', 'excel']) ? $this->generatePDF($object) : $this->generateImage($object);
}
diff --git a/app/Classes/ValueObjects/Constants/FileType.php b/app/Classes/ValueObjects/Constants/FileType.php
index 8564643c..3ff989ca 100644
--- a/app/Classes/ValueObjects/Constants/FileType.php
+++ b/app/Classes/ValueObjects/Constants/FileType.php
@@ -14,11 +14,14 @@ class FileType
public const PDF = 'application/pdf';
+ public const EXCEL = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
+
public const EXTENSION = [
'image/gif' => 'gif',
'image/png' => 'png',
'image/jpeg' => 'jpeg',
'application/pdf' => 'pdf',
+ 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' => 'excel',
];
}
\ No newline at end of file
diff --git a/app/Http/Controllers/Imports/ImportUpdateDebtorController.php b/app/Http/Controllers/Imports/ImportUpdateDebtorController.php
index 83d1effd..31f8c348 100644
--- a/app/Http/Controllers/Imports/ImportUpdateDebtorController.php
+++ b/app/Http/Controllers/Imports/ImportUpdateDebtorController.php
@@ -2,9 +2,11 @@
namespace App\Http\Controllers\Imports;
+use App\Classes\Modules\Documents\DataTransferObjects\DocumentObject;
use App\Classes\Modules\Imports\Services\ImportsDebtor;
use App\Classes\General\ExcelHandel;
+use App\Classes\ValueObjects\Constants\ApprovalStatus;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
@@ -12,14 +14,16 @@ use Maatwebsite\Excel\Facades\Excel;
class ImportUpdateDebtorController
{
+ /**
+ * @param Request $request
+ * @return \Maatwebsite\Excel\Excel
+ * @throws \App\Classes\Exceptions\MalformedRequestException
+ */
public function import(Request $request) {
$token = Auth::fromUser(User::find(1));
$request->headers->set('Authorization', 'Bearer '.$token);
- $excel_file = $request->input('excel_file');
-
- $excel_file = ExcelHandel::insertExcel('debtor', $excel_file);
-
- return $import = Excel::import(new ImportsDebtor(), $excel_file[0]['file_info']['original']['file']);
+ $object = new DocumentObject('', $request->input('files'), '', ApprovalStatus::APPROVED, 'imports');
+ return $import = Excel::import(new ImportsDebtor(), $object->getFiles()[0]);
}
}
\ No newline at end of file
diff --git a/resources/assets/vue/components/bookings/elements/UploadDebtorExcelComponent.vue b/resources/assets/vue/components/bookings/elements/UploadDebtorExcelComponent.vue
new file mode 100644
index 00000000..946bafe1
--- /dev/null
+++ b/resources/assets/vue/components/bookings/elements/UploadDebtorExcelComponent.vue
@@ -0,0 +1,65 @@
+
+