"resources/views/projeto/editaFormulario/projeto.blade.php" did not exist on "1a944ec7ad10f34b2d2e509aa8b4fd6475e3e8e9"
Commit 4ab799ca authored by alissonalbuquerque's avatar alissonalbuquerque
Browse files

add correções de crud de usuário

parent 28cd190a
......@@ -7,6 +7,7 @@ use App\Models\Util\Menu;
use App\Models\Util\Status;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use NunoMaduro\Collision\Adapters\Phpunit\State;
class UserController extends Controller
......@@ -59,26 +60,54 @@ class UserController extends Controller
]);
}
// Admin
public function actionCreate(Request $request)
{
{
$model = new User();
return view('users.create', [
'menu' => Menu::USERS,
'model' => $model,
]);
}
public function actionStore(Request $request)
{
dd($request->all());
{
$request->validate(User::ruleDefault(), User::messages());
$model = new User();
$model->fill($request->all());
$model->status = Status::ATIVO;
$email_splited = explode('@', $model->email);
$password = array_shift($email_splited);
$model->password = Hash::make($password);
if($model->save()) {
return redirect()->route('user_edit', ['id' => $model->id])->with('success', 'Usuário cadastrado com sucesso!');
}
return redirect()->with('fail', 'Falha ao cadastrar Usuário!');
}
public function actionEdit($id, Request $request)
public function actionEdit($id)
{
$model = User::find($id);
$status = [
Status::ATIVO => Status::listStatus(Status::ATIVO),
Status::INATIVO => Status::listStatus(Status::INATIVO)
];
return view('users.update', [
'menu' => Menu::USERS,
'model' => $model,
'status' => $status,
]);
}
public function actionUpdate($id, Request $request)
{
dd($id);
}
public function actionDelete($id) {
......
......@@ -40,6 +40,46 @@ class User extends Authenticatable
'email_verified_at' => 'datetime'
];
// Validate User General: name, email and password
public static function ruleDefault()
{
return [
'name' => ['required', 'min:4'],
'email' => ['required', 'email']
];
}
public static function validatePassword()
{
return [
];
}
// Validate User from Type Admin
public static function ruleAdmin()
{
return [
];
}
// Validate User from Type Teacher
public static function ruleTeacher()
{
return [];
}
public static function messages()
{
return [
'name.required' => 'O campo "Nome" é obrigatório!',
'email.required' => 'O "E-Mail" é obrigatório',
];
}
/**
* Validar os campos de acordo com as regras implementadas
*
......@@ -47,13 +87,13 @@ class User extends Authenticatable
public static function validator($attributes, $rule_password = false) {
$rules = [
'email' => ['required', 'email', ],
'name' => ['required', ]
'name' => ['required'],
'email' => ['required', 'email'],
];
if($rule_password) {
$rules = [
'password' => ['required', 'min:6'],
'password' => ['required', 'min:8'],
'password_confirmation' => [],
];
}
......
......@@ -16,7 +16,7 @@ class CreateUserTypeTable extends Migration
Schema::create('user_type', function (Blueprint $table) {
$table->id();
$table->foreignId('user_id');
$table->foreignId('pad_id');
$table->foreignId('pad_id')->nullable();
$table->tinyInteger('type');
$table->tinyInteger('status');
$table->boolean('selected');
......
@php
use App\Models\Util\Form;
if(!isset($type)) {
$type = Form::TYPE_CREATE;
}
@endphp
<!-- 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>
@if($type == Form::TYPE_UPDATE)
@if( $model->exists )
<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>
......@@ -33,32 +24,37 @@
<div class="mb-4 col-12">
<div class="form-group">
<label class="form-label" for="name"> Nome </label>
<input type="text" name="name" id="name" class="form-control" placeholder="Nome">
<input type="text" name="name" id="name" class="form-control @error('name') is-invalid @enderror" placeholder="Nome" value="{{ $model->exists ? $model->name : old('name') }}">
@include('components.divs.errors', ['field' => 'name'])
</div>
</div>
<div class="mb-4 col-12">
<div class="form-group">
<label class="form-label" for="email"> E-Mail </label>
<input type="text" name="email" id="email" class="form-control" placeholder="E-Mail">
<input type="text" name="email" id="email" class="form-control @error('email') is-invalid @enderror" placeholder="E-Mail" value="{{ $model->exists ? $model->email : old('email') }}">
@include('components.divs.errors', ['field' => 'email'])
</div>
</div>
@if($type == Form::TYPE_UPDATE)
@if( $model->exists )
<div class="mb-4 col-12">
<div class="form-group">
<label class="form-label" for="status"> Status </label>
<select class="form-select" name="status" id="status">
<option value="" disabled selected hidden> Selecione... </option>
@foreach([] as $option)
@foreach($status as $value => $text)
@if($model->status == $value)
<option value="{{ $value }}" selected> {{ $text }} </option>
@else
<option value="{{ $value }}"> {{ $text }} </option>
@endif
@endforeach
</select>
</div>
</div>
@endif
@if($type == Form::TYPE_UPDATE)
@if( $model->exists )
<div class="mb-4 col-6">
<div class="form-group">
<label class="form-label" for="curso_id"> Curso </label>
......@@ -72,7 +68,7 @@
</div>
@endif
@if($type == Form::TYPE_UPDATE)
@if( $model->exists )
<div class="mb-4 col-6">
<div class="form-group">
<label class="form-label" for="campus_id"> Campus </label>
......@@ -88,11 +84,11 @@
<div class="mt-1 text-end">
<div class="modal-footer">
@if($type == Form::TYPE_CREATE)
@if( !$model->exists )
@include('components.buttons.btn-save', ['content' => 'Cadastrar'])
@endif
@if($type == Form::TYPE_UPDATE)
@if( $model->exists )
@include('components.buttons.btn-save', ['content' => 'Atualizar'])
@endif
......@@ -103,7 +99,7 @@
</div>
</div>
@if($type == Form::TYPE_UPDATE)
@if( $model->exists )
<div id="paper-container" class="tab-pane fade" role="tabpanel" aria-labelledby="paper-tab">
<div class="border border-rounded mt-2 p-2">
<div class="row">
......
......@@ -26,7 +26,7 @@
</div>
<form action="{{route('user_store')}}" method="POST">
@include('users._form', ['type' => 'create'])
@include('users._form', ['model' => $model])
</form>
</div>
......
......@@ -21,8 +21,15 @@
@include('components.alerts')
<div class="mb-3">
<h3 class="h4"> Atualizar - Usuário </h3>
</div>
<form action="{{route('user_update', ['id' => $model->id])}}" method="POST">
@include('users._form', ['type' => 'update'])
@include('users._form', [
'model' => $model,
'status' => $status,
])
</form>
</div>
......
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