Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Walter Felipe
pad-upe
Commits
4ab799ca
"resources/views/projeto/editaFormulario/projeto.blade.php" did not exist on "1a944ec7ad10f34b2d2e509aa8b4fd6475e3e8e9"
Commit
4ab799ca
authored
Dec 11, 2022
by
alissonalbuquerque
Browse files
add correções de crud de usuário
parent
28cd190a
Changes
6
Hide whitespace changes
Inline
Side-by-side
app/Http/Controllers/UserController.php
View file @
4ab799ca
...
...
@@ -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
)
{
...
...
app/Models/User.php
View file @
4ab799ca
...
...
@@ -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'
=>
[],
];
}
...
...
database/migrations/2022_07_22_024613_create_user_type_table.php
View file @
4ab799ca
...
...
@@ -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'
);
...
...
resources/views/users/_form.blade.php
View file @
4ab799ca
@
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"
>
...
...
resources/views/users/create.blade.php
View file @
4ab799ca
...
...
@@ -26,7 +26,7 @@
</
div
>
<
form
action
=
"
{
{route('user_store')}
}
"
method
=
"POST"
>
@
include
(
'users._form'
,
[
'
type'
=>
'create'
])
@
include
(
'users._form'
,
[
'
model'
=>
$model
])
</
form
>
</
div
>
...
...
resources/views/users/update.blade.php
View file @
4ab799ca
...
...
@@ -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
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment