diff --git a/app/Helpers/CustomHelper.php b/app/Helpers/CustomHelper.php index f186998..d69995f 100644 --- a/app/Helpers/CustomHelper.php +++ b/app/Helpers/CustomHelper.php @@ -52,6 +52,13 @@ function delete_file($path) } } +if (! function_exists('is_file_exists')) { + function is_file_exists($path) + { + return File::exists(public_path('storage/' . $path)); + } +} + if (!function_exists('get_role_name')) { function get_role_name($role = null) { diff --git a/app/Http/Controllers/Dashboard/DatatableController.php b/app/Http/Controllers/Dashboard/DatatableController.php index a1be8b0..fdd93e2 100644 --- a/app/Http/Controllers/Dashboard/DatatableController.php +++ b/app/Http/Controllers/Dashboard/DatatableController.php @@ -871,7 +871,13 @@ public function cooperation(Request $request){
  • Detail
  • '; if (is_role([1, 3])) { - $dropdown .= '
  • Proses
  • '; + if(is_role(['3'])){ + $dropdown .= '
  • Proses
  • '; + } + + if(is_role(['1'])){ + $dropdown .= '
  • Proses
  • '; + } } if (is_role([1]) && !$isHaveMediaOrder) { @@ -1032,7 +1038,7 @@ public function cooperationProposal(Request $request, $id){ } - // media (ajuan kerjassama) + // media (ajuan kerjasama) public function cooperationRequest(Request $request){ if ($request->ajax()) { @@ -1065,9 +1071,6 @@ public function cooperationRequest(Request $request){ ->addColumn('end_date', function ($data) { return idn_date($data->end_date, 'l, d F Y'); }) - ->addColumn('posted_at', function ($data) { - return idn_date($data->created_at, 'l, d F Y'); - }) ->addColumn('status', function ($data) use ($media){ $isCooperationProposalExists = CooperationProposal::where('cooperation_id', '=', $data->id) ->where('media_id', '=', $media->id)->exists(); @@ -1275,6 +1278,154 @@ class="text-dark" } + public function adminMediaReport(Request $request, $id){ + if ($request->ajax()) { + $mediaOrder = Order::with(['reports', 'media.reports'])->findOrFail(decrypt_id($id)); + + $data = $mediaOrder->media; + + return DataTables::of($data) + ->addIndexColumn() + ->addColumn('media_name', function ($data) { + return $data->name; + }) + ->addColumn('company_name', function ($data) { + return $data->company->name; + }) + ->addColumn('email', function ($data) { + return $data->company->email; + }) + ->addColumn('reuired_reports', function ($data) use ($mediaOrder){ + $reportCount = $mediaOrder->reports->filter(function ($report) use ($data) { + return $report->media_id == $data->id; // Cek jika laporan milik media ini + })->count(); + return $reportCount . "/" . $mediaOrder->required_reports; + }) + ->addColumn('action', function ($data) use ($mediaOrder){ + $showUrl = route('dashboard.cooperations.process', ['id' => encrypt_id($mediaOrder->cooperation->id), 'process' => 'reports', 'mediaId' => encrypt_id($data->id)]); + + // $editUrl = route('dashboard.reports.edit', ['id' => encrypt_id($data->id)]); + + // $deleteUrl = route('dashboard.reports.destroy', ['id' => encrypt_id($data->id)]); + + $dropdown = ''; + + return $dropdown; + }) + + ->rawColumns(['action']) + ->make(true); + } + + return response()->json(['error' => 'Unauthorized'], 401); + + } + + public function mediaReport(Request $request, $mediaOrderId, $mediaId){ + if ($request->ajax()) { + $mediaOrder = Order::with(['reports', 'media.reports'])->findOrFail(decrypt_id($mediaOrderId)); + + $reportsByMedia = $mediaOrder->reports->filter(function ($report) use ($mediaId) { + return $report->media_id == decrypt_id($mediaId); // Cek jika laporan milik media ini + }); + + $data = $reportsByMedia; + + return DataTables::of($data) + ->addIndexColumn() + ->addColumn('title', function ($data) { + return $data->title; + }) + ->addColumn('date', function ($data) { + return idn_date($data->created_at, 'l, d F Y'); + }) + ->addColumn('status', function ($data){ + + switch($data->status){ + case '0': + return 'Menunggu'; + case 1: + return 'Diterima
    '; + case '2': + return 'Ditolak + + '; + default: + return 'Tidak Diketahui'; + } + }) + ->addColumn('action', function ($data) use ($mediaOrder){ + $showUrl = route('dashboard.reports.show', ['mediaOrderId' => encrypt_id($mediaOrder->id), 'id' => encrypt_id($data->id)]); + + $editUrl = route('dashboard.reports.edit', ['mediaOrderId' => encrypt_id($mediaOrder->id), 'id' => encrypt_id($data->id)]); + + $deleteUrl = route('dashboard.reports.destroy', ['id' => encrypt_id($data->id)]); + + $acceptUrl = route('dashboard.reports.accept', ['id' => encrypt_id($data->id)]); + + $rejectUrl = route('dashboard.reports.reject', ['mediaOrderId' => encrypt_id($mediaOrder->id), 'id' => encrypt_id($data->id)]); + + $dropdown = ''; + + return $dropdown; + }) + + ->rawColumns(['status', 'action']) + ->make(true); + } + + return response()->json(['error' => 'Unauthorized'], 401); + + } + public function contentRecap(Request $request){ if ($request->ajax()) { diff --git a/app/Http/Controllers/Dashboard/MediaCooperationController.php b/app/Http/Controllers/Dashboard/MediaCooperationController.php index 334ca80..c4e659e 100644 --- a/app/Http/Controllers/Dashboard/MediaCooperationController.php +++ b/app/Http/Controllers/Dashboard/MediaCooperationController.php @@ -37,7 +37,7 @@ public function store(CooperationRequest $request){ $createdCooperation->media()->attach($validatedData['media_ids']); if ($createdCooperation->media()->count() > 0) { - return redirect()->back()->with('success-status', 'Berhasil menambahkan kerjasama.'); + return redirect()->route('dashboard.cooperations.index')->with('success-status', 'Berhasil menambahkan kerjasama.'); } else { return redirect()->back()->with('failed-status', 'Gagal menambahkan kerjasama'); } @@ -148,12 +148,12 @@ public function mediaProposalRejectAction(Request $request, $id, $proposalId){ $proposal = CooperationProposal::with(['cooperation', 'media', 'journalists'])->findOrFail(decrypt_id($proposalId)); - $acceptedProposal = $proposal->update([ + $rejectedProposal = $proposal->update([ 'status' => '2', 'rejection_reason' => $validatedData['rejection_reason'] ]); - if ($acceptedProposal) { + if ($rejectedProposal) { return redirect()->back()->with('success-status', 'Berhasil menolak pengajuan kerjasama.'); } else { return redirect()->back()->with('failed-status', 'Gagal menolak pengajuan kerjasama'); @@ -161,7 +161,7 @@ public function mediaProposalRejectAction(Request $request, $id, $proposalId){ } - public function process($id, $process){ + public function process($id, $process, $paramMediaId = null){ $mediaCooperation = Cooperation::with(['media', 'mediaOrder.media'])->findOrFail(decrypt_id($id)); $data = [ 'title' => 'Detail Kerjasama', @@ -175,12 +175,13 @@ public function process($id, $process){ if(is_role(['3'])){ $mediaId = Auth::user()->company->media->id; - $mediaOrder = $mediaCooperation->mediaOrder->media->where('id', $mediaId)->first(); - if($mediaOrder){ - $data['mediaOrderPivot'] = $mediaOrder->pivot; - }else{ - return redirect()->back()->with('warning-status', 'Mohon maaf, admin telah menerbitkan media order!'); + $mediaOrder = $mediaCooperation->mediaOrder; + $mediaOrderSafe = $mediaOrder ? $mediaOrder->media->where('id', $mediaId)->first() : null; + if($mediaOrderSafe){ + $data['mediaOrderPivot'] = $mediaOrderSafe->pivot; } + $data['isHaveReports'] = false; + $data['isAllReportsWaiting'] = true; } return view('dashboard.media-cooperations.processes.cooperations.index', $data); @@ -191,11 +192,58 @@ public function process($id, $process){ $data['mediaOrder'] = $mediaCooperation->mediaOrder; $mediaId = Auth::user()->company->media->id; $data['mediaOrderPivot'] = $mediaCooperation->mediaOrder->media->where('id', $mediaId)->first()->pivot; + $data['isHaveReports'] = false; + $data['isAllReportsWaiting'] = true; }else{ $data['mediaOrder'] = $mediaCooperation->mediaOrder; } return view('dashboard.media-cooperations.processes.media-orders.index', $data); + }else if($process === 'reports'){ + $data['title'] = 'Media Order'; + + if(is_role(['3'])){ + $mediaOrderModel = $mediaCooperation->mediaOrder; + $data['mediaOrder'] = $mediaOrderModel; + $mediaId = Auth::user()->company->media->id; + $data['mediaOrderPivot'] = $mediaOrderModel->media->where('id', $mediaId)->first()->pivot; + + $data['reporterMediaId'] = Auth::user()->company->media->id; + $report = $mediaOrderModel->reports->filter(function ($report) use ($data) { + return $report->media_id == Auth::user()->company->media->id; + }); + + if(filled($report)){ + $isAllReportsAccepted = $report->every(function ($item) { + return $item->status === '1'; + }); + }else{ + $isAllReportsAccepted = false; + } + + $reportCount = $report->count(); + $data['isHaveReports'] = $reportCount != 0; + $data['isAllReportsAccepted'] = $isAllReportsAccepted; + $data['reportCount'] = $reportCount; + + if($reportCount === $mediaOrderModel->required_reports){ + $data['isReportsCompleted'] = true; + }else{ + $data['isReportsCompleted'] = false; + } + + return view('dashboard.media-cooperations.processes.reports.index-media', $data); + }else{ + $data['mediaOrder'] = $mediaCooperation->mediaOrder; + $data['reporterMedia'] = $paramMediaId ? Media::findOrFail(decrypt_id($paramMediaId)) : null; + $data['reporterMediaId'] = $paramMediaId ? decrypt_id($paramMediaId) : null; + + if(!$paramMediaId){ + return view('dashboard.media-cooperations.processes.reports.index-admin', $data); + }else{ + return view('dashboard.media-cooperations.processes.reports.index-media', $data); + } + } } } diff --git a/app/Http/Controllers/Dashboard/MediaOrderController.php b/app/Http/Controllers/Dashboard/MediaOrderController.php index 25b2807..b4198e6 100644 --- a/app/Http/Controllers/Dashboard/MediaOrderController.php +++ b/app/Http/Controllers/Dashboard/MediaOrderController.php @@ -36,7 +36,7 @@ public function store(OrderRequest $request, $id){ $createdOrder->media()->attach($validatedData['media_ids']); if ($createdOrder->media()->count() > 0) { - return redirect()->back()->with('success-status', 'Berhasil membuat media order.'); + return redirect()->route('dashboard.cooperations.process', ['id' => encrypt_id($cooperation->id), 'process' => 'media-order'])->with('success-status', 'Berhasil membuat media order.'); } else { return redirect()->back()->with('failed-status', 'Gagal membuat media order'); } diff --git a/app/Http/Controllers/Dashboard/ReportController.php b/app/Http/Controllers/Dashboard/ReportController.php new file mode 100644 index 0000000..9a22469 --- /dev/null +++ b/app/Http/Controllers/Dashboard/ReportController.php @@ -0,0 +1,149 @@ + 'Buat Laporan', + 'mediaOrderId' => $id + ]); + } + + public function store(ReportRequest $request, $id){ + $validatedData = $request->validated(); + $validatedData['media_id'] = Auth::user()->company->media->id; + $validatedData['order_id'] = decrypt_id($id); + + $validatedData['proof'] = store_file($validatedData['proof'], '/uploads/reports', 'public')['randomFileName']; + + $createdReport = Report::create($validatedData); + + if($createdReport){ + return redirect()->route('dashboard.cooperations.process', ['id' => $id, 'process' => 'reports'])->with('success-status', 'Berhasil menambahkan laporan.'); + }else{ + return redirect()->back()->with('failed-status', 'Gagal menambahkan laporan.'); + } + } + + public function edit($mediaOrderId, $id){ + $report = Report::findOrFail(decrypt_id($id)); + + return view('dashboard.reports.edit', [ + 'title' => 'Buat Laporan', + 'report' => $report, + 'mediaOrderId' => $mediaOrderId + ]); + } + + public function update(ReportRequest $request, $mediaOrderId, $id){ + $validatedData = $request->validated(); + $validatedData['media_id'] = Auth::user()->company->media->id; + $validatedData['order_id'] = decrypt_id($mediaOrderId); + $validatedData['status'] = '0'; + + $report = Report::findOrFail(decrypt_id($id)); + + if($request->hasFile('image')){ + $validatedData['proof'] = store_file($validatedData['proof'], '/uploads/reports', 'public')['randomFileName']; + + delete_file('app/public/uploads/reports/'.$report->proof); + }else{ + $validatedData['proof'] = $report->proof; + } + + $updatedReport = $report->update($validatedData); + + if($updatedReport){ + return redirect()->back()->with('success-status', 'Berhasil mengubah laporan.'); + }else{ + return redirect()->back()->with('failed-status', 'Gagal mengubah laporan.'); + } + } + + public function show($mediaOrderId, $id){ + $report = Report::findOrFail(decrypt_id($id)); + + return view('dashboard.reports.show', [ + 'title' => 'Detail Laporan', + 'report' => $report, + 'mediaOrderId' => $mediaOrderId + ]); + } + + public function accept($id){ + $report = Report::findOrFail(decrypt_id($id)); + + $acceptedReport = $report->update([ + 'status' => '1' + ]); + + if ($acceptedReport) { + return redirect()->back()->with('success-status', 'Berhasil menyetujui laporan bukti tayang.'); + } else { + return redirect()->back()->with('failed-status', 'Gagal menyetujui laporan bukti tayang'); + } + } + + public function reject($mediaOrderId, $id){ + $report = Report::findOrFail(decrypt_id($id)); + + return view('dashboard.reports.reject', [ + 'title' => 'Tolak Laporan', + 'report' => $report, + 'mediaOrderId' => $mediaOrderId + ]); + } + + public function rejectAction(Request $request, $mediaOrderId, $id){ + $validatedData = $request->validate([ + 'rejection_reason' => ['required'], + ], [ + 'rejection_reason.required' => 'Alasan penolakan wajib diisi.', + ]); + + $report = Report::findOrFail(decrypt_id($id)); + + $rejectedReport = $report->update([ + 'status' => '2', + 'rejection_reason' => $validatedData['rejection_reason'] + ]); + + if ($rejectedReport) { + return redirect()->back()->with('success-status', 'Berhasil menolak laporan bukti tayang.'); + } else { + return redirect()->back()->with('failed-status', 'Gagal menolak laporan bukti tayang'); + } + } + + public function destroy($id){ + try { + $report = Report::findOrFail(decrypt_id($id)); + delete_file('app/public/uploads/reports/'.$report->proof); + $report->forceDelete(); + + + return response()->json(['message' => 'Berhasil menghapus laporan bukti tayang.']); + } catch (\Exception $e) { + return response()->json(['message' => 'Gagal menghapus laporan bukti tayang.'], 500); + } + } + + public function checkLink(Request $request) + { + $linkExists = Report::where('link', $request->link) + ->where('media_id', Auth::user()->company->media->id) + ->exists(); + + return response()->json([ + 'exists' => $linkExists + ]); + } +} diff --git a/app/Http/Requests/OrderRequest.php b/app/Http/Requests/OrderRequest.php index 72e0df1..10d9517 100644 --- a/app/Http/Requests/OrderRequest.php +++ b/app/Http/Requests/OrderRequest.php @@ -28,7 +28,7 @@ public function rules(): array 'media_ids' => ['required', 'array'], 'media_ids.*' => ['required', 'exists:media,id'], 'image' => ['nullable', 'image', 'mimes:png,jpg,jpeg', 'max:2048'], - 'amount_report' => ['required', 'numeric', 'min:1', 'max:100'], + 'required_reports' => ['required', 'numeric', 'min:1', 'max:100'], 'task_description' => ['required'], ]; } diff --git a/app/Http/Requests/ReportRequest.php b/app/Http/Requests/ReportRequest.php new file mode 100644 index 0000000..cac6a9c --- /dev/null +++ b/app/Http/Requests/ReportRequest.php @@ -0,0 +1,56 @@ +|string> + */ + public function rules(): array + { + $rules = [ + 'title' => ['required'], + 'publication_date' => ['required', 'date'], + 'link' => ['required', 'url'], + 'description' => ['nullable'], + ]; + + if($this->isMethod('post')){ + $rules['proof'] = ['required', 'image', 'mimes:png,jpg,jpeg', 'max:2048']; + }else{ + $rules['proof'] = ['nullable', 'image', 'mimes:png,jpg,jpeg', 'max:2048']; + } + + return $rules; + } + + public function messages(): array + { + return [ + 'title.required' => 'Judul wajib diisi.', + 'publication_date.required' => 'Tanggal publikasi wajib diisi.', + 'publication_date.date' => 'Tanggal publikasi harus berupa format tanggal yang valid.', + 'link.required' => 'Link wajib diisi.', + 'link.url' => 'Format link tidak valid.', + 'proof.required' => 'Bukti tayang wajib diunggah.', + 'proof.image' => 'Bukti tayang harus berupa gambar.', + 'proof.mimes' => 'Format gambar harus PNG, JPG, atau JPEG.', + 'proof.max' => 'Ukuran gambar tidak boleh lebih dari 2MB.', + ]; + } + +} diff --git a/app/Models/Media.php b/app/Models/Media.php index da55d45..5e26c2c 100644 --- a/app/Models/Media.php +++ b/app/Models/Media.php @@ -57,4 +57,8 @@ public function orders() ->withPivot(['status', 'rejection_reason']) ->withTimestamps(); } + + public function reports(){ + return $this->hasMany(Report::class, 'media_id', 'id'); + } } diff --git a/app/Models/Order.php b/app/Models/Order.php index 134aea8..58bdd7f 100644 --- a/app/Models/Order.php +++ b/app/Models/Order.php @@ -16,7 +16,7 @@ class Order extends Model 'end_date', 'image', 'task_description', - 'amount_report', + 'required_reports', 'cooperation_id', 'enhancer_id', ]; @@ -32,4 +32,8 @@ public function media() public function cooperation(){ return $this->belongsTo(Cooperation::class, 'cooperation_id', 'id')->withTrashed(); } + + public function reports(){ + return $this->hasMany(Report::class, 'order_id', 'id'); + } } diff --git a/app/Models/Report.php b/app/Models/Report.php new file mode 100644 index 0000000..65eacbb --- /dev/null +++ b/app/Models/Report.php @@ -0,0 +1,33 @@ +belongsTo(Order::class, 'order_id', 'id'); + } + + public function media(){ + return $this->belongsTo(Media::class, 'media_id', 'id'); + } +} diff --git a/database/migrations/2025_03_11_072327_create_orders_table.php b/database/migrations/2025_03_11_072327_create_orders_table.php index c03e19b..0634a95 100644 --- a/database/migrations/2025_03_11_072327_create_orders_table.php +++ b/database/migrations/2025_03_11_072327_create_orders_table.php @@ -17,7 +17,7 @@ public function up(): void $table->date('end_date'); $table->string('image')->nullable(); $table->text('task_description'); - $table->integer('amount_report')->default(0); + $table->integer('required_reports')->default(0); $table->unsignedBigInteger('cooperation_id'); $table->unsignedBigInteger('enhancer_id'); $table->foreign('cooperation_id')->references('id')->on('cooperations'); diff --git a/database/migrations/2025_03_13_062514_create_reports_table.php b/database/migrations/2025_03_13_062514_create_reports_table.php new file mode 100644 index 0000000..636cd24 --- /dev/null +++ b/database/migrations/2025_03_13_062514_create_reports_table.php @@ -0,0 +1,39 @@ +id(); + $table->string('title'); + $table->date('publication_date'); + $table->string('link'); + $table->string('proof'); + $table->text('description')->nullable(); + $table->enum('status', ['0', '1', '2', '3'])->default('0'); + $table->text('rejection_reason')->nullable(); + $table->unsignedBigInteger('media_id'); + $table->unsignedBigInteger('order_id'); + $table->foreign('media_id')->references('id')->on('media'); + $table->foreign('order_id')->references('id')->on('orders'); + $table->timestamps(); + $table->softDeletes(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('reports'); + } +}; diff --git a/database/seeders/ReportSeeder.php b/database/seeders/ReportSeeder.php new file mode 100644 index 0000000..e449382 --- /dev/null +++ b/database/seeders/ReportSeeder.php @@ -0,0 +1,17 @@ + 0) { + typingTimer = setTimeout(function() { + $.ajax({ + url: '/dashboard/reports/check-link', // Sesuaikan dengan route yang benar + method: 'POST', + data: { link: linkValue }, // CSRF sudah otomatis ditambahkan + success: function(response) { + console.log('Response:', response); + if (response.exists) { + $('#linkFeedback') + .removeClass('d-none text-success') + .addClass('text-danger') + .text('Link tersebut sudah ada di database!'); + inputField.addClass('is-invalid').removeClass('is-valid'); + } else { + $('#linkFeedback') + .removeClass('d-none text-danger') + .addClass('text-success') + .text('Link tidak ada di database.'); + inputField.addClass('is-valid').removeClass('is-invalid'); + } + }, + error: function(xhr, status, error) { + console.error('AJAX Error:', error); // Debugging + } + }); + }, delay); + } else { + $('#linkFeedback').addClass('d-none'); + inputField.removeClass('is-invalid is-valid'); + } + }); +}); + +document.querySelector('.image-preview').addEventListener('change', function(event) { + var reader = new FileReader(); + reader.onload = function(e) { + // Set the image source to the preview + document.getElementById('imagePreview').src = e.target.result; + + // Show the modal + $('#imagePreviewModal').modal('show'); + }; + reader.readAsDataURL(event.target.files[0]); +}); + +// Mendapatkan file PDF dari input +document.querySelector('.pdf-preview').addEventListener('change', function(event) { + var file = event.target.files[0]; + if (file && file.type === 'application/pdf') { + var reader = new FileReader(); + + reader.onload = function(e) { + var pdfDataUrl = e.target.result; + var iframe = document.getElementById('pdfPreviewIframe'); + iframe.src = pdfDataUrl; // Menampilkan file PDF di iframe + + // Menampilkan modal + var myModal = new bootstrap.Modal(document.getElementById('pdfPreviewModal'), { + keyboard: true + }); + myModal.show(); + }; + + reader.readAsDataURL(file); // Membaca file PDF sebagai data URL + } else { + alert('Please upload a valid PDF file.'); + } +}); + + diff --git a/resources/views/dashboard/cooperation-requests/create-proposal.blade.php b/resources/views/dashboard/cooperation-requests/create-proposal.blade.php index cb8eaa0..e757a5c 100644 --- a/resources/views/dashboard/cooperation-requests/create-proposal.blade.php +++ b/resources/views/dashboard/cooperation-requests/create-proposal.blade.php @@ -288,8 +288,11 @@
    - +
    + @error('attachment') + {{$message}} + @enderror
    diff --git a/resources/views/dashboard/cooperation-requests/index.blade.php b/resources/views/dashboard/cooperation-requests/index.blade.php index e4da4d6..f60e6c9 100644 --- a/resources/views/dashboard/cooperation-requests/index.blade.php +++ b/resources/views/dashboard/cooperation-requests/index.blade.php @@ -48,7 +48,6 @@ Nama Kegiatan Tanggal Awal Pengajuan Tanggal Akhir Pengajuan - Dibuat Pada Status diff --git a/resources/views/dashboard/media-cooperations/create.blade.php b/resources/views/dashboard/media-cooperations/create.blade.php index 14569c3..0cf47aa 100644 --- a/resources/views/dashboard/media-cooperations/create.blade.php +++ b/resources/views/dashboard/media-cooperations/create.blade.php @@ -71,7 +71,7 @@
    - +
    @error('banner') {{$message}} @@ -82,7 +82,7 @@
    - +
    @error('offer_file_template') {{$message}} diff --git a/resources/views/dashboard/media-cooperations/edit.blade.php b/resources/views/dashboard/media-cooperations/edit.blade.php index c52c781..2c2584f 100644 --- a/resources/views/dashboard/media-cooperations/edit.blade.php +++ b/resources/views/dashboard/media-cooperations/edit.blade.php @@ -72,7 +72,7 @@
    - +
    @error('banner') {{$message}} @@ -83,7 +83,7 @@
    - +
    @error('offer_file_template') {{$message}} diff --git a/resources/views/dashboard/media-cooperations/processes/media-orders/index.blade.php b/resources/views/dashboard/media-cooperations/processes/media-orders/index.blade.php index 21c8382..89c082f 100644 --- a/resources/views/dashboard/media-cooperations/processes/media-orders/index.blade.php +++ b/resources/views/dashboard/media-cooperations/processes/media-orders/index.blade.php @@ -49,6 +49,12 @@ {{idn_date($mediaOrder->end_date, 'l, d F Y')}}
    +
    +
    + Jumlah Laporan Setiap Media + {{$mediaOrder->required_reports}} Laporan Bukti Tayang +
    +
    @if (is_role(['3']))
    diff --git a/resources/views/dashboard/media-cooperations/processes/reports/index-admin.blade.php b/resources/views/dashboard/media-cooperations/processes/reports/index-admin.blade.php new file mode 100644 index 0000000..e6c79bf --- /dev/null +++ b/resources/views/dashboard/media-cooperations/processes/reports/index-admin.blade.php @@ -0,0 +1,52 @@ +@include('partials.dashboard.head') +@include('partials.dashboard.sidebar', ['page' => 'cooperations']) +@include('partials.dashboard.header') + +
    +
    +
    +
    +
    +
    +
    + @include('dashboard.media-cooperations.processes.tab') +
    +
    +
    + +
    +
    + + + + + + + + + + + +
    NoNama MediaNama PerusahaanEmailLaporan
    +
    +
    +
    +
    +
    + Kembali +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +@include('partials.dashboard.footer', ['rich_editor' => false, 'datatable' => 'admin_media_report']) diff --git a/resources/views/dashboard/media-cooperations/processes/reports/index-media.blade.php b/resources/views/dashboard/media-cooperations/processes/reports/index-media.blade.php new file mode 100644 index 0000000..a28b174 --- /dev/null +++ b/resources/views/dashboard/media-cooperations/processes/reports/index-media.blade.php @@ -0,0 +1,71 @@ +@include('partials.dashboard.head') +@include('partials.dashboard.sidebar', ['page' => 'cooperations']) +@include('partials.dashboard.header') + +
    +
    +
    +
    +
    +
    +
    + @include('dashboard.media-cooperations.processes.tab') +
    +
    + +
    + @if (is_role(['3'])) +
    + Kembali + @if (!$isReportsCompleted) + Buat Laporan + @endif + + @if ($isAllReportsAccepted) + Selesaikan + @endif +
    + @else +
    + Kembali + @endif +
    +
    +
    +
    +
    +
    +
    +
    +
    + +@include('partials.dashboard.footer', ['rich_editor' => false, 'datatable' => 'media_report']) diff --git a/resources/views/dashboard/media-cooperations/processes/tab.blade.php b/resources/views/dashboard/media-cooperations/processes/tab.blade.php index c4cc2d9..5f040b9 100644 --- a/resources/views/dashboard/media-cooperations/processes/tab.blade.php +++ b/resources/views/dashboard/media-cooperations/processes/tab.blade.php @@ -12,7 +12,7 @@ @if (is_role(['1'])) @else