Commit fe9bcfda authored by alissonalbuquerque's avatar alissonalbuquerque
Browse files

add correções de impl

parent f7ba4896
...@@ -93,6 +93,8 @@ class PadController extends Controller ...@@ -93,6 +93,8 @@ class PadController extends Controller
if($validated) if($validated)
{ {
$model = new Pad($request->all()); $model = new Pad($request->all());
$users = User::initQuery()->whereType(UserType::TEACHER)->get();
if($model->save()) if($model->save())
{ {
...@@ -100,14 +102,17 @@ class PadController extends Controller ...@@ -100,14 +102,17 @@ class PadController extends Controller
foreach($users as $user) foreach($users as $user)
{ {
$profile = $user->profile(UserType::TEACHER); $userType = $user->profile(UserType::TEACHER);
$userPad = new UserPad(); if($userType)
$userPad->pad_id = $model->id; {
$userPad->user_type_id = $profile->id; $userPad = new UserPad();
$userPad->status = Status::ATIVO; $userPad->pad_id = $model->id;
$userPad->user_type_id = $userType->id;
$userPad->save(); $userPad->status = Status::ATIVO;
$userPad->save();
}
} }
return redirect()->route('pad_index')->with('success', 'PAD cadastrado com sucesso!'); return redirect()->route('pad_index')->with('success', 'PAD cadastrado com sucesso!');
......
...@@ -17,12 +17,13 @@ use NunoMaduro\Collision\Adapters\Phpunit\State; ...@@ -17,12 +17,13 @@ use NunoMaduro\Collision\Adapters\Phpunit\State;
class UserController extends Controller class UserController extends Controller
{ {
public function editPerfil() { public function editPerfil()
{
return view('user.update_perfil', ['menu' => Menu::USER]); return view('user.update_perfil', ['menu' => Menu::USER]);
} }
public function updatePerfil(Request $request) { public function updatePerfil(Request $request)
{
$validator = User::validator($request->all()); $validator = User::validator($request->all());
if($validator->fails()) { if($validator->fails()) {
...@@ -34,12 +35,11 @@ class UserController extends Controller ...@@ -34,12 +35,11 @@ class UserController extends Controller
$user->save(); $user->save();
return redirect()->route('edit_perfil')->with('success', 'Salvo com sucesso!'); return redirect()->route('edit_perfil')->with('success', 'Salvo com sucesso!');
} }
public function updatePassword(Request $request) { public function updatePassword(Request $request)
{
$validator = User::validator($request->all(), true); $validator = User::validatorPassword($request->all());
// if($validator->fails()) { // if($validator->fails()) {
// return redirect()->back()->withErrors($validator->errors()); // return redirect()->back()->withErrors($validator->errors());
......
...@@ -41,75 +41,78 @@ class User extends Authenticatable ...@@ -41,75 +41,78 @@ class User extends Authenticatable
]; ];
// Validate User General: name, email and password public static function validator(array $attributes)
public static function ruleDefault()
{ {
return [ $rules = [
'name' => ['required', 'min:4'], 'name' => ['required', 'min:4'],
'email' => ['required', 'email'] 'email' => ['required', 'email']
]; ];
}
public static function validatePassword() $messages = [
{ //name
return [ 'name.min' => 'O campo "Nome" dever ter no mínimo 4 caracteres.',
'name.required' => 'O campo "Nome" é obrigatório.',
//email
'email.required' => 'O campo "E-Mail" é obrigatório.',
'email.email' => 'O campo "E-Mail" deve conter um e-mail valido.'
]; ];
}
// Validate User from Type Admin try {
public static function ruleAdmin() return Validator::make($attributes, $rules, $messages);
{ } catch(ValidationException $exception) {
return [
]; }
} }
// Validate User from Type Teacher public static function validatorPassword(array $attributes)
public static function ruleTeacher()
{ {
$rules = [
'password' => ['required', 'min:8'],
'password_confirmation' => [],
];
return []; $messages = [
}
public static function messages()
{
return [
'name.required' => 'O campo "Nome" é obrigatório!',
'email.required' => 'O "E-Mail" é obrigatório',
]; ];
try{
return Validator::make($attributes, $rules, $messages);
} catch(ValidationException $exception) {
}
} }
/** /**
* Validar os campos de acordo com as regras implementadas * Validar os campos de acordo com as regras implementadas
* *
*/ */
public static function validator($attributes, $rule_password = false) { // public static function validator($attributes, $rule_password = false) {
$rules = [ // $rules = [
'name' => ['required'], // 'name' => ['required'],
'email' => ['required', 'email'], // 'email' => ['required', 'email'],
]; // ];
if($rule_password) { // if($rule_password) {
$rules = [ // $rules = [
'password' => ['required', 'min:8'], // 'password' => ['required', 'min:8'],
'password_confirmation' => [], // 'password_confirmation' => [],
]; // ];
} // }
$messages = [ // $messages = [
// 'unique' => "O :attribute já está registrado no sistema", // // 'unique' => "O :attribute já está registrado no sistema",
'required' => "O :attribute precisa ser preenchido", // 'required' => "O :attribute precisa ser preenchido",
]; // ];
try { // try {
return Validator::make($attributes, $rules, $messages); // return Validator::make($attributes, $rules, $messages);
} catch(ValidationException $exception) { // } catch(ValidationException $exception) {
} // }
} // }
/** /**
* Get Curso with curso.id = user.curso_id * Get Curso with curso.id = user.curso_id
...@@ -133,10 +136,7 @@ class User extends Authenticatable ...@@ -133,10 +136,7 @@ class User extends Authenticatable
public function profile($type_profile) public function profile($type_profile)
{ {
return UserType::initQuery() return UserType::initQuery()->whereUser($this->id)->whereType($type_profile)->first();
->whereUser($this->id)
->whereType($type_profile)
->first();
} }
/** @return UserType[]|null */ /** @return UserType[]|null */
......
...@@ -16,7 +16,7 @@ class UserPad extends Model ...@@ -16,7 +16,7 @@ class UserPad extends Model
protected $table = 'user_pad'; protected $table = 'user_pad';
protected $fillable = ['user_type_id', 'pad_id', 'status']; protected $fillable = ['id', 'user_type_id', 'pad_id', 'status'];
public function user() { public function user() {
return $this->belongsTo(UserType::class); return $this->belongsTo(UserType::class);
......
...@@ -59,19 +59,19 @@ ...@@ -59,19 +59,19 @@
<div class="mx-2"> <div class="mx-2">
<div class="mb-3"> <div class="mb-3">
<h3 class="h3"> ANEXOS </h3> <!-- <h3 class="h3"> ANEXOS </h3> -->
</div> </div>
</div> </div>
<div class="d-flex my-2"> <div class="d-flex my-2">
<div class="card mx-2" style="width: 10rem;"> <!-- <div class="card mx-2" style="width: 10rem;">
<div class="card-body"> <div class="card-body">
<h2 class="text-center"> <i class="bi bi-file-earmark-text-fill"></i> </h2> <h2 class="text-center"> <i class="bi bi-file-earmark-text-fill"></i> </h2>
<h3 class="text-center"> Anexo B </h3> <h3 class="text-center"> Anexo B </h3>
<a class="stretched-link" href="{{-- route('') --}}" class="btn-pad-dimensao"></a> <a class="stretched-link" href="{{-- route('') --}}" class="btn-pad-dimensao"></a>
</div> </div>
</div> </div> -->
</div> </div>
@endsection @endsection
@extends('layouts.main') @extends('layouts.main')
@section('title', 'Atulizar Perfil') @section('title', 'Atualizar Perfil')
@section('header') @section('header')
@include('layouts.header', [ @include('layouts.header', [
...@@ -14,100 +14,118 @@ ...@@ -14,100 +14,118 @@
]) ])
@endsection @endsection
@php
$user = Auth::user();
@endphp
@section('body') @section('body')
<div class="container">
@include('components.alerts') @include('components.alerts')
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom"> <div class="mb-3">
<h1 class="h2"> Atualizar Perfil </h1> <h3 class="h4"> Editar Perfil </h3>
</div> </div>
<div class="content"> <!-- Tabs -->
<!-- Tab Panel --> <div>
<div class="mb-4"> <ul class="nav nav-tabs">
<ul class="nav nav-tabs" id="tab-link" role="tablist"> <li class="nav-item" role="presentation">
<li class="nav-item"> <button class="nav-link active" id="user-tab" data-bs-toggle="tab" data-bs-target="#user-container" type="button" role="tab" aria-controls="user-container" arial-selected="true"> Usuário </button>
<a class="nav-link active" id="perfil-tab" data-toggle="tab" href="#perfil" role="tab" aria-controls="perfil" aria-selected="true"> Perfil </a>
</li>
<li class="nav-item">
<a class="nav-link" id="senha-tab" data-toggle="tab" href="#senha" role="tab" aria-controls="senha" aria-selected="false"> Senha </a>
</li> </li>
<!-- <li class="nav-item" role="presentation">
<button class="nav-link" id="paper-tab" data-bs-toggle="tab" data-bs-target="#paper-container" type="button" role="tab" aria-controls="paper-container" arial-selected="false"> Papeis </button>
</li> -->
</ul> </ul>
</div> </div>
<!-- Tab Content --> <!-- Panels -->
<div class="tab-content" id="tab-content"> <div id="tab-containers" class="tab-content">
<!-- Perfil -->
<div class="tab-pane fade show active" id="perfil" role="tabpanel" aria-labelledby="perfil-tab"> <div id="user-container" class="tab-pane fade show active" role="tabpanel" aria-labelledby="user-tab">
<form class="" method="post" action="{{ route('update_perfil') }}" >
<form class="" method="post" action="{{ route('update_perfil') }}" >
@csrf @csrf
@method('POST') @method('POST')
<div class="form-group"> <div class="border border-rounded mt-2 p-2">
<label for="email"> E-mail </label>
<input type="email" class="form-control" name="email" id="email" placeholder="example@email.com" value="{{ Auth::user()->email }}"> <div class="row">
<small id="email_information" class="form-text text-muted"> {{-- --}} </small> <div class="mb-4 col-12">
@error('email') <div class="form-group">
<span class="text-danger"> {{ $message }} </span> <label class="form-label" for="name"> Nome </label>
@enderror <input type="text" name="name" id="name" class="form-control @error('name') is-invalid @enderror" placeholder="Nome" value="{{ $user->name }}">
</div> @include('components.divs.errors', ['field' => 'name'])
<div class="form-group"> </div>
<label for="name"> Nome </label> </div>
<input type="name" class="form-control" name="name" id="name" placeholder="Nome Completo" value="{{ Auth::user()->name }}">
<small id="name_information" class="form-text text-muted"> {{-- --}} </small> <div class="mb-4 col-12">
@error('name') <div class="form-group">
<span class="text-danger"> {{ $message }} </span> <label class="form-label" for="email"> E-Mail </label>
@enderror <input type="text" name="email" id="email" class="form-control @error('email') is-invalid @enderror" placeholder="E-Mail" value="{{ $user->email }}">
</div> @include('components.divs.errors', ['field' => 'email'])
<div class="form-group"> </div>
<label for="document"> CPF </label> </div>
<input type="document" class="form-control" name="document" id="document" placeholder="Senha" value="{{ Auth::user()->document }}"> </div>
<small id="document_information" class="form-text text-muted"> {{-- --}} </small>
@error('document')
<span class="text-danger"> {{ $message }} </span>
@enderror
</div> </div>
<div class="d-flex justify-content-end"> <div class="mt-1 text-end">
<button class="btn btn-success" type="submit"> Atualizar </button> <div class="modal-footer">
@include('components.buttons.btn-save', ['content' => 'Atualizar'])
@include('components.buttons.btn-cancel', ['content' => 'Cancelar', 'route' => route('dashboard')])
</div>
</div> </div>
</form> </form>
</div> </div>
<!-- Senha -->
<div class="tab-pane fade" id="senha" role="tabpanel" aria-labelledby="senha-tab"> <div id="paper-container" class="tab-pane fade" role="tabpanel" aria-labelledby="paper-tab">
<form method="post" action="{{ route('update_password') }}"> <form method="post" action="{{ route('update_password') }}">
@csrf @csrf
@method('POST') @method('POST')
<div class="row"> <div class="border border-rounded mt-2 p-2">
<div class="col-6"> <div class="row">
<div class="form-group"> <div class="row">
<label for="password"> Senha </label> <div class="col-6">
<input type="password" class="form-control" name="password" id="password" placeholder="Senha"> <div class="form-group">
<small id="password_information" class="form-text text-muted"> {{-- --}} </small> <label for="password"> Senha </label>
@error('password') <input type="password" class="form-control" name="password" id="password" placeholder="Senha">
<span class="text-danger"> {{ $message }} </span> <small id="password_information" class="form-text text-muted"> {{-- --}} </small>
@enderror @error('password')
</div> <span class="text-danger"> {{ $message }} </span>
</div> @enderror
<div class="col-6"> </div>
<div class="form-group"> </div>
<label for="password_confirmation"> Confirmar Senha </label> <div class="col-6">
<input type="password_confirmation" class="form-control" name="password_confirmation" id="password_confirmation" placeholder="Senha"> <div class="form-group">
<small id="password_confirmation_information" class="form-text text-muted"> {{-- --}} </small> <label for="password_confirmation"> Confirmar Senha </label>
@error('password_confirmation') <input type="password_confirmation" class="form-control" name="password_confirmation" id="password_confirmation" placeholder="Senha">
<span class="text-danger"> {{ $message }} </span> <small id="password_confirmation_information" class="form-text text-muted"> {{-- --}} </small>
@enderror @error('password_confirmation')
<span class="text-danger"> {{ $message }} </span>
@enderror
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
<div class="d-flex justify-content-end"> <div class="mt-1 text-end">
<button class="btn btn-success" type="submit"> Atualizar </button> <div class="modal-footer">
@include('components.buttons.btn-save', ['content' => 'Atualizar'])
@include('components.buttons.btn-cancel', ['content' => 'Cancelar', 'route' => route('dashboard')])
</div>
</div> </div>
</form> </form>
</div> </div>
</div> </div>
</div> </div>
@endsection
@endsection
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment