| No | +Nama Jurnalis | +Perusahaan | +No Telepon | +Status | +Status Edit | ++ |
|---|
diff --git a/app/Http/Controllers/Dashboard/DatatableController.php b/app/Http/Controllers/Dashboard/DatatableController.php index ac12a10..a0f18f7 100644 --- a/app/Http/Controllers/Dashboard/DatatableController.php +++ b/app/Http/Controllers/Dashboard/DatatableController.php @@ -1008,7 +1008,114 @@ public function journalist(Request $request){ $query->withTrashed(); }, 'media.company.user' => function($query) { $query->withTrashed(); - }])->get(); + }]) + ->where('approved_status', '1') + ->whereNull('deleted_at') + ->get(); + + + return DataTables::of($data) + ->addIndexColumn() + ->addColumn('journalist_name', function ($data) { + return $data->name; + }) + ->addColumn('company_name', function ($data) { + return $data->media->company->name; + }) + ->addColumn('status', function ($data) { + switch($data->media->company->user->status){ + case 0: + return 'Menunggu'; + case 1: + return 'Diterima'; + case 2: + return 'Ditolak'; + case 3: + return 'Tidak Diketahui'; + default: + return 'Tidak Diketahui'; + } + }) + ->addColumn('status_edit', function ($data) { + switch($data->edit_status){ + case 0: + return 'Tidak Ada'; + case 1: + return 'Menunggu'; + case 2: + return 'Diterima'; + case 3: + return 'Ditolak'; + default: + return 'Tidak Diketahui'; + } + }) + ->addColumn('action', function ($data) { + $showUrl = route('dashboard.journalists.show', ['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)]); + + $processEditRequestCompanyUrl = route('dashboard.journalists.edit.process', ['id' => encrypt_id($data->id)]); + + $dropdown = '
'; + + return $dropdown; + }) + + ->rawColumns(['status', 'status_edit', 'action']) + ->make(true); + } + + return response()->json(['error' => 'Unauthorized'], 401); + + } + + public function journalistSubmission(Request $request, $role){ + if ($request->ajax()) { + + $data = Journalist::with(['media' => function($query) { + $query->withTrashed(); + }, 'media.company' => function($query) { + $query->withTrashed(); + }, 'media.company.user' => function($query) { + $query->withTrashed(); + }]); + + if ($role === '1') { + $data->where('approved_status', '0') + ->whereNull('deleted_at') + ->orWhere('approved_status', '2'); + } else if($role === '3'){ + $data->where('approved_status', '0') + ->orWhere('approved_status', '2') + ->whereNull('deleted_at') + ->where('media_id', Auth::user()->company->media->id); + } + + $data = $data->get(); return DataTables::of($data) @@ -1033,8 +1140,8 @@ public function journalist(Request $request){ return 'Tidak Diketahui'; } }) - ->addColumn('status_edit', function ($data) { - switch($data->edit_status){ + ->addColumn('approved_status', function ($data) { + switch($data->approved_status){ case 0: return 'Menunggu'; case 1: @@ -1050,6 +1157,8 @@ public function journalist(Request $request){ ->addColumn('action', function ($data) { $showUrl = route('dashboard.journalists.show', ['id' => encrypt_id($data->id)]); + $processUrl = route('dashboard.journalists.submissions.process', ['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)]); @@ -1060,12 +1169,16 @@ public function journalist(Request $request){| No | -Nama Jurnalis | -Perusahaan | -No Telepon | -Status | -Status Edit | -- |
|---|
Informasi umum terkait jurnalis Anda
+