MIF_E31230580/app/Http/Controllers/AdminController.php

86 lines
2.4 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\User;
use App\Models\Community;
use App\Models\SocialMedia;
use Illuminate\Http\Request;
class AdminController extends Controller
{
// 1. Dashboard (Menampilkan data ke halaman utama)
public function index()
{
$communities = Community::all();
$socials = SocialMedia::all();
return view('dashboard', compact('communities', 'socials'));
}
public function createCommunity()
{
// Karena tadi kita sepakat mau pakai modal atau cara lain,
// minimal fungsi ini harus ada supaya error-nya hilang.
// Jika kamu ingin mengarahkan kembali ke dashboard:
return redirect()->route('dashboard')->with('status', 'Silakan isi form di modal');
}
public function createSocial()
{
return redirect()->route('dashboard')->with('status', 'Silakan isi form di modal');
}
// 2. Kelola User
public function users()
{
$users = User::where('role', 'user')->get();
$admins = User::where('role', 'admin')->get();
return view('admin.users', compact('users', 'admins'));
}
// 3. Kelola Komunitas & Sosmed (Halaman Admin)
public function communityIndex()
{
$communities = Community::all();
$socials = SocialMedia::all();
return view('admin.community', compact('communities', 'socials'));
}
// 4. Aksi Komunitas
public function storeCommunity(Request $request)
{
$request->validate([
'name' => 'required', // Nama Komunitas
'sub_judul' => 'required', // Sub Judul
'deskripsi' => 'required',
]);
\App\Models\Community::create([
'name' => $request->name, // Masuk ke kolom 'name'
'sub_judul' => $request->sub_judul, // Masuk ke kolom 'sub_judul'
'deskripsi' => $request->deskripsi, // Masuk ke kolom 'deskripsi'
'icon' => '🏛️',
'link' => '#',
]);
return back()->with('success', 'Komunitas berhasil ditambah!');
}
public function storeSocial(Request $request)
{
$request->validate([
'name' => 'required', // Judul
'deskripsi' => 'required', // Deskripsi
'link' => 'required|url'
]);
\App\Models\SocialMedia::create([
'platform' => $request->name,
'deskripsi' => $request->deskripsi,
'link' => $request->link,
]);
return back()->with('success', 'Media sosial berhasil ditambah!');
}
}