latest() ->paginate(10); return view('admin.admins.index', compact('admins')); } public function create() { $permissions = Permission::orderBy('id')->get(); return view( 'admin.admins.create', compact('permissions') ); } public function store(AdminStoreRequest $request) { $data = $request->validated(); $permissions = $data['permissions'] ?? []; unset($data['permissions']); $data['password'] = Hash::make($data['password']); $admin = Admin::create($data); $admin->permissions()->sync($permissions); return redirect() ->route('admin.admins.index') ->with('success', 'مدیر با موفقیت ایجاد شد.'); } public function edit(Admin $admin) { $permissions = Permission::orderBy('id')->get(); $admin->load('permissions'); return view( 'admin.admins.edit', compact('admin', 'permissions') ); } public function update( AdminUpdateRequest $request, Admin $admin ) { $data = $request->validated(); $permissions = $data['permissions'] ?? []; unset($data['permissions']); if (!empty($data['password'])) { $data['password'] = Hash::make( $data['password'] ); } else { unset($data['password']); } $admin->update($data); $admin->permissions()->sync($permissions); return redirect() ->route('admin.admins.index') ->with('success', 'مدیر با موفقیت ویرایش شد.'); } public function destroy(Admin $admin) { $admin->permissions()->detach(); $admin->delete(); return redirect() ->route('admin.admins.index') ->with('success', 'مدیر با موفقیت حذف شد.'); } }