"resources/views/git@sites.upe.br:walter.felipe/submeta.git" did not exist on "619606e85fc758493494ebba2432ee037dd77855"
Commit fe9bcfda authored by alissonalbuquerque's avatar alissonalbuquerque
Browse files

add correções de impl

parent f7ba4896
......@@ -94,21 +94,26 @@ class PadController extends Controller
{
$model = new Pad($request->all());
$users = User::initQuery()->whereType(UserType::TEACHER)->get();
if($model->save())
{
$users = User::initQuery()->whereType(UserType::TEACHER)->get();
foreach($users as $user)
{
$profile = $user->profile(UserType::TEACHER);
$userType = $user->profile(UserType::TEACHER);
if($userType)
{
$userPad = new UserPad();
$userPad->pad_id = $model->id;
$userPad->user_type_id = $profile->id;
$userPad->user_type_id = $userType->id;
$userPad->status = Status::ATIVO;
$userPad->save();
}
}
return redirect()->route('pad_index')->with('success', 'PAD cadastrado com sucesso!');
} else {
......
......@@ -17,12 +17,13 @@ use NunoMaduro\Collision\Adapters\Phpunit\State;
class UserController extends Controller
{
public function editPerfil() {
public function editPerfil()
{
return view('user.update_perfil', ['menu' => Menu::USER]);
}
public function updatePerfil(Request $request) {
public function updatePerfil(Request $request)
{
$validator = User::validator($request->all());
if($validator->fails()) {
......@@ -34,12 +35,11 @@ class UserController extends Controller
$user->save();
return redirect()->route('edit_perfil')->with('success', 'Salvo com sucesso!');
}
public function updatePassword(Request $request) {
$validator = User::validator($request->all(), true);
public function updatePassword(Request $request)
{
$validator = User::validatorPassword($request->all());
// if($validator->fails()) {
// return redirect()->back()->withErrors($validator->errors());
......
......@@ -41,75 +41,78 @@ class User extends Authenticatable
];
// Validate User General: name, email and password
public static function ruleDefault()
public static function validator(array $attributes)
{
return [
$rules = [
'name' => ['required', 'min:4'],
'email' => ['required', 'email']
];
}
public static function validatePassword()
{
return [
$messages = [
//name
'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
public static function ruleAdmin()
{
return [
try {
return Validator::make($attributes, $rules, $messages);
} catch(ValidationException $exception) {
];
}
}
// Validate User from Type Teacher
public static function ruleTeacher()
public static function validatorPassword(array $attributes)
{
$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
*
*/
public static function validator($attributes, $rule_password = false) {
// public static function validator($attributes, $rule_password = false) {
$rules = [
'name' => ['required'],
'email' => ['required', 'email'],
];
// $rules = [
// 'name' => ['required'],
// 'email' => ['required', 'email'],
// ];
if($rule_password) {
$rules = [
'password' => ['required', 'min:8'],
'password_confirmation' => [],
];
}
// if($rule_password) {
// $rules = [
// 'password' => ['required', 'min:8'],
// 'password_confirmation' => [],
// ];
// }
$messages = [
// 'unique' => "O :attribute já está registrado no sistema",
'required' => "O :attribute precisa ser preenchido",
];
// $messages = [
// // 'unique' => "O :attribute já está registrado no sistema",
// 'required' => "O :attribute precisa ser preenchido",
// ];
try {
return Validator::make($attributes, $rules, $messages);
} catch(ValidationException $exception) {
// try {
// return Validator::make($attributes, $rules, $messages);
// } catch(ValidationException $exception) {
}
// }
}
// }
/**
* Get Curso with curso.id = user.curso_id
......@@ -133,10 +136,7 @@ class User extends Authenticatable
public function profile($type_profile)
{
return UserType::initQuery()
->whereUser($this->id)
->whereType($type_profile)
->first();
return UserType::initQuery()->whereUser($this->id)->whereType($type_profile)->first();
}
/** @return UserType[]|null */
......
......@@ -16,7 +16,7 @@ class UserPad extends Model
protected $table = 'user_pad';
protected $fillable = ['user_type_id', 'pad_id', 'status'];
protected $fillable = ['id', 'user_type_id', 'pad_id', 'status'];
public function user() {
return $this->belongsTo(UserType::class);
......
......@@ -59,19 +59,19 @@
<div class="mx-2">
<div class="mb-3">
<h3 class="h3"> ANEXOS </h3>
<!-- <h3 class="h3"> ANEXOS </h3> -->
</div>
</div>
<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">
<h2 class="text-center"> <i class="bi bi-file-earmark-text-fill"></i> </h2>
<h3 class="text-center"> Anexo B </h3>
<a class="stretched-link" href="{{-- route('') --}}" class="btn-pad-dimensao"></a>
</div>
</div>
</div> -->
</div>
@endsection
@extends('layouts.main')
@section('title', 'Atulizar Perfil')
@section('title', 'Atualizar Perfil')
@section('header')
@include('layouts.header', [
......@@ -14,72 +14,81 @@
])
@endsection
@php
$user = Auth::user();
@endphp
@section('body')
<div class="container">
@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">
<h1 class="h2"> Atualizar Perfil </h1>
<div class="mb-3">
<h3 class="h4"> Editar Perfil </h3>
</div>
<div class="content">
<!-- Tab Panel -->
<div class="mb-4">
<ul class="nav nav-tabs" id="tab-link" role="tablist">
<li class="nav-item">
<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>
<!-- Tabs -->
<div>
<ul class="nav nav-tabs">
<li class="nav-item" role="presentation">
<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>
</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>
</div>
<!-- Tab Content -->
<div class="tab-content" id="tab-content">
<!-- Perfil -->
<div class="tab-pane fade show active" id="perfil" role="tabpanel" aria-labelledby="perfil-tab">
<!-- Panels -->
<div id="tab-containers" class="tab-content">
<div id="user-container" class="tab-pane fade show active" role="tabpanel" aria-labelledby="user-tab">
<form class="" method="post" action="{{ route('update_perfil') }}" >
@csrf
@method('POST')
<div class="border border-rounded mt-2 p-2">
<div class="row">
<div class="mb-4 col-12">
<div class="form-group">
<label for="email"> E-mail </label>
<input type="email" class="form-control" name="email" id="email" placeholder="example@email.com" value="{{ Auth::user()->email }}">
<small id="email_information" class="form-text text-muted"> {{-- --}} </small>
@error('email')
<span class="text-danger"> {{ $message }} </span>
@enderror
<label class="form-label" for="name"> Nome </label>
<input type="text" name="name" id="name" class="form-control @error('name') is-invalid @enderror" placeholder="Nome" value="{{ $user->name }}">
@include('components.divs.errors', ['field' => 'name'])
</div>
<div class="form-group">
<label for="name"> Nome </label>
<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>
@error('name')
<span class="text-danger"> {{ $message }} </span>
@enderror
</div>
<div class="mb-4 col-12">
<div class="form-group">
<label for="document"> CPF </label>
<input type="document" class="form-control" name="document" id="document" placeholder="Senha" value="{{ Auth::user()->document }}">
<small id="document_information" class="form-text text-muted"> {{-- --}} </small>
@error('document')
<span class="text-danger"> {{ $message }} </span>
@enderror
<label class="form-label" for="email"> E-Mail </label>
<input type="text" name="email" id="email" class="form-control @error('email') is-invalid @enderror" placeholder="E-Mail" value="{{ $user->email }}">
@include('components.divs.errors', ['field' => 'email'])
</div>
</div>
</div>
</div>
<div class="d-flex justify-content-end">
<button class="btn btn-success" type="submit"> Atualizar </button>
<div class="mt-1 text-end">
<div class="modal-footer">
@include('components.buttons.btn-save', ['content' => 'Atualizar'])
@include('components.buttons.btn-cancel', ['content' => 'Cancelar', 'route' => route('dashboard')])
</div>
</div>
</form>
</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') }}">
@csrf
@method('POST')
<div class="border border-rounded mt-2 p-2">
<div class="row">
<div class="row">
<div class="col-6">
<div class="form-group">
......@@ -102,12 +111,21 @@
</div>
</div>
</div>
</div>
</div>
<div class="d-flex justify-content-end">
<button class="btn btn-success" type="submit"> Atualizar </button>
<div class="mt-1 text-end">
<div class="modal-footer">
@include('components.buttons.btn-save', ['content' => 'Atualizar'])
@include('components.buttons.btn-cancel', ['content' => 'Cancelar', 'route' => route('dashboard')])
</div>
</div>
</form>
</div>
</div>
</div>
@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