Edit File: UserCreate.php
<?php namespace App\Livewire\Admin\User; use App\Models\User; use App\Models\History; use App\Models\Role; use Illuminate\Database\Eloquent\Collection; use Livewire\Component; use Livewire\Attributes\Layout; use Livewire\Attributes\Validate; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Session; class UserCreate extends Component { #[Validate('required|string|max:100')] public string $name = ''; public string $email = ''; #[Validate('required|string|max:100')] public string $password = ''; #[Validate('required|string|max:100|unique:users,username')] public string $username = ''; public Collection $roles; #[Validate('required|string')] public string $role_id; public function mount() { $this->roles = Role::where("id", ">", Auth::user()->role_id)->get(); $this->role_id = $this->roles->last()->id; } public function store() { $this->validate(); $user = new User(); $user->name = $this->name; $user->username = $this->username; $user->password = $this->password; $user->role_id = $this->role_id; if($this->email) { $user->email = $this->email; } $user->save(); History::create([ 'name' => Auth::user()->name, 'page' => 'User', 'title' => Auth::user()->name . ' Created New User ' . $user->username, 'status' => 'success', ]); Session::flash('status', 'success'); Session::flash('message', 'New User Has Been Created'); return redirect()->route("admin.user"); } #[Layout("layouts.admin")] public function render() { return view('livewire.admin.user.user-create'); } }
Back