From 9abf7707b3892270a49d9c326bb784940c73d15d Mon Sep 17 00:00:00 2001 From: myuqinurrohman Date: Fri, 4 Apr 2025 13:39:26 +0700 Subject: [PATCH] chore: change UI accept and reject user --- .../Dashboard/DatatableController.php | 46 ++++++++++--- .../Controllers/Dashboard/UserController.php | 64 ++++++++++++++++++- .../views/dashboard/users/index.blade.php | 50 +++++++++++++++ .../users/profiles/account.blade.php | 1 + .../dashboard/users/profiles/action.blade.php | 48 ++++++++++++++ .../users/profiles/company.blade.php | 1 + .../users/profiles/heading.blade.php | 2 +- .../users/profiles/journalists.blade.php | 1 + .../dashboard/users/profiles/media.blade.php | 1 + .../dashboard/users/profiles/tabs.blade.php | 17 +++++ .../views/partials/app/datatable.blade.php | 9 ++- routes/web.php | 2 + 12 files changed, 227 insertions(+), 15 deletions(-) create mode 100644 resources/views/dashboard/users/profiles/action.blade.php diff --git a/app/Http/Controllers/Dashboard/DatatableController.php b/app/Http/Controllers/Dashboard/DatatableController.php index 6271d81..a93a65a 100644 --- a/app/Http/Controllers/Dashboard/DatatableController.php +++ b/app/Http/Controllers/Dashboard/DatatableController.php @@ -1861,15 +1861,33 @@ public function issueManagement(Request $request){ public function user(Request $request){ if ($request->ajax()) { - $roleParam = $request->input('role', null); + $role = $request->input('role', null); + $status = $request->input('status', null); - if($roleParam){ - $role = Role::findOrFail(decrypt_id($roleParam)); - $data = User::with(['role'])->where('role_id', '=', $role->id)->get(); - }else{ - $data = User::with(['role'])->get(); + $query = User::with(['role']); + + if($role && $role !== 'all'){ + $role = Role::findOrFail(decrypt_id($role)); + $query->where('role_id', '=', $role->id)->get(); } + if($status && in_array($status, ['waiting','active','nonactive'])){ + switch($status){ + case 'waiting': + $statusNum = '0'; + break; + case 'active': + $statusNum = '1'; + break; + case 'nonactive': + $statusNum = '2'; + break; + } + $query->where('status', '=', $statusNum)->get(); + } + + $data = $query->get(); + return DataTables::of($data) ->addIndexColumn() ->addColumn('role', function ($data){ @@ -1893,9 +1911,9 @@ public function user(Request $request){ ->addColumn('action', function ($data) { $showUrl = route('dashboard.users.show', ['id' => encrypt_id($data->id), 'type' => 'account']); - $acceptUrl = route('dashboard.users.status.action', ['id' => encrypt_id($data->id), 'action' => 'accept']); + $acceptUrl = route('dashboard.users.process', ['id' => encrypt_id($data->id), 'type' => 'account', 'process' => 'accept']); - $rejectUrl = route('dashboard.users.status.action', ['id' => encrypt_id($data->id), 'action' => 'reject']); + $rejectUrl = route('dashboard.users.process', ['id' => encrypt_id($data->id), 'type' => 'account', 'process' => 'reject']); $resetPasswordUrl = route('dashboard.users.reset.password', ['id' => encrypt_id($data->id)]); @@ -1909,12 +1927,20 @@ public function user(Request $request){ @@ -55,6 +60,51 @@ + diff --git a/resources/views/dashboard/users/profiles/account.blade.php b/resources/views/dashboard/users/profiles/account.blade.php index 796d5a2..4637786 100644 --- a/resources/views/dashboard/users/profiles/account.blade.php +++ b/resources/views/dashboard/users/profiles/account.blade.php @@ -82,6 +82,7 @@ + @include('dashboard.users.profiles.action') diff --git a/resources/views/dashboard/users/profiles/action.blade.php b/resources/views/dashboard/users/profiles/action.blade.php new file mode 100644 index 0000000..127f9a2 --- /dev/null +++ b/resources/views/dashboard/users/profiles/action.blade.php @@ -0,0 +1,48 @@ +@if ($user->status === '0' && isset($process) && $process === 'accept') +
+ Tolak + + Terima + +
+@elseif ($user->status === '0' && isset($process) && $process === 'reject') +
+ +
+ {{-- {{dd($mediaCooperationPivot->status != '0')}} --}} +
+ @csrf + @method('put') +
+ + @if ($user->status === '0') +
+ +
+ @elseif ($user->status === '2') +
+
+
+ {!!$user->company->rejection_reason!!} +
+
+
+ @endif +
+
+
+ Kembali + @if ($user->status === '0') + + @endif +
+
+
+
+@endif diff --git a/resources/views/dashboard/users/profiles/company.blade.php b/resources/views/dashboard/users/profiles/company.blade.php index b580529..beff99f 100644 --- a/resources/views/dashboard/users/profiles/company.blade.php +++ b/resources/views/dashboard/users/profiles/company.blade.php @@ -197,6 +197,7 @@ + @include('dashboard.users.profiles.action') diff --git a/resources/views/dashboard/users/profiles/heading.blade.php b/resources/views/dashboard/users/profiles/heading.blade.php index d01b87a..c27231d 100644 --- a/resources/views/dashboard/users/profiles/heading.blade.php +++ b/resources/views/dashboard/users/profiles/heading.blade.php @@ -11,7 +11,7 @@ Kembali -@elseif ($page === 'show-user') +@elseif (in_array($page, ['show-user', 'process']))

Profile Pengguna

diff --git a/resources/views/dashboard/users/profiles/journalists.blade.php b/resources/views/dashboard/users/profiles/journalists.blade.php index 364061f..f366bae 100644 --- a/resources/views/dashboard/users/profiles/journalists.blade.php +++ b/resources/views/dashboard/users/profiles/journalists.blade.php @@ -108,6 +108,7 @@
+ @include('dashboard.users.profiles.action') diff --git a/resources/views/dashboard/users/profiles/media.blade.php b/resources/views/dashboard/users/profiles/media.blade.php index e3781d2..0ced3d5 100644 --- a/resources/views/dashboard/users/profiles/media.blade.php +++ b/resources/views/dashboard/users/profiles/media.blade.php @@ -95,6 +95,7 @@ + @include('dashboard.users.profiles.action') diff --git a/resources/views/dashboard/users/profiles/tabs.blade.php b/resources/views/dashboard/users/profiles/tabs.blade.php index a90345c..53d1577 100644 --- a/resources/views/dashboard/users/profiles/tabs.blade.php +++ b/resources/views/dashboard/users/profiles/tabs.blade.php @@ -38,4 +38,21 @@ Aktivitas Login +@elseif ($page === 'process' && isset($process)) + @endif diff --git a/resources/views/partials/app/datatable.blade.php b/resources/views/partials/app/datatable.blade.php index 69efc1c..46a5d3d 100644 --- a/resources/views/partials/app/datatable.blade.php +++ b/resources/views/partials/app/datatable.blade.php @@ -900,7 +900,14 @@ $('#usersTable').DataTable({ processing: true, serverSide: true, - ajax: '{{ route('dashboard.users.data', ["role" => $role]) }}', + ajax: { + url: '{{ route('dashboard.users.data') }}', + type: 'GET', + data: function(d) { + d.role = '{{ $role }}'; + d.status = '{{ $status }}'; + } + }, columns: [ { data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false }, { data: 'name', name: 'name' }, diff --git a/routes/web.php b/routes/web.php index e9a099f..26e37d6 100644 --- a/routes/web.php +++ b/routes/web.php @@ -464,8 +464,10 @@ Route::controller(UserController::class)->group(function(){ Route::middleware(['role:1'])->group(function(){ Route::get('/', 'index')->name('index'); + Route::post('/filter', 'filter')->name('filter'); Route::get('/create', 'create')->name('create'); Route::post('/', 'store')->name('store'); + Route::get('/{id}/{type}/{process}/process', 'process')->name('process'); Route::get('/{id}/{type}/show', 'show')->name('show'); Route::get('/{id}/edit', 'edit')->name('edit'); Route::put('/{id}', 'update')->name('update');