40 lines
1.1 KiB
PHP
40 lines
1.1 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace App\Http\Controllers\Admin;
|
||
|
|
|
||
|
|
use App\Http\Controllers\Controller;
|
||
|
|
use App\Models\Department;
|
||
|
|
use App\Models\Position;
|
||
|
|
use Illuminate\Http\Request;
|
||
|
|
|
||
|
|
class MasterDataController extends Controller
|
||
|
|
{
|
||
|
|
public function index()
|
||
|
|
{
|
||
|
|
$departments = Department::withCount('users')->get();
|
||
|
|
$positions = Position::withCount('users')->get();
|
||
|
|
|
||
|
|
return view('pages.admin.master.index', compact('departments', 'positions'));
|
||
|
|
}
|
||
|
|
|
||
|
|
public function storeDepartment(Request $request)
|
||
|
|
{
|
||
|
|
$validated = $request->validate([
|
||
|
|
'name' => 'required|string|max:255',
|
||
|
|
'code' => 'required|string|unique:departments,code'
|
||
|
|
]);
|
||
|
|
|
||
|
|
Department::create($validated);
|
||
|
|
return back()->with('success', 'Departemen baru berhasil ditambahkan.');
|
||
|
|
}
|
||
|
|
|
||
|
|
public function storePosition(Request $request)
|
||
|
|
{
|
||
|
|
$validated = $request->validate([
|
||
|
|
'name' => 'required|string|max:255|unique:positions,name'
|
||
|
|
]);
|
||
|
|
|
||
|
|
Position::create($validated);
|
||
|
|
return back()->with('success', 'Jabatan baru berhasil ditambahkan.');
|
||
|
|
}
|
||
|
|
}
|