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
submeta
Commits
72241b3c
Unverified
Commit
72241b3c
authored
Jun 17, 2020
by
Gabriel Antônio da Silva
Committed by
GitHub
Jun 17, 2020
Browse files
Merge pull request #28 from lmts-ufape/planoTrabalho
Plano trabalho
parents
beed2694
b8f2b424
Changes
32
Expand all
Hide whitespace changes
Inline
Side-by-side
app/AnexosTemp.php
0 → 100644
View file @
72241b3c
<?php
namespace
App
;
use
Illuminate\Database\Eloquent\Model
;
class
AnexosTemp
extends
Model
{
//
}
app/Http/Controllers/AdministradorController.php
View file @
72241b3c
...
...
@@ -14,6 +14,7 @@ use App\Trabalho;
use
Illuminate\Support\Str
;
use
Illuminate\Support\Facades\Hash
;
use
App\Evento
;
use
Illuminate\Validation\Rule
;
use
App\Mail\EmailParaUsuarioNaoCadastrado
;
use
Illuminate\Support\Facades\Mail
;
use
App\Mail\EventoCriado
;
...
...
@@ -66,29 +67,42 @@ class AdministradorController extends Controller
public
function
salvar
(
Request
$request
)
{
if
(
$request
->
tipo
!=
"proponente"
)
{
$validated
=
$request
->
validate
([
'n
o
me'
=>
'required'
,
'n
a
me'
=>
'required'
,
'tipo'
=>
'required'
,
'email'
=>
'required|unique:users'
,
'instituicao'
=>
[
'required_if:instituicaoSelect,Outra'
,
'max:255'
],
'instituicaoSelect'
=>
[
'required_without:instituicao'
],
'celular'
=>
'required'
,
'senha'
=>
'required'
,
'confirmar_senha'
=>
'required'
,
'cpf'
=>
'required|cpf|unique:users'
,
]);
}
else
{
$validated
=
$request
->
validate
([
'nome'
=>
'required'
,
'tipo'
=>
'required'
,
'email'
=>
'required|unique:users'
,
'senha'
=>
'required'
,
'confirmar_senha'
=>
'required'
,
'cpf'
=>
'required|cpf|unique:users'
,
'cargo'
=>
'required'
,
'titulacaoMaxima'
=>
'required'
,
'anoTitulacao'
=>
'required'
,
'areaFormacao'
=>
'required'
,
'area'
=>
'required'
,
'bolsistaProdutividade'
=>
'required'
,
'nivel'
=>
'required'
,
'linkLattes'
=>
'required'
,
'name'
=>
[
'required'
,
'string'
,
'max:255'
],
'email'
=>
[
'required'
,
'string'
,
'email'
,
'max:255'
,
'unique:users'
],
'senha'
=>
[
'required'
,
'string'
,
'min:8'
],
'confirmar_senha'
=>
[
'required'
],
'cpf'
=>
[
'required'
,
'cpf'
,
'unique:users'
],
'celular'
=>
[
'required'
,
'string'
],
'instituicao'
=>
[
'required_if:instituicaoSelect,Outra'
,
'max:255'
],
'instituicaoSelect'
=>
[
'required_without:instituicao'
],
'cargo'
=>
[
'required'
],
'vinculo'
=>
[
'required'
],
'outro'
=>
[
'required_if:vinculo,Outro'
],
'titulacaoMaxima'
=>
[
'required_with:anoTitulacao,areaFormacao,bolsistaProdutividade'
],
'titulacaoMaxima'
=>
Rule
::
requiredIf
((
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
!==
'Estudante'
)
||
(
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
===
'Estudante'
&&
isset
(
$data
[
'vinculo'
])
&&
$data
[
'vinculo'
]
===
'Pós-doutorando'
)),
'anoTitulacao'
=>
[
'required_with:titulacaoMaxima,areaFormacao,bolsistaProdutividade,linkLattes'
],
'anoTitulacao'
=>
Rule
::
requiredIf
((
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
!==
'Estudante'
)
||
(
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
===
'Estudante'
&&
isset
(
$data
[
'vinculo'
])
&&
$data
[
'vinculo'
]
===
'Pós-doutorando'
)),
'areaFormacao'
=>
[
'required_with:titulacaoMaxima,anoTitulacao,bolsistaProdutividade,linkLattes'
],
'areaFormacao'
=>
Rule
::
requiredIf
((
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
!==
'Estudante'
)
||
(
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
===
'Estudante'
&&
isset
(
$data
[
'vinculo'
])
&&
$data
[
'vinculo'
]
===
'Pós-doutorando'
)),
'bolsistaProdutividade'
=>
[
'required_with:titulacaoMaxima,anoTitulacao,areaFormacao,linkLattes'
],
'bolsistaProdutividade'
=>
Rule
::
requiredIf
((
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
!==
'Estudante'
)
||
(
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
===
'Estudante'
&&
isset
(
$data
[
'vinculo'
])
&&
$data
[
'vinculo'
]
===
'Pós-doutorando'
)),
'nivel'
=>
[
'required_if:bolsistaProdutividade,sim'
],
'nivel'
=>
[(
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
!==
'Estudante'
)
||
(
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
===
'Estudante'
&&
isset
(
$data
[
'vinculo'
])
&&
$data
[
'vinculo'
]
===
'Pós-doutorando'
)
?
'required'
:
''
],
'linkLattes'
=>
[
'required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'
],
'linkLattes'
=>
[(
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
!==
'Estudante'
)
||
(
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
===
'Estudante'
&&
isset
(
$data
[
'vinculo'
])
&&
$data
[
'vinculo'
]
===
'Pós-doutorando'
)
?
'required'
:
''
],
'linkLattes'
=>
[(
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
!==
'Estudante'
)
||
(
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
===
'Estudante'
&&
isset
(
$data
[
'vinculo'
])
&&
$data
[
'vinculo'
]
===
'Pós-doutorando'
)
?
'link_lattes'
:
''
],
]);
}
...
...
@@ -97,11 +111,17 @@ class AdministradorController extends Controller
}
$user
=
new
User
();
$user
->
name
=
$request
->
n
o
me
;
$user
->
name
=
$request
->
n
a
me
;
$user
->
tipo
=
$request
->
tipo
;
$user
->
cpf
=
$request
->
cpf
;
$user
->
celular
=
$request
->
celular
;
$user
->
email
=
$request
->
email
;
$user
->
password
=
bcrypt
(
$request
->
senha
);
if
(
$request
->
instituicao
!=
null
)
{
$user
->
instituicao
=
$request
->
instituicao
;
}
else
if
(
isset
(
$request
->
instituicaoSelect
)
&&
$request
->
instituicaoSelect
!=
"Outra"
)
{
$user
->
instituicao
=
$request
->
instituicaoSelect
;
}
$user
->
save
();
...
...
@@ -118,18 +138,29 @@ class AdministradorController extends Controller
break
;
case
"proponente"
:
$proponente
=
new
Proponente
();
$proponente
->
SIAPE
=
$request
->
SIAPE
;
if
(
$request
->
SIAPE
!=
null
)
{
$proponente
->
SIAPE
=
$request
->
SIAPE
;
}
$proponente
->
cargo
=
$request
->
cargo
;
$proponente
->
vinculo
=
$request
->
vinculo
;
if
(
$request
->
vinculo
!=
'Outro'
)
{
$proponente
->
vinculo
=
$request
->
vinculo
;
}
else
{
$proponente
->
vinculo
=
$request
->
outro
;
}
$proponente
->
titulacaoMaxima
=
$request
->
titulacaoMaxima
;
$proponente
->
anoTitulacao
=
$request
->
anoTitulacao
;
$proponente
->
areaFormacao
=
$request
->
areaFormacao
;
$proponente
->
areaFormacao
=
$request
->
areaFormacao
;
$proponente
->
bolsistaProdutividade
=
$request
->
bolsistaProdutividade
;
$proponente
->
nivel
=
$request
->
nivel
;
if
(
$request
->
bolsistaProdutividade
==
'sim'
)
{
$proponente
->
nivel
=
$request
->
nivel
;
}
$proponente
->
linkLattes
=
$request
->
linkLattes
;
$proponente
->
user_id
=
$user
->
id
;
$proponente
->
save
();
break
;
break
;
case
"participante"
:
$participante
=
new
Participante
();
$participante
->
user_id
=
$user
->
id
;
...
...
@@ -159,28 +190,38 @@ class AdministradorController extends Controller
if
(
$request
->
tipo
!=
"proponente"
)
{
$validated
=
$request
->
validate
([
'n
o
me'
=>
'required'
,
'n
a
me'
=>
'required'
,
'tipo'
=>
'required'
,
'email'
=>
'required'
,
// 'senha' => 'required',
// 'confirmar_senha' => 'required',
'instituicao'
=>
[
'required_if:instituicaoSelect,Outra'
,
'max:255'
],
'instituicaoSelect'
=>
[
'required_without:instituicao'
],
'celular'
=>
'required'
,
'cpf'
=>
'required|cpf'
,
]);
}
else
{
$validated
=
$request
->
validate
([
'nome'
=>
'required'
,
'tipo'
=>
'required'
,
'email'
=>
'required'
,
// 'senha' => 'required',
// 'confirmar_senha' => 'required',
'cpf'
=>
'required|cpf'
,
'cargo'
=>
'required'
,
'titulacaoMaxima'
=>
'required'
,
'anoTitulacao'
=>
'required'
,
'areaFormacao'
=>
'required'
,
'bolsistaProdutividade'
=>
'required'
,
'nivel'
=>
'required'
,
'linkLattes'
=>
'required'
,
'name'
=>
[
'required'
,
'string'
,
'max:255'
],
'email'
=>
[
'required'
,
'string'
,
'email'
,
'max:255'
],
'cpf'
=>
[
'required'
,
'cpf'
],
'celular'
=>
[
'required'
,
'string'
],
'instituicao'
=>
[
'required_if:instituicaoSelect,Outra'
,
'max:255'
],
'instituicaoSelect'
=>
[
'required_without:instituicao'
],
'cargo'
=>
[
'required'
],
'vinculo'
=>
[
'required'
],
'outro'
=>
[
'required_if:vinculo,Outro'
],
'titulacaoMaxima'
=>
[
'required_with:anoTitulacao,areaFormacao,bolsistaProdutividade'
],
'titulacaoMaxima'
=>
Rule
::
requiredIf
((
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
!==
'Estudante'
)
||
(
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
===
'Estudante'
&&
isset
(
$data
[
'vinculo'
])
&&
$data
[
'vinculo'
]
===
'Pós-doutorando'
)),
'anoTitulacao'
=>
[
'required_with:titulacaoMaxima,areaFormacao,bolsistaProdutividade,linkLattes'
],
'anoTitulacao'
=>
Rule
::
requiredIf
((
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
!==
'Estudante'
)
||
(
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
===
'Estudante'
&&
isset
(
$data
[
'vinculo'
])
&&
$data
[
'vinculo'
]
===
'Pós-doutorando'
)),
'areaFormacao'
=>
[
'required_with:titulacaoMaxima,anoTitulacao,bolsistaProdutividade,linkLattes'
],
'areaFormacao'
=>
Rule
::
requiredIf
((
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
!==
'Estudante'
)
||
(
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
===
'Estudante'
&&
isset
(
$data
[
'vinculo'
])
&&
$data
[
'vinculo'
]
===
'Pós-doutorando'
)),
'bolsistaProdutividade'
=>
[
'required_with:titulacaoMaxima,anoTitulacao,areaFormacao,linkLattes'
],
'bolsistaProdutividade'
=>
Rule
::
requiredIf
((
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
!==
'Estudante'
)
||
(
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
===
'Estudante'
&&
isset
(
$data
[
'vinculo'
])
&&
$data
[
'vinculo'
]
===
'Pós-doutorando'
)),
'nivel'
=>
[
'required_if:bolsistaProdutividade,sim'
],
'nivel'
=>
[(
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
!==
'Estudante'
)
||
(
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
===
'Estudante'
&&
isset
(
$data
[
'vinculo'
])
&&
$data
[
'vinculo'
]
===
'Pós-doutorando'
)
?
'required'
:
''
],
'linkLattes'
=>
[
'required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'
],
'linkLattes'
=>
[(
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
!==
'Estudante'
)
||
(
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
===
'Estudante'
&&
isset
(
$data
[
'vinculo'
])
&&
$data
[
'vinculo'
]
===
'Pós-doutorando'
)
?
'required'
:
''
],
'linkLattes'
=>
[(
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
!==
'Estudante'
)
||
(
isset
(
$data
[
'cargo'
])
&&
$data
[
'cargo'
]
===
'Estudante'
&&
isset
(
$data
[
'vinculo'
])
&&
$data
[
'vinculo'
]
===
'Pós-doutorando'
)
?
'link_lattes'
:
''
],
]);
}
...
...
@@ -205,15 +246,26 @@ class AdministradorController extends Controller
break
;
case
"proponente"
:
$proponente
=
Proponente
::
where
(
'user_id'
,
'='
,
$id
)
->
first
();
$proponente
->
SIAPE
=
$request
->
SIAPE
;
if
(
$request
->
SIAPE
!=
null
)
{
$proponente
->
SIAPE
=
$request
->
SIAPE
;
}
$proponente
->
cargo
=
$request
->
cargo
;
$proponente
->
vinculo
=
$request
->
vinculo
;
if
(
$request
->
vinculo
!=
'Outro'
)
{
$proponente
->
vinculo
=
$request
->
vinculo
;
}
else
{
$proponente
->
vinculo
=
$request
->
outro
;
}
$proponente
->
titulacaoMaxima
=
$request
->
titulacaoMaxima
;
$proponente
->
anoTitulacao
=
$request
->
anoTitulacao
;
$proponente
->
areaFormacao
=
$request
->
areaFormacao
;
$proponente
->
areaFormacao
=
$request
->
areaFormacao
;
$proponente
->
bolsistaProdutividade
=
$request
->
bolsistaProdutividade
;
$proponente
->
nivel
=
$request
->
nivel
;
if
(
$request
->
bolsistaProdutividade
==
'sim'
)
{
$proponente
->
nivel
=
$request
->
nivel
;
}
$proponente
->
linkLattes
=
$request
->
linkLattes
;
$proponente
->
user_id
=
$user
->
id
;
$proponente
->
update
();
break
;
...
...
@@ -224,15 +276,19 @@ class AdministradorController extends Controller
break
;
}
$user
->
name
=
$request
->
n
o
me
;
$user
->
name
=
$request
->
n
a
me
;
$user
->
tipo
=
$request
->
tipo
;
$user
->
email
=
$request
->
email
;
$user
->
cpf
=
$request
->
cpf
;
$user
->
celular
=
$request
->
celular
;
if
(
$request
->
instituicao
!=
null
)
{
$user
->
instituicao
=
$request
->
instituicao
;
}
else
if
(
isset
(
$request
->
instituicaoSelect
)
&&
$request
->
instituicaoSelect
!=
"Outra"
)
{
$user
->
instituicao
=
$request
->
instituicaoSelect
;
}
// $user->password = bcrypt($request->nova_senha);
$user
->
update
();
return
redirect
(
route
(
'admin.usuarios'
)
)
->
with
([
'mensagem'
=>
'Usuário atualizado com sucesso'
]);
}
...
...
@@ -313,7 +369,6 @@ class AdministradorController extends Controller
return
redirect
()
->
back
();
}
public
function
remover
(
Request
$request
){
...
...
app/Http/Controllers/EventoController.php
View file @
72241b3c
...
...
@@ -59,7 +59,9 @@ class EventoController extends Controller
{
$coordenadors
=
CoordenadorComissao
::
with
(
'user'
)
->
get
();
$naturezas
=
Natureza
::
orderBy
(
'nome'
)
->
get
();
return
view
(
'evento.criarEvento'
,
[
'coordenadors'
=>
$coordenadors
,
'naturezas'
=>
$naturezas
]);
$yesterday
=
Carbon
::
yesterday
(
'America/Recife'
);
$yesterday
=
$yesterday
->
toDateString
();
return
view
(
'evento.criarEvento'
,
[
'coordenadors'
=>
$coordenadors
,
'naturezas'
=>
$naturezas
,
'ontem'
=>
$yesterday
]);
}
/**
...
...
@@ -99,7 +101,7 @@ class EventoController extends Controller
'fimRevisao'
=>
[
'required'
,
'date'
],
'resultado'
=>
[
'required'
,
'date'
],
'pdfEdital'
=>
[
'required'
,
'file'
,
'mimes:pdf'
,
'max:2000000'
],
'modeloDocumento'
=>
[
'required'
,
'file'
,
'mimes:zip,doc,docx,odt,pdf'
,
'max:2000000'
],
'modeloDocumento'
=>
[
'file'
,
'mimes:zip,doc,docx,odt,pdf'
,
'max:2000000'
],
]);
}
...
...
@@ -116,7 +118,7 @@ class EventoController extends Controller
'fimRevisao'
=>
[
'required'
,
'date'
,
'after:'
.
$request
->
inicioRevisao
],
'resultado'
=>
[
'required'
,
'date'
,
'after:'
.
$yesterday
],
'pdfEdital'
=>
[
'required'
,
'file'
,
'mimes:pdf'
,
'max:2000000'
],
'modeloDocumento'
=>
[
'required'
,
'file'
,
'mimes:zip,doc,docx,odt,pdf'
,
'max:2000000'
],
'modeloDocumento'
=>
[
'file'
,
'mimes:zip,doc,docx,odt,pdf'
,
'max:2000000'
],
]);
$evento
=
Evento
::
create
([
...
...
@@ -150,14 +152,17 @@ class EventoController extends Controller
$nome
=
"edital.pdf"
;
Storage
::
putFileAs
(
$path
,
$pdfEdital
,
$nome
);
$evento
->
pdfEdital
=
$path
.
$nome
;
$modeloDocumento
=
$request
->
modeloDocumento
;
$extension
=
$modeloDocumento
->
extension
();
$path
=
'modeloDocumento/'
.
$evento
->
id
.
'/'
;
$nome
=
"modelo"
.
"."
.
$extension
;
Storage
::
putFileAs
(
$path
,
$modeloDocumento
,
$nome
);
$evento
->
modeloDocumento
=
$path
.
$nome
;
if
(
isset
(
$request
->
modeloDocumento
)){
$modeloDocumento
=
$request
->
modeloDocumento
;
$extension
=
$modeloDocumento
->
extension
();
$path
=
'modeloDocumento/'
.
$evento
->
id
.
'/'
;
$nome
=
"modelo"
.
"."
.
$extension
;
Storage
::
putFileAs
(
$path
,
$modeloDocumento
,
$nome
);
$evento
->
modeloDocumento
=
$path
.
$nome
;
}
$evento
->
save
();
...
...
app/Http/Controllers/ParticipanteController.php
View file @
72241b3c
...
...
@@ -13,6 +13,11 @@ class ParticipanteController extends Controller
return
view
(
'participante.index'
);
}
public
function
editais
(){
$eventos
=
Evento
::
all
();
return
view
(
'participante.editais'
,
[
'eventos'
=>
$eventos
]
);
}
public
function
edital
(
$id
){
$edital
=
Evento
::
find
(
$id
);
...
...
app/Http/Controllers/ProponenteController.php
View file @
72241b3c
...
...
@@ -20,6 +20,11 @@ class ProponenteController extends Controller
public
function
create
(){
return
view
(
'proponente.cadastro'
);
}
public
function
editais
(){
$eventos
=
Evento
::
all
();
return
view
(
'proponente.editais'
,
[
'eventos'
=>
$eventos
]
);
}
public
function
store
(
Request
$request
){
if
(
Auth
()
->
user
()
->
proponentes
==
null
)
{
...
...
@@ -60,7 +65,7 @@ class ProponenteController extends Controller
$proponente
->
save
();
$user
=
User
::
find
(
Auth
()
->
user
()
->
id
);
$user
->
tipo
=
"proponente"
;
//
$user->tipo = "proponente";
$user
->
save
();
$eventos
=
Evento
::
all
();
...
...
app/Http/Controllers/TrabalhoController.php
View file @
72241b3c
...
...
@@ -2,6 +2,7 @@
namespace
App\Http\Controllers
;
use
App\AnexosTemp
;
use
App\Trabalho
;
use
App\Coautor
;
use
App\Evento
;
...
...
@@ -22,6 +23,7 @@ use App\Avaliador;
use
Carbon\Carbon
;
use
Auth
;
use
Illuminate\Http\Request
;
use
Illuminate\Http\File
;
use
Illuminate\Support\Facades\Storage
;
use
App\Mail\EmailParaUsuarioNaoCadastrado
;
use
Illuminate\Support\Facades\Mail
;
...
...
@@ -41,7 +43,13 @@ class TrabalhoController extends Controller
{
$edital
=
Evento
::
find
(
$id
);
$grandeAreas
=
GrandeArea
::
orderBy
(
'nome'
)
->
get
();
$funcaoParticipantes
=
FuncaoParticipantes
::
all
();
$funcaoParticipantes
=
FuncaoParticipantes
::
all
();
$proponente
=
Proponente
::
where
(
'user_id'
,
Auth
::
user
()
->
id
)
->
first
();
if
(
$proponente
==
null
){
return
view
(
'proponente.cadastro'
)
->
with
([
'mensagem'
=>
'Você não possui perfil de Proponente, para submeter algum projeto preencha o formulário.'
]);;
}
return
view
(
'evento.submeterTrabalho'
,[
'edital'
=>
$edital
,
'grandeAreas'
=>
$grandeAreas
,
...
...
@@ -74,15 +82,21 @@ class TrabalhoController extends Controller
$coordenador
=
CoordenadorComissao
::
find
(
$evento
->
coordenadorId
);
//Relaciona o projeto criado com o proponente que criou o projeto
$proponente
=
Proponente
::
where
(
'user_id'
,
Auth
::
user
()
->
id
)
->
first
();
// if($proponente == null){
// return view('proponente.cadastro');
// }
//$trabalho->proponentes()->save($proponente);
//dd($
coordenador->id
);
//dd($
proponente
);
$trabalho
=
"trabalho"
;
if
(
$evento
->
inicioSubmissao
>
$mytime
){
if
(
$mytime
>=
$evento
->
fimSubmissao
){
return
redirect
()
->
route
(
'home'
);
}
}
//--Salvando os anexos da submissão temporariamente
$this
->
armazenarAnexosTemp
(
$request
,
Auth
::
user
()
->
id
);
//O anexo de Decisão do CONSU dependo do tipo de edital
if
(
$evento
->
tipo
==
'PIBIC'
||
$evento
->
tipo
==
'PIBIC-EM'
){
...
...
@@ -98,15 +112,16 @@ class TrabalhoController extends Controller
'nomeParticipante.*'
=>
[
'required'
,
'string'
],
'emailParticipante.*'
=>
[
'required'
,
'string'
],
'funcaoParticipante.*'
=>
[
'required'
,
'string'
],
'nomePlanoTrabalho.*'
=>
[
'required'
,
'string'
],
'anexoProjeto'
=>
[
'required'
,
'file'
,
'mimes:pdf'
,
'max:2000000'
],
'anexoCONSU'
=>
[
'required'
,
'file'
,
'mimes:pdf'
,
'max:2000000'
],
'nomePlanoTrabalho.*'
=>
[
'nullable'
,
'string'
],
//--Verificando se anexos já foram submetidos
'anexoProjeto'
=>
[(
$request
->
anexoProjetoPreenchido
!==
'sim'
?
'required'
:
''
),
'file'
,
'mimes:pdf'
,
'max:2000000'
],
'anexoCONSU'
=>
[(
$request
->
anexoConsuPreenchido
!==
'sim'
?
'required'
:
''
),
'file'
,
'mimes:pdf'
,
'max:2000000'
],
'botao'
=>
[
'required'
],
'anexoComiteEtica'
=>
[
'required_without:justificativaAutorizacaoEtica'
,
'file'
,
'mimes:pdf'
,
'max:2000000'
],
'justificativaAutorizacaoEtica'
=>
[
'required_without:anexoComiteEtica'
,
'file'
,
'mimes:pdf'
,
'max:2000000'
],
'anexoLatte
r
Coordenador'
=>
[
'required'
,
'file'
,
'mimes:pdf'
,
'max:2000000'
],
'anexoPlanilha'
=>
[
'required'
,
'file'
,
'mimes:pdf'
,
'max:2000000'
],
'anexoPlanoTrabalho.*'
=>
[
'
required
'
,
'file'
,
'mimes:pdf'
,
'max:2000000'
],
'anexoComiteEtica'
=>
[
(
$request
->
anexoComitePreenchido
!==
'sim'
&&
$request
->
anexoJustificativaPreenchido
!==
'sim'
?
'required_without:justificativaAutorizacaoEtica'
:
''
)
,
'file'
,
'mimes:pdf'
,
'max:2000000'
],
'justificativaAutorizacaoEtica'
=>
[
(
$request
->
anexoJustificativaPreenchido
!==
'sim'
&&
$request
->
anexoComitePreenchido
!==
'sim'
?
'required_without:anexoComiteEtica'
:
''
)
,
'file'
,
'mimes:pdf'
,
'max:2000000'
],
'anexoLatte
s
Coordenador'
=>
[
(
$request
->
anexoLattesPreenchido
!==
'sim'
?
'required'
:
''
)
,
'file'
,
'mimes:pdf'
,
'max:2000000'
],
'anexoPlanilha'
=>
[
(
$request
->
anexoPlanilhaPreenchido
!==
'sim'
?
'required'
:
''
)
,
'file'
,
'mimes:pdf'
,
'max:2000000'
],
'anexoPlanoTrabalho.*'
=>
[
'
nullable
'
,
'file'
,
'mimes:pdf'
,
'max:2000000'
],
]);
//dd($request->all());
...
...
@@ -125,12 +140,12 @@ class TrabalhoController extends Controller
'status'
=>
'Submetido'
,
'proponente_id'
=>
$proponente
->
id
,
//Anexos
'anexoCONSU'
=>
$request
->
anexoCONSU
,
'anexoProjeto'
=>
$request
->
anexoProjeto
,
'anexoAutorizacaoComiteEtica'
=>
$request
->
anexoComiteEtica
,
'justificativaAutorizacaoEtica'
=>
$request
->
justificativaAutorizacaoEtica
,
'anexoLattesCoordenador'
=>
$request
->
anexoLatte
r
Coordenador
,
'anexoPlanilhaPontuacao'
=>
$request
->
anexoPlanilha
,
'anexoCONSU'
=>
$request
->
anexoCONSU
!=
null
?
$request
->
anexoCONSU
:
""
,
'anexoProjeto'
=>
$request
->
anexoProjeto
!=
null
?
$request
->
anexoProjeto
:
""
,
'anexoAutorizacaoComiteEtica'
=>
$request
->
anexoComiteEtica
!=
null
?
$request
->
anexoComiteEtica
:
""
,
'justificativaAutorizacaoEtica'
=>
$request
->
justificativaAutorizacaoEtica
!=
null
?
$request
->
justificativaAutorizacaoEtica
:
""
,
'anexoLattesCoordenador'
=>
$request
->
anexoLatte
sCoordenador
!=
null
?
$request
->
anexoLattes
Coordenador
:
""
,
'anexoPlanilhaPontuacao'
=>
$request
->
anexoPlanilha
!=
null
?
$request
->
anexoPlanilha
:
""
,
]);
//dd($trabalho);
}
else
{
...
...
@@ -147,11 +162,11 @@ class TrabalhoController extends Controller
'nomeParticipante.*'
=>
[
'required'
,
'string'
],
'emailParticipante.*'
=>
[
'required'
,
'string'
],
'funcaoParticipante.*'
=>
[
'required'
,
'string'
],
'nomePlanoTrabalho.*'
=>
[
'
required
'
,
'string'
],
'anexoProjeto'
=>
[
'required'
,
'file'
,
'mimes:pdf'
,
'max:2000000'
],
'anexoLatte
r
Coordenador'
=>
[
'required'
,
'file'
,
'mimes:pdf'
,
'max:2000000'
],
'anexoPlanilha'
=>
[
'required'
,
'file'
,
'mimes:pdf'
,
'max:2000000'
],
'anexoPlanoTrabalho.*'
=>
[
'
required
'
,
'file'
,
'mimes:pdf'
,
'max:2000000'
],
'nomePlanoTrabalho.*'
=>
[
'
nullable
'
,
'string'
],
'anexoProjeto'
=>
[
(
$request
->
anexoProjetoPreenchido
!==
'sim'
?
'required'
:
''
)
,
'file'
,
'mimes:pdf'
,
'max:2000000'
],
'anexoLatte
s
Coordenador'
=>
[
(
$request
->
anexoLattesPreenchido
!==
'sim'
?
'required'
:
''
)
,
'file'
,
'mimes:pdf'
,
'max:2000000'
],
'anexoPlanilha'
=>
[
(
$request
->
anexoPlanilhaPreenchido
!==
'sim'
?
'required'
:
''
)
,
'file'
,
'mimes:pdf'
,
'max:2000000'
],
'anexoPlanoTrabalho.*'
=>
[
'
nullable
'
,
'file'
,
'mimes:pdf'
,
'max:2000000'
],
]);
$trabalho
=
Trabalho
::
create
([
...
...
@@ -172,7 +187,7 @@ class TrabalhoController extends Controller
'anexoProjeto'
=>
$request
->
anexoProjeto
,
'anexoAutorizacaoComiteEtica'
=>
$request
->
anexoComiteEtica
,
'justificativaAutorizacaoEtica'
=>
$request
->
justificativaAutorizacaoEtica
,
'anexoLattesCoordenador'
=>
$request
->
anexoLatte
r
Coordenador
,
'anexoLattesCoordenador'
=>
$request
->
anexoLatte
s
Coordenador
,
'anexoPlanilhaPontuacao'
=>
$request
->
anexoPlanilha
,
]);
...
...
@@ -215,54 +230,143 @@ class TrabalhoController extends Controller
$subject
=
"Participante de Projeto"
;
$email
=
$value
;
Mail
::
to
(
$email
)
->
send
(
new
SubmissaoTrabalho
(
$userParticipante
,
$subject
));
->
send
(
new
SubmissaoTrabalho
(
$userParticipante
,
$subject
,
$evento
,
$trabalho
));
}
$usuario
=
User
::
where
(
'email'
,
$value
)
->
first
();
$participante
=
Participante
::
where
([[
'user_id'
,
'='
,
$usuario
->
id
],
[
'trabalho_id'
,
'='
,
$trabalho
->
id
]])
->
first
();
$path
=
'trabalhos/'
.
$request
->
editalId
.
'/'
.
$trabalho
->
id
.
'/'
;
$nome
=
$request
->
nomePlanoTrabalho
[
$key
]
.
".pdf"
;
$file
=
$request
->
anexoPlanoTrabalho
[
$key
];
Storage
::
putFileAs
(
$path
,
$file
,
$nome
);
$arquivo
=
new
Arquivo
();
$arquivo
->
titulo
=
$request
->
nomePlanoTrabalho
[
$key
];
$arquivo
->
nome
=
$path
.
$nome
;
$arquivo
->
trabalhoId
=
$trabalho
->
id
;
$arquivo
->
data
=
$mytime
;
$arquivo
->
participanteId
=
$participante
->
id
;
$arquivo
->
versaoFinal
=
true
;
$arquivo
->
save
();
if
(
$request
->
nomePlanoTrabalho
[
$key
]
!=
null
){
$usuario
=
User
::
where
(
'email'
,
$value
)
->
first
();
$participante
=
Participante
::
where
([[
'user_id'
,
'='
,
$usuario
->
id
],
[
'trabalho_id'
,
'='
,
$trabalho
->
id
]])
->
first
();
$path
=
'trabalhos/'
.
$request
->
editalId
.
'/'
.
$trabalho
->
id
.
'/'
;
$nome
=
$request
->
nomePlanoTrabalho
[
$key
]
.
".pdf"
;
$file
=
$request
->
anexoPlanoTrabalho
[
$key
];
Storage
::
putFileAs
(
$path
,
$file
,
$nome
);
$arquivo
=
new
Arquivo
();
$arquivo
->
titulo
=
$request
->
nomePlanoTrabalho
[
$key
];
$arquivo
->
nome
=
$path
.
$nome
;
$arquivo
->
trabalhoId
=
$trabalho
->
id
;
$arquivo
->
data
=
$mytime
;
$arquivo
->
participanteId
=
$participante
->
id
;
$arquivo
->
versaoFinal
=
true
;
$arquivo
->
save
();
}
}
}
//-- Salvando anexos no storage ---//
$pasta
=
'trabalhos/'
.
$request
->
editalId
.
'/'
.
$trabalho
->
id
;
if
(
$evento
->
tipo
==
'PIBIC'
||
$evento
->
tipo
==
'PIBIC-EM'
)
{
$trabalho
->
anexoDecisaoCONSU
=
Storage
::
putFileAs
(
$pasta
,
$request
->
anexoCONSU
,
"CONSU.pdf"
);
}
//-- Se existem anexos temporários, utilizá-los
$anexosTemp
=
AnexosTemp
::
where
(
'eventoId'
,
$request
->
editalId
)
->
where
(
'proponenteId'
,
Auth
::
user
()
->
id
)
->
orderByDesc
(
'updated_at'
)
->
first
();
if
(
!
(
is_null
(
$request
->
anexoComiteEtica
)))
{
$trabalho
->
anexoAutorizacaoComiteEtica
=
Storage
::
putFileAs
(
$pasta
,
$request
->
anexoComiteEtica
,
"Comite_de_etica.pdf"
);
}
else
{
$trabalho
->
justificativaAutorizacaoEtica
=
Storage
::
putFileAs
(
$pasta
,
$request
->
justificativaAutorizacaoEtica
,
"Justificativa.pdf"
);
if
(
$anexosTemp
!=
null
){
$this
->
armazenarAnexosFinais
(
$anexosTemp
,
$request
,
$pasta
,
$trabalho
,
$evento
);
}
$trabalho
->
anexoProjeto
=
Storage
::
putFileAs
(
$pasta
,
$request
->
anexoProjeto
,
"Projeto.pdf"
);
$trabalho
->
anexoLattesCoordenador
=
Storage
::
putFileAs
(
$pasta
,
$request
->
anexoLatterCoordenador
,
"Latter_Coordenador.pdf"
);
$trabalho
->
anexoPlanilhaPontuacao
=
Storage
::
putFileAs
(
$pasta
,
$request
->
anexoPlanilha
,
"Planilha.pdf"
);
$trabalho
->
update
();
//dd($trabalho);
//Deletando arquivos temporários
Storage
::
deleteDirectory
(
'anexosTemp/'
.
$request
->
editalId
.
'/'
.
Auth
::
user
()
->
id
);
$anexosTemp
->
delete
();
$subject
=
"Submissão de Trabalho"
;
$autor
=
Auth
()
->
user
();
$evento
=
$evento
;
$trabalho
=
$trabalho
;
Mail
::
to
(
$autor
->
email
)
->
send
(
new
SubmissaoTrabalho
(
$autor
,
$subject
));
->
send
(
new
SubmissaoTrabalho
(
$autor
,
$subject
,
$evento
,
$trabalho
));
return
redirect
()
->
route
(
'evento.visualizar'
,[
'id'
=>
$request
->
editalId
]);
}
//Armazena temporariamente anexos da submissão, no banco de dados e no storage
public
function
armazenarAnexosTemp
(
Request
$request
,
$proponenteId
){
//---Anexos do Projeto
$anexosTemp
=
AnexosTemp
::
where
(
'eventoId'
,
$request
->
editalId
)
->
where
(
'proponenteId'
,
$proponenteId
)
->
orderByDesc
(
'updated_at'
)
->
first
();
if
(
$anexosTemp
==
null
){
$anexosTemp
=
new
AnexosTemp
();
$jaExiste
=
false
;
}
else
{
$jaExiste
=
true
;
}
$pasta
=
'anexosTemp/'
.
$request
->
editalId
.
'/'
.
$proponenteId
;
if
(
!
(
is_null
(
$request
->
anexoCONSU
))
)
{
$anexosTemp
->
anexoDecisaoCONSU
=
Storage
::
putFileAs
(
$pasta
,
$request
->
anexoCONSU
,
"CONSU.pdf"
);
}
if
(
!
(
is_null
(
$request
->
anexoComiteEtica
)))
{
$anexosTemp
->
anexoAutorizacaoComiteEtica
=
Storage
::
putFileAs
(
$pasta
,
$request
->
anexoComiteEtica
,
"Comite_de_etica.pdf"
);
}
if
(
!
(
is_null
(
$request
->
justificativaAutorizacaoEtica
)))
{
$anexosTemp
->
justificativaAutorizacaoEtica
=
Storage
::
putFileAs
(
$pasta
,
$request
->
justificativaAutorizacaoEtica
,
"Justificativa.pdf"
);
}
if
(
!
(
is_null
(
$request
->
anexoProjeto
)))
{
$anexosTemp
->
anexoProjeto
=
Storage
::
putFileAs
(
$pasta
,
$request
->
anexoProjeto
,
"Projeto.pdf"
);
}
if
(
!
(
is_null
(
$request
->
anexoLattesCoordenador
)))
{
$anexosTemp
->
anexoLattesCoordenador
=
Storage
::
putFileAs
(
$pasta
,
$request
->
anexoLattesCoordenador
,
"Latter_Coordenador.pdf"
);
}
if
(
!
(
is_null
(
$request
->
anexoPlanilha
)))
{
$anexosTemp
->
anexoPlanilhaPontuacao
=
Storage
::
putFileAs
(
$pasta
,
$request
->
anexoPlanilha
,
"Planilha.pdf"
);
}
$anexosTemp
->
eventoId
=
$request
->
editalId
;
$anexosTemp
->
proponenteId
=
$proponenteId
;
if
(
!
$jaExiste
){
$anexosTemp
->
save
();
}
else
{
$anexosTemp
->
update
();
}
//---Anexos planos de trabalho
}
public
function
armazenarAnexosFinais
(
$anexosTemp
,
$request
,
$pasta
,
$trabalho
,
$evento
){
// Anexo Projeto
if
(
(
!
isset
(
$request
->
anexoProjeto
)
&&
$request
->
anexoProjetoPreenchido
==
'sim'
)
||
isset
(
$request
->
anexoProjeto
)){
Storage
::
move
(
$anexosTemp
->
anexoProjeto
,
$pasta
.
'/Projeto.pdf'
);
$trabalho
->
anexoProjeto
=
$pasta
.
'/Projeto.pdf'
;
}
//Anexo Decisão CONSU
if
(
$evento
->
tipo
==
'PIBIC'
||
$evento
->
tipo
==
'PIBIC-EM'
)
{
if
(
(
!
isset
(
$request
->
anexoCONSU
)
&&
$request
->
anexoConsuPreenchido
==
'sim'
)
||
isset
(
$request
->
anexoCONSU
)){
Storage
::
move
(
$anexosTemp
->
anexoDecisaoCONSU
,
$pasta
.
'/CONSU.pdf'
);
$trabalho
->
anexoDecisaoCONSU
=
$pasta
.
'/CONSU.pdf'
;
}
}
//Autorização ou Justificativa
if
(
(
!
isset
(
$request
->
anexoComiteEtica
)
&&
$request
->
anexoComitePreenchido
==
'sim'
)
||
isset
(
$request
->
anexoComiteEtica
)){
Storage
::
move
(
$anexosTemp
->
anexoAutorizacaoComiteEtica
,
$pasta
.
'/Comite_de_etica.pdf'
);
$trabalho
->
anexoAutorizacaoComiteEtica
=
$pasta
.
'/Comite_de_etica.pdf'
;
}
elseif
(
(
!
isset
(
$request
->
justificativaAutorizacaoEtica
)
&&
$request
->
anexoJustificativaPreenchido
==
'sim'
)
||
isset
(
$request
->
justificativaAutorizacaoEtica
)){
Storage
::
move
(
$anexosTemp
->
justificativaAutorizacaoEtica
,
$pasta
.
'/Justificativa.pdf'
);
$trabalho
->
justificativaAutorizacaoEtica
=
$pasta
.
'/Justificativa.pdf'
;
}
//Anexo Lattes
if
(
(
!
isset
(
$request
->
anexoLattesCoordenador
)
&&
$request
->
anexoLattesPreenchido
==
'sim'
)
||
isset
(
$request
->
anexoLattesCoordenador
)){
Storage
::
move
(
$anexosTemp
->
anexoLattesCoordenador
,
$pasta
.
'/Latter_Coordenador.pdf'
);
$trabalho
->
anexoLattesCoordenador
=
$pasta
.
'/Latter_Coordenador.pdf'
;
}
//Anexo Planilha
if
(
(
!
isset
(
$request
->
anexoPlanilha
)
&&
$request
->
anexoPlanilhaPreenchido
==
'sim'
)
||
isset
(
$request
->
anexoPlanilha
)){
Storage
::
move
(
$anexosTemp
->
anexoPlanilhaPontuacao
,
$pasta
.
'/Planilha.pdf'
);
$trabalho
->
anexoPlanilhaPontuacao
=
$pasta
.
'/Planilha.pdf'
;
}
}
/**
* Display the specified resource.
*
...
...
@@ -414,9 +518,9 @@ class TrabalhoController extends Controller
$trabalho
->
anexoAutorizacaoComiteEtica
=
Storage
::
putFileAs
(
$pasta
,
$request
->
anexoComiteEtica
,
"Comite_de_etica.pdf"
);
}
if
(
!
(
is_null
(
$request
->
anexoLatte
r
Coordenador
)))
{
if
(
!
(
is_null
(
$request
->
anexoLatte
s
Coordenador
)))
{
Storage
::
delete
(
$trabalho
->
anexoLattesCoordenador
);
$trabalho
->
anexoLattesCoordenador
=
Storage
::
putFileAs
(
$pasta
,
$request
->
anexoLatte
r
Coordenador
,
"Latter_Coordenador.pdf"
);
$trabalho
->
anexoLattesCoordenador
=
Storage
::
putFileAs
(
$pasta
,
$request
->
anexoLatte
s
Coordenador
,
"Latter_Coordenador.pdf"
);
}
if
(
!
(
is_null
(
$request
->
anexoPlanilha
)))
{
...
...
@@ -753,4 +857,13 @@ class TrabalhoController extends Controller
$projeto
=
Trabalho
::
find
(
$id
);
return
Storage
::
download
(
$projeto
->
justificativaAutorizacaoEtica
);
}
public
function
baixarAnexoTemp
(
$eventoId
,
$nomeAnexo
)
{
$proponenteId
=
Auth
::
user
()
->
id
;
$anexosTemp
=
AnexosTemp
::
where
(
'eventoId'
,
$eventoId
)
->
where
(
'proponenteId'
,
$proponenteId
)
->
orderByDesc
(
'updated_at'
)
->
first
();
return
Storage
::
download
(
$anexosTemp
->
$nomeAnexo
);
}
}
app/Mail/SubmissaoTrabalho.php
View file @
72241b3c
...
...
@@ -13,18 +13,20 @@ class SubmissaoTrabalho extends Mailable
public
$user
;
public
$subject
;
public
$evento
;
public
$trabalho
;
/**
* Create a new message instance.
*
* @return void
*/
public
function
__construct
(
$user
,
$subject
)
public
function
__construct
(
$user
,
$subject
,
$evento
,
$trabalho
)
{
$this
->
user
=
$user
;
$this
->
subject
=
$subject
;
$this
->
evento
=
$evento
;
$this
->
trabalho
=
$trabalho
;
}
/**
...
...
@@ -37,6 +39,12 @@ class SubmissaoTrabalho extends Mailable
return
$this
->
from
(
'lmtsteste@gmail.com'
,
'Submeta - LMTS'
)
->
subject
(
$this
->
subject
)
->
view
(
'emails.submissaoTrabalho'
);
->
view
(
'emails.submissaoTrabalho'
)
->
with
([
'user'
=>
$this
->
user
,
'evento'
=>
$this
->
evento
,
'trabalho'
=>
$this
->
trabalho
,
]);
}
}
app/Natureza.php
View file @
72241b3c
...
...
@@ -6,5 +6,7 @@ use Illuminate\Database\Eloquent\Model;
class
Natureza
extends
Model
{
//
public
function
projetos
()
{
return
$this
->
hasMany
(
'App\Evento'
);
}
}
composer.lock
View file @
72241b3c
...
...
@@ -1908,7 +1908,7 @@
},
{
"name": "symfony/css-selector",
"version": "v5.1.
1
",
"version": "v5.1.
2
",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
...
...
@@ -2398,7 +2398,7 @@
},
{
"name": "symfony/mime",
"version": "v5.1.
1
",
"version": "v5.1.
2
",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
...
...
@@ -3606,16 +3606,16 @@
},
{
"name": "filp/whoops",
"version": "2.7.
2
",
"version": "2.7.
3
",
"source": {
"type": "git",
"url": "https://github.com/filp/whoops.git",
"reference": "
17d0d3f266c8f925ebd035cd36f83cf802b47d4a
"
"reference": "
5d5fe9bb3d656b514d455645b3addc5f7ba7714d
"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/filp/whoops/zipball/
17d0d3f266c8f925ebd035cd36f83cf802b47d4a
",
"reference": "
17d0d3f266c8f925ebd035cd36f83cf802b47d4a
",
"url": "https://api.github.com/repos/filp/whoops/zipball/
5d5fe9bb3d656b514d455645b3addc5f7ba7714d
",
"reference": "
5d5fe9bb3d656b514d455645b3addc5f7ba7714d
",
"shasum": ""
},
"require": {
...
...
@@ -3663,7 +3663,7 @@
"throwable",
"whoops"
],
"time": "2020-0
5-05T12:28
:0
7
+00:00"
"time": "2020-0
6-14T09:00
:0
0
+00:00"
},
{
"name": "fzaninotto/faker",
...
...
@@ -4600,16 +4600,16 @@
},
{
"name": "phpunit/phpunit",
"version": "8.5.
5
",
"version": "8.5.
6
",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "
63dda3b212a0025d380a745f91bdb4d8c985adb7
"
"reference": "
3f9c4079d1407cd84c51c02c6ad1df6ec2ed1348
"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/
63dda3b212a0025d380a745f91bdb4d8c985adb7
",
"reference": "
63dda3b212a0025d380a745f91bdb4d8c985adb7
",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/
3f9c4079d1407cd84c51c02c6ad1df6ec2ed1348
",
"reference": "
3f9c4079d1407cd84c51c02c6ad1df6ec2ed1348
",
"shasum": ""
},
"require": {
...
...
@@ -4679,7 +4679,7 @@
"testing",
"xunit"
],
"time": "2020-0
5-22T13:51:52
+00:00"
"time": "2020-0
6-15T10:45:47
+00:00"
},
{
"name": "scrivo/highlight.php",
...
...
database/migrations/2020_06_15_160417_create_anexos_temps_table.php
0 → 100644
View file @
72241b3c
<?php
use
Illuminate\Database\Migrations\Migration
;
use
Illuminate\Database\Schema\Blueprint
;
use
Illuminate\Support\Facades\Schema
;
class
CreateAnexosTempsTable
extends
Migration
{
/**
* Run the migrations.
*
* @return void
*/
public
function
up
()
{
Schema
::
create
(
'anexos_temps'
,
function
(
Blueprint
$table
)
{
$table
->
bigIncrements
(
'id'
);
$table
->
timestamps
();
$table
->
string
(
'anexoProjeto'
)
->
nullable
();
$table
->
string
(
'anexoDecisaoCONSU'
)
->
nullable
();
$table
->
string
(
'anexoPlanilhaPontuacao'
)
->
nullable
();
$table
->
string
(
'anexoLattesCoordenador'
)
->
nullable
();
$table
->
string
(
'anexoAutorizacaoComiteEtica'
)
->
nullable
();
$table
->
string
(
'justificativaAutorizacaoEtica'
)
->
nullable
();
$table
->
integer
(
'eventoId'
);
$table
->
integer
(
'proponenteId'
);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public
function
down
()
{
Schema
::
dropIfExists
(
'anexos_temps'
);
}
}
database/seeds/ProponenteSeeder.php
View file @
72241b3c
...
...
@@ -27,7 +27,26 @@ class ProponenteSeeder extends Seeder
'areaFormacao'
=>
'123123123'
,
'bolsistaProdutividade'
=>
'123123123'
,
'nivel'
=>
'123123123'
,
'linkLattes'
=>
'123123123'
,
'linkLattes'
=>
'http://lattes.cnpq.br/8363536830656923'
,
'created_at'
=>
'2020-01-01 00:00:00'
]);
$user_id
=
DB
::
table
(
'users'
)
->
where
(
'name'
,
'Gabriel'
)
->
pluck
(
'id'
);
DB
::
table
(
'proponentes'
)
->
insert
([
'user_id'
=>
$user_id
[
0
],
//'CPF' => '123123123',
'SIAPE'
=>
'123123123'
,
//'email' => '123123123',
//'email' => '123123123',
'cargo'
=>
'123123123'
,
'vinculo'
=>
'123123123'
,
'titulacaoMaxima'
=>
'Mestrado'
,
'anoTitulacao'
=>
'123123123'
,
'areaFormacao'
=>
'123123123'
,
'bolsistaProdutividade'
=>
'123123123'
,
'nivel'
=>
'123123123'
,
'linkLattes'
=>
'http://lattes.cnpq.br/8363536830656923'
,
'created_at'
=>
'2020-01-01 00:00:00'
]);
...
...
database/seeds/UsuarioSeeder.php
View file @
72241b3c
...
...
@@ -48,6 +48,15 @@ class UsuarioSeeder extends Seeder
'email_verified_at'
=>
'2020-01-01'
]);
DB
::
table
(
'users'
)
->
insert
([
'name'
=>
'Gabriel'
,
'email'
=>
'gabriel.uag.ufrpe@gmail.com'
,
'password'
=>
Hash
::
make
(
'12345678'
),
'tipo'
=>
'proponente'
,
'email_verified_at'
=>
'2020-01-01'
]);
DB
::
table
(
'users'
)
->
insert
([
'name'
=>
'Coordenador1'
,
...
...
resources/lang/pt-BR/validation.php
View file @
72241b3c
...
...
@@ -12,7 +12,7 @@ return [
*/
'accepted'
=>
':Attribute deve ser aceito.'
,
'active_url'
=>
':Attribute não é uma URL válida.'
,
'after'
=>
':Attribute deve ser uma data depois de
:date.
'
,
'after'
=>
':Attribute deve ser uma data depois de '
,
'after_or_equal'
=>
':attribute deve ser uma data posterior ou igual a:date.'
,
'alpha'
=>
':Attribute deve conter somente letras.'
,
'alpha_dash'
=>
':Attribute deve conter letras, números e traços.'
,
...
...
@@ -57,12 +57,12 @@ return [
'not_in'
=>
'O :attribute selecionado é inválido.'
,
'numeric'
=>
':Attribute deve ser um número.'
,
'regex'
=>
'O formato de :attribute é inválido.'
,
'required'
=>
'O campo
:attribute
é obrigatório.'
,
'required_if'
=>
'O campo
:attribute
é obrigatório
quando :other é :value
.'
,
'required'
=>
'O campo é obrigatório.'
,
'required_if'
=>
'O campo é obrigatório.'
,
'required_unless'
=>
'O :attribute é necessário a menos que :other esteja em :values.'
,
'required_with'
=>
'O campo
:attribute
é obrigatório
quando :values está presente
.'
,
'required_with'
=>
'O campo é obrigatório.'
,
'required_with_all'
=>
'O campo :attribute é obrigatório quando :values estão presentes.'
,
'required_without'
=>
'O campo
:attribute
é obrigatório
quando :values não está presente
.'
,
'required_without'
=>
'O campo é obrigatório.'
,
'required_without_all'
=>
'O campo :attribute é obrigatório quando nenhum destes estão presentes: :values.'
,
'same'
=>
':Attribute e :other devem ser iguais.'
,
'size'
=>
[
...
...
resources/views/administrador/editais.blade.php
View file @
72241b3c
...
...
@@ -6,22 +6,13 @@
<
div
class
=
"container"
>
<
div
class
=
"row"
>
<
div
class
=
"col-sm-10"
>
@
if
(
auth
()
->
user
()
->
tipo
===
"administrador"
)
<
h3
>
Meus
Editais
</
h3
>
@
else
<
h3
>
Editais
</
h3
>
@
endif
</
div
>
@
if
(
auth
()
->
user
()
->
tipo
===
"administrador"
)
<
div
class
=
"col-sm-2"
>
<
div
class
=
"col-sm-10"
>
<
h3
>
Meus
Editais
</
h3
>
</
div
>
<
a
href
=
"
{
{route('evento.criar')}
}
"
class
=
"btn btn-primary"
>
Criar
Edital
</
a
>
</
div
>
@
endif
</
div
>
</
div
>
</
div
>
<
hr
>
@
if
(
auth
()
->
user
()
->
tipo
===
"administrador"
)
<
table
class
=
"table table-bordered"
>
<
thead
>
<
tr
>
...
...
@@ -74,120 +65,7 @@
</
tr
>
@
endforeach
</
tbody
>
</
table
>
@
endif
@
if
(
auth
()
->
user
()
->
tipo
===
"proponente"
)
<
table
class
=
"table table-bordered"
>
<
thead
>
<
tr
>
<
th
scope
=
"col"
>
Nome
do
Edital
</
th
>
<
th
scope
=
"col"
>
Inicio
da
Submissão
</
th
>
<
th
scope
=
"col"
>
Fim
da
Submissão
</
th
>
<
th
scope
=
"col"
>
Data
do
Resultado
</
th
>
<
th
scope
=
"col"
>
Baixar
edital
</
th
>
<
th
scope
=
"col"
>
Opção
</
th
>
</
tr
>
</
thead
>
<
tbody
>
@
foreach
(
$eventos
as
$evento
)
<
tr
>
<
td
>
<
a
href
=
"{{ route('evento.visualizar',['id'=>
$evento->id
]) }}"
class
=
"visualizarEvento"
>
{{
$evento
->
nome
}}
</
a
>
</
td
>
<
td
>
{{
date
(
'd/m/Y'
,
strtotime
(
$evento
->
inicioSubmissao
))
}}
</
td
>
<
td
>
{{
date
(
'd/m/Y'
,
strtotime
(
$evento
->
fimSubmissao
))
}}
</
td
>
<
td
>
{{
date
(
'd/m/Y'
,
strtotime
(
$evento
->
created_at
))
}}
</
td
>
<
td
style
=
"text-align: center"
>
<
a
href
=
"{{ route('baixar.edital', ['id' =>
$evento->id
]) }}"
>
<
img
src
=
"
{
{asset('img/icons/file-download-solid.svg')}
}
"
width
=
"15px"
>
</
a
>
</
td
>
<
td
>
<
div
class
=
"btn-group dropright dropdown-options"
>
<
a
id
=
"options"
class
=
"dropdown-toggle "
data
-
toggle
=
"dropdown"
aria
-
haspopup
=
"true"
aria
-
expanded
=
"false"
>
<
img
src
=
"
{
{asset('img/icons/ellipsis-v-solid.svg')}
}
"
style
=
"width:8px"
>
</
a
>
<
div
class
=
"dropdown-menu"
>
<
a
href
=
"{{ route('projetos.edital', ['id' =>
$evento->id
]) }}"
class
=
"dropdown-item"
style
=
"text-align: center"
>
Projetos
submetidos
</
a
>
<
a
href
=
""
class
=
"dropdown-item"
style
=
"text-align: center"
>
Visualizar
resultado
</
a
>
{{
--
<
a
href
=
""
class
=
"dropdown-item"
style
=
"text-align: center"
>
Recurso
ao
resultado
</
a
>
<
a
href
=
""
class
=
"dropdown-item"
style
=
"text-align: center"
>
Resultado
preeliminar
</
a
>
<
a
href
=
""
class
=
"dropdown-item"
style
=
"text-align: center"
>
Resultado
final
</
a
>
--
}}
</
div
>
</
div
>
</
td
>
</
tr
>
@
endforeach
</
tbody
>
</
table
>
@
endif
@
if
(
auth
()
->
user
()
->
tipo
===
"participante"
)
<
table
class
=
"table table-bordered"
>
<
thead
>
<
tr
>
<
th
scope
=
"col"
>
Nome
do
Edital
</
th
>
<
th
scope
=
"col"
>
Status
</
th
>
<
th
scope
=
"col"
>
Data
de
Criação
</
th
>
<
th
scope
=
"col"
>
Baixar
edital
</
th
>
<
th
scope
=
"col"
>
Opção
</
th
>
</
tr
>
</
thead
>
<
tbody
>
@
foreach
(
$eventos
as
$evento
)
<
tr
>
<
td
>
<
a
href
=
"{{ route('evento.visualizar',['id'=>
$evento->id
]) }}"
class
=
"visualizarEvento"
>
{{
$evento
->
nome
}}
</
a
>
</
td
>
<
td
></
td
>
<
td
>
{{
$evento
->
created_at
}}
</
td
>
<
td
style
=
"text-align: center"
>
<
a
href
=
"{{ route('baixar.edital', ['id' =>
$evento->id
]) }}"
>
<
img
src
=
"
{
{asset('img/icons/file-download-solid.svg')}
}
"
width
=
"15px"
>
</
a
>
</
td
>
<
td
>
<
div
class
=
"btn-group dropright dropdown-options"
>
<
a
id
=
"options"
class
=
"dropdown-toggle "
data
-
toggle
=
"dropdown"
aria
-
haspopup
=
"true"
aria
-
expanded
=
"false"
>
<
img
src
=
"
{
{asset('img/icons/ellipsis-v-solid.svg')}
}
"
style
=
"width:8px"
>
</
a
>
<
div
class
=
"dropdown-menu"
>
<
a
href
=
"{{ route('participante.edital', ['id' =>
$evento->id
]) }}"
class
=
"dropdown-item"
style
=
"text-align: center"
>
Meus
projetos
</
a
>
<
a
href
=
""
class
=
"dropdown-item"
style
=
"text-align: center"
>
Visualizar
resultado
</
a
>
{{
--
<
a
href
=
""
class
=
"dropdown-item"
style
=
"text-align: center"
>
Resultado
preeliminar
</
a
>
<
a
href
=
""
class
=
"dropdown-item"
style
=
"text-align: center"
>
Resultado
final
</
a
>
--
}}
</
div
>
</
div
>
</
td
>
</
tr
>
@
endforeach
</
tbody
>
</
table
>
@
endif
</
table
>
</
div
>
...
...
resources/views/administrador/editar_user.blade.php
View file @
72241b3c
This diff is collapsed.
Click to expand it.
resources/views/administrador/novo_user.blade.php
View file @
72241b3c
This diff is collapsed.
Click to expand it.
resources/views/administrador/usersAdmin.blade.php
View file @
72241b3c
...
...
@@ -36,7 +36,7 @@
<
tbody
>
@
foreach
(
$users
as
$user
)
@
if
(
auth
()
->
user
()
->
id
!=
$user
->
id
)
@
can
(
'isAdministrador'
,
auth
()
->
user
()
)
@
if
(
auth
()
->
user
()
->
id
!=
"administrador"
)
<
tr
>
<
td
>
{{
$user
->
name
}}
...
...
@@ -96,7 +96,7 @@
</
td
>
</
tr
>
@
endif
@
end
can
@
end
if
@
endif
@
endforeach
</
tbody
>
...
...
resources/views/coordenador/home.blade.php
View file @
72241b3c
...
...
@@ -75,7 +75,7 @@
</
p
>
<
p
>
<
a
href
=
"{{ route('evento.visualizar',['id'=>
$evento->id
]) }}"
class
=
"visualizarEvento"
>
Visualizar
Evento
</
a
>
<
a
href
=
"{{ route('evento.visualizar',['id'=>
$evento->id
]) }}"
class
=
"visualizarEvento"
>
Visualizar
edital
</
a
>
</
p
>
</
div
>
...
...
resources/views/emails/submissaoTrabalho.blade.php
View file @
72241b3c
...
...
@@ -4,6 +4,18 @@
</head>
<body>
<h4>
Seu trabalho foi recebido com sucesso.
</h4>
@if(isset($user->proponentes))
@if($user->proponentes->id == $trabalho->proponente_id)
{{-- Usuario proponente--}}
<h2>
Olá, {{ $user->name }}
</h2>
<h4>
Seu trabalho {{ $trabalho->titulo }} foi submetido com sucesso no Edital {{ $evento->nome }}
</h4>
@endif
@else
{{-- Usuario participante--}}
<h2>
Olá, {{ $user->name }}
</h2>
<h4>
Você é participante no Projeto {{ $trabalho->titulo }} que foi submetido no Edital {{ $evento->nome }}.
</h4>
@endif
</body>
</html>
\ No newline at end of file
resources/views/evento/criarEvento.blade.php
View file @
72241b3c
...
...
@@ -16,7 +16,7 @@
{{
--
nome
|
Participantes
|
Tipo
--
}}
<
div
class
=
"row justify-content-center"
>
<
div
class
=
"col-sm-6"
>
<
label
for
=
"nome"
class
=
"col-form-label"
>
{{
__
(
'Nome'
)
}}
</
label
>
<
label
for
=
"nome"
class
=
"col-form-label"
>
{{
__
(
'Nome
*:
'
)
}}
</
label
>
<
input
id
=
"nome"
type
=
"text"
class
=
"form-control @error('nome') is-invalid @enderror"
name
=
"nome"
value
=
"{{ old('nome') }}"
required
autocomplete
=
"nome"
autofocus
>
@
error
(
'nome'
)
...
...
@@ -27,11 +27,11 @@
</
div
>
<
div
class
=
"col-sm-3"
>
<
label
for
=
"tipo"
class
=
"col-form-label"
>
{{
__
(
'Tipo'
)
}}
</
label
>
<
label
for
=
"tipo"
class
=
"col-form-label"
>
{{
__
(
'Tipo
*:
'
)
}}
</
label
>
<
select
id
=
"tipo"
type
=
"text"
class
=
"form-control @error('tipo') is-invalid @enderror"
name
=
"tipo"
value
=
"{{ old('tipo') }}"
required
>
<
option
value
=
"PIBIC"
>
PIBIC
</
option
>
<
option
value
=
"PIBIC-EM"
>
PIBIC
-
EM
</
option
>
<
option
value
=
"PIBITI"
>
PIBITI
</
option
>
<
option
@
if
(
old
(
'tipo'
)
==
'PIBIC'
)
selected
@
endif
value
=
"PIBIC"
>
PIBIC
</
option
>
<
option
@
if
(
old
(
'tipo'
)
==
'PIBIC-EM'
)
selected
@
endif
value
=
"PIBIC-EM"
>
PIBIC
-
EM
</
option
>
<
option
@
if
(
old
(
'tipo'
)
==
'PIBITI'
)
selected
@
endif
value
=
"PIBITI"
>
PIBITI
</
option
>
</
select
>
@
error
(
'tipo'
)
...
...
@@ -42,10 +42,10 @@
</
div
>
<
div
class
=
"col-sm-3"
>
<
label
for
=
"natureza"
class
=
"col-form-label"
>
{{
__
(
'Natureza'
)
}}
</
label
>
<
label
for
=
"natureza"
class
=
"col-form-label"
>
{{
__
(
'Natureza
*:
'
)
}}
</
label
>
<
select
id
=
"natureza"
type
=
"text"
class
=
"form-control @error('natureza') is-invalid @enderror"
name
=
"natureza"
value
=
"{{ old('natureza') }}"
required
>
@
foreach
(
$naturezas
as
$natureza
)
<
option
value
=
"{{
$natureza->id
}}"
>
{{
$natureza
->
nome
}}
</
option
>
<
option
@
if
(
old
(
'natureza'
)
==
$natureza
->
id
)
selected
@
endif
value
=
"{{
$natureza->id
}}"
>
{{
$natureza
->
nome
}}
</
option
>
@
endforeach
</
select
>
...
...
@@ -61,8 +61,8 @@
<
div
class
=
"row justify-content-center"
>
<
div
class
=
"col-sm-12"
>
<
div
class
=
"form-group"
>
<
label
for
=
"exampleFormControlTextarea1"
>
Descrição
</
label
>
<
textarea
class
=
"form-control @error('descricao') is-invalid @enderror"
value
=
"{{ old('descricao') }}"
required
autocomplete
=
"descricao"
autofocus
id
=
"descricao"
name
=
"descricao"
rows
=
"3"
></
textarea
>
<
label
for
=
"exampleFormControlTextarea1"
>
Descrição
*:
</
label
>
<
textarea
class
=
"form-control @error('descricao') is-invalid @enderror"
required
autocomplete
=
"descricao"
autofocus
id
=
"descricao"
name
=
"descricao"
rows
=
"3"
>
{{
old
(
'descricao'
)
}}
</
textarea
>
@
error
(
'descricao'
)
<
span
class
=
"invalid-feedback"
role
=
"alert"
>
<
strong
>
{{
$message
}}
</
strong
>
...
...
@@ -73,11 +73,11 @@
</
div
>
<
div
class
=
"row justify-content-center"
>
<
div
class
=
"col-sm-12"
>
<
label
for
=
"coordenador_id"
class
=
"col-form-label"
>
{{
__
(
'Coordenador:'
)
}}
</
label
>
<
label
for
=
"coordenador_id"
class
=
"col-form-label"
>
{{
__
(
'Coordenador
*
:'
)
}}
</
label
>
<
select
class
=
"form-control @error('funcaoParticipante') is-invalid @enderror"
id
=
"coordenador_id"
name
=
"coordenador_id"
>
<
option
value
=
""
disabled
selected
hidden
>--
Coordenador
da
Comissão
Avaliadora
--</
option
>
@
foreach
(
$coordenadors
as
$coordenador
)
<
option
value
=
"
{
{$coordenador->id}}">{{$coordenador->user->name}
}
</option>
<
option
@
if
(
old
(
'coordenador_id'
)
==
$coordenador
->
id
)
selected
@
endif
value
=
"
{
{$coordenador->id}}">{{$coordenador->user->name}
}
</option>
@endforeach
</select>
</div>
...
...
@@ -92,22 +92,22 @@
<div class="
row
justify
-
content
-
center
">
<div class="
col
-
sm
-
6
">
<label for="
inicioSubmissao
" class="
col
-
form
-
label
">{{ __('Início da Submissão') }}</label>
<label for="
inicioSubmissao
" class="
col
-
form
-
label
">{{ __('Início da Submissão
*:
') }}</label>
<input id="
inicioSubmissao
" type="
date
" class="
form
-
control
@
error
(
'inicioSubmissao'
)
is
-
invalid
@
enderror
" name="
inicioSubmissao
" value="
{{
old
(
'inicioSubmissao'
)
}}
" required autocomplete="
inicioSubmissao
" autofocus>
@error('inicioSubmissao')
<span class="
invalid
-
feedback
" role="
alert
">
<strong>{{
$message
}}</strong>
<strong>{{
$message
. date('d/m/Y', strtotime(
$ontem
?? '')) . '.'
}}</strong>
</span>
@enderror
</div>
<div class="
col
-
sm
-
6
">
<label for="
fimSubmissao
" class="
col
-
form
-
label
">{{ __('Fim da Submissão') }}</label>
<label for="
fimSubmissao
" class="
col
-
form
-
label
">{{ __('Fim da Submissão
*:
') }}</label>
<input id="
fimSubmissao
" type="
date
" class="
form
-
control
@
error
(
'fimSubmissao'
)
is
-
invalid
@
enderror
" name="
fimSubmissao
" value="
{{
old
(
'fimSubmissao'
)
}}
" required autocomplete="
fimSubmissao
" autofocus>
@error('fimSubmissao')
<span class="
invalid
-
feedback
" role="
alert
">
<strong>{{
$message
}}</strong>
<strong>{{
$message
. date('d/m/Y', strtotime(old('inicioSubmissao'))) . '.'
}}</strong>
</span>
@enderror
</div>
...
...
@@ -115,22 +115,22 @@
<div class="
row
justify
-
content
-
center
">
<div class="
col
-
sm
-
6
">
<label for="
inicioRevisao
" class="
col
-
form
-
label
">{{ __('Início da Avaliação') }}</label>
<label for="
inicioRevisao
" class="
col
-
form
-
label
">{{ __('Início da Avaliação
*:
') }}</label>
<input id="
inicioRevisao
" type="
date
" class="
form
-
control
@
error
(
'inicioRevisao'
)
is
-
invalid
@
enderror
" name="
inicioRevisao
" value="
{{
old
(
'inicioRevisao'
)
}}
" required autocomplete="
inicioRevisao
" autofocus>
@error('inicioRevisao')
<span class="
invalid
-
feedback
" role="
alert
">
<strong>{{
$message
}}</strong>
<strong>{{
$message
. date('d/m/Y', strtotime(
$ontem
?? '')) . '.'
}}</strong>
</span>
@enderror
</div>
<div class="
col
-
sm
-
6
">
<label for="
fimRevisao
" class="
col
-
form
-
label
">{{ __('Fim da Avaliação') }}</label>
<label for="
fimRevisao
" class="
col
-
form
-
label
">{{ __('Fim da Avaliação
*:
') }}</label>
<input id="
fimRevisao
" type="
date
" class="
form
-
control
@
error
(
'fimRevisao'
)
is
-
invalid
@
enderror
" name="
fimRevisao
" value="
{{
old
(
'fimRevisao'
)
}}
" required autocomplete="
fimRevisao
" autofocus>
@error('fimRevisao')
<span class="
invalid
-
feedback
" role="
alert
">
<strong>{{
$message
}}</strong>
<strong>{{
$message
. date('d/m/Y', strtotime( old('inicioRevisao') )) . '.'
}}</strong>
</span>
@enderror
</div>
...
...
@@ -138,12 +138,12 @@
<div class="
row
justify
-
content
-
left
">
<div class="
col
-
sm
-
6
">
<label for="
resultado
" class="
col
-
form
-
label
">{{ __('Data do Resultado') }}</label>
<label for="
resultado
" class="
col
-
form
-
label
">{{ __('Data do Resultado
*:
') }}</label>
<input id="
resultado
" type="
date
" class="
form
-
control
@
error
(
'resultado'
)
is
-
invalid
@
enderror
" name="
resultado
" value="
{{
old
(
'resultado'
)
}}
" required autocomplete="
resultado
" autofocus>
@error('resultado')
<span class="
invalid
-
feedback
" role="
alert
">
<strong>{{
$message
}}</strong>
<strong>{{
$message
. date('d/m/Y', strtotime(
$ontem
?? '')) . '.'
}}</strong>
</span>
@enderror
</div>
...
...
@@ -159,7 +159,7 @@
<div class="
row
justify
-
content
-
center
" style="
margin
-
top
:
10
px
">
<div class="
col
-
sm
-
6
">
<div class="
form
-
group
">
<label for="
pdfEdital
">Anexar edital</label>
<label for="
pdfEdital
">Anexar edital
*:
</label>
<input type="
file
" class="
form
-
control
-
file
@
error
(
'pdfEdital'
)
is
-
invalid
@
enderror
" name="
pdfEdital
" value="
{{
old
(
'pdfEdital'
)
}}
" id="
pdfEdital
">
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small>
@error('pdfEdital')
...
...
@@ -172,7 +172,7 @@
<div class="
col
-
sm
-
6
">
<div class="
form
-
group
">
<label for="
modeloDocumento
">Arquivo com os modelos de documentos do edital</label>
<label for="
modeloDocumento
">A
nexar a
rquivo com os modelos de documentos do edital
:
</label>
<input type="
file
" class="
form
-
control
-
file
@
error
(
'modeloDocumento'
)
is
-
invalid
@
enderror
" name="
modeloDocumento
" value="
{{
old
(
'modeloDocumento'
)
}}
" id="
modeloDocumento
">
<small>O arquivo selecionado deve ter até 2mb.</small>
@error('modeloDocumento')
...
...
Prev
1
2
Next
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