Modifikasi logika hapus admin dan hapus venue
This commit is contained in:
parent
ca61a6b0fe
commit
f3020d2089
|
@ -5,6 +5,7 @@
|
|||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\User;
|
||||
use App\Models\Booking;
|
||||
use App\Models\Venue;
|
||||
|
||||
class AdminManagementController extends Controller
|
||||
|
@ -77,4 +78,20 @@ public function store(Request $request)
|
|||
return redirect()->route('superadmin.admin.index')
|
||||
->with('success', 'Admin berhasil ditambahkan!');
|
||||
}
|
||||
|
||||
public function destroy($id)
|
||||
{
|
||||
// Temukan user dengan role admin
|
||||
$admin = User::where('role', 'admin')->findOrFail($id);
|
||||
|
||||
// Hapus semua bookings yang terkait dengan admin ini
|
||||
Booking::where('user_id', $admin->id)->delete();
|
||||
|
||||
// Hapus admin
|
||||
$admin->delete();
|
||||
|
||||
// Redirect dengan pesan sukses
|
||||
return redirect()->route('superadmin.admin.index')
|
||||
->with('success', 'Admin berhasil dihapus beserta data booking yang terkait.');
|
||||
}
|
||||
}
|
|
@ -4,6 +4,8 @@
|
|||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\User;
|
||||
use App\Models\Booking;
|
||||
use App\Models\Venue;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
|
@ -150,9 +152,17 @@ public function update(Request $request, $id)
|
|||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
{
|
||||
$venue = Venue::findOrFail($id);
|
||||
|
||||
// Hapus admin yang memiliki venue_id sama
|
||||
$admins = User::where('venue_id', $venue->id)->get();
|
||||
foreach ($admins as $admin) {
|
||||
// Hapus semua bookings milik admin, jika ada
|
||||
Booking::where('user_id', $admin->id)->delete();
|
||||
$admin->delete();
|
||||
}
|
||||
|
||||
// Hapus gambar venue jika ada
|
||||
if ($venue->image && Storage::disk('public')->exists($venue->image)) {
|
||||
Storage::disk('public')->delete($venue->image);
|
||||
|
@ -173,7 +183,6 @@ public function destroy($id)
|
|||
$venue->delete();
|
||||
|
||||
return redirect()->route('superadmin.venue.index')
|
||||
->with('success', 'Venue berhasil dihapus!');
|
||||
}
|
||||
|
||||
->with('success', 'Venue dan semua data terkait berhasil dihapus!');
|
||||
}
|
||||
}
|
|
@ -127,10 +127,6 @@ class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full {{ $admin->
|
|||
{{ $admin->created_at->format('d M Y') }}
|
||||
</td>
|
||||
<td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium">
|
||||
<a href="{{ route('superadmin.admin.edit', $admin->id) }}"
|
||||
class="text-blue-600 hover:text-blue-800 mr-3">
|
||||
<i class="fas fa-edit"></i>
|
||||
</a>
|
||||
<button type="button" data-admin-id="{{ $admin->id }}" data-admin-name="{{ $admin->name }}"
|
||||
class="text-red-600 hover:text-red-800 delete-admin-btn">
|
||||
<i class="fas fa-trash-alt"></i>
|
||||
|
|
Loading…
Reference in New Issue