diff --git a/app/Http/Controllers/Api/AdvertisementController.php b/app/Http/Controllers/Api/AdvertisementController.php index 85f5557..df8ff48 100644 --- a/app/Http/Controllers/Api/AdvertisementController.php +++ b/app/Http/Controllers/Api/AdvertisementController.php @@ -199,7 +199,7 @@ class AdvertisementController extends Controller public function downloadExcelAdvertisement() { - $filePath = storage_path('app/public/templates/template_reklame.xlsx'); + $filePath = public_path('templates/template_reklame.xlsx'); // Cek apakah file ada if (!file_exists($filePath)) { diff --git a/app/Http/Controllers/Api/TourismController.php b/app/Http/Controllers/Api/TourismController.php index c39a18f..704e4e9 100644 --- a/app/Http/Controllers/Api/TourismController.php +++ b/app/Http/Controllers/Api/TourismController.php @@ -127,4 +127,18 @@ class TourismController extends Controller return response()->noContent(); } + + public function downloadExcelTourism() + { + $filePath = public_path('templates/template_pariwisata.xlsx'); + info(sprintf("File Path: %s | Exists: %s", $filePath, file_exists($filePath) ? 'Yes' : 'No')); + + // Cek apakah file ada + if (!file_exists($filePath)) { + return response()-> json(['message' => 'File tidak ditemukan!'], Response::HTTP_NOT_FOUND); + } + + // Return file to download + return response()->download($filePath); + } } diff --git a/app/Http/Controllers/Api/UmkmController.php b/app/Http/Controllers/Api/UmkmController.php index 4ecf63e..3be6947 100644 --- a/app/Http/Controllers/Api/UmkmController.php +++ b/app/Http/Controllers/Api/UmkmController.php @@ -176,7 +176,7 @@ class UmkmController extends Controller public function downloadExcelUmkm() { - $filePath = storage_path('app/public/templates/template_umkm.xlsx'); + $filePath = public_path('templates/template_umkm.xlsx'); // Cek apakah file ada if (!file_exists($filePath)) { diff --git a/public/templates/template_pariwisata.xlsx b/public/templates/template_pariwisata.xlsx new file mode 100644 index 0000000..13de764 Binary files /dev/null and b/public/templates/template_pariwisata.xlsx differ diff --git a/resources/js/data/tourisms/form-upload.js b/resources/js/data/tourisms/form-upload.js index 4bb1383..4b6972d 100644 --- a/resources/js/data/tourisms/form-upload.js +++ b/resources/js/data/tourisms/form-upload.js @@ -88,7 +88,7 @@ dropzone.on("complete", function(file) { // Add event listener to download file template document.getElementById('downloadtemptourisms').addEventListener('click', function() { - var url = `${GlobalConfig.apiHost}/api/download-template-umkm`; + var url = `${GlobalConfig.apiHost}/api/download-template-tourism`; fetch(url, { method: 'GET', headers: { @@ -105,11 +105,12 @@ document.getElementById('downloadtemptourisms').addEventListener('click', functi } }) .then((blob) => { + console.log(blob); const url = window.URL.createObjectURL(blob); const a = document.createElement('a'); a.style.display = 'none'; a.href = url; - a.download = 'template_tourisms.xlsx'; + a.download = 'template_pariwisata.xlsx'; document.body.appendChild(a); a.click(); window.URL.revokeObjectURL(url); diff --git a/routes/api.php b/routes/api.php index 5af44ee..a986126 100644 --- a/routes/api.php +++ b/routes/api.php @@ -65,6 +65,7 @@ Route::group(['middleware' => 'auth:sanctum'], function (){ //tourism Route::apiResource('tourisms', TourismController::class); Route::post('/tourisms/import', [TourismController::class, 'importFromFile']); + Route::get('/download-template-tourism', [TourismController::class, 'downloadExcelTourism']); // data-settings