'required', 'cognome' => 'required', 'email' => 'required', 'password' => 'required' ]; protected $messages = [ 'name.required' => 'Il nome è obbligatorio', 'cognome.required' => 'Il cognome è obbligatorio', 'email.required' => 'La mail è obbligatoria', 'password.required' => 'La password è obbligatoria', ]; public function resetFields(){ $this->name = ''; $this->cognome = ''; $this->email = ''; $this->password = ''; $this->oldPassword = ''; $this->level = 0; $this->enabled = true; $this->emit('load-data-table'); } public function render() { $this->records = \App\Models\User::select('id', 'name','cognome' ,'email', 'password', 'level', 'enabled')->get(); return view('livewire.user'); } public function add() { $this->resetFields(); $this->add = true; $this->update = false; $this->enabled = true; $this->userExists = false; } public function store() { Log::info('User store', [ 'name' => $this->name, 'cognome' => $this->cognome, 'email' => $this->email, 'level' => $this->level, 'enabled' => $this->enabled ]); $rules = [ 'name' => 'required', 'cognome' => 'required', 'email' => 'required|email|unique:users,email', 'password' => 'required|min:6' ]; $messages = [ 'name.required' => 'Il nome è obbligatorio', 'cognome.required' => 'Il cognome è obbligatorio', 'email.required' => 'La mail è obbligatoria', 'email.email' => 'La mail deve essere un indirizzo valido', 'email.unique' => 'Questa mail è già stata utilizzata', 'password.required' => 'La password è obbligatoria', 'password.min' => 'La password deve essere di almeno 6 caratteri' ]; $this->validate($rules, $messages); Log::info('User store', [ 'name' => $this->name, 'cognome' => $this->cognome, 'email' => $this->email, 'level' => $this->level, 'enabled' => $this->enabled ]); try { \App\Models\User::create([ 'name' => $this->name, 'cognome' => $this->cognome, 'email' => $this->email, 'password' => bcrypt($this->password), 'level' => $this->level, 'enabled' => $this->enabled ]); Log::info('User created', [ 'name' => $this->name, 'cognome' => $this->cognome, 'email' => $this->email, 'level' => $this->level, 'enabled' => $this->enabled ]); session()->flash('success','Utente creato'); $this->resetFields(); $this->add = false; } catch (\Exception $ex) { session()->flash('error','Errore (' . $ex->getMessage() . ')'); } } public function edit($id){ try { $user = \App\Models\User::findOrFail($id); if( !$user) { session()->flash('error','Dato non trovato'); } else { $this->name = $user->name; $this->cognome = $user->cognome; $this->email = $user->email; $this->level = $user->level; $this->dataId = $user->id; $this->update = true; $this->add = false; $this->enabled = $user->enabled; $this->userExists = true; } Log::info('User edit', [ 'name' => $this->name, 'cognome' => $this->cognome, 'email' => $this->email, 'level' => $this->level ]); } catch (\Exception $ex) { session()->flash('error','Errore (' . $ex->getMessage() . ')'); } } public function update() { $this->validate(); try { if ($this->pa) \App\Models\User::whereId($this->dataId)->update([ 'name' => $this->name, 'cognome' => $this->cognome, 'email' => $this->email, 'password' => bcrypt($this->password), 'level' => $this->level, 'enabled' => $this->enabled ]); Log::info('User updated', [ 'name' => $this->name, 'cognome' => $this->cognome, 'email' => $this->email, 'level' => $this->level, 'enabled' => $this->enabled ]); session()->flash('success','Dato aggiornato'); $this->resetFields(); $this->update = false; } catch (\Exception $ex) { session()->flash('error','Errore (' . $ex->getMessage() . ')'); } } public function cancel() { $this->resetFields(); $this->add = false; $this->update = false; $this->userExists = false; $this->enabled = false; } public function delete($id) { try{ \App\Models\User::find($id)->delete(); session()->flash('success',"Dato eliminato"); }catch(\Exception $e){ session()->flash('error','Errore (' . $e->getMessage() . ')'); } } }