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
c0171c5d
Commit
c0171c5d
authored
May 21, 2021
by
Gabriel-31415
Browse files
Merge remote-tracking branch 'upstream/master'
parents
fa464bfc
0a6bdf37
Changes
9
Expand all
Hide whitespace changes
Inline
Side-by-side
app/Arquivo.php
View file @
c0171c5d
...
@@ -12,10 +12,14 @@ class Arquivo extends Model
...
@@ -12,10 +12,14 @@ class Arquivo extends Model
* @var array
* @var array
*/
*/
protected
$fillable
=
[
protected
$fillable
=
[
'nome'
,
'versao'
,
'versaoFinal'
,
'data'
,
'trabalhoId'
,
'nome'
,
'versao'
,
'versaoFinal'
,
'data'
,
'trabalhoId'
,
'participanteId'
];
];
public
function
trabalho
(){
public
function
trabalho
(){
return
$this
->
belongsTo
(
'App\Trabalho'
,
'trabalhoId'
);
return
$this
->
belongsTo
(
'App\Trabalho'
,
'trabalhoId'
);
}
}
public
function
participante
()
{
return
$this
->
belongsTo
(
'App\Participante'
,
'participanteId'
);
}
}
}
app/Http/Controllers/TrabalhoController.php
View file @
c0171c5d
...
@@ -397,6 +397,68 @@ class TrabalhoController extends Controller
...
@@ -397,6 +397,68 @@ class TrabalhoController extends Controller
public
function
armazenarAnexosFinais
(
$request
,
$pasta
,
$trabalho
,
$evento
){
public
function
armazenarAnexosFinais
(
$request
,
$pasta
,
$trabalho
,
$evento
){
// Checando se é um novo trabalho ou uma edição
if
(
$trabalho
->
anexoProjeto
!=
null
)
{
// Anexo Projeto
if
(
isset
(
$request
->
anexoProjeto
)){
if
(
Storage
::
disk
()
->
exists
(
$trabalho
->
anexoProjeto
))
{
Storage
::
delete
(
$trabalho
->
anexoProjeto
);
}
$trabalho
->
anexoProjeto
=
Storage
::
putFileAs
(
$pasta
,
$request
->
anexoProjeto
,
'Projeto.pdf'
);
}
//Anexo Decisão CONSU
if
(
$evento
->
tipo
==
'PIBIC'
||
$evento
->
tipo
==
'PIBIC-EM'
)
{
if
(
isset
(
$request
->
anexoCONSU
)){
if
(
Storage
::
disk
()
->
exists
(
$trabalho
->
anexoDecisaoCONSU
))
{
Storage
::
delete
(
$trabalho
->
anexoDecisaoCONSU
);
}
$trabalho
->
anexoDecisaoCONSU
=
Storage
::
putFileAs
(
$pasta
,
$request
->
anexoCONSU
,
'CONSU.pdf'
);
}
}
//Autorização ou Justificativa
if
(
isset
(
$request
->
anexoComiteEtica
)){
if
(
Storage
::
disk
()
->
exists
(
$trabalho
->
anexoAutorizacaoComiteEtica
))
{
Storage
::
delete
(
$trabalho
->
anexoAutorizacaoComiteEtica
);
}
$trabalho
->
anexoAutorizacaoComiteEtica
=
Storage
::
putFileAs
(
$pasta
,
$request
->
anexoComiteEtica
,
'Comite_de_etica.pdf'
);
}
elseif
(
isset
(
$request
->
justificativaAutorizacaoEtica
)){
if
(
Storage
::
disk
()
->
exists
(
$trabalho
->
justificativaAutorizacaoEtica
))
{
Storage
::
delete
(
$trabalho
->
justificativaAutorizacaoEtica
);
}
$trabalho
->
justificativaAutorizacaoEtica
=
Storage
::
putFileAs
(
$pasta
,
$request
->
justificativaAutorizacaoEtica
,
'Justificativa.pdf'
);
}
//Anexo Lattes
if
(
isset
(
$request
->
anexoLattesCoordenador
)){
if
(
Storage
::
disk
()
->
exists
(
$trabalho
->
anexoLattesCoordenador
))
{
Storage
::
delete
(
$trabalho
->
anexoLattesCoordenador
);
}
$trabalho
->
anexoLattesCoordenador
=
Storage
::
putFileAs
(
$pasta
,
$request
->
anexoLattesCoordenador
,
'Lattes_Coordenador.pdf'
);
}
//Anexo Planilha
if
(
isset
(
$request
->
anexoPlanilha
)){
if
(
Storage
::
disk
()
->
exists
(
$trabalho
->
anexoPlanilhaPontuacao
))
{
Storage
::
delete
(
$trabalho
->
anexoPlanilhaPontuacao
);
}
$trabalho
->
anexoPlanilhaPontuacao
=
Storage
::
putFileAs
(
$pasta
,
$request
->
anexoPlanilha
,
"Planilha."
.
$request
->
file
(
'anexoPlanilha'
)
->
extension
());
}
// Anexo grupo pesquisa
if
(
isset
(
$request
->
grupoPesquisa
)){
if
(
Storage
::
disk
()
->
exists
(
$trabalho
->
anexoGrupoPesquisa
))
{
Storage
::
delete
(
$trabalho
->
anexoGrupoPesquisa
);
}
$trabalho
->
anexoGrupoPesquisa
=
Storage
::
putFileAs
(
$pasta
,
$request
->
anexoPlanilha
,
"Grupo_de_pesquisa."
.
$request
->
file
(
'grupoPesquisa'
)
->
extension
());
}
return
$trabalho
;
}
// Anexo Projeto
// Anexo Projeto
if
(
isset
(
$request
->
anexoProjeto
)){
if
(
isset
(
$request
->
anexoProjeto
)){
$trabalho
->
anexoProjeto
=
Storage
::
putFileAs
(
$pasta
,
$request
->
anexoProjeto
,
'Projeto.pdf'
);
$trabalho
->
anexoProjeto
=
Storage
::
putFileAs
(
$pasta
,
$request
->
anexoProjeto
,
'Projeto.pdf'
);
...
@@ -427,7 +489,10 @@ class TrabalhoController extends Controller
...
@@ -427,7 +489,10 @@ class TrabalhoController extends Controller
$trabalho
->
anexoPlanilhaPontuacao
=
Storage
::
putFileAs
(
$pasta
,
$request
->
anexoPlanilha
,
"Planilha."
.
$request
->
file
(
'anexoPlanilha'
)
->
extension
());
$trabalho
->
anexoPlanilhaPontuacao
=
Storage
::
putFileAs
(
$pasta
,
$request
->
anexoPlanilha
,
"Planilha."
.
$request
->
file
(
'anexoPlanilha'
)
->
extension
());
}
}
$trabalho
->
update
();
// Anexo grupo pesquisa
if
(
isset
(
$request
->
grupoPesquisa
)){
$trabalho
->
anexoGrupoPesquisa
=
Storage
::
putFileAs
(
$pasta
,
$request
->
anexoPlanilha
,
"Grupo_de_pesquisa."
.
$request
->
file
(
'grupoPesquisa'
)
->
extension
());
}
return
$trabalho
;
return
$trabalho
;
}
}
...
@@ -490,7 +555,9 @@ class TrabalhoController extends Controller
...
@@ -490,7 +555,9 @@ class TrabalhoController extends Controller
'users'
=>
$users
,
'users'
=>
$users
,
'funcaoParticipantes'
=>
$funcaoParticipantes
,
'funcaoParticipantes'
=>
$funcaoParticipantes
,
'participantes'
=>
$participantes
,
'participantes'
=>
$participantes
,
'arquivos'
=>
$arquivos
,]);
'arquivos'
=>
$arquivos
,
'enum_turno'
=>
Participante
::
ENUM_TURNO
,
]);
}
}
/**
/**
...
@@ -737,11 +804,18 @@ class TrabalhoController extends Controller
...
@@ -737,11 +804,18 @@ class TrabalhoController extends Controller
*/
*/
public
function
destroy
(
Request
$request
)
public
function
destroy
(
Request
$request
)
{
{
$
trabalh
o
=
Trabalho
::
find
(
$request
->
id
);
$
projet
o
=
Trabalho
::
find
(
$request
->
id
);
//dd($trabalho);
//dd($trabalho);
Storage
::
deleteDirectory
(
'trabalhos/'
.
$trabalho
->
evento
->
id
.
'/'
.
$trabalho
->
id
);
Storage
::
deleteDirectory
(
'trabalhos/'
.
$projeto
->
evento
->
id
.
'/'
.
$projeto
->
id
);
$participantes
=
$projeto
->
participantes
;
foreach
(
$participantes
as
$participante
)
{
$plano
=
$participante
->
planoTrabalho
;
$plano
->
delete
();
$participante
->
delete
();
}
$
trabalh
o
->
delete
();
$
projet
o
->
delete
();
return
redirect
()
->
back
()
->
with
([
'mensagem'
=>
'Projeto deletado com sucesso!'
]);
return
redirect
()
->
back
()
->
with
([
'mensagem'
=>
'Projeto deletado com sucesso!'
]);
}
}
...
@@ -985,23 +1059,22 @@ class TrabalhoController extends Controller
...
@@ -985,23 +1059,22 @@ class TrabalhoController extends Controller
$projeto
=
$this
->
atribuirDados
(
$request
,
$edital
);
$projeto
=
$this
->
atribuirDados
(
$request
,
$edital
);
$projeto
->
save
();
$projeto
->
save
();
// Salvando anexos no storage
// Email de submissão
$pasta
=
'trabalhos/'
.
$edital
->
id
.
'/'
.
$projeto
->
id
;
$projeto
=
$this
->
armazenarAnexosFinais
(
$request
,
$pasta
,
$projeto
,
$edital
);
$subject
=
"Submissão de Trabalho"
;
$subject
=
"Submissão de Trabalho"
;
$proponente
=
Auth
()
->
user
();
$proponente
=
Auth
()
->
user
();
Mail
::
to
(
$proponente
->
email
)
->
send
(
new
SubmissaoTrabalho
(
$proponente
,
$subject
,
$edital
,
$projeto
));
Mail
::
to
(
$proponente
->
email
)
->
send
(
new
SubmissaoTrabalho
(
$proponente
,
$subject
,
$edital
,
$projeto
));
// Salvando participantes
// Salvando participantes
$this
->
salvarParticipantes
(
$request
,
$edital
,
$projeto
);
$this
->
salvarParticipantes
(
$request
,
$edital
,
$projeto
);
dd
(
"foi"
);
return
redirect
(
route
(
'proponente.projetos'
))
->
with
([
'mensagem'
=>
'Projeto submetido com sucesso!'
]
);
}
}
public
function
atribuirDados
(
Request
$request
,
$edital
)
{
public
function
atribuirDados
(
Request
$request
,
$edital
,
Trabalho
$projeto
=
null
)
{
$projeto
=
new
Trabalho
();
if
(
$projeto
==
null
)
{
$projeto
=
new
Trabalho
();
}
$proponente
=
User
::
find
(
auth
()
->
user
()
->
id
)
->
proponentes
;
$proponente
=
User
::
find
(
auth
()
->
user
()
->
id
)
->
proponentes
;
$hoje
=
now
();
$hoje
=
now
();
...
@@ -1017,21 +1090,186 @@ class TrabalhoController extends Controller
...
@@ -1017,21 +1090,186 @@ class TrabalhoController extends Controller
$projeto
->
evento_id
=
$request
->
editalId
;
$projeto
->
evento_id
=
$request
->
editalId
;
$projeto
->
status
=
'Submetido'
;
$projeto
->
status
=
'Submetido'
;
$projeto
->
proponente_id
=
$proponente
->
id
;
$projeto
->
proponente_id
=
$proponente
->
id
;
//Anexos
$projeto
->
anexoProjeto
=
$request
->
anexoProjeto
;
$projeto
->
anexoAutorizacaoComiteEtica
=
$request
->
anexoComiteEtica
;
$projeto
->
justificativaAutorizacaoEtica
=
$request
->
justificativaAutorizacaoEtica
;
$projeto
->
anexoLattesCoordenador
=
$request
->
anexoLattesCoordenador
;
$projeto
->
anexoPlanilhaPontuacao
=
$request
->
anexoPlanilha
;
if
(
$edital
->
tipo
==
'PIBIC'
||
$edital
->
tipo
==
'PIBIC-EM'
){
// Salvando anexos no storage
$projeto
->
anexoDecisaoCONSU
=
$request
->
anexoCONSU
;
}
$pasta
=
'trabalhos/'
.
$edital
->
id
.
'/'
.
$projeto
->
id
;
$projeto
=
$this
->
armazenarAnexosFinais
(
$request
,
$pasta
,
$projeto
,
$edital
);
return
$projeto
;
return
$projeto
;
}
}
public
function
salvarParticipantes
(
Request
$request
,
$edital
,
$projeto
)
{
public
function
salvarParticipantes
(
Request
$request
,
$edital
,
$projeto
,
$edicao
=
false
)
{
if
(
$edicao
)
{
$participantes
=
$projeto
->
participantes
;
$participantesPermanecem
=
collect
();
foreach
(
$request
->
participante_id
as
$key
=>
$id
)
{
// Novo participante
if
(
$id
==
0
)
{
$userParticipante
=
User
::
where
(
'email'
,
$request
->
emailParticipante
[
$key
])
->
first
();
$participante
=
new
Participante
();
if
(
$userParticipante
==
null
){
$passwordTemporario
=
Str
::
random
(
8
);
$usuario
=
new
User
();
$usuario
->
email
=
$request
->
emailParticipante
[
$key
];
$usuario
->
password
=
bcrypt
(
$passwordTemporario
);
$usuario
->
usuarioTemp
=
false
;
$usuario
->
name
=
$request
->
nomeParticipante
[
$key
];
$usuario
->
tipo
=
'participante'
;
$usuario
->
instituicao
=
$request
->
universidade
[
$key
];
$usuario
->
cpf
=
$request
->
cpf
[
$key
];
$usuario
->
celular
=
$request
->
celular
[
$key
];
$endereco
=
new
Endereco
();
$endereco
->
rua
=
$request
->
rua
[
$key
];
$endereco
->
numero
=
$request
->
numero
[
$key
];
$endereco
->
bairro
=
$request
->
bairro
[
$key
];
$endereco
->
cidade
=
$request
->
cidade
[
$key
];
$endereco
->
uf
=
$request
->
uf
[
$key
];
$endereco
->
cep
=
$request
->
cep
[
$key
];
$endereco
->
complemento
=
$request
->
complemento
[
$key
];
$endereco
->
save
();
$usuario
->
enderecoId
=
$endereco
->
id
;
$usuario
->
save
();
$participante
->
user_id
=
$usuario
->
id
;
$participante
->
trabalho_id
=
$projeto
->
id
;
$participante
->
funcao_participante_id
=
$request
->
funcaoParticipante
[
$key
];
$participante
->
confirmacao_convite
=
true
;
$participante
->
rg
=
$request
->
rg
[
$key
];
$participante
->
data_de_nascimento
=
$request
->
data_de_nascimento
[
$key
];
$participante
->
curso
=
$request
->
curso
[
$key
];
$participante
->
turno
=
$request
->
turno
[
$key
];
$participante
->
ordem_prioridade
=
$request
->
ordem_prioridade
[
$key
];
$participante
->
periodo_atual
=
$request
->
periodo_cursado
[
$key
];
$participante
->
total_periodos
=
$request
->
total_periodos
[
$key
];
$participante
->
media_do_curso
=
$request
->
media_geral_curso
[
$key
];
$participante
->
save
();
$subject
=
"Participante de Projeto"
;
Mail
::
to
(
$request
->
emailParticipante
[
$key
])
->
send
(
new
EmailParaUsuarioNaoCadastrado
(
Auth
()
->
user
()
->
name
,
$projeto
->
titulo
,
'Participante'
,
$edital
->
nome
,
$passwordTemporario
,
$subject
));
}
else
{
$participante
->
user_id
=
$userParticipante
->
id
;
$participante
->
trabalho_id
=
$projeto
->
id
;
$participante
->
funcao_participante_id
=
$request
->
funcaoParticipante
[
$key
];
$participante
->
confirmacao_convite
=
true
;
$participante
->
rg
=
$request
->
rg
[
$key
];
$participante
->
data_de_nascimento
=
$request
->
data_de_nascimento
[
$key
];
$participante
->
curso
=
$request
->
curso
[
$key
];
$participante
->
turno
=
$request
->
turno
[
$key
];
$participante
->
ordem_prioridade
=
$request
->
ordem_prioridade
[
$key
];
$participante
->
periodo_atual
=
$request
->
periodo_cursado
[
$key
];
$participante
->
total_periodos
=
$request
->
total_periodos
[
$key
];
$participante
->
media_do_curso
=
$request
->
media_geral_curso
[
$key
];
$participante
->
save
();
$subject
=
"Participante de Projeto"
;
Mail
::
to
(
$request
->
emailParticipante
[
$key
])
->
send
(
new
SubmissaoTrabalho
(
$userParticipante
,
$subject
,
$edital
,
$projeto
));
}
if
(
$request
->
nomePlanoTrabalho
[
$key
]
!=
null
){
$usuario
=
User
::
where
(
'email'
,
$request
->
emailParticipante
[
$key
])
->
first
();
$participante
=
Participante
::
where
([[
'user_id'
,
'='
,
$usuario
->
id
],
[
'trabalho_id'
,
'='
,
$projeto
->
id
]])
->
first
();
$path
=
'trabalhos/'
.
$edital
->
id
.
'/'
.
$projeto
->
id
.
'/'
;
$nome
=
$request
->
nomePlanoTrabalho
[
$key
]
.
".pdf"
;
$file
=
$request
->
anexoPlanoTrabalho
[
$key
];
Storage
::
putFileAs
(
$path
,
$file
,
$nome
);
$agora
=
now
();
$arquivo
=
new
Arquivo
();
$arquivo
->
titulo
=
$request
->
nomePlanoTrabalho
[
$key
];
$arquivo
->
nome
=
$path
.
$nome
;
$arquivo
->
trabalhoId
=
$projeto
->
id
;
$arquivo
->
data
=
$agora
;
$arquivo
->
participanteId
=
$participante
->
id
;
$arquivo
->
versaoFinal
=
true
;
$arquivo
->
save
();
}
// Editado
}
elseif
(
$id
>
0
)
{
// Removo dos cantidatos excluidos
$participante
=
Participante
::
find
(
$id
);
$participantesPermanecem
->
push
(
$participante
);
$usuario
=
$participante
->
user
;
$endereco
=
$usuario
->
endereco
;
$usuario
->
usuarioTemp
=
false
;
$usuario
->
name
=
$request
->
nomeParticipante
[
$key
];
$usuario
->
tipo
=
'participante'
;
$usuario
->
instituicao
=
$request
->
universidade
[
$key
];
$usuario
->
cpf
=
$request
->
cpf
[
$key
];
$usuario
->
celular
=
$request
->
celular
[
$key
];
$usuario
->
update
();
$endereco
->
rua
=
$request
->
rua
[
$key
];
$endereco
->
numero
=
$request
->
numero
[
$key
];
$endereco
->
bairro
=
$request
->
bairro
[
$key
];
$endereco
->
cidade
=
$request
->
cidade
[
$key
];
$endereco
->
uf
=
$request
->
uf
[
$key
];
$endereco
->
cep
=
$request
->
cep
[
$key
];
$endereco
->
complemento
=
$request
->
complemento
[
$key
];
$endereco
->
update
();
$participante
->
rg
=
$request
->
rg
[
$key
];
$participante
->
data_de_nascimento
=
$request
->
data_de_nascimento
[
$key
];
$participante
->
curso
=
$request
->
curso
[
$key
];
$participante
->
turno
=
$request
->
turno
[
$key
];
$participante
->
ordem_prioridade
=
$request
->
ordem_prioridade
[
$key
];
$participante
->
periodo_atual
=
$request
->
periodo_cursado
[
$key
];
$participante
->
total_periodos
=
$request
->
total_periodos
[
$key
];
$participante
->
media_do_curso
=
$request
->
media_geral_curso
[
$key
];
$participante
->
update
();
if
(
$request
->
anexoPlanoTrabalho
!=
null
&&
array_key_exists
(
$key
,
$request
->
anexoPlanoTrabalho
)
&&
$request
->
anexoPlanoTrabalho
[
$key
]
!=
null
){
$planoAtual
=
$participante
->
planoTrabalho
;
if
(
Storage
::
disk
()
->
exists
(
$planoAtual
->
nome
))
{
Storage
::
delete
(
$planoAtual
->
nome
);
}
$planoAtual
->
delete
();
$path
=
'trabalhos/'
.
$edital
->
id
.
'/'
.
$projeto
->
id
.
'/'
;
$nome
=
$request
->
nomePlanoTrabalho
[
$key
]
.
".pdf"
;
$file
=
$request
->
anexoPlanoTrabalho
[
$key
];
Storage
::
putFileAs
(
$path
,
$file
,
$nome
);
$agora
=
now
();
$arquivo
=
new
Arquivo
();
$arquivo
->
titulo
=
$request
->
nomePlanoTrabalho
[
$key
];
$arquivo
->
nome
=
$path
.
$nome
;
$arquivo
->
trabalhoId
=
$projeto
->
id
;
$arquivo
->
data
=
$agora
;
$arquivo
->
participanteId
=
$id
;
$arquivo
->
versaoFinal
=
true
;
$arquivo
->
save
();
}
}
}
// Excluidos
$participantesExcluidos
=
$participantes
->
diff
(
$participantesPermanecem
);
foreach
(
$participantesExcluidos
as
$participante
)
{
$plano
=
$participante
->
planoTrabalho
;
$plano
->
delete
();
$participante
->
delete
();
}
return
true
;
}
if
(
$request
->
emailParticipante
!=
null
)
{
if
(
$request
->
emailParticipante
!=
null
)
{
foreach
(
$request
->
emailParticipante
as
$key
=>
$email
)
{
foreach
(
$request
->
emailParticipante
as
$key
=>
$email
)
{
$userParticipante
=
User
::
where
(
'email'
,
$email
)
->
first
();
$userParticipante
=
User
::
where
(
'email'
,
$email
)
->
first
();
...
@@ -1125,5 +1363,26 @@ class TrabalhoController extends Controller
...
@@ -1125,5 +1363,26 @@ class TrabalhoController extends Controller
}
}
}
}
}
}
return
true
;
}
public
function
atualizar
(
Request
$request
,
$id
)
{
$edital
=
Evento
::
find
(
$request
->
editalId
);
$hoje
=
now
();
$projeto
=
Trabalho
::
find
(
$id
);
if
(
!
(
$edital
->
inicioSubmissao
<
$hoje
&&
$edital
->
fimSubmissao
>=
$hoje
))
{
return
redirect
()
->
route
(
'inicial'
)
->
with
([
'error'
=>
0
,
'mensagem'
=>
'As submissões para o edital '
.
$edital
->
titulo
.
' foram encerradas.'
]);
}
$projeto
=
$this
->
atribuirDados
(
$request
,
$edital
,
$projeto
);
$projeto
->
update
();
// Salvando participantes
$this
->
salvarParticipantes
(
$request
,
$edital
,
$projeto
,
true
);
return
redirect
(
route
(
'proponente.projetos'
))
->
with
([
'mensagem'
=>
'Projeto atualizado com sucesso!'
]);
}
}
}
}
\ No newline at end of file
app/Participante.php
View file @
c0171c5d
...
@@ -18,4 +18,8 @@ class Participante extends Model
...
@@ -18,4 +18,8 @@ class Participante extends Model
public
function
trabalhos
(){
public
function
trabalhos
(){
return
$this
->
belongsToMany
(
'App\Trabalho'
,
'trabalho_participante'
);
return
$this
->
belongsToMany
(
'App\Trabalho'
,
'trabalho_participante'
);
}
}
public
function
planoTrabalho
()
{
return
$this
->
hasOne
(
'App\Arquivo'
,
'participanteId'
);
}
}
}
app/Trabalho.php
View file @
c0171c5d
...
@@ -28,6 +28,7 @@ class Trabalho extends Model
...
@@ -28,6 +28,7 @@ class Trabalho extends Model
'anexoAutorizacaoComiteEtica'
,
'anexoAutorizacaoComiteEtica'
,
'JustificativaAutorizacaoEtica'
,
'JustificativaAutorizacaoEtica'
,
'anexoLattesCoordenador'
,
'anexoLattesCoordenador'
,
'anexoGrupoPesquisa'
,
'anexoPlanilhaPontuacao'
,
'anexoPlanilhaPontuacao'
,
'anexoProjeto'
,
'anexoProjeto'
,
...
@@ -82,7 +83,7 @@ class Trabalho extends Model
...
@@ -82,7 +83,7 @@ class Trabalho extends Model
return
$this
->
hasMany
(
'App\PlanoTrabalho'
);
return
$this
->
hasMany
(
'App\PlanoTrabalho'
);
}
}
public
function
participantes
(){
public
function
participantes
(){
return
$this
->
belongsTo
Many
(
'App\Participante'
,
'trabalho_
participante
'
);
return
$this
->
has
Many
(
'App\Participante'
,
'trabalho_
id
'
);
}
}
public
function
proponente
(){
public
function
proponente
(){
return
$this
->
belongsTo
(
'App\Proponente'
);
return
$this
->
belongsTo
(
'App\Proponente'
);
...
...
database/migrations/2020_02_05_123048_create_trabalhos_table.php
View file @
c0171c5d
...
@@ -23,10 +23,11 @@ class CreateTrabalhosTable extends Migration
...
@@ -23,10 +23,11 @@ class CreateTrabalhosTable extends Migration
$table
->
string
(
'pontuacaoPlanilha'
);
$table
->
string
(
'pontuacaoPlanilha'
);
$table
->
date
(
'data'
)
->
nullable
();
$table
->
date
(
'data'
)
->
nullable
();
//Anexos
//Anexos
$table
->
string
(
'anexoProjeto'
);
$table
->
string
(
'anexoProjeto'
)
->
nullable
()
;
$table
->
string
(
'anexoDecisaoCONSU'
)
->
nullable
();
$table
->
string
(
'anexoDecisaoCONSU'
)
->
nullable
();
$table
->
string
(
'anexoPlanilhaPontuacao'
);
$table
->
string
(
'anexoPlanilhaPontuacao'
)
->
nullable
();
$table
->
string
(
'anexoLattesCoordenador'
);
$table
->
string
(
'anexoLattesCoordenador'
)
->
nullable
();
$table
->
string
(
'anexoGrupoPesquisa'
)
->
nullable
();
$table
->
string
(
'anexoAutorizacaoComiteEtica'
)
->
nullable
();
$table
->
string
(
'anexoAutorizacaoComiteEtica'
)
->
nullable
();
$table
->
string
(
'justificativaAutorizacaoEtica'
)
->
nullable
();
$table
->
string
(
'justificativaAutorizacaoEtica'
)
->
nullable
();
//chaves estrangeiras
//chaves estrangeiras
...
...
resources/views/index.blade.php
View file @
c0171c5d
...
@@ -66,9 +66,11 @@
...
@@ -66,9 +66,11 @@
<
div
class
=
"color-subtitle-edital"
>
Submissão
até
o
dia
{{
date
(
'd/m/Y'
,
strtotime
(
$evento
->
fimSubmissao
))
}}
</
div
>
<
div
class
=
"color-subtitle-edital"
>
Submissão
até
o
dia
{{
date
(
'd/m/Y'
,
strtotime
(
$evento
->
fimSubmissao
))
}}
</
div
>
</
div
>
</
div
>
<
div
class
=
"col-sm-4"
>
<
div
class
=
"col-sm-4"
>
<
button
class
=
"btn btn-opcoes-edital background-yellow"
style
=
"float: right;"
disable
>
<
a
href
=
"{{ route('evento.visualizarNaoLogado', ['id' =>
$evento->id
]) }}"
>
Em
avaliação
<
button
class
=
"btn btn-opcoes-edital background-yellow"
style
=
"float: right;"
disable
>
</
button
>
Em
avaliação
</
button
>
</
a
>
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
...
@@ -85,9 +87,11 @@
...
@@ -85,9 +87,11 @@
<
div
class
=
"color-subtitle-edital"
>
Submissão
até
o
dia
{{
date
(
'd/m/Y'
,
strtotime
(
$evento
->
fimSubmissao
))
}}
</
div
>
<
div
class
=
"color-subtitle-edital"
>
Submissão
até
o
dia
{{
date
(
'd/m/Y'
,
strtotime
(
$evento
->
fimSubmissao
))
}}
</
div
>
</
div
>
</
div
>
<
div
class
=
"col-sm-3"
>
<
div
class
=
"col-sm-3"
>
<
button
class
=
"btn btn-opcoes-edital background-red"
style
=
"float: right;"
disabled
>
<
a
href
=
"{{ route('evento.visualizarNaoLogado', ['id' =>
$evento->id
]) }}"
>
Encerrado
<
button
class
=
"btn btn-opcoes-edital background-red"
style
=
"float: right;"
disabled
>
</
button
>
Encerrado
</
button
>
</
a
>
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
...
...
resources/views/projeto/editar.blade.php
View file @
c0171c5d
This diff is collapsed.
Click to expand it.
resources/views/proponente/projetos.blade.php
View file @
c0171c5d
...
@@ -3,14 +3,15 @@
...
@@ -3,14 +3,15 @@
@
section
(
'content'
)
@
section
(
'content'
)
<
div
class
=
"container"
style
=
"margin-top: 100px;"
>
<
div
class
=
"container"
style
=
"margin-top: 100px;"
>
@
if
(
isset
(
$mensagem
))
{{
--
@
if
(
isset
(
$mensagem
))
<
div
class
=
"col-sm-12"
>
<
div
class
=
"col-sm-12"
>
<
br
>
<
br
>
<
div
class
=
"alert alert-success"
>
<
div
class
=
"alert alert-success"
>
<
p
>
{{
$mensagem
}}
</
p
>
<
p
>
{{
$mensagem
}}
</
p
>
</
div
>
</
div
>
</
div
>
</
div
>
@
endif
@
endif
--
}}
<
div
class
=
"container"
>
<
div
class
=
"container"
>
<
div
class
=
"row"
>
<
div
class
=
"row"
>
<
div
class
=
"col-sm-1"
>
<
div
class
=
"col-sm-1"
>
...
@@ -39,91 +40,105 @@
...
@@ -39,91 +40,105 @@
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
@
if
(
session
(
'mensagem'
))
<
div
class
=
"row"
>
<
div
class
=
"col-sm-12"
>
<
br
>
<
div
class
=
"alert alert-success"
>
<
p
>
{{
session
(
'mensagem'
)}}
</
p
>
</
div
>
</
div
>
</
div
>
@
endif
<
hr
>
<
hr
>
<
table
class
=
"table table-bordered"
>
<
div
class
=
"row"
>
<
thead
>
<
div
class
=
"col-md-12"
>
<
tr
>
<
table
class
=
"table table-bordered"
>
<
th
scope
=
"col"
>
Projeto
</
th
>
<
thead
>
<
th
scope
=
"col"
>
Status
</
th
>
<
tr
>
<
th
scope
=
"col"
>
Data
de
Criação
</
th
>
<
th
scope
=
"col"
>
Projeto
</
th
>
<
th
scope
=
"col"
>
Opção
</
th
>
<
th
scope
=
"col"
>
Status
</
th
>
</
tr
>
<
th
scope
=
"col"
>
Data
de
Criação
</
th
>
</
thead
>
<
th
scope
=
"col"
>
Opção
</
th
>
<
tbody
>
</
tr
>
@
foreach
(
$projetos
as
$projeto
)
</
thead
>
<
tbody
>
<
tr
>
@
foreach
(
$projetos
as
$projeto
)
<
td
>
{{
$projeto
->
titulo
}}
<
tr
>
</
td
>
<
td
>
@
if
(
$projeto
->
status
==
'Avaliado'
)
{{
$projeto
->
titulo
}}
<
td
style
=
"color: rgb(6, 85, 6)"
>
Avaliado
</
td
>
</
td
>
@
elseif
(
$projeto
->
status
==
'Submetido'
)
@
if
(
$projeto
->
status
==
'Avaliado'
)
<
td
style
=
"color: rgb(0, 0, 0)"
>
Submetido
</
td
>
<
td
style
=
"color: rgb(6, 85, 6)"
>
Avaliado
</
td
>
@
elseif
(
$projeto
->
status
==
'Rascunho'
)
@
elseif
(
$projeto
->
status
==
'Submetido'
)
<
td
style
=
"color: rgb(0, 0, 0)"
>
Rascunho
</
td
>
<
td
style
=
"color: rgb(0, 0, 0)"
>
Submetido
</
td
>
@
endif
@
elseif
(
$projeto
->
status
==
'Rascunho'
)
<
td
>
{{
date
(
'd/m/Y'
,
strtotime
(
$projeto
->
updated_at
))
}}
</
td
>
<
td
style
=
"color: rgb(0, 0, 0)"
>
Rascunho
</
td
>
<
td
>
@
endif
<
div
class
=
"btn-group dropright dropdown-options"
>
<
td
>
{{
date
(
'd/m/Y'
,
strtotime
(
$projeto
->
updated_at
))
}}
</
td
>
<
a
id
=
"options"
class
=
"dropdown-toggle "
data
-
toggle
=
"dropdown"
aria
-
haspopup
=
"true"
aria
-
expanded
=
"false"
>
<
td
>
<
img
src
=
"
{
{asset('img/icons/ellipsis-v-solid.svg')}
}
"
style
=
"width:8px"
>
<
div
class
=
"btn-group dropright dropdown-options"
>
</
a
>
<
a
id
=
"options"
class
=
"dropdown-toggle "
data
-
toggle
=
"dropdown"
aria
-
haspopup
=
"true"
aria
-
expanded
=
"false"
>
<
div
class
=
"dropdown-menu"
>
<
img
src
=
"
{
{asset('img/icons/ellipsis-v-solid.svg')}
}
"
style
=
"width:8px"
>
@
if
(
$projeto
->
evento
->
inicioSubmissao
<=
$hoje
&&
$hoje
<=
$projeto
->
evento
->
fimSubmissao
)
</
a
>
<
a
href
=
"{{ route('trabalho.editar', ['id' =>
$projeto->id
]) }}"
class
=
"dropdown-item"
style
=
"text-align: center;"
>
<
div
class
=
"dropdown-menu"
>
Editar
@
if
(
$projeto
->
evento
->
inicioSubmissao
<=
$hoje
&&
$hoje
<=
$projeto
->
evento
->
fimSubmissao
)
</
a
>
<
a
href
=
"{{ route('trabalho.editar', ['id' =>
$projeto->id
]) }}"
class
=
"dropdown-item"
style
=
"text-align: center;"
>
<
hr
class
=
"dropdown-hr"
>
Editar
@
else
</
a
>
@
endif
<
a
href
=
"{{ route('trabalho.show', ['id' =>
$projeto->id
]) }}"
class
=
"dropdown-item"
style
=
"text-align: center"
>
Visualizar
</
a
>
{{
--
<
a
href
=
""
class
=
"dropdown-item"
style
=
"text-align: center"
>
Recorrer
</
a
>
<
a
href
=
""
class
=
"dropdown-item"
style
=
"text-align: center"
>
Resultado
</
a
>
--
}}
@
if
(
$projeto
->
status
==
'Submetido'
)
<
hr
class
=
"dropdown-hr"
>
<
hr
class
=
"dropdown-hr"
>
<!--
Button
trigger
modal
-->
@
else
<
button
type
=
"button"
class
=
"dropdown-item dropdown-item-delete"
style
=
"text-align: center"
data
-
toggle
=
"modal"
data
-
target
=
"#modal
{
{$projeto->id}
}
"
>
<
img
src
=
"
{
{asset('img/icons/logo_lixeira.png')}
}
"
alt
=
""
>
Deletar
</
button
>
@
endif
@
endif
<
a
href
=
"{{ route('trabalho.show', ['id' =>
$projeto->id
]) }}"
class
=
"dropdown-item"
style
=
"text-align: center"
>
</
div
>
Visualizar
</
div
>
</
a
>
</
td
>
{{
--
<
a
href
=
""
class
=
"dropdown-item"
style
=
"text-align: center"
>
</
tr
>
Recorrer
</
a
>
<!--
Modal
-->
<
a
href
=
""
class
=
"dropdown-item"
style
=
"text-align: center"
>
<
div
class
=
"modal fade"
id
=
"modal
{
{$projeto->id}
}
"
tabindex
=
"-1"
role
=
"dialog"
aria
-
labelledby
=
"exampleModalLabel"
aria
-
hidden
=
"true"
>
Resultado
<
div
class
=
"modal-dialog"
>
</
a
>
--
}}
<
div
class
=
"modal-content"
>
@
if
(
$projeto
->
status
==
'Submetido'
)
<
div
class
=
"modal-header"
>
<
hr
class
=
"dropdown-hr"
>
<
h5
class
=
"modal-title"
id
=
"exampleModalLabel"
>
Deletar
o
projeto
:
{{
$projeto
->
titulo
}}
</
h5
>
<!--
Button
trigger
modal
-->
<
button
type
=
"button"
class
=
"close"
data
-
dismiss
=
"modal"
aria
-
label
=
"Close"
>
<
button
type
=
"button"
class
=
"dropdown-item dropdown-item-delete"
style
=
"text-align: center"
data
-
toggle
=
"modal"
data
-
target
=
"#modal
{
{$projeto->id}
}
"
>
<
span
aria
-
hidden
=
"true"
>&
times
;
</
span
>
<
img
src
=
"
{
{asset('img/icons/logo_lixeira.png')}
}
"
alt
=
""
>
Deletar
</
button
>
</
button
>
</
div
>
@
endif
<
div
class
=
"modal-body"
>
<
p
>
Você
tem
certeza
que
deseja
deletar
o
projeto
:
{{
$projeto
->
titulo
}}
?</
p
>
</
div
>
</
div
>
</
div
>
<
div
class
=
"modal-footer"
>
</
td
>
<
button
type
=
"button"
class
=
"btn btn-secondary"
data
-
dismiss
=
"modal"
>
Cancelar
</
button
>
</
tr
>
<
a
href
=
"{{ route('trabalho.destroy', ['id' =>
$projeto->id
]) }}"
class
=
"btn btn-primary"
>
Deletar
<!--
Modal
-->
</
a
>
<
div
class
=
"modal fade"
id
=
"modal
{
{$projeto->id}
}
"
tabindex
=
"-1"
role
=
"dialog"
aria
-
labelledby
=
"exampleModalLabel"
aria
-
hidden
=
"true"
>
<
div
class
=
"modal-dialog"
>
<
div
class
=
"modal-content"
>
<
div
class
=
"modal-header"
>
<
h5
class
=
"modal-title"
id
=
"exampleModalLabel"
>
Deletar
o
projeto
:
{{
$projeto
->
titulo
}}
</
h5
>
<
button
type
=
"button"
class
=
"close"
data
-
dismiss
=
"modal"
aria
-
label
=
"Close"
>
<
span
aria
-
hidden
=
"true"
>&
times
;
</
span
>
</
button
>
</
div
>
<
div
class
=
"modal-body"
>
<
p
>
Você
tem
certeza
que
deseja
deletar
o
projeto
:
{{
$projeto
->
titulo
}}
?</
p
>
</
div
>
<
div
class
=
"modal-footer"
>
<
button
type
=
"button"
class
=
"btn btn-secondary"
data
-
dismiss
=
"modal"
>
Cancelar
</
button
>
<
a
href
=
"{{ route('trabalho.destroy', ['id' =>
$projeto->id
]) }}"
class
=
"btn btn-primary"
>
Deletar
</
a
>
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
@
endforeach
@
endforeach
</
tbody
>
</
tbody
>
</
table
>
</
table
>
</
div
>
</
div
>
</
div
>
</
div
>
@
endsection
@
endsection
...
...
routes/web.php
View file @
c0171c5d
...
@@ -102,7 +102,7 @@ Route::prefix('avaliador')->name('avaliador.')->group(function(){
...
@@ -102,7 +102,7 @@ Route::prefix('avaliador')->name('avaliador.')->group(function(){
Route
::
get
(
'/edital/{id}/projetos'
,
'TrabalhoController@projetosDoEdital'
)
->
name
(
'projetos.edital'
);
Route
::
get
(
'/edital/{id}/projetos'
,
'TrabalhoController@projetosDoEdital'
)
->
name
(
'projetos.edital'
);
Route
::
get
(
'/projeto/{id}/visualizar'
,
'TrabalhoController@show'
)
->
name
(
'trabalho.show'
);
Route
::
get
(
'/projeto/{id}/visualizar'
,
'TrabalhoController@show'
)
->
name
(
'trabalho.show'
);
Route
::
get
(
'/projeto/{id}/editar'
,
'TrabalhoController@edit'
)
->
name
(
'trabalho.editar'
);
Route
::
get
(
'/projeto/{id}/editar'
,
'TrabalhoController@edit'
)
->
name
(
'trabalho.editar'
);
Route
::
post
(
'/projeto/{id}/atualizar'
,
'TrabalhoController@
update'
)
->
name
(
'trabalho.update'
);
Route
::
post
(
'/projeto/{id}/atualizar'
,
'TrabalhoController@
atualizar'
)
->
name
(
'trabalho.update'
);
Route
::
get
(
'/projeto/{id}/excluir'
,
'TrabalhoController@destroy'
)
->
name
(
'trabalho.destroy'
);
Route
::
get
(
'/projeto/{id}/excluir'
,
'TrabalhoController@destroy'
)
->
name
(
'trabalho.destroy'
);
Route
::
get
(
'/projeto/{id}/excluirParticipante'
,
'TrabalhoController@excluirParticipante'
)
->
name
(
'trabalho.excluirParticipante'
);
Route
::
get
(
'/projeto/{id}/excluirParticipante'
,
'TrabalhoController@excluirParticipante'
)
->
name
(
'trabalho.excluirParticipante'
);
...
...
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