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
6266594f
Commit
6266594f
authored
Mar 23, 2023
by
alissonalbuquerque
Browse files
fix(cursos): add correções em CRUD de cursos
parent
997e6dfe
Changes
7
Show whitespace changes
Inline
Side-by-side
app/Http/Controllers/CursoController.php
View file @
6266594f
...
...
@@ -17,15 +17,10 @@ class CursoController extends Controller
*/
public
function
index
()
{
$campusWithCursos
=
[];
$allCampus
=
Campus
::
all
();
foreach
(
$allCampus
as
$campus
){
$campus
->
cursos
=
Curso
::
where
(
'campus_id'
,
'='
,
$campus
->
id
)
->
get
();
array_push
(
$campusWithCursos
,
$campus
);
}
$cursos
=
Curso
::
orderBy
(
'campus_id'
)
->
orderBy
(
'name'
)
->
get
();
return
view
(
'curso.index'
,
[
'c
ampusWithC
ursos'
=>
$c
ampusWithC
ursos
,
'cursos'
=>
$cursos
,
'menu'
=>
Menu
::
CURSOS
]);
}
...
...
@@ -62,18 +57,7 @@ class CursoController extends Controller
$model
->
fill
(
$request
->
all
());
$model
->
save
();
return
redirect
()
->
route
(
'curso_index'
)
->
with
(
'success'
,
'Salvo com sucesso!'
);
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public
function
show
(
$id
)
{
//
return
redirect
()
->
route
(
'curso_index'
)
->
with
(
'success'
,
'Curso salvo com sucesso!'
);
}
/**
...
...
@@ -110,7 +94,7 @@ class CursoController extends Controller
$model
->
fill
(
$request
->
all
());
$model
->
save
();
return
redirect
()
->
route
(
'curso_index'
)
->
with
(
'success'
,
'
A
tualizado com sucesso!'
);
return
redirect
()
->
route
(
'curso_index'
)
->
with
(
'success'
,
'
Curso a
tualizado com sucesso!'
);
}
/**
...
...
@@ -120,11 +104,11 @@ class CursoController extends Controller
* @param string $id
* @return \Illuminate\Http\Response
*/
public
function
de
stroy
(
$id
)
public
function
de
lete
(
$id
)
{
$model
=
Curso
::
find
(
$id
);
$model
->
delete
();
return
redirect
()
->
route
(
'curso_index'
)
->
with
(
'success'
,
'
E
xcluído com sucesso!'
);
return
redirect
()
->
route
(
'curso_index'
)
->
with
(
'success'
,
'
Curso e
xcluído com sucesso!'
);
}
/**
...
...
app/Models/Curso.php
View file @
6266594f
...
...
@@ -41,14 +41,19 @@ class Curso extends Model
{
$rules
=
[
'name'
=>
[
'min:8'
,
'max:255'
],
'campus_id'
=>
[
'required'
]
'name'
=>
[
'required'
,
'min:8'
,
'max:255'
],
'campus_id'
=>
[
'required'
,
'integer'
]
];
$messages
=
[
'min'
=>
"O campo não tem o mínimo de caracteres permitido"
,
'max'
=>
"O campo atingiu o máximo de caracteres permitido"
,
'required'
=>
"O campo precisa ser preenchido"
,
//name
'name.required'
=>
'O campo "Nome do Campus" é obrigatório.'
,
'name.min'
=>
'O campo "Nome do Campus" deve ter no minímo 8 (oito) caracteres.'
,
'name.max'
=>
'O campo "Nome do Campus" deve ter no máximo 255 (duzentos e cinquenta e cinco) caracteres.'
,
//campus_id
'campus_id.required'
=>
'O campo "Campus" é obrigatório.'
,
'campus_id.integer'
=>
'O campo "Campus" deve ser um inteiro.'
,
];
try
{
...
...
resources/views/campus/create.blade.php
View file @
6266594f
...
...
@@ -34,21 +34,21 @@
</
div
>
</
div
>
[
<
div
class
=
'mb-3 col-sm-6'
>
]
[
<
div
class
=
"form-group"
>
]
[
<
label
for
=
"unidade_id"
>
Unidade
</
label
>
]
[
<
select
class
=
"form-select"
name
=
"unidade_id"
id
=
"unidade_id"
>
]
[
<
option
value
=
""
disabled
selected
hidden
>
Selecione
...
</
option
>
]
[
@
foreach
(
$unidades
as
$unidade
)
]
[
<
option
value
=
"{{
$unidade->id
}}"
{{
old
(
'unidade_id'
)
==
$unidade
->
id
?
'selected'
:
''
}}
>
]
[
{{
$unidade
->
name
}}
</
option
>
]
[
@
endforeach
]
[
</
select
>
]
[
@
error
(
'unidade_id'
)
]
[
<
span
class
=
"text-danger"
>
{{
$message
}}
</
span
>
]
[
@
enderror
]
[
</
div
>
]
[
</
div
>
]
<
div
class
=
'mb-3 col-sm-6'
>
<
div
class
=
"form-group"
>
<
label
for
=
"unidade_id"
>
Unidade
</
label
>
<
select
class
=
"form-select"
name
=
"unidade_id"
id
=
"unidade_id"
>
<
option
value
=
""
disabled
selected
hidden
>
Selecione
...
</
option
>
@
foreach
(
$unidades
as
$unidade
)
<
option
value
=
"{{
$unidade->id
}}"
{{
old
(
'unidade_id'
)
==
$unidade
->
id
?
'selected'
:
''
}}
>
{{
$unidade
->
name
}}
</
option
>
@
endforeach
</
select
>
@
error
(
'unidade_id'
)
<
span
class
=
"text-danger"
>
{{
$message
}}
</
span
>
@
enderror
</
div
>
</
div
>
<
div
class
=
'mt-1 text-end'
>
@
include
(
'components.buttons.btn-cancel'
,
[
...
...
resources/views/curso/create.blade.php
View file @
6266594f
@
extends
(
'layouts.main'
)
@
section
(
'title'
,
'C
ampu
s'
)
@
section
(
'title'
,
'C
urso
s'
)
@
section
(
'header'
)
@
include
(
'layouts.header'
,
[
'user'
=>
Auth
::
user
(),
...
...
@@ -8,16 +8,15 @@
@
endsection
@
section
(
'nav'
)
@
include
(
'layouts.navigation'
,
[
'
index_
menu'
=>
$
index_
menu
,
'menu'
=>
$menu
,
])
@
endsection
@
section
(
'body'
)
<
div
class
=
"content mx-auto"
>
<
h1
class
=
"titulo pt-4 pb-4 mb-3 border-bottom"
>
CADASTRO
CURSO
</
h1
>
<
p
class
=
"pb-4 mb-3 text-center text-muted align-items-center"
>
Insira
os
dados
correspondentes
nos
campos
exibidos
abaixo
</
p
>
<!--
Formulario
-->
<
div
class
=
"mb-3"
>
<
h3
class
=
"h4"
>
Cadastrar
Curso
</
h3
>
</
div
>
<
div
>
<
form
action
=
"{{ route('curso_store') }}"
method
=
"post"
>
@
csrf
@
method
(
'POST'
)
...
...
@@ -68,3 +67,19 @@
</
form
>
</
div
>
@
endsection
@
section
(
'scripts'
)
<
script
type
=
"text/javascript"
>
$
(
'#campus_id'
)
.
select2
(
{
placeholder
:
'Campus...'
,
allowClear
:
true
,
ajax
:
{
url
:
'{{ route("campus_search") }}'
,
dataType
:
'json'
}
});
</
script
>
@
endsection
\ No newline at end of file
resources/views/curso/index.blade.php
View file @
6266594f
...
...
@@ -41,8 +41,7 @@
</
tr
>
</
thead
>
<
tbody
>
@
foreach
(
$campusWithCursos
as
$campusWithCurso
)
@
foreach
(
$campusWithCurso
->
cursos
as
$curso
)
@
foreach
(
$cursos
as
$curso
)
<
tr
>
<
td
>
{{
$curso
->
name
}}
</
td
>
<
td
>
{{
$curso
->
campus
}}
</
td
>
...
...
@@ -63,7 +62,6 @@
</
td
>
</
tr
>
@
endforeach
@
endforeach
</
tbody
>
</
table
>
</
div
>
...
...
resources/views/curso/update.blade.php
View file @
6266594f
@
extends
(
'layouts.main'
)
@
section
(
'title'
,
'C
ampu
s'
)
@
section
(
'title'
,
'C
urso
s'
)
@
section
(
'header'
)
@
include
(
'layouts.header'
,
[
'user'
=>
Auth
::
user
(),
...
...
@@ -8,17 +8,15 @@
@
endsection
@
section
(
'nav'
)
@
include
(
'layouts.navigation'
,
[
'
index_
menu'
=>
$
index_
menu
,
'menu'
=>
$menu
,
])
@
endsection
@
section
(
'body'
)
<
div
class
=
"content mx-auto"
>
<
h1
class
=
"titulo pt-4 pb-4 mb-3 border-bottom"
>
CADASTRO
CURSO
</
h1
>
<
p
class
=
"pb-4 mb-3 text-center text-muted align-items-center"
>
Insira
os
dados
correspondentes
nos
campos
exibidos
abaixo
</
p
>
<
div
class
=
"mb-3"
>
<
h3
class
=
"h4"
>
Atualizar
Curso
</
h3
>
</
div
>
<
!--
Formulario
--
>
<
div
>
<
form
action
=
"{{ route('curso_update',
$curso->id
) }}"
method
=
"post"
>
@
csrf
@
method
(
'POST'
)
...
...
@@ -72,3 +70,19 @@
</
form
>
</
div
>
@
endsection
@
section
(
'scripts'
)
<
script
type
=
"text/javascript"
>
$
(
'#campus_id'
)
.
select2
(
{
placeholder
:
'Unidade...'
,
allowClear
:
true
,
ajax
:
{
url
:
'{{ route("campus_search") }}'
,
dataType
:
'json'
}
});
</
script
>
@
endsection
\ No newline at end of file
routes/curso.php
View file @
6266594f
...
...
@@ -9,6 +9,6 @@ Route::prefix('/curso')->group(function () {
Route
::
post
(
'/store'
,
[
CursoController
::
class
,
'store'
])
->
name
(
'curso_store'
);
Route
::
get
(
'/edit/{id}'
,
[
CursoController
::
class
,
'edit'
])
->
name
(
'curso_edit'
);
Route
::
post
(
'/update/{id}'
,
[
CursoController
::
class
,
'update'
])
->
name
(
'curso_update'
);
Route
::
delete
(
'/delete/{id}'
,
[
CursoController
::
class
,
'de
stroy
'
])
->
name
(
'curso_delete'
);
Route
::
delete
(
'/delete/{id}'
,
[
CursoController
::
class
,
'de
lete
'
])
->
name
(
'curso_delete'
);
Route
::
get
(
'/search'
,
[
CursoController
::
class
,
'actionSearch'
])
->
name
(
'curso_search'
);
});
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