diff --git a/app/Http/Controllers/Dashboard/CooperationRequestController.php b/app/Http/Controllers/Dashboard/CooperationRequestController.php index 7483df1..e2a1a81 100644 --- a/app/Http/Controllers/Dashboard/CooperationRequestController.php +++ b/app/Http/Controllers/Dashboard/CooperationRequestController.php @@ -66,7 +66,7 @@ public function accept(Request $request, $id){ // dd($mediaCooperation->pivot); // Pastikan data yang ingin diperbarui ada dan statusnya belum '3' - if ($mediaCooperation->pivot->status != '3') { + if ($mediaCooperation->pivot->status == '0') { $affectedRows = $cooperation->media()->updateExistingPivot($mediaCooperation->id, [ 'status' => '1', ]); @@ -74,7 +74,7 @@ public function accept(Request $request, $id){ if ($affectedRows > 0) { return redirect()->back()->with('success-status', 'Berhasil menerima kerjasama.'); } else { - return redirect()->back()->with('failed-status', 'Gagal menerima kerjasama'); + return redirect()->back()->with('failed-status', 'Gagal menerima kerjasama.'); } } else { return redirect()->back()->with('failed-status', 'Kerjasama sudah diterima sebelumnya.'); @@ -82,14 +82,14 @@ public function accept(Request $request, $id){ } - public function proposal($id){ + public function createProposal($id){ $cooperation = Cooperation::with(['media'])->findOrFail(decrypt_id($id)); $mediaCooperationPivot = $cooperation->media() ->where('media.id', Auth::user()->company->media->id) ->first()->pivot; - return view('dashboard.cooperation-requests.proposal', [ + return view('dashboard.cooperation-requests.create-proposal', [ 'title' => 'Ajukan Kerjasama', 'user' => Auth::user(), 'cooperation' => $cooperation, @@ -97,7 +97,7 @@ public function proposal($id){ ]); } - public function proposalAction(JournalistCooperationProposalRequest $request, $id){ + public function storeProposal(JournalistCooperationProposalRequest $request, $id){ $validatedData = $request->validated(); $validatedData['cooperation_id'] = decrypt_id($id); $validatedData['media_id'] = Auth::user()->company->media->id; diff --git a/app/Http/Controllers/Dashboard/DatatableController.php b/app/Http/Controllers/Dashboard/DatatableController.php index ce17373..a1be8b0 100644 --- a/app/Http/Controllers/Dashboard/DatatableController.php +++ b/app/Http/Controllers/Dashboard/DatatableController.php @@ -16,7 +16,9 @@ use App\Models\Location; use App\Models\Media; use App\Models\MediaMonitoring; +use App\Models\MediaOrder; use App\Models\News; +use App\Models\Order; use App\Models\Role; use App\Models\SubClassification; use App\Models\SubLocation; @@ -812,7 +814,16 @@ public function journalist(Request $request){ public function cooperation(Request $request){ if ($request->ajax()) { - $data = Cooperation::with(['media'])->get(); + if(is_role(['1'])){ + $data = Cooperation::with(['media', 'mediaOrder'])->get(); + }else if(is_role(['3'])){ + $mediaId = Auth::user()->company->media->id; + $media = Media::findOrFail($mediaId); + $data = $media->cooperations->filter(function ($cooperation) use ($mediaId){ + // Filter cooperation berdasarkan status proposal yang 1 + return $cooperation->proposals->where('status', 1)->where('media_id', $mediaId)->isNotEmpty(); + }); + } return DataTables::of($data) @@ -820,18 +831,33 @@ public function cooperation(Request $request){ ->addColumn('name', function ($data) { return '
' . $data->name . '
'; }) - ->addColumn('start_date', function ($data) { - return idn_date($data->start_date, 'l, d F Y'); - }) - ->addColumn('end_date', function ($data) { - return idn_date($data->end_date, 'l, d F Y'); - }) + // ->addColumn('start_date', function ($data) { + // return idn_date($data->start_date, 'l, d F Y'); + // }) + // ->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) { + $isHaveMediaOrder = !is_null($data->mediaOrder); + if ($isHaveMediaOrder) { + return 'Media Order
Sudah Media Order'; + }else{ + return 'Pengajuan Kerjasama
Belum Media Order'; + } + }) ->addColumn('action', function ($data) { + + $isHaveMediaOrder = $data->mediaorder; + $showUrl = route('dashboard.cooperations.show', ['id' => encrypt_id($data->id)]); + $processUrl = route('dashboard.cooperations.process', ['id' => encrypt_id($data->id), 'process' => 'cooperation']); + + $createMediaOrderUrl = route('dashboard.media.orders.create', ['id' => encrypt_id($data->id)]); + $proposalsUrl = route('dashboard.cooperations.media.proposal', ['id' => encrypt_id($data->id)]); $editUrl = route('dashboard.cooperations.edit', ['id' => encrypt_id($data->id)]); @@ -844,6 +870,14 @@ public function cooperation(Request $request){