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
07d2782b
Commit
07d2782b
authored
Feb 02, 2023
by
alissonalbuquerque
Browse files
add correções de CRUDs de ADMIN
parent
dafe5d5e
Changes
16
Hide whitespace changes
Inline
Side-by-side
app/Http/Controllers/CampusController.php
View file @
07d2782b
...
@@ -9,7 +9,7 @@ use App\Queries\CampusQuery;
...
@@ -9,7 +9,7 @@ use App\Queries\CampusQuery;
use
Illuminate\Http\Request
;
use
Illuminate\Http\Request
;
use
App\Models\Util\MenuItemsAdmin
;
use
App\Models\Util\MenuItemsAdmin
;
use
Illuminate\Log\Logger
;
use
Illuminate\Log\Logger
;
use
Illuminate\Support\Facades\Response
;
class
CampusController
extends
Controller
class
CampusController
extends
Controller
{
{
...
@@ -126,4 +126,40 @@ class CampusController extends Controller
...
@@ -126,4 +126,40 @@ class CampusController extends Controller
{
{
return
Campus
::
initQuery
()
->
whereUnidadeId
(
$unidade_id
)
->
orderBy
(
'name'
)
->
get
();
return
Campus
::
initQuery
()
->
whereUnidadeId
(
$unidade_id
)
->
orderBy
(
'name'
)
->
get
();
}
}
/**
*
* @params Illuminate\Http\Request\Request
*/
public
function
actionSearch
(
Request
$request
)
{
// QueryParams
$q
=
$request
->
query
(
'q'
);
$id
=
$request
->
query
(
'id'
);
$campus
=
Campus
::
where
([]);
if
(
$id
)
{
$campus
=
$campus
->
whereId
(
$id
);
}
if
(
$q
)
{
$campus
=
$campus
->
where
(
'name'
,
'like'
,
'%'
.
$q
.
'%'
);
}
$campus
=
$campus
->
get
();
$array
=
$campus
->
map
(
function
(
$campus
,
$key
)
{
return
[
'id'
=>
$campus
->
id
,
'text'
=>
$campus
->
name
,
];
});
$array
=
[
'results'
=>
$array
];
return
Response
::
json
(
$array
);
}
}
}
app/Http/Controllers/CursoController.php
View file @
07d2782b
...
@@ -4,10 +4,9 @@ namespace App\Http\Controllers;
...
@@ -4,10 +4,9 @@ namespace App\Http\Controllers;
use
App\Models\Campus
;
use
App\Models\Campus
;
use
App\Models\Curso
;
use
App\Models\Curso
;
use
App\Models\Unidade
;
use
App\Models\Util\Menu
;
use
App\Models\Util\Menu
;
use
App\Models\Util\MenuItemsAdmin
;
use
Illuminate\Http\Request
;
use
Illuminate\Http\Request
;
use
Illuminate\Support\Facades\Response
;
class
CursoController
extends
Controller
class
CursoController
extends
Controller
{
{
...
@@ -116,8 +115,9 @@ class CursoController extends Controller
...
@@ -116,8 +115,9 @@ class CursoController extends Controller
/**
/**
* Remove the specified resource from storage.
* Remove the specified resource from storage.
*
*
* @param int $id
* @param string $q
* @param string $id
* @return \Illuminate\Http\Response
* @return \Illuminate\Http\Response
*/
*/
public
function
destroy
(
$id
)
public
function
destroy
(
$id
)
...
@@ -126,4 +126,45 @@ class CursoController extends Controller
...
@@ -126,4 +126,45 @@ class CursoController extends Controller
$model
->
delete
();
$model
->
delete
();
return
redirect
()
->
route
(
'curso_index'
)
->
with
(
'success'
,
'Excluído com sucesso!'
);
return
redirect
()
->
route
(
'curso_index'
)
->
with
(
'success'
,
'Excluído com sucesso!'
);
}
}
/**
*
* @params Illuminate\Http\Request\Request
*/
public
function
actionSearch
(
Request
$request
)
{
// QueryParams
$q
=
$request
->
query
(
'q'
);
$id
=
$request
->
query
(
'id'
);
$campus_id
=
$request
->
query
(
'campus_id'
);
$cursos
=
Curso
::
where
([]);
if
(
$campus_id
)
{
$cursos
=
$cursos
->
whereId
(
$campus_id
);
}
if
(
$id
)
{
$cursos
=
$cursos
->
whereId
(
$id
);
}
if
(
$q
)
{
$cursos
=
$cursos
->
where
(
'name'
,
'like'
,
'%'
.
$q
.
'%'
);
}
$cursos
=
$cursos
->
get
();
$array
=
$cursos
->
map
(
function
(
$curso
,
$key
)
{
return
[
'id'
=>
$curso
->
id
,
'text'
=>
$curso
->
name
,
];
});
$array
=
[
'results'
=>
$array
];
return
Response
::
json
(
$array
);
}
}
}
app/Http/Controllers/UnidadeController.php
View file @
07d2782b
...
@@ -5,7 +5,6 @@ namespace App\Http\Controllers;
...
@@ -5,7 +5,6 @@ namespace App\Http\Controllers;
use
App\Models\Unidade
;
use
App\Models\Unidade
;
use
App\Models\Util\Menu
;
use
App\Models\Util\Menu
;
use
App\Models\Util\MenuItemsAdmin
;
use
App\Models\Util\MenuItemsAdmin
;
use
App\Queries\UnidadeQuery
;
use
Illuminate\Http\Request
;
use
Illuminate\Http\Request
;
class
UnidadeController
extends
Controller
class
UnidadeController
extends
Controller
...
@@ -121,6 +120,6 @@ class UnidadeController extends Controller
...
@@ -121,6 +120,6 @@ class UnidadeController extends Controller
*/
*/
public
function
getAll
()
public
function
getAll
()
{
{
return
Unidade
Query
::
all
();
return
Unidade
::
all
();
}
}
}
}
app/Http/Controllers/UserController.php
View file @
07d2782b
...
@@ -18,9 +18,12 @@ use NunoMaduro\Collision\Adapters\Phpunit\State;
...
@@ -18,9 +18,12 @@ use NunoMaduro\Collision\Adapters\Phpunit\State;
class
UserController
extends
Controller
class
UserController
extends
Controller
{
{
public
function
editPerfil
()
public
function
editPerfil
(
$tab
=
null
)
{
{
return
view
(
'user.update_perfil'
,
[
'menu'
=>
Menu
::
USER
]);
return
view
(
'user.update_perfil'
,
[
'tab'
=>
$tab
,
'menu'
=>
Menu
::
USER
,
]);
}
}
public
function
updatePerfil
(
Request
$request
)
public
function
updatePerfil
(
Request
$request
)
...
@@ -42,15 +45,15 @@ class UserController extends Controller
...
@@ -42,15 +45,15 @@ class UserController extends Controller
{
{
$validator
=
User
::
validatorPassword
(
$request
->
all
());
$validator
=
User
::
validatorPassword
(
$request
->
all
());
//
if($validator->fails()) {
if
(
$validator
->
fails
())
{
//
return redirect()->
back(
)->withErrors($validator->errors());
return
redirect
()
->
route
(
'edit_perfil'
,
[
'tab'
=>
'password'
]
)
->
withErrors
(
$validator
->
errors
());
//
}
}
// $user
= User::find(Auth::user()->id);
$model
=
User
::
find
(
Auth
::
user
()
->
id
);
// $user->fill
($request->
all()
);
$model
->
password
=
Hash
::
make
(
$request
->
password
);
// $user
->save();
$model
->
save
();
//
return redirect()->route('edit_perfil')->with('success', 'Salv
o
com sucesso!');
return
redirect
()
->
route
(
'edit_perfil'
,
[
'tab'
=>
'user'
]
)
->
with
(
'success'
,
'S
enha s
alv
a
com sucesso!'
);
}
}
...
@@ -67,7 +70,7 @@ class UserController extends Controller
...
@@ -67,7 +70,7 @@ class UserController extends Controller
}
}
// Admin
// Admin
public
function
actionCreate
(
Request
$request
)
public
function
actionCreate
()
{
{
$model
=
new
User
();
$model
=
new
User
();
...
@@ -82,7 +85,7 @@ class UserController extends Controller
...
@@ -82,7 +85,7 @@ class UserController extends Controller
$validator
=
User
::
validator
(
$request
->
all
());
$validator
=
User
::
validator
(
$request
->
all
());
if
(
$validator
->
fails
())
{
if
(
$validator
->
fails
())
{
return
redirect
()
->
route
(
'user_create'
)
->
withErrors
(
$validator
);
return
redirect
()
->
route
(
'user_create'
)
->
withErrors
(
$validator
)
->
withInput
()
;
}
}
$model
=
new
User
();
$model
=
new
User
();
...
@@ -101,7 +104,8 @@ class UserController extends Controller
...
@@ -101,7 +104,8 @@ class UserController extends Controller
}
}
public
function
actionEdit
(
Request
$request
,
$id
)
public
function
actionEdit
(
Request
$request
,
$id
)
{
{
$model
=
User
::
find
(
$id
);
$model
=
User
::
find
(
$id
);
$profiles
=
$model
->
profiles
;
$profiles
=
$model
->
profiles
;
$status
=
[
$status
=
[
...
@@ -113,21 +117,39 @@ class UserController extends Controller
...
@@ -113,21 +117,39 @@ class UserController extends Controller
Session
::
flash
(
'warning'
,
'Não existem papeis cadastrados para esse usuário!'
);
Session
::
flash
(
'warning'
,
'Não existem papeis cadastrados para esse usuário!'
);
}
}
$tab_active
=
$request
->
query
(
'tab_active'
)
??
'user'
;
return
view
(
'users.update'
,
[
return
view
(
'users.update'
,
[
'menu'
=>
Menu
::
USERS
,
'menu'
=>
Menu
::
USERS
,
'model'
=>
$model
,
'model'
=>
$model
,
'status'
=>
$status
,
'status'
=>
$status
,
'profiles'
=>
$profiles
,
'profiles'
=>
$profiles
,
'tab_active'
=>
$tab_active
]);
]);
}
}
public
function
actionUpdate
(
$id
,
Request
$request
)
public
function
actionUpdate
(
Request
$request
,
$id
)
{
{
dd
(
$id
);
$model
=
User
::
find
(
$id
);
}
public
function
actionDelete
(
$
id
)
{
$validator
=
User
::
validator
(
$request
->
all
(),
$model
->
id
)
;
if
(
$validator
->
fails
())
{
return
redirect
()
->
route
(
'user_edit'
,
[
'id'
=>
$model
->
id
])
->
withErrors
(
$validator
)
->
withInput
();
}
$model
->
fill
(
$request
->
all
());
if
(
$model
->
save
())
{
return
redirect
()
->
route
(
'user_index'
)
->
with
(
'success'
,
'Usuário atualizado com sucesso!'
);
}
return
redirect
()
->
with
(
'fail'
,
'Falha ao cadastrar Usuário!'
);
}
public
function
actionDelete
(
$id
)
{
dd
(
$id
);
}
}
public
function
actionImport
(
Request
$request
)
public
function
actionImport
(
Request
$request
)
...
...
app/Http/Controllers/UserTypeController.php
View file @
07d2782b
...
@@ -13,9 +13,7 @@ class UserTypeController extends Controller
...
@@ -13,9 +13,7 @@ class UserTypeController extends Controller
{
{
public
function
actionStore
(
Request
$request
)
public
function
actionStore
(
Request
$request
)
{
{
$validator
=
Validator
::
make
(
$validator
=
Validator
::
make
(
$request
->
all
(),
UserType
::
rules
(),
UserType
::
messages
());
$request
->
all
(),
UserType
::
rules
(),
UserType
::
messages
()
);
if
(
$validator
->
fails
())
if
(
$validator
->
fails
())
{
{
...
@@ -28,7 +26,7 @@ class UserTypeController extends Controller
...
@@ -28,7 +26,7 @@ class UserTypeController extends Controller
$model
->
save
();
$model
->
save
();
return
redirect
()
return
redirect
()
->
route
(
'user_edit'
,
[
'id'
=>
$request
->
user_id
])
->
route
(
'user_edit'
,
[
'id'
=>
$request
->
user_id
,
'tab_active'
=>
'paper'
])
->
with
(
'success'
,
'Papel cadastrado com Sucesso!'
);
->
with
(
'success'
,
'Papel cadastrado com Sucesso!'
);
}
}
...
@@ -39,7 +37,12 @@ class UserTypeController extends Controller
...
@@ -39,7 +37,12 @@ class UserTypeController extends Controller
public
function
actionDelete
(
$id
)
public
function
actionDelete
(
$id
)
{
{
$model
=
UserType
::
find
(
$id
);
$model
->
delete
();
return
redirect
()
->
route
(
'user_edit'
,
[
'id'
=>
$model
->
user_id
,
'tab_active'
=>
'paper'
])
->
with
(
'success'
,
'Papel removido com Sucesso!'
);
}
}
public
function
actionCreate
(
$user_id
)
public
function
actionCreate
(
$user_id
)
...
@@ -74,8 +77,12 @@ class UserTypeController extends Controller
...
@@ -74,8 +77,12 @@ class UserTypeController extends Controller
public
function
ajaxValidation
(
Request
$request
)
public
function
ajaxValidation
(
Request
$request
)
{
{
$id
=
$request
->
id
;
$user_id
=
$request
->
user_id
;
$type
=
$request
->
type
;
$validator
=
Validator
::
make
(
$validator
=
Validator
::
make
(
$request
->
all
(),
UserType
::
rules
(),
UserType
::
messages
()
$request
->
all
(),
UserType
::
rules
(
$id
,
$user_id
,
$type
),
UserType
::
messages
()
);
);
if
(
$validator
->
passes
())
{
if
(
$validator
->
passes
())
{
...
...
app/Models/User.php
View file @
07d2782b
...
@@ -2,18 +2,21 @@
...
@@ -2,18 +2,21 @@
namespace
App\Models
;
namespace
App\Models
;
use
App\Models\Util\Status
;
use
App\Queries\UserQuery
;
use
App\Queries\UserQuery
;
use
Illuminate\Contracts\Auth\MustVerifyEmail
;
use
Illuminate\Contracts\Auth\MustVerifyEmail
;
use
Illuminate\Database\Eloquent\Factories\HasFactory
;
use
Illuminate\Database\Eloquent\Factories\HasFactory
;
use
Illuminate\Database\Eloquent\SoftDeletes
;
use
Illuminate\Foundation\Auth\User
as
Authenticatable
;
use
Illuminate\Foundation\Auth\User
as
Authenticatable
;
use
Illuminate\Notifications\Notifiable
;
use
Illuminate\Notifications\Notifiable
;
use
Illuminate\Support\Facades\Validator
;
use
Illuminate\Support\Facades\Validator
;
use
Illuminate\Validation\Rule
;
use
Illuminate\Validation\ValidationException
;
use
Illuminate\Validation\ValidationException
;
use
Laravel\Sanctum\HasApiTokens
;
use
Laravel\Sanctum\HasApiTokens
;
class
User
extends
Authenticatable
class
User
extends
Authenticatable
{
{
use
HasApiTokens
,
HasFactory
,
Notifiable
;
use
HasApiTokens
,
HasFactory
,
Notifiable
,
SoftDeletes
;
protected
$table
=
"users"
;
protected
$table
=
"users"
;
...
@@ -32,16 +35,30 @@ class User extends Authenticatable
...
@@ -32,16 +35,30 @@ class User extends Authenticatable
/**
/**
* The attributes that should be cast.
* The attributes that should be cast.
* @var array<string, string>
* @var array<string, string>
* @var boolean $isUpdate
*/
*/
protected
$casts
=
[
protected
$casts
=
[
'email_verified_at'
=>
'datetime'
'email_verified_at'
=>
'datetime'
];
];
public
static
function
validator
(
array
$attributes
)
protected
$dates
=
[
'deleted_at'
];
{
public
static
function
validator
(
array
$attributes
,
$id
=
null
)
{
$rules
=
[
$rules
=
[
'name'
=>
[
'required'
,
'min:4'
],
'name'
=>
[
'required'
,
'min:4'
],
'email'
=>
[
'required'
,
'email'
]
'email'
=>
[
'required'
,
'email'
,
Rule
::
unique
(
'users'
)
->
ignore
(
$id
)],
'curso_id'
=>
[
'integer'
],
'campus_id'
=>
[
'integer'
],
'status'
=>
[
Rule
::
requiredIf
(
function
()
use
(
$id
)
{
return
(
bool
)
$id
;
}),
Rule
::
in
([
Status
::
ATIVO
,
Status
::
INATIVO
]),
'required_with:id'
,
'integer'
,
],
];
];
$messages
=
[
$messages
=
[
...
@@ -51,7 +68,19 @@ class User extends Authenticatable
...
@@ -51,7 +68,19 @@ class User extends Authenticatable
//email
//email
'email.required'
=>
'O campo "E-Mail" é obrigatório.'
,
'email.required'
=>
'O campo "E-Mail" é obrigatório.'
,
'email.email'
=>
'O campo "E-Mail" deve conter um e-mail valido.'
'email.email'
=>
'O campo "E-Mail" deve conter um e-mail valido.'
,
'email.unique'
=>
'O "E-Mail" informado já foi cadastrado no sistema.'
,
//status
'status.required'
=>
'O campo "Status" é obrigatório.'
,
'status.in'
=>
'Selecione uma opção da lista de "Status"!'
,
'status.integer'
=>
'O campo "Status" deve cónter um inteiro!'
,
//curso_id
'curso_id.integer'
=>
'O campo "Curso" deve cónter um inteiro!'
,
//campus_id
'campus_id.integer'
=>
'O campo "Campus" deve cónter um inteiro!'
,
];
];
try
{
try
{
...
@@ -64,12 +93,14 @@ class User extends Authenticatable
...
@@ -64,12 +93,14 @@ class User extends Authenticatable
public
static
function
validatorPassword
(
array
$attributes
)
public
static
function
validatorPassword
(
array
$attributes
)
{
{
$rules
=
[
$rules
=
[
'password'
=>
[
'required'
,
'min:8'
],
'password'
=>
[
'required'
,
'min:8'
,
'max:255'
,
'confirmed'
],
'password_confirmation'
=>
[],
];
];
$messages
=
[
$messages
=
[
'password.required'
=>
'A "Senha" é obrigatória!'
,
'password.min'
=>
'A "Senha" deve contér no minímo 8 caracteres!'
,
'password.max'
=>
'A campo "Senha" deve contér no máximo 255 caracteres!'
,
'password.confirmed'
=>
'As senhas devem ser iguais!'
,
];
];
try
{
try
{
...
...
app/Models/UserType.php
View file @
07d2782b
...
@@ -6,9 +6,15 @@ use App\Models\Pad;
...
@@ -6,9 +6,15 @@ use App\Models\Pad;
use
App\Models\Util\Status
;
use
App\Models\Util\Status
;
use
App\Queries\UserTypeQuery
;
use
App\Queries\UserTypeQuery
;
use
Illuminate\Database\Eloquent\Model
;
use
Illuminate\Database\Eloquent\Model
;
use
Illuminate\Database\Eloquent\SoftDeletes
;
use
Illuminate\Support\Facades\Validator
;
use
Illuminate\Validation\Rule
;
use
Illuminate\Validation\ValidationException
;
class
UserType
extends
Model
class
UserType
extends
Model
{
{
use
SoftDeletes
;
const
ADMIN
=
1
;
// Administrador
const
ADMIN
=
1
;
// Administrador
const
TEACHER
=
2
;
// Professor
const
TEACHER
=
2
;
// Professor
const
DIRECTOR
=
3
;
// Diretor
const
DIRECTOR
=
3
;
// Diretor
...
@@ -19,6 +25,8 @@ class UserType extends Model
...
@@ -19,6 +25,8 @@ class UserType extends Model
protected
$fillable
=
[
'user_id'
,
'pad_id'
,
'type'
,
'status'
,
'selected'
];
protected
$fillable
=
[
'user_id'
,
'pad_id'
,
'type'
,
'status'
,
'selected'
];
protected
$dates
=
[
'deleted_at'
];
public
function
user
()
public
function
user
()
{
{
return
$this
->
belongsTo
(
User
::
class
);
return
$this
->
belongsTo
(
User
::
class
);
...
@@ -49,16 +57,43 @@ class UserType extends Model
...
@@ -49,16 +57,43 @@ class UserType extends Model
{
{
return
new
UserTypeQuery
(
get_called_class
());
return
new
UserTypeQuery
(
get_called_class
());
}
}
public
static
function
rules
()
{
public
static
function
rules
(
$id
=
null
,
$user_id
=
null
,
$type
=
null
)
{
return
[
return
[
//add migration with deleted_at column
'user_id'
=>
[
'required'
,
'integer'
],
'status'
=>
[
'required'
,
'integer'
,
Rule
::
in
([
Status
::
ATIVO
,
Status
::
INATIVO
])],
// 'selected' => []
'type'
=>
[
'required'
,
'integer'
,
Rule
::
in
(
array_keys
(
self
::
listType
())),
Rule
::
unique
(
'user_type'
)
->
where
(
function
(
$query
)
use
(
$id
,
$user_id
,
$type
)
{
return
$query
->
where
(
'user_id'
,
'='
,
$user_id
)
->
where
(
'type'
,
'='
,
$type
);
})
->
ignore
(
$id
)
],
];
];
}
}
public
static
function
messages
()
{
public
static
function
messages
()
{
return
[
return
[
//user_id
//type
'type.required'
=>
'O campo "Papel" é obrigatório!'
,
'type.in'
=>
'Selecione uma opção da lista de "Papeis"!'
,
'type.integer'
=>
'O campo "Papel" deve cónter um inteiro!'
,
'type.unique'
=>
'A opção do campo "Papel" já foi cadastrada!'
,
//status
'status.required'
=>
'O campo "Status" é obrigatório!'
,
'status.in'
=>
'Selecione uma opção da lista de "Status"!'
,
'status.integer'
=>
'O campo "Status" deve cónter um inteiro!'
,
//selected
];
];
}
}
...
...
database/migrations/2023_01_22_212859_alter_user_type_add_deleted_table.php
0 → 100644
View file @
07d2782b
<?php
use
Illuminate\Database\Migrations\Migration
;
use
Illuminate\Database\Schema\Blueprint
;
use
Illuminate\Support\Facades\Schema
;
class
AlterUserTypeAddDeletedTable
extends
Migration
{
/**
* Run the migrations.
*
* @return void
*/
public
function
up
()
{
Schema
::
table
(
'user_type'
,
function
(
Blueprint
$table
)
{
$table
->
softDeletes
()
->
after
(
'updated_at'
);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public
function
down
()
{
Schema
::
table
(
'user_type'
,
function
(
Blueprint
$table
)
{
$table
->
dropColumn
(
'deleted_at'
);
});
}
}
resources/views/components/frontend-libs.blade.php
View file @
07d2782b
...
@@ -17,3 +17,7 @@
...
@@ -17,3 +17,7 @@
<!-- Toastfy -->
<!-- Toastfy -->
<script
type=
"text/javascript"
src=
"https://cdn.jsdelivr.net/npm/toastify-js"
></script>
<script
type=
"text/javascript"
src=
"https://cdn.jsdelivr.net/npm/toastify-js"
></script>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"https://cdn.jsdelivr.net/npm/toastify-js/src/toastify.min.css"
>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"https://cdn.jsdelivr.net/npm/toastify-js/src/toastify.min.css"
>
<!-- Select2 -->
<link
href=
"https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css"
rel=
"stylesheet"
/>
<script
src=
"https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"
></script>
resources/views/user-type/_form.blade.php
View file @
07d2782b
@
php
function
field_validate
(
$field
)
{
$type_form
=
'create_and_update'
;
return
sprintf
(
"%s_%s"
,
$type_form
,
$field
);
}
@
endphp
<div
class=
"row"
>
<div
class=
"row"
>
<input
type=
"hidden"
name=
"user_id"
id=
"user_id"
value=
"{{ $user->id }}"
>
<input
type=
"hidden"
name=
"user_id"
id=
"user_id"
value=
"{{ $user->id }}"
>
<input
type=
"hidden"
name=
"id"
id=
"id"
value=
"{{ $model !== null? $model->id : null }}"
>
<div
class=
"mb-3 col-sm-12"
>
<div
class=
"mb-3 col-sm-12"
>
<label
class=
"form-label"
for=
"user_name"
>
Usuário
</label>
<label
class=
"form-label"
for=
"user_name"
>
Usuário
</label>
...
@@ -30,7 +22,7 @@
...
@@ -30,7 +22,7 @@
</select>
</select>
@include('components.divs.errors', [
@include('components.divs.errors', [
'field' =>
field_validate('typ
e'
)
'field' =>
'type_create_and_updat
e'
])
])
</div>
</div>
...
@@ -48,7 +40,7 @@
...
@@ -48,7 +40,7 @@
</select>
</select>
@include('components.divs.errors', [
@include('components.divs.errors', [
'field' =>
field_validate('nivel')
'field' =>
'status_create_and_update'
])
])
</div>
</div>
...
...
resources/views/user-type/create.blade.php
View file @
07d2782b
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<h3
class=
"h3"
>
Cadastrar Papel
</h3>
<h3
class=
"h3"
>
Cadastrar Papel
</h3>
</div>
</div>
<form
id=
"form-user_type"
action=
"{{ route('user-type_store') }}"
method=
"post"
>
<form
id=
"form-user_type
-create
"
action=
"{{ route('user-type_store') }}"
method=
"post"
>
@csrf
@csrf
@method('POST')
@method('POST')
...
@@ -27,7 +27,7 @@
...
@@ -27,7 +27,7 @@
@include('pad.components.scripts.ajaxValidation', [
@include('pad.components.scripts.ajaxValidation', [
'btn_submit_id' => 'btn_submit',
'btn_submit_id' => 'btn_submit',
'form_id' => 'form-user_type',
'form_id' => 'form-user_type-create',
'form_type' => 'create_and_update',
'route' => route('user-type_ajax_validation'),
'route' => route('user-type_ajax_validation'),
'form_type' => 'create_and_update',
])
])
\ No newline at end of file
resources/views/user-type/update.blade.php
View file @
07d2782b
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<h3
class=
"h3"
>
Atualizar Papel
</h3>
<h3
class=
"h3"
>
Atualizar Papel
</h3>
</div>
</div>
<form
id=
"form-user_type"
action=
"{{ route('user-type_update', ['id' => $model->id]) }}"
method=
"post"
>
<form
id=
"form-user_type
-update
"
action=
"{{ route('user-type_update', ['id' => $model->id]) }}"
method=
"post"
>
@csrf
@csrf
@method('POST')
@method('POST')
...
@@ -28,7 +28,7 @@
...
@@ -28,7 +28,7 @@
@include('pad.components.scripts.ajaxValidation', [
@include('pad.components.scripts.ajaxValidation', [
'btn_submit_id' => 'btn_submit',
'btn_submit_id' => 'btn_submit',
'form_id' => 'form-user_type',
'form_id' => 'form-user_type-update',
'form_type' => 'create_and_update',
'route' => route('user-type_ajax_validation'),
'route' => route('user-type_ajax_validation'),
'form_type' => 'create_and_update',
])
])
\ No newline at end of file
resources/views/user/update_perfil.blade.php
View file @
07d2782b
...
@@ -16,6 +16,23 @@
...
@@ -16,6 +16,23 @@
@
php
@
php
$user
=
Auth
::
user
();
$user
=
Auth
::
user
();
$tabUser
=
''
;
$containerUser
=
''
;
$tabPassword
=
''
;
$containerPassword
=
''
;
if
(
$tab
==
null
||
$tab
==
'user'
)
{
$tabUser
=
'active'
;
$containerUser
=
'show active'
;
}
else
{
$tabPassword
=
'active'
;
$containerPassword
=
'show active'
;
}
@
endphp
@
endphp
@
section
(
'body'
)
@
section
(
'body'
)
...
@@ -32,18 +49,18 @@
...
@@ -32,18 +49,18 @@
<
div
>
<
div
>
<
ul
class
=
"nav nav-tabs"
>
<
ul
class
=
"nav nav-tabs"
>
<
li
class
=
"nav-item"
role
=
"presentation"
>
<
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
>
<
button
class
=
"nav-link
{
{$tabUser}
}
"
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
{
{$tabPassword}
}
"
id
=
"password-tab"
data
-
bs
-
toggle
=
"tab"
data
-
bs
-
target
=
"#password-container"
type
=
"button"
role
=
"tab"
aria
-
controls
=
"password-container"
arial
-
selected
=
"false"
>
Senha
</
button
>
</
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
>
<!--
Panels
-->
<!--
Panels
-->
<
div
id
=
"tab-containers"
class
=
"tab-content"
>
<
div
id
=
"tab-containers"
class
=
"tab-content"
>
<
div
id
=
"user-container"
class
=
"tab-pane fade
show active
"
role
=
"tabpanel"
aria
-
labelledby
=
"user-tab"
>
<
div
id
=
"user-container"
class
=
"tab-pane fade
{
{$containerUser}
}
"
role
=
"tabpanel"
aria
-
labelledby
=
"user-tab"
>
<
form
class
=
""
method
=
"post"
action
=
"{{ route('update_perfil') }}"
>
<
form
class
=
""
method
=
"post"
action
=
"{{ route('update_perfil') }}"
>
@
csrf
@
csrf
...
@@ -82,7 +99,7 @@
...
@@ -82,7 +99,7 @@
</
div
>
</
div
>
<
div
id
=
"pa
per
-container"
class
=
"tab-pane fade"
role
=
"tabpanel"
aria
-
labelledby
=
"pa
per
-tab"
>
<
div
id
=
"pa
ssword
-container"
class
=
"tab-pane fade
{
{$containerPassword}
}
"
role
=
"tabpanel"
aria
-
labelledby
=
"pa
ssword
-tab"
>
<
form
method
=
"post"
action
=
"{{ route('update_password') }}"
>
<
form
method
=
"post"
action
=
"{{ route('update_password') }}"
>
@
csrf
@
csrf
@
method
(
'POST'
)
@
method
(
'POST'
)
...
@@ -94,17 +111,18 @@
...
@@ -94,17 +111,18 @@
<
div
class
=
"form-group"
>
<
div
class
=
"form-group"
>
<
label
for
=
"password"
>
Senha
</
label
>
<
label
for
=
"password"
>
Senha
</
label
>
<
input
type
=
"password"
class
=
"form-control"
name
=
"password"
id
=
"password"
placeholder
=
"Senha"
>
<
input
type
=
"password"
class
=
"form-control"
name
=
"password"
id
=
"password"
placeholder
=
"Senha"
>
<
small
id
=
"password_information"
class
=
"form-text text-muted"
>
{{
--
--
}}
</
small
>
@
include
(
'components.divs.errors'
,
[
@
error
(
'password'
)
'field'
=>
'password'
,
<
span
class
=
"text-danger"
>
{{
$message
}}
</
span
>
])
@
enderror
</
div
>
</
div
>
</
div
>
</
div
>
<
div
class
=
"col-6"
>
<
div
class
=
"col-6"
>
<
div
class
=
"form-group"
>
<
div
class
=
"form-group"
>
<
label
for
=
"password_confirmation"
>
Confirmar
Senha
</
label
>
<
label
for
=
"password_confirmation"
>
Confirmar
Senha
</
label
>
<
input
type
=
"password_confirmation"
class
=
"form-control"
name
=
"password_confirmation"
id
=
"password_confirmation"
placeholder
=
"Senha"
>
<
input
type
=
"password"
class
=
"form-control"
name
=
"password_confirmation"
id
=
"password_confirmation"
placeholder
=
"Confirmar Senha"
>
<
small
id
=
"password_confirmation_information"
class
=
"form-text text-muted"
>
{{
--
--
}}
</
small
>
@
include
(
'components.divs.errors'
,
[
'field'
=>
'password_confirmation'
,
])
@
error
(
'password_confirmation'
)
@
error
(
'password_confirmation'
)
<
span
class
=
"text-danger"
>
{{
$message
}}
</
span
>
<
span
class
=
"text-danger"
>
{{
$message
}}
</
span
>
@
enderror
@
enderror
...
...
resources/views/users/_form.blade.php
View file @
07d2782b
@
php
if
(
$tab_active
==
'user'
)
{
$userTabActive
=
'active'
;
$userContainerActive
=
'show active'
;
$paperTabActive
=
''
;
$paperContainerActive
=
''
;
}
if
(
$tab_active
==
'paper'
)
{
$userTabActive
=
''
;
$userContainerActive
=
''
;
$paperTabActive
=
'active'
;
$paperContainerActive
=
'show active'
;
}
@
endphp
<!--
Tabs
-->
<!--
Tabs
-->
<
div
>
<
div
>
<
ul
class
=
"nav nav-tabs"
>
<
ul
class
=
"nav nav-tabs"
>
<
li
class
=
"nav-item"
role
=
"presentation"
>
<
li
class
=
"nav-item"
role
=
"presentation"
>
<button
class=
"nav-link
a
ctive"
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>
<
button
class
=
"nav-link
{{
$userTabA
ctive
}}
"
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
>
@
if
(
$model
->
exists
)
@
if
(
$model
->
exists
)
<
li
class
=
"nav-item"
role
=
"presentation"
>
<
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>
<
button
class
=
"nav-link
{{
$paperTabActive
}}"
" 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
>
</
li
>
@
endif
@
endif
</
ul
>
</
ul
>
...
@@ -15,7 +37,7 @@
...
@@ -15,7 +37,7 @@
<!--
Panels
-->
<!--
Panels
-->
<
div
id
=
"tab-containers"
class
=
"tab-content"
>
<
div
id
=
"tab-containers"
class
=
"tab-content"
>
<div
id=
"user-container"
class=
"tab-pane fade
show a
ctive"
role=
"tabpanel"
aria-labelledby=
"user-tab"
>
<
div
id
=
"user-container"
class
=
"tab-pane fade
{{
$userContainerA
ctive
}}
"
role
=
"tabpanel"
aria
-
labelledby
=
"user-tab"
>
<
div
class
=
"mt-2 px-2"
>
<
div
class
=
"mt-2 px-2"
>
<
form
action
=
"{{
$action
}}"
method
=
"POST"
>
<
form
action
=
"{{
$action
}}"
method
=
"POST"
>
...
@@ -43,7 +65,7 @@
...
@@ -43,7 +65,7 @@
<
div
class
=
"mb-4 col-12"
>
<
div
class
=
"mb-4 col-12"
>
<
div
class
=
"form-group"
>
<
div
class
=
"form-group"
>
<
label
class
=
"form-label"
for
=
"status"
>
Status
</
label
>
<
label
class
=
"form-label"
for
=
"status"
>
Status
</
label
>
<select
class=
"form-
select
"
name=
"status"
id=
"status"
>
<
select
class
=
"form-
control
"
name
=
"status"
id
=
"status"
>
@
foreach
(
$status
as
$value
=>
$text
)
@
foreach
(
$status
as
$value
=>
$text
)
@
if
(
$model
->
status
==
$value
)
@
if
(
$model
->
status
==
$value
)
<
option
value
=
"{{
$value
}}"
selected
>
{{
$text
}}
</
option
>
<
option
value
=
"{{
$value
}}"
selected
>
{{
$text
}}
</
option
>
...
@@ -52,19 +74,17 @@
...
@@ -52,19 +74,17 @@
@
endif
@
endif
@
endforeach
@
endforeach
</
select
>
</
select
>
@
include
(
'components.divs.errors'
,
[
'field'
=>
'status'
])
</
div
>
</
div
>
</
div
>
</
div
>
@
endif
@
endif
@
if
(
$model
->
exists
)
@
if
(
$model
->
exists
)
<
div
class
=
"mb-4 col-6"
>
<
div
class
=
"mb-4 col-6"
>
<
div
class
=
"form-group"
>
<
div
class
=
"form-group"
>
<label
class=
"form-label"
for=
"curso_id"
>
Curso
</label>
<
label
class
=
"form-label"
for
=
"campus_id"
>
Campus
</
label
>
<select
class=
"form-select"
name=
"curso_id"
id=
"curso_id"
>
<
select
class
=
"form-control"
name
=
"campus_id"
id
=
"campus_id"
>
<option
value=
""
disabled
selected
hidden
>
Selecione...
</option>
@foreach([] as $option)
@endforeach
</
select
>
</
select
>
</
div
>
</
div
>
</
div
>
</
div
>
...
@@ -73,13 +93,8 @@
...
@@ -73,13 +93,8 @@
@
if
(
$model
->
exists
)
@
if
(
$model
->
exists
)
<
div
class
=
"mb-4 col-6"
>
<
div
class
=
"mb-4 col-6"
>
<
div
class
=
"form-group"
>
<
div
class
=
"form-group"
>
<label
class=
"form-label"
for=
"campus_id"
>
Campus
</label>
<
label
class
=
"form-label"
for
=
"curso_id"
>
Curso
</
label
>
<select
class=
"form-select"
name=
"campus_id"
id=
"campus_id"
>
<
select
class
=
"form-control"
name
=
"curso_id"
id
=
"curso_id"
>
</
select
>
<option
value=
""
disabled
selected
hidden
>
Selecione...
</option>
@foreach([] as $option)
@endforeach
</select>
</
div
>
</
div
>
</
div
>
</
div
>
@
endif
@
endif
...
@@ -101,7 +116,7 @@
...
@@ -101,7 +116,7 @@
</
div
>
</
div
>
@
if
(
$model
->
exists
)
@
if
(
$model
->
exists
)
<div
id=
"paper-container"
class=
"tab-pane fade"
role=
"tabpanel"
aria-labelledby=
"paper-tab"
>
<
div
id
=
"paper-container"
class
=
"tab-pane fade
{{
$paperContainerActive
}}
"
role
=
"tabpanel"
aria
-
labelledby
=
"paper-tab"
>
<
div
class
=
"text-end my-2"
>
<
div
class
=
"text-end my-2"
>
<
button
type
=
"button"
class
=
"btn btn-success user-type-create"
>
Cadastrar
Papel
</
button
>
<
button
type
=
"button"
class
=
"btn btn-success user-type-create"
>
Cadastrar
Papel
</
button
>
...
...
resources/views/users/update.blade.php
View file @
07d2782b
...
@@ -30,6 +30,7 @@
...
@@ -30,6 +30,7 @@
'model'
=>
$model
,
'model'
=>
$model
,
'status'
=>
$status
,
'status'
=>
$status
,
'profiles'
=>
$profiles
,
'profiles'
=>
$profiles
,
'tab_active'
=>
$tab_active
,
])
])
@
include
(
'components.modal'
,
[
@
include
(
'components.modal'
,
[
...
@@ -53,4 +54,42 @@
...
@@ -53,4 +54,42 @@
'btn_class'
=>
'btn-edit_user_type'
,
'btn_class'
=>
'btn-edit_user_type'
,
])
])
<
script
text
=
"type/javascript"
>
$
(
'#campus_id'
)
.
select2
(
{
placeholder
:
"Selecione um Campus"
,
allowClear
:
true
,
ajax
:
{
url
:
'{{ route("campus_search") }}'
,
dataType
:
'json'
}
});
$
(
'#curso_id'
)
.
select2
(
{
placeholder
:
"Selecione um Curso"
,
allowClear
:
true
,
ajax
:
{
url
:
'{{ route("curso_search") }}'
,
dataType
:
'json'
,
data
:
function
(
params
)
{
return
{
q
:
params
.
terms
,
campus_id
:
$
(
'#campus_id'
)
.
val
(),
}
},
},
});
$
(
'#status'
)
.
select2
(
{
placeholder
:
"Selecione um Status"
,
allowClear
:
true
,
hideSearch
:
true
,
minimumResultsForSearch
:
-
1
});
</
script
>
@
endsection
@
endsection
\ No newline at end of file
routes/web.php
View file @
07d2782b
...
@@ -49,6 +49,7 @@ Route::prefix('/campus')->group(function () {
...
@@ -49,6 +49,7 @@ Route::prefix('/campus')->group(function () {
Route
::
get
(
'/edit/{id}'
,
[
CampusController
::
class
,
'edit'
])
->
name
(
'campus_edit'
);
Route
::
get
(
'/edit/{id}'
,
[
CampusController
::
class
,
'edit'
])
->
name
(
'campus_edit'
);
Route
::
post
(
'/update/{id}'
,
[
CampusController
::
class
,
'update'
])
->
name
(
'campus_update'
);
Route
::
post
(
'/update/{id}'
,
[
CampusController
::
class
,
'update'
])
->
name
(
'campus_update'
);
Route
::
delete
(
'/delete/{id}'
,
[
CampusController
::
class
,
'destroy'
])
->
name
(
'campus_delete'
);
Route
::
delete
(
'/delete/{id}'
,
[
CampusController
::
class
,
'destroy'
])
->
name
(
'campus_delete'
);
Route
::
get
(
'/search'
,
[
CampusController
::
class
,
'actionSearch'
])
->
name
(
'campus_search'
);
});
});
Route
::
prefix
(
'/curso'
)
->
group
(
function
()
{
Route
::
prefix
(
'/curso'
)
->
group
(
function
()
{
...
@@ -58,6 +59,7 @@ Route::prefix('/curso')->group(function () {
...
@@ -58,6 +59,7 @@ Route::prefix('/curso')->group(function () {
Route
::
get
(
'/edit/{id}'
,
[
CursoController
::
class
,
'edit'
])
->
name
(
'curso_edit'
);
Route
::
get
(
'/edit/{id}'
,
[
CursoController
::
class
,
'edit'
])
->
name
(
'curso_edit'
);
Route
::
post
(
'/update/{id}'
,
[
CursoController
::
class
,
'update'
])
->
name
(
'curso_update'
);
Route
::
post
(
'/update/{id}'
,
[
CursoController
::
class
,
'update'
])
->
name
(
'curso_update'
);
Route
::
delete
(
'/delete/{id}'
,
[
CursoController
::
class
,
'destroy'
])
->
name
(
'curso_delete'
);
Route
::
delete
(
'/delete/{id}'
,
[
CursoController
::
class
,
'destroy'
])
->
name
(
'curso_delete'
);
Route
::
get
(
'/search'
,
[
CursoController
::
class
,
'actionSearch'
])
->
name
(
'curso_search'
);
});
});
Route
::
prefix
(
'/unidade'
)
->
group
(
function
()
{
Route
::
prefix
(
'/unidade'
)
->
group
(
function
()
{
...
@@ -125,7 +127,7 @@ Route::prefix('/avaliador')->group(function () {
...
@@ -125,7 +127,7 @@ Route::prefix('/avaliador')->group(function () {
});
});
Route
::
prefix
(
'/user'
)
->
group
(
function
()
{
Route
::
prefix
(
'/user'
)
->
group
(
function
()
{
Route
::
get
(
'/edit/perfil'
,
[
UserController
::
class
,
'editPerfil'
])
->
name
(
'edit_perfil'
);
Route
::
get
(
'/edit/perfil
/{tab?}
'
,
[
UserController
::
class
,
'editPerfil'
])
->
name
(
'edit_perfil'
);
Route
::
post
(
'/update/perfil'
,
[
UserController
::
class
,
'updatePerfil'
])
->
name
(
'update_perfil'
);
Route
::
post
(
'/update/perfil'
,
[
UserController
::
class
,
'updatePerfil'
])
->
name
(
'update_perfil'
);
Route
::
post
(
'/update/password'
,
[
UserController
::
class
,
'updatePassword'
])
->
name
(
'update_password'
);
Route
::
post
(
'/update/password'
,
[
UserController
::
class
,
'updatePassword'
])
->
name
(
'update_password'
);
});
});
...
@@ -135,7 +137,7 @@ Route::prefix('/users')->group(function() {
...
@@ -135,7 +137,7 @@ Route::prefix('/users')->group(function() {
Route
::
get
(
'/create'
,
[
UserController
::
class
,
'actionCreate'
])
->
name
(
'user_create'
);
Route
::
get
(
'/create'
,
[
UserController
::
class
,
'actionCreate'
])
->
name
(
'user_create'
);
Route
::
post
(
'/store'
,
[
UserController
::
class
,
'actionStore'
])
->
name
(
'user_store'
);
Route
::
post
(
'/store'
,
[
UserController
::
class
,
'actionStore'
])
->
name
(
'user_store'
);
Route
::
get
(
'/edit/{id}'
,
[
UserController
::
class
,
'actionEdit'
])
->
name
(
'user_edit'
);
Route
::
get
(
'/edit/{id}'
,
[
UserController
::
class
,
'actionEdit'
])
->
name
(
'user_edit'
);
Route
::
ge
t
(
'/update/{id}'
,
[
UserController
::
class
,
'actionUpdate'
])
->
name
(
'user_update'
);
Route
::
pos
t
(
'/update/{id}'
,
[
UserController
::
class
,
'actionUpdate'
])
->
name
(
'user_update'
);
Route
::
delete
(
'/delete/{id}'
,
[
UserController
::
class
,
'actionDelete'
])
->
name
(
'user_delete'
);
Route
::
delete
(
'/delete/{id}'
,
[
UserController
::
class
,
'actionDelete'
])
->
name
(
'user_delete'
);
Route
::
post
(
'/import'
,
[
UserController
::
class
,
'actionImport'
])
->
name
(
'user_import'
);
Route
::
post
(
'/import'
,
[
UserController
::
class
,
'actionImport'
])
->
name
(
'user_import'
);
...
...
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