diff --git a/app/Http/Controllers/Dashboard/DatatableController.php b/app/Http/Controllers/Dashboard/DatatableController.php
index 4c01ee2..911f5ce 100644
--- a/app/Http/Controllers/Dashboard/DatatableController.php
+++ b/app/Http/Controllers/Dashboard/DatatableController.php
@@ -1137,6 +1137,8 @@ public function journalist(Request $request){
->addColumn('action', function ($data) {
$showUrl = route('dashboard.journalists.show', ['id' => encrypt_id($data->id)]);
+ $printUrl = route('dashboard.journalists.data.print', ['id' => encrypt_id($data->id)]);
+
$editUrl = route('dashboard.journalists.edit', ['id' => encrypt_id($data->id)]);
$deleteUrl = route('dashboard.journalists.destroy', ['id' => encrypt_id($data->id)]);
@@ -1149,6 +1151,10 @@ public function journalist(Request $request){
- Detail
';
+ if (is_role([1])) {
+ $dropdown .= '- Cetak
';
+ }
+
if (is_role([1]) && $data->edit_status === '1' && $data->media->company->user->status === '1') {
$dropdown .= '- Proses peremohonan Edit
';
}
diff --git a/app/Http/Controllers/Dashboard/JournalistController.php b/app/Http/Controllers/Dashboard/JournalistController.php
index 80921d9..293f1fa 100644
--- a/app/Http/Controllers/Dashboard/JournalistController.php
+++ b/app/Http/Controllers/Dashboard/JournalistController.php
@@ -8,6 +8,7 @@
use App\Models\Journalist;
use App\Models\Media;
use App\Models\User;
+use Barryvdh\DomPDF\Facade\Pdf;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
@@ -340,4 +341,14 @@ public function filter(Request $request)
return redirect()->route('dashboard.journalists.index', $filterField);
}
+ public function printData($id){
+
+ $journalist = Journalist::with(['media.company'])->findOrFail(decrypt_id($id));
+
+
+ $pdf = Pdf::loadView('dashboard.journalists.print', compact('journalist'));
+
+ return $pdf->stream('perusahaan-'.slugify($journalist->name).'.pdf');
+ }
+
}
diff --git a/resources/views/dashboard/journalists/print.blade.php b/resources/views/dashboard/journalists/print.blade.php
new file mode 100644
index 0000000..4f09f51
--- /dev/null
+++ b/resources/views/dashboard/journalists/print.blade.php
@@ -0,0 +1,183 @@
+
+
+
+
+ Data Jurnalis - {{ $journalist->name }}
+
+
+
+
+
+
 }})
+
+
+
+
+
+
+
+
Perusahaan
+
{{ $journalist->media->company->name }}
+
+
+
Media
+
{{ $journalist->media->name }}
+
+
+
Email
+
{{ $journalist->email }}
+
+
+
Nomor HP
+
{{ $journalist->phone_number }}
+
+
+
Kartu Pers
+
{{ $journalist->press_card ?? 'Tidak Ada' }}
+
+
+
Sertifikat UKW
+
{{ $journalist->ukw_certificate ?? 'Tidak Ada' }}
+
+ @if ($journalist->edit_status == 3 && $journalist->edit_rejection_reason)
+
+
Alasan Penolakan
+
{{ $journalist->edit_rejection_reason }}
+
+ @endif
+
+
+ {{-- Dokumen --}}
+
+
Dokumen
+
+ @php
+ $documents = [
+ 'Kartu Pers' => $journalist->press_card_doc,
+ 'Sertifikat UKW' => $journalist->ukw_certificate_doc,
+ ];
+ @endphp
+
+ @foreach($documents as $label => $doc)
+
+
{{ $label }}
+ @if($doc)
+ @php
+ $ext = pathinfo($doc, PATHINFO_EXTENSION);
+ @endphp
+ @if(in_array(strtolower($ext), ['jpg', 'jpeg', 'png', 'gif', 'webp']))
+
 }})
+ @elseif(strtolower($ext) === 'pdf')
+
Lihat Dokumen PDF
+ @else
+ File tidak dikenali.
+ @endif
+ @else
+ Tidak Ada Dokumen
+ @endif
+
+ @endforeach
+
+
+
+
+
+
diff --git a/routes/web.php b/routes/web.php
index ff7fb43..be0880c 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -325,6 +325,7 @@
Route::post('/export', 'export')->name('export');
Route::post('/filter', 'filter')->name('filter');
+ Route::get('/{id}/print', 'printData')->name('data.print');
});
Route::get('/data', [DatatableController::class, 'journalist'])->name('data');