new admin design with mnodules
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Users\Http\Controllers;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Validation\Rule;
|
||||
use Spatie\Permission\Models\Role;
|
||||
|
||||
final class UserController extends Controller
|
||||
{
|
||||
public function index() { return view('stylist-theme-admin::administration.users.index', ['users' => User::with('roles')->latest()->paginate(20)]); }
|
||||
public function create() { return view('stylist-theme-admin::administration.users.create', ['roles' => Role::orderBy('name')->pluck('name')]); }
|
||||
public function store(Request $request) {
|
||||
$data=$request->validate(['name'=>['required','string','max:255'],'email'=>['required','email','max:255','unique:users,email'],'password'=>['required','string','min:8','confirmed'],'roles'=>['array'],'roles.*'=>['string','exists:roles,name']]);
|
||||
$user=User::create($data); $user->syncRoles($data['roles'] ?? []);
|
||||
return redirect()->route('administration.users.index')->with('status','User created.');
|
||||
}
|
||||
public function edit(User $user) { return view('stylist-theme-admin::administration.users.edit', ['user'=>$user->load('roles'),'roles'=>Role::orderBy('name')->pluck('name')]); }
|
||||
public function update(Request $request, User $user) {
|
||||
$data=$request->validate(['name'=>['required','string','max:255'],'email'=>['required','email','max:255',Rule::unique('users','email')->ignore($user)],'password'=>['nullable','string','min:8','confirmed'],'roles'=>['array'],'roles.*'=>['string','exists:roles,name']]);
|
||||
if (blank($data['password'] ?? null)) unset($data['password']);
|
||||
$user->update($data); $user->syncRoles($data['roles'] ?? []);
|
||||
return redirect()->route('administration.users.index')->with('status','User updated.');
|
||||
}
|
||||
public function destroy(User $user) {
|
||||
abort_if($user->is(auth()->user()),422,'You cannot delete your own account.');
|
||||
$user->delete(); return redirect()->route('administration.users.index')->with('status','User deleted.');
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,3 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
// Module routes are intentionally registered by each feature as it is enabled.
|
||||
use Illuminate\Support\Facades\Route; use Modules\Users\Http\Controllers\UserController;
|
||||
Route::middleware(['auth','verified'])->prefix('administration/users')->name('administration.users.')->group(function (): void { Route::resource('', UserController::class)->parameters([''=>'user'])->except(['show']); });
|
||||
|
||||
Reference in New Issue
Block a user