created master data: rayon, cost centre, kategori

This commit is contained in:
Jagad R R
2024-12-12 18:18:26 +07:00
parent 8cf94b5a5e
commit 095c2169c5
38 changed files with 1249 additions and 17 deletions
@@ -56,6 +56,7 @@ class AdminsController extends Controller
$admin->password = Hash::make($request->password);
$admin->username = $request->username;
$admin->email = $request->email;
$admin->phone = $request->phone;
$admin->save();
if ($request->roles) {
@@ -93,6 +94,7 @@ class AdminsController extends Controller
$admin->name = $request->name;
$admin->email = $request->email;
$admin->username = $request->username;
$admin->phone = $request->phone;
if ($request->password) {
$admin->password = Hash::make($request->password);
@@ -104,7 +106,7 @@ class AdminsController extends Controller
}
session()->flash('success', 'Admin has been updated.');
return back();
return redirect()->route('admin.admins.index');
}
public function destroy(int $id): RedirectResponse
@@ -114,6 +116,6 @@ class AdminsController extends Controller
$admin = Admin::findOrFail($id);
$admin->delete();
session()->flash('success', 'Admin has been deleted.');
return back();
return redirect()->route('admin.admins.index');
}
}
@@ -104,7 +104,7 @@ class RolesController extends Controller
}
session()->flash('success', 'Role has been updated.');
return back();
return redirect()->route('admin.roles.index');
}
public function destroy(int $id): RedirectResponse
@@ -0,0 +1,45 @@
<?php
namespace App\Http\Controllers\Forms;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\FormUpCountry;
use App\Models\Rayon;
class FormUpCountryController extends Controller
{
public function index()
{
return view('backend.pages.forms.upcountry.index');
}
public function create()
{
return view('backend.pages.forms.upcountry.create', [
'rayons' => Rayon::all()
]);
}
public function store()
{
}
public function edit()
{
return view('backend.pages.forms.upcountry.edit', [
'rayons' => Rayon::all()
]);
}
public function update()
{
}
public function destroy()
{
}
}
@@ -0,0 +1,69 @@
<?php
namespace App\Http\Controllers\Master;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\Kategori;
class CategoryController extends Controller
{
public function index()
{
return view('backend.pages.master.category.index', [
'categories' => Kategori::all()
]);
}
public function create()
{
return view('backend.pages.master.category.create');
}
public function store(Request $request)
{
$request->validate([
'name' => 'required|unique:kategori,name',
'account_number' => 'required|unique:kategori,account_number'
]);
Kategori::create([
'name' => $request->name,
'account_number' => $request->account_number
]);
session()->flash('success', 'Category has been created.');
return redirect()->route('admin.category.index');
}
public function edit($id)
{
return view('backend.pages.master.category.edit', [
'category' => Kategori::findOrfail($id)
]);
}
public function update(Request $request, $id)
{
$request->validate([
'name' => 'required|unique:kategori,name,' . $id . ',id',
'account_number' => 'required|unique:kategori,account_number,' . $id . ',id'
]);
Kategori::findOrfail($id)->update([
'name' => $request->name,
'account_number' => $request->account_number
]);
session()->flash('success', 'Category has been updated.');
return redirect()->route('admin.category.index');
}
public function destroy($id)
{
Kategori::findOrfail($id)->delete();
session()->flash('success', 'Category has been deleted.');
return redirect()->route('admin.category.index');
}
}
@@ -0,0 +1,69 @@
<?php
namespace App\Http\Controllers\Master;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\CostCentre;
class CostCentreController extends Controller
{
public function index()
{
return view('backend.pages.master.cost.index', [
'costs' => CostCentre::all()
]);
}
public function create()
{
return view('backend.pages.master.cost.create');
}
public function store(Request $request)
{
$request->validate([
'code' => 'required|unique:cost_centre,code',
'name' => 'required|unique:cost_centre,name'
]);
CostCentre::create([
'code' => $request->code,
'name' => $request->name
]);
session()->flash('success', 'Cost Centre has been created.');
return redirect()->route('admin.cost.index');
}
public function edit($id)
{
return view('backend.pages.master.cost.edit', [
'cost' => CostCentre::findOrfail($id)
]);
}
public function update(Request $request, $id)
{
$request->validate([
'code' => 'required|unique:cost_centre,code,' . $id . ',id',
'name' => 'required|unique:cost_centre,name,' . $id . ',id'
]);
CostCentre::findOrfail($id)->update([
'code' => $request->code,
'name' => $request->name
]);
session()->flash('success', 'Cost has been updated.');
return redirect()->route('admin.cost.index');
}
public function destroy($id)
{
CostCentre::findOrfail($id)->delete();
session()->flash('success', 'Cost has been deleted.');
return redirect()->route('admin.cost.index');
}
}
@@ -0,0 +1,69 @@
<?php
namespace App\Http\Controllers\Master;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\Rayon;
class RayonController extends Controller
{
public function index()
{
return view('backend.pages.master.rayon.index', [
'rayons' => Rayon::all()
]);
}
public function create()
{
return view('backend.pages.master.rayon.create');
}
public function store(Request $request)
{
$request->validate([
'code' => 'required|unique:rayon,code',
'name' => 'required|unique:rayon,name'
]);
Rayon::create([
'code' => $request->code,
'name' => $request->name
]);
session()->flash('success', 'Rayon has been created.');
return redirect()->route('admin.rayon.index');
}
public function edit($id)
{
return view('backend.pages.master.rayon.edit', [
'rayon' => Rayon::findOrfail($id)
]);
}
public function update(Request $request, $id)
{
$request->validate([
'code' => 'required|unique:rayon,code,' . $id . ',id',
'name' => 'required|unique:rayon,name,' . $id . ',id'
]);
Rayon::findOrfail($id)->update([
'code' => $request->code,
'name' => $request->name
]);
session()->flash('success', 'Rayon has been updated.');
return redirect()->route('admin.rayon.index');
}
public function destroy($id)
{
Rayon::findOrfail($id)->delete();
session()->flash('success', 'Rayon has been deleted.');
return redirect()->route('admin.rayon.index');
}
}
+2 -5
View File
@@ -7,7 +7,6 @@ use Spatie\Menu\Laravel\Facades\Menu;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
class MenuMiddleware
{
@@ -42,9 +41,7 @@ class MenuMiddleware
WHERE m.parent_id IS NULL AND rm.role_id = '".$currentRoleId."'
ORDER BY m.id
");
foreach ($menus as $item) {
// Ambil submenu jika ada
$children = DB::select("
@@ -77,7 +74,7 @@ class MenuMiddleware
'<li class="nav-item">' .
'<a href="#" class="nav-link">' .
'<i class="nav-icon ' . $item->icon . '"></i>' .
'<p>' . $item->title . '<i class="fas fa-angle-left right"></i></p>' .
'<p>' . $item->title . '<i class="fas fa-angle-left right mt-1"></i></p>' .
'</a>' .
$submenu->render() .
'</li>'
+1
View File
@@ -30,6 +30,7 @@ class AdminRequest extends FormRequest
'email' => 'required|max:100|email|unique:admins,email,' . $adminId,
'username' => 'required|max:100|unique:admins,username,' . $adminId,
'password' => $adminId ? 'nullable|confirmed' : 'confirmed',
'phone' => 'required|max:15|unique:admins,phone,' . $adminId,
];
}
}