Commit 3d0b7975 authored by Yuri Resende's avatar Yuri Resende
Browse files

Vinculando a adição de integrante a de um discente

parent f7687357
<?php <?php
namespace App\Http\Controllers; namespace App\Http\Controllers;
use PDF; use PDF;
use App; use App;
use App\Administrador; use App\Administrador;
use Auth; use Auth;
use App\Area; use App\Area;
use App\User; use App\User;
use App\Evento; use App\Evento;
use App\AreaTematica; use App\AreaTematica;
use App\Arquivo; use App\Arquivo;
use App\Coautor; use App\Coautor;
use App\Revisor; use App\Revisor;
use App\TrabalhoUser; use App\TrabalhoUser;
use App\SubArea; use App\SubArea;
use App\Endereco; use App\Endereco;
use App\Trabalho; use App\Trabalho;
use App\Avaliador; use App\Avaliador;
use Carbon\Carbon; use Carbon\Carbon;
use App\AnexosTemp; use App\AnexosTemp;
use App\Atribuicao; use App\Atribuicao;
use App\GrandeArea; use App\GrandeArea;
use App\Modalidade; use App\Modalidade;
use App\Proponente; use App\Proponente;
use App\Participante; use App\Participante;
use App\AreaModalidade; use App\AreaModalidade;
use App\Certificado; use App\Certificado;
use Illuminate\Http\File; use Illuminate\Http\File;
use App\Mail\EventoCriado; use App\Mail\EventoCriado;
use Illuminate\Support\Str; use Illuminate\Support\Str;
use App\CoordenadorComissao; use App\CoordenadorComissao;
use App\FuncaoParticipantes; use App\FuncaoParticipantes;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Mail\SubmissaoTrabalho; use App\Mail\SubmissaoTrabalho;
use App\OutrasInfoParticipante; use App\OutrasInfoParticipante;
use Illuminate\Validation\Rule; use Illuminate\Validation\Rule;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
use App\Http\Requests\StoreTrabalho; use App\Http\Requests\StoreTrabalho;
use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Mail;
use App\Http\Requests\UpdateTrabalho; use App\Http\Requests\UpdateTrabalho;
use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Validator;
use App\Mail\EmailParaUsuarioNaoCadastrado; use App\Mail\EmailParaUsuarioNaoCadastrado;
use App\Mail\SolicitacaoSubstituicao; use App\Mail\SolicitacaoSubstituicao;
use App\Notificacao; use App\Notificacao;
use App\Notifications\SolicitacaoCertificadoNotification; use App\Notifications\SolicitacaoCertificadoNotification;
use App\Notifications\SubmissaoNotification; use App\Notifications\SubmissaoNotification;
use App\Notifications\SubmissaoRecebidaNotification; use App\Notifications\SubmissaoRecebidaNotification;
use App\SolicitacaoCertificado; use App\SolicitacaoCertificado;
use App\SolicitacaoParticipante; use App\SolicitacaoParticipante;
use App\Substituicao; use App\Substituicao;
use Illuminate\Support\Facades\Notification; use Illuminate\Support\Facades\Notification;
use App\Desligamento; use App\Desligamento;
use App\ObjetivoDeDesenvolvimentoSustentavel; use App\ObjetivoDeDesenvolvimentoSustentavel;
use App\AvaliacaoRelatorio; use App\AvaliacaoRelatorio;
class TrabalhoController extends Controller class TrabalhoController extends Controller
{ {
public $estados = array( public $estados = array(
'AC' => 'Acre', 'AC' => 'Acre',
'AL' => 'Alagoas', 'AL' => 'Alagoas',
'AP' => 'Amapá', 'AP' => 'Amapá',
'AM' => 'Amazonas', 'AM' => 'Amazonas',
'BA' => 'Bahia', 'BA' => 'Bahia',
'CE' => 'Ceará', 'CE' => 'Ceará',
'DF' => 'Distrito Federal', 'DF' => 'Distrito Federal',
'ES' => 'Espirito Santo', 'ES' => 'Espirito Santo',
'GO' => 'Goiás', 'GO' => 'Goiás',
'MA' => 'Maranhão', 'MA' => 'Maranhão',
'MS' => 'Mato Grosso do Sul', 'MS' => 'Mato Grosso do Sul',
'MT' => 'Mato Grosso', 'MT' => 'Mato Grosso',
'MG' => 'Minas Gerais', 'MG' => 'Minas Gerais',
'PA' => 'Pará', 'PA' => 'Pará',
'PB' => 'Paraíba', 'PB' => 'Paraíba',
'PR' => 'Paraná', 'PR' => 'Paraná',
'PE' => 'Pernambuco', 'PE' => 'Pernambuco',
'PI' => 'Piauí', 'PI' => 'Piauí',
'RJ' => 'Rio de Janeiro', 'RJ' => 'Rio de Janeiro',
'RN' => 'Rio Grande do Norte', 'RN' => 'Rio Grande do Norte',
'RS' => 'Rio Grande do Sul', 'RS' => 'Rio Grande do Sul',
'RO' => 'Rondônia', 'RO' => 'Rondônia',
'RR' => 'Roraima', 'RR' => 'Roraima',
'SC' => 'Santa Catarina', 'SC' => 'Santa Catarina',
'SP' => 'São Paulo', 'SP' => 'São Paulo',
'SE' => 'Sergipe', 'SE' => 'Sergipe',
'TO' => 'Tocantins', 'TO' => 'Tocantins',
); );
public function index($id) public function index($id)
{ {
$edital = Evento::find($id); $edital = Evento::find($id);
$grandeAreas = GrandeArea::orderBy('nome')->get(); $grandeAreas = GrandeArea::orderBy('nome')->get();
$areaTematicas = AreaTematica::orderBy('nome')->get(); $areaTematicas = AreaTematica::orderBy('nome')->get();
$ODS = ObjetivoDeDesenvolvimentoSustentavel::orderBy('nome')->get(); $ODS = ObjetivoDeDesenvolvimentoSustentavel::orderBy('nome')->get();
$funcaoParticipantes = FuncaoParticipantes::orderBy('nome')->get(); $funcaoParticipantes = FuncaoParticipantes::orderBy('nome')->get();
$proponente = Proponente::where('user_id', Auth::user()->id)->first(); $proponente = Proponente::where('user_id', Auth::user()->id)->first();
if($proponente == null){ 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('proponente.cadastro')->with(['mensagem' => 'Você não possui perfil de Proponente, para submeter algum projeto preencha o formulário.']);;
} }
$rascunho = Trabalho::where('proponente_id', $proponente->id)->where('evento_id',$edital->id)->where('status', 'Rascunho') $rascunho = Trabalho::where('proponente_id', $proponente->id)->where('evento_id',$edital->id)->where('status', 'Rascunho')
->orderByDesc('updated_at')->first(); ->orderByDesc('updated_at')->first();
// dd($estados); // dd($estados);
return view('evento.submeterTrabalho',[ return view('evento.submeterTrabalho',[
// return view('evento.backupForm',[ // return view('evento.backupForm',[
'edital' => $edital, 'edital' => $edital,
'grandeAreas' => $grandeAreas, 'grandeAreas' => $grandeAreas,
'funcaoParticipantes'=> $funcaoParticipantes, 'funcaoParticipantes'=> $funcaoParticipantes,
'rascunho' => $rascunho, 'rascunho' => $rascunho,
'enum_turno' => Participante::ENUM_TURNO, 'enum_turno' => Participante::ENUM_TURNO,
'estados' => $this->estados, 'estados' => $this->estados,
'areaTematicas' => $areaTematicas, 'areaTematicas' => $areaTematicas,
'ods' =>$ODS, 'ods' =>$ODS,
]); ]);
} }
public function arquivar(Request $request){ public function arquivar(Request $request){
$trabalho = Trabalho::find($request->trabalho_id); $trabalho = Trabalho::find($request->trabalho_id);
$arquivos = Arquivo::where('trabalhoId',$trabalho->id)->get(); $arquivos = Arquivo::where('trabalhoId',$trabalho->id)->get();
if($request->arquivar_tipo == 1 ){ if($request->arquivar_tipo == 1 ){
$trabalho->arquivado = true; $trabalho->arquivado = true;
foreach ($arquivos as $arquivo){ foreach ($arquivos as $arquivo){
$arquivo->arquivado = true; $arquivo->arquivado = true;
$arquivo->update(); $arquivo->update();
} }
$message = "Projeto ".$trabalho->titulo." arquivado"; $message = "Projeto ".$trabalho->titulo." arquivado";
}else{ }else{
$trabalho->arquivado = false; $trabalho->arquivado = false;
foreach ($arquivos as $arquivo){ foreach ($arquivos as $arquivo){
$arquivo->arquivado = false; $arquivo->arquivado = false;
$arquivo->update(); $arquivo->update();
} }
$message = "Projeto ".$trabalho->titulo." desarquivado"; $message = "Projeto ".$trabalho->titulo." desarquivado";
} }
$trabalho->update(); $trabalho->update();
return redirect()->back()->with(['sucesso'=>$message ]); return redirect()->back()->with(['sucesso'=>$message ]);
} }
public function storeParcial(Request $request){ public function storeParcial(Request $request){
$mytime = Carbon::now('America/Recife'); $mytime = Carbon::now('America/Recife');
$mytime = $mytime->toDateString(); $mytime = $mytime->toDateString();
$evento = Evento::find($request->editalId); $evento = Evento::find($request->editalId);
$coordenador = CoordenadorComissao::find($evento->coordenadorId); $coordenador = CoordenadorComissao::find($evento->coordenadorId);
//Relaciona o projeto criado com o proponente que criou o projeto //Relaciona o projeto criado com o proponente que criou o projeto
$proponente = Proponente::where('user_id', Auth::user()->id)->first(); $proponente = Proponente::where('user_id', Auth::user()->id)->first();
$trabalho = "trabalho"; $trabalho = "trabalho";
if ($evento->inicioSubmissao > $mytime) { if ($evento->inicioSubmissao > $mytime) {
if ($mytime >= $evento->fimSubmissao) { if ($mytime >= $evento->fimSubmissao) {
return redirect()->route('home'); return redirect()->route('home');
} }
} }
//--Salvando os dados da submissão temporariamente //--Salvando os dados da submissão temporariamente
$this->armazenarInfoTemp($request, $proponente); $this->armazenarInfoTemp($request, $proponente);
return redirect()->route('projetos.edital', ['id' => $request->editalId]); return redirect()->route('projetos.edital', ['id' => $request->editalId]);
} }
//Armazena temporariamente dados da submissão, no banco de dados e no storage //Armazena temporariamente dados da submissão, no banco de dados e no storage
public function armazenarInfoTemp(Request $request, $proponente) public function armazenarInfoTemp(Request $request, $proponente)
{ {
//---Dados do Projeto //---Dados do Projeto
$trabalho = Trabalho::where('proponente_id', $proponente->id)->where('evento_id',$request->editalId)->where('status', 'Rascunho') $trabalho = Trabalho::where('proponente_id', $proponente->id)->where('evento_id',$request->editalId)->where('status', 'Rascunho')
->orderByDesc('updated_at')->first(); ->orderByDesc('updated_at')->first();
//dd($trabalho); //dd($trabalho);
if($trabalho == null){ if($trabalho == null){
$trabalho = new Trabalho(); $trabalho = new Trabalho();
$trabalho->proponente_id = $proponente->id; $trabalho->proponente_id = $proponente->id;
$trabalho->evento_id = $request->editalId; $trabalho->evento_id = $request->editalId;
$trabalho->status = 'Rascunho'; $trabalho->status = 'Rascunho';
$stringKeys = ['titulo','linkGrupoPesquisa', 'linkLattesEstudante','pontuacaoPlanilha','anexoProjeto', $stringKeys = ['titulo','linkGrupoPesquisa', 'linkLattesEstudante','pontuacaoPlanilha','anexoProjeto',
'anexoPlanilhaPontuacao', 'anexoLattesCoordenador', 'conflitosInteresse']; 'anexoPlanilhaPontuacao', 'anexoLattesCoordenador', 'conflitosInteresse'];
$intKeys = ['grande_area_id','area_id','sub_area_id','coordenador_id']; $intKeys = ['grande_area_id','area_id','sub_area_id','coordenador_id'];
$trabalho->fill( $trabalho->fill(
array_fill_keys($stringKeys, "") + array_fill_keys($intKeys, 1) array_fill_keys($stringKeys, "") + array_fill_keys($intKeys, 1)
)->save(); )->save();
//dd($trabalho); //dd($trabalho);
} }
if(!(is_null($request->nomeProjeto)) ) { if(!(is_null($request->nomeProjeto)) ) {
$trabalho->titulo = $request->nomeProjeto; $trabalho->titulo = $request->nomeProjeto;
} }
if(!(is_null($request->grandeArea))){ if(!(is_null($request->grandeArea))){
$trabalho->grande_area_id = $request->grandeArea; $trabalho->grande_area_id = $request->grandeArea;
} }
if(!(is_null($request->area))){ if(!(is_null($request->area))){
$trabalho->area_id = $request->area; $trabalho->area_id = $request->area;
} }
if(!(is_null($request->subArea))){ if(!(is_null($request->subArea))){
$trabalho->sub_area_id = $request->subArea; $trabalho->sub_area_id = $request->subArea;
} }
if(!(is_null($request->pontuacaoPlanilha))){ if(!(is_null($request->pontuacaoPlanilha))){
$trabalho->pontuacaoPlanilha = $request->pontuacaoPlanilha; $trabalho->pontuacaoPlanilha = $request->pontuacaoPlanilha;
} }
if(!(is_null($request->linkGrupo))){ if(!(is_null($request->linkGrupo))){
$trabalho->linkGrupoPesquisa = $request->linkGrupo; $trabalho->linkGrupoPesquisa = $request->linkGrupo;
} }
if(!(is_null($request->conflitosInteresse))){ if(!(is_null($request->conflitosInteresse))){
$trabalho->conflitosInteresse = $request->conflitosInteresse; $trabalho->conflitosInteresse = $request->conflitosInteresse;
} }
//Anexos do projeto //Anexos do projeto
$pasta = 'trabalhos/' . $request->editalId . '/' . $trabalho->id; $pasta = 'trabalhos/' . $request->editalId . '/' . $trabalho->id;
if(!(is_null($request->anexoDecisaoCONSU)) ) { if(!(is_null($request->anexoDecisaoCONSU)) ) {
$trabalho->anexoDecisaoCONSU = Storage::putFileAs($pasta, $request->anexoDecisaoCONSU, "CONSU.pdf"); $trabalho->anexoDecisaoCONSU = Storage::putFileAs($pasta, $request->anexoDecisaoCONSU, "CONSU.pdf");
} }
if (!(is_null($request->anexoComiteEtica))) { if (!(is_null($request->anexoComiteEtica))) {
$trabalho->anexoAutorizacaoComiteEtica = Storage::putFileAs($pasta, $request->anexoComiteEtica, "Comite_de_etica.pdf"); $trabalho->anexoAutorizacaoComiteEtica = Storage::putFileAs($pasta, $request->anexoComiteEtica, "Comite_de_etica.pdf");
} }
if (!(is_null($request->justificativaAutorizacaoEtica))) { if (!(is_null($request->justificativaAutorizacaoEtica))) {
$trabalho->justificativaAutorizacaoEtica = Storage::putFileAs($pasta, $request->justificativaAutorizacaoEtica, "Justificativa.pdf"); $trabalho->justificativaAutorizacaoEtica = Storage::putFileAs($pasta, $request->justificativaAutorizacaoEtica, "Justificativa.pdf");
} }
if (!(is_null($request->anexoProjeto))) { if (!(is_null($request->anexoProjeto))) {
$trabalho->anexoProjeto = Storage::putFileAs($pasta, $request->anexoProjeto, "Projeto.pdf"); $trabalho->anexoProjeto = Storage::putFileAs($pasta, $request->anexoProjeto, "Projeto.pdf");
} }
if (!(is_null($request->anexoLattesCoordenador))) { if (!(is_null($request->anexoLattesCoordenador))) {
$trabalho->anexoLattesCoordenador = Storage::putFileAs($pasta, $request->anexoLattesCoordenador, "Lattes_Coordenador.pdf"); $trabalho->anexoLattesCoordenador = Storage::putFileAs($pasta, $request->anexoLattesCoordenador, "Lattes_Coordenador.pdf");
} }
if (!(is_null($request->anexoPlanilhaPontuacao))) { if (!(is_null($request->anexoPlanilhaPontuacao))) {
$trabalho->anexoPlanilhaPontuacao = Storage::putFileAs($pasta, $request->anexoPlanilhaPontuacao, "Planilha.". $request->file('anexoPlanilhaPontuacao')->getClientOriginalExtension()); $trabalho->anexoPlanilhaPontuacao = Storage::putFileAs($pasta, $request->anexoPlanilhaPontuacao, "Planilha.". $request->file('anexoPlanilhaPontuacao')->getClientOriginalExtension());
} }
$trabalho->update(); $trabalho->update();
//---Anexos planos de trabalho //---Anexos planos de trabalho
//dd($trabalho); //dd($trabalho);
return $trabalho; return $trabalho;
} }
public function validarAnexosRascunho(Request $request, $trabalho){ public function validarAnexosRascunho(Request $request, $trabalho){
$validator = Validator::make($trabalho->getAttributes(),[ $validator = Validator::make($trabalho->getAttributes(),[
'anexoPlanilhaPontuacao' => $request->anexoPlanilhaPontuacao==null?['planilha']:[], 'anexoPlanilhaPontuacao' => $request->anexoPlanilhaPontuacao==null?['planilha']:[],
]); ]);
if ($validator->fails()) { if ($validator->fails()) {
//dd('asdf'); //dd('asdf');
return back()->withErrors($validator)->withInput(); return back()->withErrors($validator)->withInput();
} }
return 1; return 1;
} }
public function armazenarAnexosFinais($request, $pasta, $trabalho, $evento){ public function armazenarAnexosFinais($request, $pasta, $trabalho, $evento){
// Checando se é um novo trabalho ou uma edição // Checando se é um novo trabalho ou uma edição
if ($trabalho->anexoProjeto != null) { if ($trabalho->anexoProjeto != null) {
// Anexo Projeto // Anexo Projeto
if (isset($request->anexoProjeto)) { if (isset($request->anexoProjeto)) {
if (Storage::disk()->exists($trabalho->anexoProjeto)) { if (Storage::disk()->exists($trabalho->anexoProjeto)) {
Storage::delete($trabalho->anexoProjeto); Storage::delete($trabalho->anexoProjeto);
} }
$trabalho->anexoProjeto = Storage::putFileAs($pasta, $request->anexoProjeto, 'Projeto.pdf'); $trabalho->anexoProjeto = Storage::putFileAs($pasta, $request->anexoProjeto, 'Projeto.pdf');
} }
//Anexo Decisão CONSU //Anexo Decisão CONSU
// if ($evento->tipo == 'PIBIC' || $evento->tipo == 'PIBIC-EM') { // if ($evento->tipo == 'PIBIC' || $evento->tipo == 'PIBIC-EM') {
if (isset($request->anexoDecisaoCONSU)) { if (isset($request->anexoDecisaoCONSU)) {
if (Storage::disk()->exists($trabalho->anexoDecisaoCONSU)) { if (Storage::disk()->exists($trabalho->anexoDecisaoCONSU)) {
Storage::delete($trabalho->anexoDecisaoCONSU); Storage::delete($trabalho->anexoDecisaoCONSU);
} }
$trabalho->anexoDecisaoCONSU = Storage::putFileAs($pasta, $request->anexoDecisaoCONSU, 'Decisão_da_Câmara_ou_Conselho_Pertinente.pdf'); $trabalho->anexoDecisaoCONSU = Storage::putFileAs($pasta, $request->anexoDecisaoCONSU, 'Decisão_da_Câmara_ou_Conselho_Pertinente.pdf');
} }
// } // }
//Autorização ou Justificativa //Autorização ou Justificativa
if (isset($request->anexoAutorizacaoComiteEtica)) { if (isset($request->anexoAutorizacaoComiteEtica)) {
if (Storage::disk()->exists($trabalho->anexoAutorizacaoComiteEtica)) { if (Storage::disk()->exists($trabalho->anexoAutorizacaoComiteEtica)) {
Storage::delete($trabalho->anexoAutorizacaoComiteEtica); Storage::delete($trabalho->anexoAutorizacaoComiteEtica);
} }
$trabalho->anexoAutorizacaoComiteEtica = Storage::putFileAs($pasta, $request->anexoAutorizacaoComiteEtica, 'Comite_de_etica.pdf'); $trabalho->anexoAutorizacaoComiteEtica = Storage::putFileAs($pasta, $request->anexoAutorizacaoComiteEtica, 'Comite_de_etica.pdf');
$trabalho->justificativaAutorizacaoEtica = null; $trabalho->justificativaAutorizacaoEtica = null;
} elseif (isset($request->justificativaAutorizacaoEtica)) { } elseif (isset($request->justificativaAutorizacaoEtica)) {
if (Storage::disk()->exists($trabalho->justificativaAutorizacaoEtica)) { if (Storage::disk()->exists($trabalho->justificativaAutorizacaoEtica)) {
Storage::delete($trabalho->justificativaAutorizacaoEtica); Storage::delete($trabalho->justificativaAutorizacaoEtica);
} }
$trabalho->justificativaAutorizacaoEtica = Storage::putFileAs($pasta, $request->justificativaAutorizacaoEtica, 'Justificativa.pdf'); $trabalho->justificativaAutorizacaoEtica = Storage::putFileAs($pasta, $request->justificativaAutorizacaoEtica, 'Justificativa.pdf');
$trabalho->anexoAutorizacaoComiteEtica = null; $trabalho->anexoAutorizacaoComiteEtica = null;
} }
//Anexo Lattes //Anexo Lattes
if (isset($request->anexoLattesCoordenador)) { if (isset($request->anexoLattesCoordenador)) {
if (Storage::disk()->exists($trabalho->anexoLattesCoordenador)) { if (Storage::disk()->exists($trabalho->anexoLattesCoordenador)) {
Storage::delete($trabalho->anexoLattesCoordenador); Storage::delete($trabalho->anexoLattesCoordenador);
} }
$trabalho->anexoLattesCoordenador = Storage::putFileAs($pasta, $request->anexoLattesCoordenador, 'Lattes_Coordenador.pdf'); $trabalho->anexoLattesCoordenador = Storage::putFileAs($pasta, $request->anexoLattesCoordenador, 'Lattes_Coordenador.pdf');
} }
//Anexo Planilha //Anexo Planilha
if (isset($request->anexoPlanilhaPontuacao)) { if (isset($request->anexoPlanilhaPontuacao)) {
if (Storage::disk()->exists($trabalho->anexoPlanilhaPontuacao)) { if (Storage::disk()->exists($trabalho->anexoPlanilhaPontuacao)) {
Storage::delete($trabalho->anexoPlanilhaPontuacao); Storage::delete($trabalho->anexoPlanilhaPontuacao);
} }
$trabalho->anexoPlanilhaPontuacao = Storage::putFileAs($pasta, $request->anexoPlanilhaPontuacao, "Planilha." . $request->file('anexoPlanilhaPontuacao')->getClientOriginalExtension()); $trabalho->anexoPlanilhaPontuacao = Storage::putFileAs($pasta, $request->anexoPlanilhaPontuacao, "Planilha." . $request->file('anexoPlanilhaPontuacao')->getClientOriginalExtension());
} }
// Anexo grupo pesquisa // Anexo grupo pesquisa
if (isset($request->anexoGrupoPesquisa)) { if (isset($request->anexoGrupoPesquisa)) {
if (Storage::disk()->exists($trabalho->anexoGrupoPesquisa)) { if (Storage::disk()->exists($trabalho->anexoGrupoPesquisa)) {
Storage::delete($trabalho->anexoGrupoPesquisa); Storage::delete($trabalho->anexoGrupoPesquisa);
} }
$trabalho->anexoGrupoPesquisa = Storage::putFileAs($pasta, $request->anexoGrupoPesquisa, "Grupo_de_pesquisa." . $request->file('anexoGrupoPesquisa')->extension()); $trabalho->anexoGrupoPesquisa = Storage::putFileAs($pasta, $request->anexoGrupoPesquisa, "Grupo_de_pesquisa." . $request->file('anexoGrupoPesquisa')->extension());
} }
//Anexo documentro extra //Anexo documentro extra
if (isset($request->anexo_docExtra)) { if (isset($request->anexo_docExtra)) {
if (Storage::disk()->exists($trabalho->anexo_docExtra)) { if (Storage::disk()->exists($trabalho->anexo_docExtra)) {
Storage::delete($trabalho->anexo_docExtra); Storage::delete($trabalho->anexo_docExtra);
} }
$trabalho->anexo_docExtra = Storage::putFileAs($pasta, $request->anexo_docExtra, "Documento_Extra." . $request->file('anexo_docExtra')->extension()); $trabalho->anexo_docExtra = Storage::putFileAs($pasta, $request->anexo_docExtra, "Documento_Extra." . $request->file('anexo_docExtra')->extension());
} }
$trabalho->save(); $trabalho->save();
return $trabalho; 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');
} }
//Anexo Decisão CONSU //Anexo Decisão CONSU
//if ($evento->tipo == 'PIBIC' || $evento->tipo == 'PIBIC-EM') { //if ($evento->tipo == 'PIBIC' || $evento->tipo == 'PIBIC-EM') {
if (isset($request->anexoDecisaoCONSU)) { if (isset($request->anexoDecisaoCONSU)) {
$trabalho->anexoDecisaoCONSU = Storage::putFileAs($pasta, $request->anexoDecisaoCONSU, 'Decisão_da_Câmara_ou_Conselho_Pertinente.pdf'); $trabalho->anexoDecisaoCONSU = Storage::putFileAs($pasta, $request->anexoDecisaoCONSU, 'Decisão_da_Câmara_ou_Conselho_Pertinente.pdf');
} }
//} //}
//Autorização ou Justificativa //Autorização ou Justificativa
if (isset($request->anexoAutorizacaoComiteEtica)) { if (isset($request->anexoAutorizacaoComiteEtica)) {
$trabalho->anexoAutorizacaoComiteEtica = Storage::putFileAs($pasta, $request->anexoAutorizacaoComiteEtica, 'Comite_de_etica.pdf'); $trabalho->anexoAutorizacaoComiteEtica = Storage::putFileAs($pasta, $request->anexoAutorizacaoComiteEtica, 'Comite_de_etica.pdf');
$trabalho->justificativaAutorizacaoEtica = null; $trabalho->justificativaAutorizacaoEtica = null;
} elseif (isset($request->justificativaAutorizacaoEtica)) { } elseif (isset($request->justificativaAutorizacaoEtica)) {
$trabalho->justificativaAutorizacaoEtica = Storage::putFileAs($pasta, $request->justificativaAutorizacaoEtica, 'Justificativa.pdf'); $trabalho->justificativaAutorizacaoEtica = Storage::putFileAs($pasta, $request->justificativaAutorizacaoEtica, 'Justificativa.pdf');
$trabalho->anexoAutorizacaoComiteEtica = null; $trabalho->anexoAutorizacaoComiteEtica = null;
} }
//Anexo Lattes //Anexo Lattes
if (isset($request->anexoLattesCoordenador)) { if (isset($request->anexoLattesCoordenador)) {
$trabalho->anexoLattesCoordenador = Storage::putFileAs($pasta, $request->anexoLattesCoordenador, 'Lattes_Coordenador.pdf'); $trabalho->anexoLattesCoordenador = Storage::putFileAs($pasta, $request->anexoLattesCoordenador, 'Lattes_Coordenador.pdf');
} }
//Anexo Planilha //Anexo Planilha
if (isset($request->anexoPlanilhaPontuacao)) { if (isset($request->anexoPlanilhaPontuacao)) {
$trabalho->anexoPlanilhaPontuacao = Storage::putFileAs($pasta, $request->anexoPlanilhaPontuacao, "Planilha." . $request->file('anexoPlanilhaPontuacao')->getClientOriginalExtension()); $trabalho->anexoPlanilhaPontuacao = Storage::putFileAs($pasta, $request->anexoPlanilhaPontuacao, "Planilha." . $request->file('anexoPlanilhaPontuacao')->getClientOriginalExtension());
} }
// Anexo grupo pesquisa // Anexo grupo pesquisa
if (isset($request->anexoGrupoPesquisa)) { if (isset($request->anexoGrupoPesquisa)) {
$trabalho->anexoGrupoPesquisa = Storage::putFileAs($pasta, $request->anexoGrupoPesquisa, "Grupo_de_pesquisa." . $request->file('anexoGrupoPesquisa')->extension()); $trabalho->anexoGrupoPesquisa = Storage::putFileAs($pasta, $request->anexoGrupoPesquisa, "Grupo_de_pesquisa." . $request->file('anexoGrupoPesquisa')->extension());
} }
// Anexo documento extra // Anexo documento extra
if (isset($request->anexo_docExtra)) { if (isset($request->anexo_docExtra)) {
$trabalho->anexo_docExtra = Storage::putFileAs($pasta, $request->anexo_docExtra, "Documento_Extra." . $request->file('anexo_docExtra')->extension()); $trabalho->anexo_docExtra = Storage::putFileAs($pasta, $request->anexo_docExtra, "Documento_Extra." . $request->file('anexo_docExtra')->extension());
} }
//Anexo SIPAC //Anexo SIPAC
if (isset($request->anexo_SIPAC)) { if (isset($request->anexo_SIPAC)) {
if (Storage::disk()->exists($trabalho->anexo_SIPAC)) { if (Storage::disk()->exists($trabalho->anexo_SIPAC)) {
Storage::delete($trabalho->anexo_SIPAC); Storage::delete($trabalho->anexo_SIPAC);
} }
$trabalho->anexo_SIPAC = Storage::putFileAs($pasta, $request->anexo_SIPAC, "Anexo_SIPAC." . $request->file('anexo_SIPAC')->extension()); $trabalho->anexo_SIPAC = Storage::putFileAs($pasta, $request->anexo_SIPAC, "Anexo_SIPAC." . $request->file('anexo_SIPAC')->extension());
} }
return $trabalho; return $trabalho;
} }
public function show($id) public function show($id)
{ {
$projeto = Trabalho::find($id); $projeto = Trabalho::find($id);
if(Auth::user()->id != $projeto->proponente->user->id){ if(Auth::user()->id != $projeto->proponente->user->id){
return redirect()->back(); return redirect()->back();
} }
$edital = Evento::find($projeto->evento_id); $edital = Evento::find($projeto->evento_id);
$grandeAreas = GrandeArea::all(); $grandeAreas = GrandeArea::all();
$areas = Area::all(); $areas = Area::all();
$subareas = Subarea::all(); $subareas = Subarea::all();
$areasTematicas = AreaTematica::all(); $areasTematicas = AreaTematica::all();
$funcaoParticipantes = FuncaoParticipantes::all(); $funcaoParticipantes = FuncaoParticipantes::all();
$participantes = $projeto->participantes; $participantes = $projeto->participantes;
$participantesUsersIds = Participante::where('trabalho_id', $id)->select('user_id')->get(); $participantesUsersIds = Participante::where('trabalho_id', $id)->select('user_id')->get();
$users = User::whereIn('id', $participantesUsersIds)->get(); $users = User::whereIn('id', $participantesUsersIds)->get();
$arquivos = Arquivo::where('trabalhoId', $id)->get(); $arquivos = Arquivo::where('trabalhoId', $id)->get();
$proponente = Proponente::where('user_id', $projeto->proponente->user_id)->first(); $proponente = Proponente::where('user_id', $projeto->proponente->user_id)->first();
// Verficação de pendencia de substituição // Verficação de pendencia de substituição
$aux = count(Substituicao::where('status','Em Aguardo')->whereIn('participanteSubstituido_id',$projeto->participantes->pluck('id'))->get()); $aux = count(Substituicao::where('status','Em Aguardo')->whereIn('participanteSubstituido_id',$projeto->participantes->pluck('id'))->get());
$flagSubstituicao = 1; $flagSubstituicao = 1;
if($aux != 0){ if($aux != 0){
$flagSubstituicao = -1; $flagSubstituicao = -1;
} }
$trabalhos_user = TrabalhoUser::where('trabalho_id', $projeto->id)->get(); $trabalhos_user = TrabalhoUser::where('trabalho_id', $projeto->id)->get();
$avals_projeto = []; $avals_projeto = [];
$AvalRelatParcial = []; $AvalRelatParcial = [];
$AvalRelatFinal = []; $AvalRelatFinal = [];
if (isset($arquivos)) { if (isset($arquivos)) {
foreach ($arquivos as $arquivo) { foreach ($arquivos as $arquivo) {
array_push($avals_projeto, AvaliacaoRelatorio::where('arquivo_id', $arquivo->id)->get()); array_push($avals_projeto, AvaliacaoRelatorio::where('arquivo_id', $arquivo->id)->get());
} }
} }
foreach ($avals_projeto as $avals) { foreach ($avals_projeto as $avals) {
foreach ($avals as $aval){ foreach ($avals as $aval){
if ($aval->tipo == 'Parcial') { if ($aval->tipo == 'Parcial') {
array_push($AvalRelatParcial, $aval); array_push($AvalRelatParcial, $aval);
} else { } else {
array_push($AvalRelatFinal, $aval); array_push($AvalRelatFinal, $aval);
} }
} }
} }
return view('projeto.visualizar')->with(['projeto' => $projeto, return view('projeto.visualizar')->with(['projeto' => $projeto,
'grandeAreas' => $grandeAreas, 'grandeAreas' => $grandeAreas,
'areas' => $areas, 'areas' => $areas,
'subAreas' => $subareas, 'subAreas' => $subareas,
'edital' => $edital, 'edital' => $edital,
'users' => $users, 'users' => $users,
'funcaoParticipantes' => $funcaoParticipantes, 'funcaoParticipantes' => $funcaoParticipantes,
'participantes' => $participantes, 'participantes' => $participantes,
'arquivos' => $arquivos, 'arquivos' => $arquivos,
'estados' => $this->estados, 'estados' => $this->estados,
'visualizar' => true, 'visualizar' => true,
'enum_turno' => Participante::ENUM_TURNO, 'enum_turno' => Participante::ENUM_TURNO,
'areasTematicas' => $areasTematicas, 'areasTematicas' => $areasTematicas,
'flagSubstituicao' =>$flagSubstituicao, 'flagSubstituicao' =>$flagSubstituicao,
'trabalhos_user' => $trabalhos_user, 'trabalhos_user' => $trabalhos_user,
'AvalRelatParcial' => $AvalRelatParcial, 'AvalRelatParcial' => $AvalRelatParcial,
'AvalRelatFinal' => $AvalRelatFinal, 'AvalRelatFinal' => $AvalRelatFinal,
'proponente' => $proponente 'proponente' => $proponente
]); ]);
} }
public function exportProjeto($id) public function exportProjeto($id)
{ {
$projeto = Auth::user()->proponentes->trabalhos()->where('id', $id)->first(); $projeto = Auth::user()->proponentes->trabalhos()->where('id', $id)->first();
if (!$projeto) { if (!$projeto) {
return back()->withErrors(['Proposta não encontrada!']); return back()->withErrors(['Proposta não encontrada!']);
} }
$edital = Evento::find($projeto->evento_id); $edital = Evento::find($projeto->evento_id);
$grandeAreas = GrandeArea::all(); $grandeAreas = GrandeArea::all();
$areas = Area::all(); $areas = Area::all();
$subAreas = Subarea::all(); $subAreas = Subarea::all();
$funcaoParticipantes = FuncaoParticipantes::all(); $funcaoParticipantes = FuncaoParticipantes::all();
$participantes = Participante::where('trabalho_id', $id)->get(); $participantes = Participante::where('trabalho_id', $id)->get();
$participantesUsersIds = Participante::where('trabalho_id', $id)->select('user_id')->get(); $participantesUsersIds = Participante::where('trabalho_id', $id)->select('user_id')->get();
$users = User::whereIn('id', $participantesUsersIds)->get(); $users = User::whereIn('id', $participantesUsersIds)->get();
$arquivos = Arquivo::where('trabalhoId', $id)->get(); $arquivos = Arquivo::where('trabalhoId', $id)->get();
$enum_turno = Participante::ENUM_TURNO; $enum_turno = Participante::ENUM_TURNO;
view()->share('projeto.visualizar', [$projeto, $grandeAreas, $areas, $subAreas, $edital, $users, $funcaoParticipantes, $participantes, $arquivos, $enum_turno]); view()->share('projeto.visualizar', [$projeto, $grandeAreas, $areas, $subAreas, $edital, $users, $funcaoParticipantes, $participantes, $arquivos, $enum_turno]);
$pdf = PDF::loadView('projeto.visualizar', compact('projeto', 'grandeAreas', 'areas', 'subAreas', 'edital', 'users', 'funcaoParticipantes', 'participantes', 'arquivos', 'enum_turno'))->setOptions(['defaultFont' => 'sans-serif']); $pdf = PDF::loadView('projeto.visualizar', compact('projeto', 'grandeAreas', 'areas', 'subAreas', 'edital', 'users', 'funcaoParticipantes', 'participantes', 'arquivos', 'enum_turno'))->setOptions(['defaultFont' => 'sans-serif']);
// download PDF file with download method // download PDF file with download method
return $pdf->download('pdf_file.pdf'); return $pdf->download('pdf_file.pdf');
} }
public function edit($id) public function edit($id)
{ {
if(Auth::user()->tipo=='administrador'){ if(Auth::user()->tipo=='administrador'){
$projeto = Trabalho::find($id); $projeto = Trabalho::find($id);
}else{ }else{
$projeto = Auth::user()->proponentes->trabalhos()->where('id', $id)->first(); $projeto = Auth::user()->proponentes->trabalhos()->where('id', $id)->first();
} }
$proponente = Proponente::where('user_id', $projeto->proponente->user_id)->first(); $proponente = Proponente::where('user_id', $projeto->proponente->user_id)->first();
if (!$projeto) { if (!$projeto) {
return back()->withErrors(['Proposta não encontrada!']); return back()->withErrors(['Proposta não encontrada!']);
} }
$edital = Evento::find($projeto->evento_id); $edital = Evento::find($projeto->evento_id);
$grandeAreas = GrandeArea::all(); $grandeAreas = GrandeArea::all();
$areaTematicas = AreaTematica::orderBy('nome')->get(); $areaTematicas = AreaTematica::orderBy('nome')->get();
$areas = Area::all(); $areas = Area::all();
$subareas = Subarea::all(); $subareas = Subarea::all();
$ODS = ObjetivoDeDesenvolvimentoSustentavel::orderBy('nome')->get(); $ODS = ObjetivoDeDesenvolvimentoSustentavel::orderBy('nome')->get();
$funcaoParticipantes = FuncaoParticipantes::all(); $funcaoParticipantes = FuncaoParticipantes::all();
$participantes = Participante::where('trabalho_id', $id)->get(); $participantes = Participante::where('trabalho_id', $id)->get();
$participantesUsersIds = Participante::where('trabalho_id', $id)->select('user_id')->get(); $participantesUsersIds = Participante::where('trabalho_id', $id)->select('user_id')->get();
$users = User::whereIn('id', $participantesUsersIds)->get(); $users = User::whereIn('id', $participantesUsersIds)->get();
$arquivos = Arquivo::where('trabalhoId', $id)->get(); $arquivos = Arquivo::where('trabalhoId', $id)->get();
//dd(Participante::all()); //dd(Participante::all());
$rascunho = Trabalho::where('proponente_id', $proponente->id)->where('evento_id', $edital->id)->where('status', 'Rascunho') $rascunho = Trabalho::where('proponente_id', $proponente->id)->where('evento_id', $edital->id)->where('status', 'Rascunho')
->orderByDesc('updated_at')->first(); ->orderByDesc('updated_at')->first();
$trabalhos_user = TrabalhoUser::where('trabalho_id', $projeto->id)->get(); $trabalhos_user = TrabalhoUser::where('trabalho_id', $projeto->id)->get();
return view('projeto.editar')->with(['projeto' => $projeto, return view('projeto.editar')->with(['projeto' => $projeto,
'grandeAreas' => $grandeAreas, 'grandeAreas' => $grandeAreas,
'areas' => $areas, 'areas' => $areas,
'subAreas' => $subareas, 'subAreas' => $subareas,
'edital' => $edital, 'edital' => $edital,
'users' => $users, 'users' => $users,
'funcaoParticipantes' => $funcaoParticipantes, 'funcaoParticipantes' => $funcaoParticipantes,
'participantes' => $participantes, 'participantes' => $participantes,
'arquivos' => $arquivos, 'arquivos' => $arquivos,
'enum_turno' => Participante::ENUM_TURNO, 'enum_turno' => Participante::ENUM_TURNO,
'estados' => $this->estados, 'estados' => $this->estados,
'areaTematicas' => $areaTematicas, 'areaTematicas' => $areaTematicas,
'listaOds' => $ODS, 'listaOds' => $ODS,
'trabalhos_user' => $trabalhos_user, 'trabalhos_user' => $trabalhos_user,
'proponente' => $proponente 'proponente' => $proponente
]); ]);
} }
public function destroy(Request $request) public function destroy(Request $request)
{ {
$projeto = Trabalho::find($request->id); $projeto = Trabalho::find($request->id);
//dd($trabalho); //dd($trabalho);
Storage::deleteDirectory('trabalhos/' . $projeto->evento->id . '/' . $projeto->id); Storage::deleteDirectory('trabalhos/' . $projeto->evento->id . '/' . $projeto->id);
$participantes = $projeto->participantes; $participantes = $projeto->participantes;
foreach ($participantes as $participante) { foreach ($participantes as $participante) {
$plano = $participante->planoTrabalho; $plano = $participante->planoTrabalho;
if ($plano) if ($plano)
$plano->delete(); $plano->delete();
$participante->delete(); $participante->delete();
} }
$projeto->delete(); $projeto->delete();
return redirect()->back()->with(['mensagem' => 'Projeto deletado com sucesso!']); return redirect()->back()->with(['mensagem' => 'Projeto deletado com sucesso!']);
} }
public function excluirParticipante($id) public function excluirParticipante($id)
{ {
$participante = Participante::where('id', $id)->first(); $participante = Participante::where('id', $id)->first();
//$participante = Participante::where('user_id', Auth()->user()->id) //$participante = Participante::where('user_id', Auth()->user()->id)
// ->where('trabalho_id', $id)->first(); // ->where('trabalho_id', $id)->first();
//$participante->trabalhos()->detach($id); //$participante->trabalhos()->detach($id);
$participante->delete(); $participante->delete();
return redirect()->back(); return redirect()->back();
} }
public function solicitarCertificado(Trabalho $trabalho, Request $request) public function solicitarCertificado(Trabalho $trabalho, Request $request)
{ {
$users = User::find($request->users); $users = User::find($request->users);
$coord = $trabalho->coordenador; $coord = $trabalho->coordenador;
$SolicitacaoCertificado = SolicitacaoCertificado::create(); $SolicitacaoCertificado = SolicitacaoCertificado::create();
Notificacao::create([ Notificacao::create([
'remetente_id' => auth()->user()->id, 'remetente_id' => auth()->user()->id,
'destinatario_id' => $coord->user_id, 'destinatario_id' => $coord->user_id,
'solicitacao_certificado_id' => $SolicitacaoCertificado->id, 'solicitacao_certificado_id' => $SolicitacaoCertificado->id,
'trabalho_id' => $trabalho->id, 'trabalho_id' => $trabalho->id,
'lido' => false, 'lido' => false,
'tipo' => 6 'tipo' => 6
]); ]);
foreach ($users as $user) { foreach ($users as $user) {
SolicitacaoParticipante::create([ SolicitacaoParticipante::create([
'user_id' => $user->id, 'user_id' => $user->id,
'solicitacao_certificado_id' => $SolicitacaoCertificado->id, 'solicitacao_certificado_id' => $SolicitacaoCertificado->id,
]); ]);
} }
$admins = Administrador::all(); $admins = Administrador::all();
foreach ($admins as $admin) { foreach ($admins as $admin) {
$userTemp = User::find($admin->user_id); $userTemp = User::find($admin->user_id);
Notificacao::create([ Notificacao::create([
'remetente_id' => auth()->user()->id, 'remetente_id' => auth()->user()->id,
'destinatario_id' => $admin->user_id, 'destinatario_id' => $admin->user_id,
'solicitacao_certificado_id' => $SolicitacaoCertificado->id, 'solicitacao_certificado_id' => $SolicitacaoCertificado->id,
'trabalho_id' => $trabalho->id, 'trabalho_id' => $trabalho->id,
'lido' => false, 'lido' => false,
'tipo' => 6, 'tipo' => 6,
]); ]);
} }
$destinatarios = $admins->map(function($admin) {return $admin->user;})->push($coord->user); $destinatarios = $admins->map(function($admin) {return $admin->user;})->push($coord->user);
Notification::send($destinatarios, new SolicitacaoCertificadoNotification($trabalho->proponente, $trabalho, $userTemp, $users)); Notification::send($destinatarios, new SolicitacaoCertificadoNotification($trabalho->proponente, $trabalho, $userTemp, $users));
return redirect()->route('trabalho.show', ['id' => $trabalho->id])->with('sucesso', 'Solicitação de certificado/declaração efetuada com sucesso!'); return redirect()->route('trabalho.show', ['id' => $trabalho->id])->with('sucesso', 'Solicitação de certificado/declaração efetuada com sucesso!');
} }
public function novaVersao(Request $request) public function novaVersao(Request $request)
{ {
$mytime = Carbon::now('America/Recife'); $mytime = Carbon::now('America/Recife');
$mytime = $mytime->toDateString(); $mytime = $mytime->toDateString();
$evento = Evento::find($request->eventoId); $evento = Evento::find($request->eventoId);
if ($evento->inicioSubmissao > $mytime) { if ($evento->inicioSubmissao > $mytime) {
if ($mytime >= $evento->fimSubmissao) { if ($mytime >= $evento->fimSubmissao) {
return redirect()->route('home'); return redirect()->route('home');
} }
} }
$validatedData = $request->validate([ $validatedData = $request->validate([
'arquivo' => ['required', 'file', 'mimes:pdf'], 'arquivo' => ['required', 'file', 'mimes:pdf'],
'eventoId' => ['required', 'integer'], 'eventoId' => ['required', 'integer'],
'trabalhoId' => ['required', 'integer'], 'trabalhoId' => ['required', 'integer'],
]); ]);
$trabalho = Trabalho::find($request->trabalhoId); $trabalho = Trabalho::find($request->trabalhoId);
if (Auth::user()->id != $trabalho->autorId) { if (Auth::user()->id != $trabalho->autorId) {
return redirect()->route('home'); return redirect()->route('home');
} }
$arquivos = $trabalho->arquivo; $arquivos = $trabalho->arquivo;
$count = 1; $count = 1;
foreach ($arquivos as $key) { foreach ($arquivos as $key) {
$key->versaoFinal = false; $key->versaoFinal = false;
$key->save(); $key->save();
$count++; $count++;
} }
$file = $request->arquivo; $file = $request->arquivo;
$path = 'trabalhos/' . $request->eventoId . '/' . $trabalho->id . '/'; $path = 'trabalhos/' . $request->eventoId . '/' . $trabalho->id . '/';
$nome = $count . ".pdf"; $nome = $count . ".pdf";
Storage::putFileAs($path, $file, $nome); Storage::putFileAs($path, $file, $nome);
$arquivo = Arquivo::create([ $arquivo = Arquivo::create([
'nome' => $path . $nome, 'nome' => $path . $nome,
'trabalhoId' => $trabalho->id, 'trabalhoId' => $trabalho->id,
'versaoFinal' => true, 'versaoFinal' => true,
]); ]);
return redirect()->route('evento.visualizar', ['id' => $request->eventoId]); return redirect()->route('evento.visualizar', ['id' => $request->eventoId]);
} }
public function detalhesAjax(Request $request) public function detalhesAjax(Request $request)
{ {
$validatedData = $request->validate([ $validatedData = $request->validate([
'trabalhoId' => ['required', 'integer'] 'trabalhoId' => ['required', 'integer']
]); ]);
$trabalho = Trabalho::find($request->trabalhoId); $trabalho = Trabalho::find($request->trabalhoId);
$revisores = Atribuicao::where('trabalhoId', $request->trabalhoId)->get(); $revisores = Atribuicao::where('trabalhoId', $request->trabalhoId)->get();
$revisoresAux = []; $revisoresAux = [];
foreach ($revisores as $key) { foreach ($revisores as $key) {
if ($key->revisor->user->name != null) { if ($key->revisor->user->name != null) {
array_push($revisoresAux, [ array_push($revisoresAux, [
'id' => $key->revisor->id, 'id' => $key->revisor->id,
'nomeOuEmail' => $key->revisor->user->name 'nomeOuEmail' => $key->revisor->user->name
]); ]);
} else { } else {
array_push($revisoresAux, [ array_push($revisoresAux, [
'id' => $key->revisor->id, 'id' => $key->revisor->id,
'nomeOuEmail' => $key->revisor->user->email 'nomeOuEmail' => $key->revisor->user->email
]); ]);
} }
} }
$revisoresDisponeis = Revisor::where('eventoId', $trabalho->eventoId)->where('areaId', $trabalho->areaId)->get(); $revisoresDisponeis = Revisor::where('eventoId', $trabalho->eventoId)->where('areaId', $trabalho->areaId)->get();
$revisoresAux1 = []; $revisoresAux1 = [];
foreach ($revisoresDisponeis as $key) { foreach ($revisoresDisponeis as $key) {
//verificar se ja é um revisor deste trabalhos //verificar se ja é um revisor deste trabalhos
$revisorNaoExiste = true; $revisorNaoExiste = true;
foreach ($revisoresAux as $key1) { foreach ($revisoresAux as $key1) {
if ($key->id == $key1['id']) { if ($key->id == $key1['id']) {
$revisorNaoExiste = false; $revisorNaoExiste = false;
} }
} }
// //
if ($revisorNaoExiste) { if ($revisorNaoExiste) {
if ($key->user->name != null) { if ($key->user->name != null) {
array_push($revisoresAux1, [ array_push($revisoresAux1, [
'id' => $key->id, 'id' => $key->id,
'nomeOuEmail' => $key->user->name 'nomeOuEmail' => $key->user->name
]); ]);
} else { } else {
array_push($revisoresAux1, [ array_push($revisoresAux1, [
'id' => $key->id, 'id' => $key->id,
'nomeOuEmail' => $key->user->email 'nomeOuEmail' => $key->user->email
]); ]);
} }
} }
} }
return response()->json([ return response()->json([
'titulo' => $trabalho->titulo, 'titulo' => $trabalho->titulo,
'resumo' => $trabalho->resumo, 'resumo' => $trabalho->resumo,
'revisores' => $revisoresAux, 'revisores' => $revisoresAux,
'revisoresDisponiveis' => $revisoresAux1 'revisoresDisponiveis' => $revisoresAux1
], 200); ], 200);
} }
public function atribuirAvaliadorTrabalho(Request $request) public function atribuirAvaliadorTrabalho(Request $request)
{ {
$request->trabalho_id; $request->trabalho_id;
$trabalho = Trabalho::find($request->trabalho_id); $trabalho = Trabalho::find($request->trabalho_id);
$avaliadores = Avaliador::all(); $avaliadores = Avaliador::all();
return view('coordenadorComissao.gerenciarEdital.atribuirAvaliadorTrabalho', ['avaliadores' => $avaliadores, 'trabalho' => $trabalho, 'evento' => $trabalho->evento]); return view('coordenadorComissao.gerenciarEdital.atribuirAvaliadorTrabalho', ['avaliadores' => $avaliadores, 'trabalho' => $trabalho, 'evento' => $trabalho->evento]);
} }
public function atribuir(Request $request) public function atribuir(Request $request)
{ {
$trabalho = Trabalho::find($request->trabalho_id); $trabalho = Trabalho::find($request->trabalho_id);
$todosAvaliadores = Avaliador::all(); $todosAvaliadores = Avaliador::all();
$avaliadores = Avaliador::whereIn('id', $request->avaliadores)->with('user')->get(); $avaliadores = Avaliador::whereIn('id', $request->avaliadores)->with('user')->get();
$trabalho->avaliadors()->sync($request->avaliadores); $trabalho->avaliadors()->sync($request->avaliadores);
foreach ($avaliadores as $key => $avaliador) { foreach ($avaliadores as $key => $avaliador) {
$user = $avaliador->user; $user = $avaliador->user;
$subject = "Trabalho atribuido"; $subject = "Trabalho atribuido";
Mail::to($user->email) Mail::to($user->email)
->send(new EventoCriado($user, $subject)); ->send(new EventoCriado($user, $subject));
} }
return view('coordenadorComissao.detalhesEdital', ['evento' => $trabalho->evento]); return view('coordenadorComissao.detalhesEdital', ['evento' => $trabalho->evento]);
} }
public function projetosDoEdital($id) public function projetosDoEdital($id)
{ {
$edital = Evento::find($id); $edital = Evento::find($id);
$projetos = Trabalho::where('evento_id', '=', $id)->get(); $projetos = Trabalho::where('evento_id', '=', $id)->get();
$hoje = Carbon::today('America/Recife'); $hoje = Carbon::today('America/Recife');
$hoje = $hoje->toDateString(); $hoje = $hoje->toDateString();
return view('proponente.projetosEdital')->with(['edital' => $edital, 'projetos' => $projetos, 'hoje' => $hoje]); return view('proponente.projetosEdital')->with(['edital' => $edital, 'projetos' => $projetos, 'hoje' => $hoje]);
} }
public function baixarAnexoProjeto($id) public function baixarAnexoProjeto($id)
{ {
$projeto = Trabalho::find($id); $projeto = Trabalho::find($id);
//dd($projeto); //dd($projeto);
if (Storage::disk()->exists($projeto->anexoProjeto)) { if (Storage::disk()->exists($projeto->anexoProjeto)) {
ob_end_clean(); ob_end_clean();
return Storage::download($projeto->anexoProjeto); return Storage::download($projeto->anexoProjeto);
} }
return abort(404); return abort(404);
} }
public function baixarAnexoGrupoPesquisa($id) public function baixarAnexoGrupoPesquisa($id)
{ {
$projeto = Trabalho::find($id); $projeto = Trabalho::find($id);
if (Storage::disk()->exists($projeto->anexoGrupoPesquisa)) { if (Storage::disk()->exists($projeto->anexoGrupoPesquisa)) {
ob_end_clean(); ob_end_clean();
return Storage::download($projeto->anexoGrupoPesquisa); return Storage::download($projeto->anexoGrupoPesquisa);
} }
return abort(404); return abort(404);
} }
public function baixarAnexoConsu($id) public function baixarAnexoConsu($id)
{ {
$projeto = Trabalho::find($id); $projeto = Trabalho::find($id);
if (Storage::disk()->exists($projeto->anexoDecisaoCONSU)) { if (Storage::disk()->exists($projeto->anexoDecisaoCONSU)) {
ob_end_clean(); ob_end_clean();
return Storage::download($projeto->anexoDecisaoCONSU); return Storage::download($projeto->anexoDecisaoCONSU);
} }
return abort(404); return abort(404);
} }
public function baixarAnexoComite($id) public function baixarAnexoComite($id)
{ {
$projeto = Trabalho::find($id); $projeto = Trabalho::find($id);
if (Storage::disk()->exists($projeto->anexoAutorizacaoComiteEtica)) { if (Storage::disk()->exists($projeto->anexoAutorizacaoComiteEtica)) {
ob_end_clean(); ob_end_clean();
return Storage::download($projeto->anexoAutorizacaoComiteEtica); return Storage::download($projeto->anexoAutorizacaoComiteEtica);
} }
return abort(404); return abort(404);
} }
public function baixarAnexoLattes($id) public function baixarAnexoLattes($id)
{ {
$projeto = Trabalho::find($id); $projeto = Trabalho::find($id);
if (Storage::disk()->exists($projeto->anexoLattesCoordenador)) { if (Storage::disk()->exists($projeto->anexoLattesCoordenador)) {
ob_end_clean(); ob_end_clean();
return Storage::download($projeto->anexoLattesCoordenador); return Storage::download($projeto->anexoLattesCoordenador);
} }
return abort(404); return abort(404);
} }
public function baixarAnexoPlanilha($id) public function baixarAnexoPlanilha($id)
{ {
$projeto = Trabalho::find($id); $projeto = Trabalho::find($id);
if (Storage::disk()->exists($projeto->anexoPlanilhaPontuacao)) { if (Storage::disk()->exists($projeto->anexoPlanilhaPontuacao)) {
ob_end_clean(); ob_end_clean();
$file = $projeto->anexoPlanilhaPontuacao; $file = $projeto->anexoPlanilhaPontuacao;
$ext = explode(".", $file); $ext = explode(".", $file);
switch ($ext[1]) { switch ($ext[1]) {
case 'xlsx': case 'xlsx':
$hearder = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'; $hearder = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
break; break;
case 'xls': case 'xls':
$hearder = 'application/vnd.ms-excel'; $hearder = 'application/vnd.ms-excel';
break; break;
case 'ods': case 'ods':
$hearder = 'application/vnd.oasis.opendocument.spreadsheet'; $hearder = 'application/vnd.oasis.opendocument.spreadsheet';
break; break;
default: default:
$hearder = 'application/vnd.ms-excel'; $hearder = 'application/vnd.ms-excel';
break; break;
} }
$headers = array( $headers = array(
"Content-type: {$hearder}", "Content-type: {$hearder}",
); );
return Storage::download($projeto->anexoPlanilhaPontuacao, "Planilha.{$ext[1]}", $headers); return Storage::download($projeto->anexoPlanilhaPontuacao, "Planilha.{$ext[1]}", $headers);
} }
return abort(404); return abort(404);
} }
public function baixarAnexoJustificativa($id) public function baixarAnexoJustificativa($id)
{ {
$projeto = Trabalho::find($id); $projeto = Trabalho::find($id);
if (Storage::disk()->exists($projeto->justificativaAutorizacaoEtica)) { if (Storage::disk()->exists($projeto->justificativaAutorizacaoEtica)) {
ob_end_clean(); ob_end_clean();
return Storage::download($projeto->justificativaAutorizacaoEtica); return Storage::download($projeto->justificativaAutorizacaoEtica);
} }
return abort(404); return abort(404);
} }
public function baixarAnexoDocExtra($id) public function baixarAnexoDocExtra($id)
{ {
$projeto = Trabalho::find($id); $projeto = Trabalho::find($id);
if (Storage::disk()->exists($projeto->anexo_docExtra)) { if (Storage::disk()->exists($projeto->anexo_docExtra)) {
ob_end_clean(); ob_end_clean();
return Storage::download($projeto->anexo_docExtra); return Storage::download($projeto->anexo_docExtra);
} }
return abort(404); return abort(404);
} }
public function baixarAnexoSIPAC($id) public function baixarAnexoSIPAC($id)
{ {
$projeto = Trabalho::find($id); $projeto = Trabalho::find($id);
if (Storage::disk()->exists($projeto->anexo_SIPAC)) { if (Storage::disk()->exists($projeto->anexo_SIPAC)) {
ob_end_clean(); ob_end_clean();
return Storage::download($projeto->anexo_SIPAC); return Storage::download($projeto->anexo_SIPAC);
} }
return abort(404); return abort(404);
} }
public function baixarAnexoTemp($eventoId, $nomeAnexo) public function baixarAnexoTemp($eventoId, $nomeAnexo)
{ {
$proponente = Proponente::where('user_id', Auth::user()->id)->first(); $proponente = Proponente::where('user_id', Auth::user()->id)->first();
$trabalho = Trabalho::where('proponente_id', $proponente->id)->where('evento_id', $eventoId)->where('status', 'Rascunho') $trabalho = Trabalho::where('proponente_id', $proponente->id)->where('evento_id', $eventoId)->where('status', 'Rascunho')
->orderByDesc('updated_at')->first(); ->orderByDesc('updated_at')->first();
if (Storage::disk()->exists($trabalho->$nomeAnexo)) { if (Storage::disk()->exists($trabalho->$nomeAnexo)) {
ob_end_clean(); ob_end_clean();
return Storage::download($trabalho->$nomeAnexo); return Storage::download($trabalho->$nomeAnexo);
} }
return abort(404); return abort(404);
} }
public function baixarEventoTemp($nomeAnexo) public function baixarEventoTemp($nomeAnexo)
{ {
$eventoTemp = Evento::where('criador_id', Auth::user()->id)->where('anexosStatus', 'temporario') $eventoTemp = Evento::where('criador_id', Auth::user()->id)->where('anexosStatus', 'temporario')
->orderByDesc('updated_at')->first(); ->orderByDesc('updated_at')->first();
if (Storage::disk()->exists($eventoTemp->$nomeAnexo)) { if (Storage::disk()->exists($eventoTemp->$nomeAnexo)) {
ob_end_clean(); ob_end_clean();
return Storage::download($eventoTemp->$nomeAnexo); return Storage::download($eventoTemp->$nomeAnexo);
} }
return abort(404); return abort(404);
} }
//xxfa //xxfa
public function update(UpdateTrabalho $request, $id) public function update(UpdateTrabalho $request, $id)
{ {
try { try {
if (!$request->has('rascunho')) { if (!$request->has('rascunho')) {
$request->merge([ $request->merge([
'status' => 'submetido' 'status' => 'submetido'
]); ]);
} else { } else {
$request->merge([ $request->merge([
'status' => 'rascunho' 'status' => 'rascunho'
]); ]);
} }
$evento = Evento::find($request->editalId); $evento = Evento::find($request->editalId);
$request->merge([ $request->merge([
'coordenador_id' => $evento->coordenadorComissao->id 'coordenador_id' => $evento->coordenadorComissao->id
]); ]);
$trabalho = Trabalho::find($id); $trabalho = Trabalho::find($id);
$trabalho->ods()->sync($request->ods); $trabalho->ods()->sync($request->ods);
$proponente = Proponente::where('user_id', Auth::user()->id)->first(); $proponente = Proponente::where('user_id', Auth::user()->id)->first();
DB::beginTransaction(); DB::beginTransaction();
if (!$trabalho) { if (!$trabalho) {
return back()->withErrors(['Proposta não encontrada']); return back()->withErrors(['Proposta não encontrada']);
} }
if($evento->tipo=="PIBEX"){ if($evento->tipo=="PIBEX"){
$trabalho->update($request->except([ $trabalho->update($request->except([
'anexoProjeto', 'anexoDecisaoCONSU','modalidade','anexo_docExtra' 'anexoProjeto', 'anexoDecisaoCONSU','modalidade','anexo_docExtra'
])); ]));
}else{ }else{
$trabalho->update($request->except([ $trabalho->update($request->except([
'anexoProjeto', 'anexoDecisaoCONSU', 'anexoPlanilhaPontuacao', 'anexoProjeto', 'anexoDecisaoCONSU', 'anexoPlanilhaPontuacao',
'anexoLattesCoordenador', 'anexoGrupoPesquisa', 'anexoAutorizacaoComiteEtica', 'anexoLattesCoordenador', 'anexoGrupoPesquisa', 'anexoAutorizacaoComiteEtica',
'justificativaAutorizacaoEtica','modalidade','anexo_docExtra' 'justificativaAutorizacaoEtica','modalidade','anexo_docExtra'
])); ]));
} }
$pasta = 'trabalhos/' . $evento->id . '/' . $trabalho->id; $pasta = 'trabalhos/' . $evento->id . '/' . $trabalho->id;
$trabalho = $this->armazenarAnexosFinais($request, $pasta, $trabalho, $evento); $trabalho = $this->armazenarAnexosFinais($request, $pasta, $trabalho, $evento);
$trabalho->save(); $trabalho->save();
if($request->integrantesExistentes == null){ if($request->integrantesExistentes == null){
$request->integrantesExistentes = []; $request->integrantesExistentes = [];
} }
$usuariosRemovidos = TrabalhoUser::where('trabalho_id', $trabalho->id)->whereNotIn('user_id', $request->integrantesExistentes)->get(); $usuariosRemovidos = TrabalhoUser::where('trabalho_id', $trabalho->id)->whereNotIn('user_id', $request->integrantesExistentes)->get();
if($usuariosRemovidos->first() != null) { if($usuariosRemovidos->first() != null) {
foreach($usuariosRemovidos as $usuarioRemovido){ foreach($usuariosRemovidos as $usuarioRemovido){
$usuarioRemovido->delete(); $usuarioRemovido->delete();
} }
} }
if($evento->natureza_id == 3 && $request->integrantes != null){ if($evento->natureza_id == 3 && $request->integrantes != null){
foreach($request->integrantes as $integrante){ foreach($request->integrantes as $integrante){
$integrante = explode(',', $integrante); $integrante = explode(',', $integrante);
$trabalho_user = new TrabalhoUser(); $trabalho_user = new TrabalhoUser();
$trabalho_user->user_id = $integrante[0]; $trabalho_user->user_id = $integrante[0];
$trabalho_user->funcao_participante_id = $integrante[1]; $trabalho_user->funcao_participante_id = $integrante[1];
$trabalho_user->trabalho_id = $trabalho->id; $trabalho_user->trabalho_id = $trabalho->id;
$trabalho_user->save(); $trabalho_user->save();
} }
} }
if ($evento->numParticipantes != 0) { if ($evento->numParticipantes != 0) {
if ($request->marcado == null) { if ($request->marcado == null) {
$idExcluido = $trabalho->participantes->pluck('id'); $idExcluido = $trabalho->participantes->pluck('id');
} else { } else {
$idExcluido = []; $idExcluido = [];
} }
foreach ($request->participante_id as $key => $value) { foreach ($request->participante_id as $key => $value) {
if ($request->marcado != null && array_search($key, $request->marcado) === false) { if ($request->marcado != null && array_search($key, $request->marcado) === false) {
if ($value !== null) if ($value !== null)
array_push($idExcluido, $value); array_push($idExcluido, $value);
} }
} }
foreach ($idExcluido as $key => $value) { foreach ($idExcluido as $key => $value) {
$trabalho->participantes()->find($value)->delete(); $trabalho->participantes()->find($value)->delete();
} }
$trabalho->refresh(); $trabalho->refresh();
} }
if ($request->has('marcado')) { if ($request->has('marcado')) {
foreach ($request->marcado as $key => $part) { foreach ($request->marcado as $key => $part) {
$part = intval($part); $part = intval($part);
$passwordTemporario = Str::random(8); $passwordTemporario = Str::random(8);
$data['name'] = $request->name[$part]; $data['name'] = $request->name[$part];
$data['email'] = $request->email[$part]; $data['email'] = $request->email[$part];
$data['password'] = bcrypt($passwordTemporario); $data['password'] = bcrypt($passwordTemporario);
$data['data_de_nascimento'] = $request->data_de_nascimento[$part]; $data['data_de_nascimento'] = $request->data_de_nascimento[$part];
$data['cpf'] = $request->cpf[$part]; $data['cpf'] = $request->cpf[$part];
$data['tipo'] = 'participante'; $data['tipo'] = 'participante';
$data['funcao_participante_id'] = 4; $data['funcao_participante_id'] = 4;
$data['rg'] = $request->rg[$part]; $data['rg'] = $request->rg[$part];
$data['celular'] = $request->celular[$part]; $data['celular'] = $request->celular[$part];
$data['cep'] = $request->cep[$part]; $data['cep'] = $request->cep[$part];
$data['uf'] = $request->uf[$part]; $data['uf'] = $request->uf[$part];
$data['cidade'] = $request->cidade[$part]; $data['cidade'] = $request->cidade[$part];
$data['rua'] = $request->rua[$part]; $data['rua'] = $request->rua[$part];
$data['numero'] = $request->numero[$part]; $data['numero'] = $request->numero[$part];
$data['bairro'] = $request->bairro[$part]; $data['bairro'] = $request->bairro[$part];
$data['complemento'] = $request->complemento[$part]; $data['complemento'] = $request->complemento[$part];
if ($request->instituicao[$part] != "Outra") { if ($request->instituicao[$part] != "Outra") {
$data['instituicao'] = $request->instituicao[$part]; $data['instituicao'] = $request->instituicao[$part];
} else { } else {
$data['instituicao'] = $request->outrainstituicao[$part]; $data['instituicao'] = $request->outrainstituicao[$part];
} }
$data['total_periodos'] = $request->total_periodos[$part]; $data['total_periodos'] = $request->total_periodos[$part];
if ($request->curso[$part] != "Outro") { if ($request->curso[$part] != "Outro") {
$data['curso'] = $request->curso[$part]; $data['curso'] = $request->curso[$part];
} else { } else {
$data['curso'] = $request->outrocurso[$part]; $data['curso'] = $request->outrocurso[$part];
} }
$data['turno'] = $request->turno[$part]; $data['turno'] = $request->turno[$part];
$data['periodo_atual'] = $request->periodo_atual[$part]; $data['periodo_atual'] = $request->periodo_atual[$part];
$data['ordem_prioridade'] = $request->ordem_prioridade[$part]; $data['ordem_prioridade'] = $request->ordem_prioridade[$part];
if($evento->tipo!="PIBEX") { if($evento->tipo!="PIBEX") {
$data['media_do_curso'] = $request->media_do_curso[$part]; $data['media_do_curso'] = $request->media_do_curso[$part];
} }
$data['nomePlanoTrabalho'] = $request->nomePlanoTrabalho[$part]; $data['nomePlanoTrabalho'] = $request->nomePlanoTrabalho[$part];
if($request->participante_id[$part] != null){ if($request->participante_id[$part] != null){
$participante = Participante::find($request->participante_id[$part]); $participante = Participante::find($request->participante_id[$part]);
$user = User::where('email', $participante->user->email)->first(); $user = User::where('email', $participante->user->email)->first();
}else{ }else{
$user = User::where('email', $data['email'])->first(); $user = User::where('email', $data['email'])->first();
} }
if ($user == null) { if ($user == null) {
$data['usuarioTemp'] = true; $data['usuarioTemp'] = true;
$user = User::create($data); $user = User::create($data);
$endereco = Endereco::create($data); $endereco = Endereco::create($data);
$endereco->user()->save($user); $endereco->user()->save($user);
$participante = Participante::create($data); $participante = Participante::create($data);
$participante->data_entrada = $participante->created_at; $participante->data_entrada = $participante->created_at;
$user->participantes()->save($participante); $user->participantes()->save($participante);
$trabalho->participantes()->save($participante); $trabalho->participantes()->save($participante);
$participante->trabalho_id = $trabalho->id; $participante->trabalho_id = $trabalho->id;
$participante->save(); $participante->save();
} else { } else {
// $user = $participante->user; // $user = $participante->user;
$user->update($data); $user->update($data);
if( $user->endereco == null){ if( $user->endereco == null){
$endereco = Endereco::create($data); $endereco = Endereco::create($data);
$endereco->user()->save($user); $endereco->user()->save($user);
}else{ }else{
$endereco = $user->endereco; $endereco = $user->endereco;
$endereco->update($data); $endereco->update($data);
} }
$participante = $user->participantes->where('trabalho_id', $trabalho->id)->where('id', $request->participante_id[$part])->first(); $participante = $user->participantes->where('trabalho_id', $trabalho->id)->where('id', $request->participante_id[$part])->first();
// dd($participante); // dd($participante);
if ($participante == null) { if ($participante == null) {
// dd('part null'); // dd('part null');
$participante = Participante::create($data); $participante = Participante::create($data);
$user->participantes()->save($participante); $user->participantes()->save($participante);
$trabalho->participantes()->save($participante); $trabalho->participantes()->save($participante);
} else { } else {
// dd('part update'); // dd('part update');
$participante->update($data); $participante->update($data);
} }
} }
if ($request->has('anexoPlanoTrabalho') && array_key_exists($part, $request->anexoPlanoTrabalho) && $request->nomePlanoTrabalho[$part] != null) { if ($request->has('anexoPlanoTrabalho') && array_key_exists($part, $request->anexoPlanoTrabalho) && $request->nomePlanoTrabalho[$part] != null) {
if (Arquivo::where('participanteId', $participante->id)->where('trabalhoId', $trabalho->id)->count()) { if (Arquivo::where('participanteId', $participante->id)->where('trabalhoId', $trabalho->id)->count()) {
$arquivo = Arquivo::where('participanteId', $participante->id)->where('trabalhoId', $trabalho->id)->first(); $arquivo = Arquivo::where('participanteId', $participante->id)->where('trabalhoId', $trabalho->id)->first();
$path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/'; $path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/';
$nome = $data['nomePlanoTrabalho'] . ".pdf"; $nome = $data['nomePlanoTrabalho'] . ".pdf";
$titulo = $data['nomePlanoTrabalho']; $titulo = $data['nomePlanoTrabalho'];
$file = $request->anexoPlanoTrabalho[$part]; $file = $request->anexoPlanoTrabalho[$part];
Storage::putFileAs($path, $file, $nome); Storage::putFileAs($path, $file, $nome);
$arquivo->update([ $arquivo->update([
'titulo' => $titulo, 'titulo' => $titulo,
'nome' => $path . $nome, 'nome' => $path . $nome,
'data' => now(), 'data' => now(),
]); ]);
} else { } else {
$path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/'; $path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/';
$nome = $data['nomePlanoTrabalho'] . ".pdf"; $nome = $data['nomePlanoTrabalho'] . ".pdf";
$file = $request->anexoPlanoTrabalho[$part]; $file = $request->anexoPlanoTrabalho[$part];
Storage::putFileAs($path, $file, $nome); Storage::putFileAs($path, $file, $nome);
$arquivo = new Arquivo(); $arquivo = new Arquivo();
$arquivo->titulo = $data['nomePlanoTrabalho']; $arquivo->titulo = $data['nomePlanoTrabalho'];
$arquivo->nome = $path . $nome; $arquivo->nome = $path . $nome;
$arquivo->trabalhoId = $trabalho->id; $arquivo->trabalhoId = $trabalho->id;
$arquivo->data = now(); $arquivo->data = now();
$arquivo->participanteId = $participante->id; $arquivo->participanteId = $participante->id;
$arquivo->versaoFinal = true; $arquivo->versaoFinal = true;
$arquivo->save(); $arquivo->save();
} }
} }
} }
} else { } else {
$data['nomePlanoTrabalho'] = $request->nomePlanoTrabalho; $data['nomePlanoTrabalho'] = $request->nomePlanoTrabalho;
if (Arquivo::where('proponenteId', $proponente->id)->where('trabalhoId', $trabalho->id)->count()) { if (Arquivo::where('proponenteId', $proponente->id)->where('trabalhoId', $trabalho->id)->count()) {
$arquivo = Arquivo::where('proponenteId', $proponente->id)->where('trabalhoId', $trabalho->id)->first(); $arquivo = Arquivo::where('proponenteId', $proponente->id)->where('trabalhoId', $trabalho->id)->first();
$path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/'; $path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/';
$nome = $data['nomePlanoTrabalho'] . ".pdf"; $nome = $data['nomePlanoTrabalho'] . ".pdf";
$titulo = $data['nomePlanoTrabalho']; $titulo = $data['nomePlanoTrabalho'];
if ($request->has('anexoPlanoTrabalho')) { if ($request->has('anexoPlanoTrabalho')) {
$file = $request->anexoPlanoTrabalho; $file = $request->anexoPlanoTrabalho;
Storage::putFileAs($path, $file, $nome); Storage::putFileAs($path, $file, $nome);
} else { } else {
if($arquivo->nome != $path.$nome) { if($arquivo->nome != $path.$nome) {
Storage::rename( $arquivo->nome, $path.$nome ); Storage::rename( $arquivo->nome, $path.$nome );
} }
} }
$arquivo->update([ $arquivo->update([
'titulo' => $titulo, 'titulo' => $titulo,
'nome' => $path . $nome, 'nome' => $path . $nome,
'data' => now(), 'data' => now(),
]); ]);
} else { } else {
$path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/'; $path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/';
$nome = $data['nomePlanoTrabalho'] . ".pdf"; $nome = $data['nomePlanoTrabalho'] . ".pdf";
$file = $request->anexoPlanoTrabalho; $file = $request->anexoPlanoTrabalho;
Storage::putFileAs($path, $file, $nome); Storage::putFileAs($path, $file, $nome);
$arquivo = new Arquivo(); $arquivo = new Arquivo();
$arquivo->titulo = $data['nomePlanoTrabalho']; $arquivo->titulo = $data['nomePlanoTrabalho'];
$arquivo->nome = $path . $nome; $arquivo->nome = $path . $nome;
$arquivo->trabalhoId = $trabalho->id; $arquivo->trabalhoId = $trabalho->id;
$arquivo->data = now(); $arquivo->data = now();
$arquivo->proponenteId = $proponente->id; $arquivo->proponenteId = $proponente->id;
$arquivo->versaoFinal = true; $arquivo->versaoFinal = true;
$arquivo->save(); $arquivo->save();
} }
} }
DB::commit(); DB::commit();
if(Auth::user()->tipo == 'administrador'){ if(Auth::user()->tipo == 'administrador'){
return redirect(route('admin.analisarProposta',['id'=>$trabalho->id])); return redirect(route('admin.analisarProposta',['id'=>$trabalho->id]));
} }
if (!$request->has('rascunho')) { if (!$request->has('rascunho')) {
Notification::send($trabalho->proponente->user, new SubmissaoNotification($trabalho)); Notification::send($trabalho->proponente->user, new SubmissaoNotification($trabalho));
} }
return redirect(route('proponente.projetos'))->with(['mensagem' => 'Proposta atualizada!']); return redirect(route('proponente.projetos'))->with(['mensagem' => 'Proposta atualizada!']);
} catch (\Throwable $th) { } catch (\Throwable $th) {
DB::rollback(); DB::rollback();
return redirect(route('proponente.projetos'))->with(['mensagem' => $th->getMessage()]); return redirect(route('proponente.projetos'))->with(['mensagem' => $th->getMessage()]);
} }
} }
public function buscarUsuario(Request $request) { public function buscarUsuario(Request $request) {
$usuario = User::where('cpf', $request->cpf_consulta)->first(); $usuario = User::where('cpf', $request->cpf_consulta)->first();
$funcao = FuncaoParticipantes::where('id', $request->funcao)->first(); $funcao = FuncaoParticipantes::where('id', $request->funcao)->first();
if($usuario){ $participante = $usuario->participantes()->first();
return json_encode([$usuario, $funcao]);
} if($usuario){
return json_encode([$usuario, $funcao, $participante, $usuario->endereco()->first()]);
return json_encode('inexistente'); }
}
return json_encode('inexistente');
}
public function salvar(StoreTrabalho $request)
{
try { public function salvar(StoreTrabalho $request)
if (!$request->has('rascunho')) { {
$request->merge([ //dd($request->all());
'status' => 'submetido' try {
]); if (!$request->has('rascunho')) {
} $request->merge([
$evento = Evento::find($request->editalId); 'status' => 'submetido'
$proponente = Proponente::where('user_id', Auth::user()->id)->first(); ]);
$request->merge([ }
'coordenador_id' => $evento->coordenadorComissao->id $evento = Evento::find($request->editalId);
]); $proponente = Proponente::where('user_id', Auth::user()->id)->first();
$request->merge([
DB::beginTransaction(); 'coordenador_id' => $evento->coordenadorComissao->id
]);
if($evento->tipo=="PIBEX"){
$trabalho = Auth::user()->proponentes->trabalhos() DB::beginTransaction();
->create($request->except([
'anexoProjeto', 'anexoDecisaoCONSU','modalidade','anexo_docExtra', 'anexo_SIPAC' if($evento->tipo=="PIBEX"){
])); $trabalho = Auth::user()->proponentes->trabalhos()
}else if($evento->tipo=="CONTINUO"){ ->create($request->except([
$trabalho = Auth::user()->proponentes->trabalhos() 'anexoProjeto', 'anexoDecisaoCONSU','modalidade','anexo_docExtra', 'anexo_SIPAC'
->create($request->except([ ]));
'anexoProjeto', 'anexoDecisaoCONSU', 'anexoPlanilhaPontuacao', }else if($evento->tipo=="CONTINUO"){
'anexoLattesCoordenador', 'anexoGrupoPesquisa', 'anexoAutorizacaoComiteEtica', $trabalho = Auth::user()->proponentes->trabalhos()
'justificativaAutorizacaoEtica','modalidade','anexo_docExtra', ->create($request->except([
])); 'anexoProjeto', 'anexoDecisaoCONSU', 'anexoPlanilhaPontuacao',
} else { 'anexoLattesCoordenador', 'anexoGrupoPesquisa', 'anexoAutorizacaoComiteEtica',
$trabalho = Auth::user()->proponentes->trabalhos() 'justificativaAutorizacaoEtica','modalidade','anexo_docExtra',
->create($request->except([ ]));
'anexoProjeto', 'anexoDecisaoCONSU', 'anexoPlanilhaPontuacao', } else {
'anexoLattesCoordenador', 'anexoGrupoPesquisa', 'anexoAutorizacaoComiteEtica', $trabalho = Auth::user()->proponentes->trabalhos()
'justificativaAutorizacaoEtica','modalidade','anexo_docExtra', 'anexo_SIPAC' ->create($request->except([
])); 'anexoProjeto', 'anexoDecisaoCONSU', 'anexoPlanilhaPontuacao',
} 'anexoLattesCoordenador', 'anexoGrupoPesquisa', 'anexoAutorizacaoComiteEtica',
'justificativaAutorizacaoEtica','modalidade','anexo_docExtra', 'anexo_SIPAC'
]));
if ($request->has('marcado')) { }
foreach ($request->marcado as $key => $part) {
$part = intval($part);
if ($request->has('marcado')) {
$passwordTemporario = Str::random(8); foreach ($request->marcado as $key => $part) {
$data['name'] = $request->name[$part]; $part = intval($part);
$data['email'] = $request->email[$part];
$data['password'] = bcrypt($passwordTemporario); $passwordTemporario = Str::random(8);
$data['data_de_nascimento'] = $request->data_de_nascimento[$part]; $data['name'] = $request->name[$part];
$data['cpf'] = $request->cpf[$part]; $data['email'] = $request->email[$part];
$data['tipo'] = 'participante'; $data['password'] = bcrypt($passwordTemporario);
$data['funcao_participante_id'] = 4; $data['data_de_nascimento'] = $request->data_de_nascimento[$part];
$data['rg'] = $request->rg[$part]; $data['cpf'] = $request->cpf[$part];
$data['celular'] = $request->celular[$part]; $data['tipo'] = 'participante';
$data['cep'] = $request->cep[$part]; $data['funcao_participante_id'] = 4;
$data['uf'] = $request->uf[$part]; $data['rg'] = $request->rg[$part];
$data['cidade'] = $request->cidade[$part]; $data['celular'] = $request->celular[$part];
$data['rua'] = $request->rua[$part]; $data['cep'] = $request->cep[$part];
$data['numero'] = $request->numero[$part]; $data['uf'] = $request->uf[$part];
$data['bairro'] = $request->bairro[$part]; $data['cidade'] = $request->cidade[$part];
$data['complemento'] = $request->complemento[$part]; $data['rua'] = $request->rua[$part];
$data['numero'] = $request->numero[$part];
if ($request->instituicao[$part] != "Outra") { $data['bairro'] = $request->bairro[$part];
$data['instituicao'] = $request->instituicao[$part]; $data['complemento'] = $request->complemento[$part];
} else {
$data['instituicao'] = $request->outrainstituicao[$part]; if ($request->instituicao[$part] != "Outra") {
} $data['instituicao'] = $request->instituicao[$part];
} else {
$data['total_periodos'] = $request->total_periodos[$part]; $data['instituicao'] = $request->outrainstituicao[$part];
}
if ($request->curso[$part] != "Outro") {
$data['curso'] = $request->curso[$part]; $data['total_periodos'] = $request->total_periodos[$part];
} else {
$data['curso'] = $request->outrocurso[$part]; if ($request->curso[$part] != "Outro") {
} $data['curso'] = $request->curso[$part];
} else {
$data['turno'] = $request->turno[$part]; $data['curso'] = $request->outrocurso[$part];
$data['periodo_atual'] = $request->periodo_atual[$part]; }
$data['ordem_prioridade'] = $request->ordem_prioridade[$part];
if($evento->tipo!="PIBEX") { $data['turno'] = $request->turno[$part];
$data['media_do_curso'] = $request->media_do_curso[$part]; $data['periodo_atual'] = $request->periodo_atual[$part];
} $data['ordem_prioridade'] = $request->ordem_prioridade[$part];
$data['nomePlanoTrabalho'] = $request->nomePlanoTrabalho[$part]; if($evento->tipo!="PIBEX") {
$data['media_do_curso'] = $request->media_do_curso[$part];
$user = User::where('email', $data['email'])->first(); }
if ($user == null) { $data['nomePlanoTrabalho'] = $request->nomePlanoTrabalho[$part];
$data['usuarioTemp'] = true;
$user = User::create($data); $user = User::where('email', $data['email'])->first();
$endereco = Endereco::create($data); if ($user == null) {
$endereco->user()->save($user); $data['usuarioTemp'] = true;
} $user = User::create($data);
// $participante = $user->participantes->where('trabalho_id', $trabalho->id)->first(); $endereco = Endereco::create($data);
// if ($participante == null){ $endereco->user()->save($user);
// $participante = Participante::create($data); }
// } // $participante = $user->participantes->where('trabalho_id', $trabalho->id)->first();
$participante = Participante::create($data); // if ($participante == null){
$participante->data_entrada = $participante->created_at; // $participante = Participante::create($data);
$user->participantes()->save($participante); // }
$participante = Participante::create($data);
$participante->trabalho_id = $trabalho->id; $participante->data_entrada = $participante->created_at;
$participante->save(); $user->participantes()->save($participante);
if ($request->has('anexoPlanoTrabalho')) { $participante->trabalho_id = $trabalho->id;
$path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/'; $participante->save();
$nome = $data['nomePlanoTrabalho'] . ".pdf";
$file = $request->anexoPlanoTrabalho[$part]; if ($request->has('anexoPlanoTrabalho')) {
Storage::putFileAs($path, $file, $nome); $path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/';
$arquivo = new Arquivo(); $nome = $data['nomePlanoTrabalho'] . ".pdf";
$arquivo->titulo = $data['nomePlanoTrabalho']; $file = $request->anexoPlanoTrabalho[$part];
$arquivo->nome = $path . $nome; Storage::putFileAs($path, $file, $nome);
$arquivo->trabalhoId = $trabalho->id; $arquivo = new Arquivo();
$arquivo->data = now(); $arquivo->titulo = $data['nomePlanoTrabalho'];
$arquivo->participanteId = $participante->id; $arquivo->nome = $path . $nome;
$arquivo->versaoFinal = true; $arquivo->trabalhoId = $trabalho->id;
$arquivo->save(); $arquivo->data = now();
$arquivo->participanteId = $participante->id;
} $arquivo->versaoFinal = true;
$arquivo->save();
}
} else { }
$data['nomePlanoTrabalho'] = $request->nomePlanoTrabalho;
if ($request->has('anexoPlanoTrabalho')) { }
$path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/'; } else {
$nome = $data['nomePlanoTrabalho'] . ".pdf"; $data['nomePlanoTrabalho'] = $request->nomePlanoTrabalho;
$file = $request->anexoPlanoTrabalho; if ($request->has('anexoPlanoTrabalho')) {
Storage::putFileAs($path, $file, $nome); $path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/';
$arquivo = new Arquivo(); $nome = $data['nomePlanoTrabalho'] . ".pdf";
$arquivo->titulo = $data['nomePlanoTrabalho']; $file = $request->anexoPlanoTrabalho;
$arquivo->nome = $path . $nome; Storage::putFileAs($path, $file, $nome);
$arquivo->trabalhoId = $trabalho->id; $arquivo = new Arquivo();
$arquivo->data = now(); $arquivo->titulo = $data['nomePlanoTrabalho'];
$arquivo->proponenteId = $proponente->id; $arquivo->nome = $path . $nome;
$arquivo->versaoFinal = true; $arquivo->trabalhoId = $trabalho->id;
$arquivo->save(); $arquivo->data = now();
$arquivo->proponenteId = $proponente->id;
} $arquivo->versaoFinal = true;
} $arquivo->save();
$evento->trabalhos()->save($trabalho); }
}
$pasta = 'trabalhos/' . $evento->id . '/' . $trabalho->id;
$trabalho = $this->armazenarAnexosFinais($request, $pasta, $trabalho, $evento); $evento->trabalhos()->save($trabalho);
$trabalho->modalidade = $request->modalidade;
$trabalho->save(); $pasta = 'trabalhos/' . $evento->id . '/' . $trabalho->id;
$trabalho = $this->armazenarAnexosFinais($request, $pasta, $trabalho, $evento);
$trabalho->modalidade = $request->modalidade;
if($evento->natureza_id == 3){ $trabalho->save();
foreach($request->integrantes as $integrante){
$integrante = explode(',', $integrante);
if($evento->natureza_id == 3){
$trabalho_user = new TrabalhoUser(); foreach($request->integrantes as $integrante){
$trabalho_user->user_id = $integrante[0]; $integrante = explode(',', $integrante);
$trabalho_user->funcao_participante_id = $integrante[1];
$trabalho_user->trabalho_id = $trabalho->id; $trabalho_user = new TrabalhoUser();
$trabalho_user->save(); $trabalho_user->user_id = $integrante[0];
} $trabalho_user->funcao_participante_id = $integrante[1];
} $trabalho_user->trabalho_id = $trabalho->id;
$trabalho_user->save();
$trabalho->ods()->sync($request->ods); }
DB::commit(); }
if (!$request->has('rascunho')) {
//Notificações $trabalho->ods()->sync($request->ods);
//Coordenador DB::commit();
$userTemp = User::find($evento->coordenadorComissao->user_id); if (!$request->has('rascunho')) {
$notificacao = App\Notificacao::create([ //Notificações
'remetente_id' => Auth::user()->id, //Coordenador
'destinatario_id' => $evento->coordenadorComissao->user_id, $userTemp = User::find($evento->coordenadorComissao->user_id);
'trabalho_id' => $trabalho->id, $notificacao = App\Notificacao::create([
'lido' => false, 'remetente_id' => Auth::user()->id,
'tipo' => 1, 'destinatario_id' => $evento->coordenadorComissao->user_id,
]); 'trabalho_id' => $trabalho->id,
$notificacao->save(); 'lido' => false,
// SubmissaoRecebidaNotification.php 'tipo' => 1,
Notification::send($userTemp, new SubmissaoRecebidaNotification($trabalho->id,$trabalho->titulo,$userTemp)); ]);
//Proponente $notificacao->save();
$notificacao = App\Notificacao::create([ // SubmissaoRecebidaNotification.php
'remetente_id' => Auth::user()->id, Notification::send($userTemp, new SubmissaoRecebidaNotification($trabalho->id,$trabalho->titulo,$userTemp));
'destinatario_id' => Auth::user()->id, //Proponente
'trabalho_id' => $trabalho->id, $notificacao = App\Notificacao::create([
'lido' => false, 'remetente_id' => Auth::user()->id,
'tipo' => 1, 'destinatario_id' => Auth::user()->id,
]); 'trabalho_id' => $trabalho->id,
$notificacao->save(); 'lido' => false,
// submissao e notificação.php $trabalho->id,$trabalho->titulo 'tipo' => 1,
Notification::send(Auth::user(), new SubmissaoNotification($trabalho)); ]);
$notificacao->save();
// submissao e notificação.php $trabalho->id,$trabalho->titulo
return redirect(route('proponente.projetos'))->with(['mensagem' => 'Proposta submetida!']); Notification::send(Auth::user(), new SubmissaoNotification($trabalho));
} else {
return redirect(route('proponente.projetos'))->with(['mensagem' => 'Rascunho salvo!']);
return redirect(route('proponente.projetos'))->with(['mensagem' => 'Proposta submetida!']);
} } else {
} catch (\Throwable $th) { return redirect(route('proponente.projetos'))->with(['mensagem' => 'Rascunho salvo!']);
DB::rollback();
return redirect(route('proponente.projetos'))->with(['mensagem' => $th->getMessage()]); }
} } catch (\Throwable $th) {
DB::rollback();
return redirect(route('proponente.projetos'))->with(['mensagem' => $th->getMessage()]);
} }
public function atribuirDados(Request $request, $edital, Trabalho $projeto = null)
{ }
if ($projeto == null) {
$projeto = new Trabalho(); public function atribuirDados(Request $request, $edital, Trabalho $projeto = null)
} {
if ($projeto == null) {
$proponente = User::find(auth()->user()->id)->proponentes; $projeto = new Trabalho();
$hoje = now(); }
$projeto->titulo = $request->nomeProjeto; $proponente = User::find(auth()->user()->id)->proponentes;
$projeto->coordenador_id = $edital->coordenadorComissao->id; $hoje = now();
$projeto->grande_area_id = $request->grandeArea;
$projeto->area_id = $request->area; $projeto->titulo = $request->nomeProjeto;
$projeto->sub_area_id = $request->subArea; $projeto->coordenador_id = $edital->coordenadorComissao->id;
$projeto->pontuacaoPlanilha = $request->pontuacaoPlanilha; $projeto->grande_area_id = $request->grandeArea;
$projeto->linkGrupoPesquisa = $request->linkGrupo; $projeto->area_id = $request->area;
$projeto->linkLattesEstudante = $request->linkLattesEstudante; $projeto->sub_area_id = $request->subArea;
$projeto->data = $hoje; $projeto->pontuacaoPlanilha = $request->pontuacaoPlanilha;
$projeto->evento_id = $request->editalId; $projeto->linkGrupoPesquisa = $request->linkGrupo;
$projeto->status = 'submetido'; $projeto->linkLattesEstudante = $request->linkLattesEstudante;
$projeto->proponente_id = $proponente->id; $projeto->data = $hoje;
$projeto->conflitosInteresse = $request->conflitosInteresse; $projeto->evento_id = $request->editalId;
$projeto->status = 'submetido';
// Salvando anexos no storage $projeto->proponente_id = $proponente->id;
$projeto->save(); $projeto->conflitosInteresse = $request->conflitosInteresse;
$pasta = 'trabalhos/' . $edital->id . '/' . $projeto->id;
// Salvando anexos no storage
$projeto = $this->armazenarAnexosFinais($request, $pasta, $projeto, $edital); $projeto->save();
$pasta = 'trabalhos/' . $edital->id . '/' . $projeto->id;
return $projeto;
} $projeto = $this->armazenarAnexosFinais($request, $pasta, $projeto, $edital);
public function salvarParticipantes(Request $request, $edital, $projeto, $edicao = false) return $projeto;
{ }
if ($edicao) {
public function salvarParticipantes(Request $request, $edital, $projeto, $edicao = false)
$participantes = $projeto->participantes; {
$participantesPermanecem = collect(); if ($edicao) {
// dd($request->all());
foreach ($request->participante_id as $key => $id) { $participantes = $projeto->participantes;
// Novo participante $participantesPermanecem = collect();
if ($id == 0 || $id == null) { // dd($request->all());
$userParticipante = User::where('email', $request->emailParticipante[$key])->first(); foreach ($request->participante_id as $key => $id) {
// Novo participante
$participante = new Participante(); if ($id == 0 || $id == null) {
$userParticipante = User::where('email', $request->emailParticipante[$key])->first();
if ($userParticipante == null) {
$passwordTemporario = Str::random(8); $participante = new Participante();
$usuario = new User(); if ($userParticipante == null) {
$usuario->email = $request->emailParticipante[$key]; $passwordTemporario = Str::random(8);
$usuario->password = bcrypt($passwordTemporario);
$usuario->usuarioTemp = false; $usuario = new User();
$usuario->name = $request->nomeParticipante[$key]; $usuario->email = $request->emailParticipante[$key];
$usuario->tipo = 'participante'; $usuario->password = bcrypt($passwordTemporario);
$usuario->instituicao = $request->universidade[$key]; $usuario->usuarioTemp = false;
$usuario->cpf = $request->cpf[$key]; $usuario->name = $request->nomeParticipante[$key];
$usuario->celular = $request->celular[$key]; $usuario->tipo = 'participante';
$usuario->instituicao = $request->universidade[$key];
$endereco = new Endereco(); $usuario->cpf = $request->cpf[$key];
$endereco->rua = $request->rua[$key]; $usuario->celular = $request->celular[$key];
$endereco->numero = $request->numero[$key];
$endereco->bairro = $request->bairro[$key]; $endereco = new Endereco();
$endereco->cidade = $request->cidade[$key]; $endereco->rua = $request->rua[$key];
$endereco->uf = $request->uf[$key]; $endereco->numero = $request->numero[$key];
$endereco->cep = $request->cep[$key]; $endereco->bairro = $request->bairro[$key];
$endereco->complemento = $request->complemento[$key]; $endereco->cidade = $request->cidade[$key];
$endereco->save(); $endereco->uf = $request->uf[$key];
$endereco->cep = $request->cep[$key];
$usuario->enderecoId = $endereco->id; $endereco->complemento = $request->complemento[$key];
$endereco->save();
$usuario->save();
$usuario->enderecoId = $endereco->id;
$participante->user_id = $usuario->id;
$participante->trabalho_id = $projeto->id; $usuario->save();
$participante->funcao_participante_id = $request->funcaoParticipante[$key];
$participante->confirmacao_convite = true; $participante->user_id = $usuario->id;
$participante->rg = $request->rg[$key]; $participante->trabalho_id = $projeto->id;
$participante->data_de_nascimento = $request->data_de_nascimento[$key]; $participante->funcao_participante_id = $request->funcaoParticipante[$key];
$participante->curso = $request->curso[$key]; $participante->confirmacao_convite = true;
$participante->turno = $request->turno[$key]; $participante->rg = $request->rg[$key];
$participante->ordem_prioridade = $request->ordem_prioridade[$key]; $participante->data_de_nascimento = $request->data_de_nascimento[$key];
$participante->periodo_atual = $request->periodo_atual[$key]; $participante->curso = $request->curso[$key];
$participante->total_periodos = $request->total_periodos[$key]; $participante->turno = $request->turno[$key];
if($edital->tipo != "PIBEX"){ $participante->ordem_prioridade = $request->ordem_prioridade[$key];
$participante->media_do_curso = $request->media_geral_curso[$key]; $participante->periodo_atual = $request->periodo_atual[$key];
} $participante->total_periodos = $request->total_periodos[$key];
$participante->save(); if($edital->tipo != "PIBEX"){
$participante->media_do_curso = $request->media_geral_curso[$key];
}
$subject = "Participante de Projeto"; $participante->save();
Mail::to($request->emailParticipante[$key])->send(new EmailParaUsuarioNaoCadastrado(Auth()->user()->name, $projeto->titulo, 'Participante', $edital->nome, $passwordTemporario, $subject, $edital->tipo,$edital->natureza_id));
} else {
$subject = "Participante de Projeto";
$participante->user_id = $userParticipante->id; Mail::to($request->emailParticipante[$key])->send(new EmailParaUsuarioNaoCadastrado(Auth()->user()->name, $projeto->titulo, 'Participante', $edital->nome, $passwordTemporario, $subject, $edital->tipo,$edital->natureza_id));
$participante->trabalho_id = $projeto->id; } else {
$participante->funcao_participante_id = $request->funcaoParticipante[$key];
$participante->confirmacao_convite = true; $participante->user_id = $userParticipante->id;
$participante->rg = $request->rg[$key]; $participante->trabalho_id = $projeto->id;
$participante->data_de_nascimento = $request->data_de_nascimento[$key]; $participante->funcao_participante_id = $request->funcaoParticipante[$key];
$participante->curso = $request->curso[$key]; $participante->confirmacao_convite = true;
$participante->turno = $request->turno[$key]; $participante->rg = $request->rg[$key];
$participante->ordem_prioridade = $request->ordem_prioridade[$key]; $participante->data_de_nascimento = $request->data_de_nascimento[$key];
$participante->periodo_atual = $request->periodo_atual[$key]; $participante->curso = $request->curso[$key];
$participante->total_periodos = $request->total_periodos[$key]; $participante->turno = $request->turno[$key];
if($edital->tipo != "PIBEX"){ $participante->ordem_prioridade = $request->ordem_prioridade[$key];
$participante->media_do_curso = $request->media_geral_curso[$key]; $participante->periodo_atual = $request->periodo_atual[$key];
} $participante->total_periodos = $request->total_periodos[$key];
$participante->save(); if($edital->tipo != "PIBEX"){
$participante->media_do_curso = $request->media_geral_curso[$key];
$subject = "Participante de Projeto"; }
Mail::to($request->emailParticipante[$key]) $participante->save();
->send(new SubmissaoTrabalho($userParticipante, $subject, $edital, $projeto));
$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();
if ($request->nomePlanoTrabalho[$key] != null) {
$path = 'trabalhos/' . $edital->id . '/' . $projeto->id . '/'; $usuario = User::where('email', $request->emailParticipante[$key])->first();
$nome = $request->nomePlanoTrabalho[$key] . ".pdf"; $participante = Participante::where([['user_id', '=', $usuario->id], ['trabalho_id', '=', $projeto->id]])->first();
$file = $request->anexoPlanoTrabalho[$key];
Storage::putFileAs($path, $file, $nome); $path = 'trabalhos/' . $edital->id . '/' . $projeto->id . '/';
$nome = $request->nomePlanoTrabalho[$key] . ".pdf";
$agora = now(); $file = $request->anexoPlanoTrabalho[$key];
$arquivo = new Arquivo(); Storage::putFileAs($path, $file, $nome);
$arquivo->titulo = $request->nomePlanoTrabalho[$key];
$arquivo->nome = $path . $nome; $agora = now();
$arquivo->trabalhoId = $projeto->id; $arquivo = new Arquivo();
$arquivo->data = $agora; $arquivo->titulo = $request->nomePlanoTrabalho[$key];
$arquivo->participanteId = $participante->id; $arquivo->nome = $path . $nome;
$arquivo->versaoFinal = true; $arquivo->trabalhoId = $projeto->id;
$arquivo->save(); $arquivo->data = $agora;
// dd($arquivo); $arquivo->participanteId = $participante->id;
} $arquivo->versaoFinal = true;
// Editado $arquivo->save();
} elseif ($id > 0) { // dd($arquivo);
// Removo dos cantidatos excluidos }
$participante = Participante::find($id); // Editado
$participantesPermanecem->push($participante); } elseif ($id > 0) {
$usuario = $participante->user; // Removo dos cantidatos excluidos
$endereco = $usuario->endereco; $participante = Participante::find($id);
$participantesPermanecem->push($participante);
$usuario->usuarioTemp = false; $usuario = $participante->user;
$usuario->name = $request->nomeParticipante[$key]; $endereco = $usuario->endereco;
$usuario->tipo = 'participante';
$usuario->instituicao = $request->universidade[$key]; $usuario->usuarioTemp = false;
$usuario->cpf = $request->cpf[$key]; $usuario->name = $request->nomeParticipante[$key];
$usuario->celular = $request->celular[$key]; $usuario->tipo = 'participante';
$usuario->instituicao = $request->universidade[$key];
$usuario->update(); $usuario->cpf = $request->cpf[$key];
$usuario->celular = $request->celular[$key];
$endereco->rua = $request->rua[$key];
$endereco->numero = $request->numero[$key]; $usuario->update();
$endereco->bairro = $request->bairro[$key];
$endereco->cidade = $request->cidade[$key]; $endereco->rua = $request->rua[$key];
$endereco->uf = $request->uf[$key]; $endereco->numero = $request->numero[$key];
$endereco->cep = $request->cep[$key]; $endereco->bairro = $request->bairro[$key];
$endereco->complemento = $request->complemento[$key]; $endereco->cidade = $request->cidade[$key];
$endereco->update(); $endereco->uf = $request->uf[$key];
$endereco->cep = $request->cep[$key];
$participante->rg = $request->rg[$key]; $endereco->complemento = $request->complemento[$key];
$participante->data_de_nascimento = $request->data_de_nascimento[$key]; $endereco->update();
$participante->curso = $request->curso[$key];
$participante->turno = $request->turno[$key]; $participante->rg = $request->rg[$key];
$participante->ordem_prioridade = $request->ordem_prioridade[$key]; $participante->data_de_nascimento = $request->data_de_nascimento[$key];
$participante->periodo_atual = $request->periodo_atual[$key]; $participante->curso = $request->curso[$key];
$participante->total_periodos = $request->total_periodos[$key]; $participante->turno = $request->turno[$key];
if($edital->tipo != "PIBEX"){ $participante->ordem_prioridade = $request->ordem_prioridade[$key];
$participante->media_do_curso = $request->media_geral_curso[$key]; $participante->periodo_atual = $request->periodo_atual[$key];
} $participante->total_periodos = $request->total_periodos[$key];
$participante->update(); if($edital->tipo != "PIBEX"){
$participante->media_do_curso = $request->media_geral_curso[$key];
if ($request->anexoPlanoTrabalho != null && array_key_exists($key, $request->anexoPlanoTrabalho) && $request->anexoPlanoTrabalho[$key] != null) { }
$participante->update();
$planoAtual = $participante->planoTrabalho;
if (Storage::disk()->exists($planoAtual->nome)) { if ($request->anexoPlanoTrabalho != null && array_key_exists($key, $request->anexoPlanoTrabalho) && $request->anexoPlanoTrabalho[$key] != null) {
Storage::delete($planoAtual->nome);
} $planoAtual = $participante->planoTrabalho;
$planoAtual->delete(); if (Storage::disk()->exists($planoAtual->nome)) {
Storage::delete($planoAtual->nome);
$path = 'trabalhos/' . $edital->id . '/' . $projeto->id . '/'; }
$nome = $request->nomePlanoTrabalho[$key] . ".pdf"; $planoAtual->delete();
$file = $request->anexoPlanoTrabalho[$key];
Storage::putFileAs($path, $file, $nome); $path = 'trabalhos/' . $edital->id . '/' . $projeto->id . '/';
$nome = $request->nomePlanoTrabalho[$key] . ".pdf";
$agora = now(); $file = $request->anexoPlanoTrabalho[$key];
$arquivo = new Arquivo(); Storage::putFileAs($path, $file, $nome);
$arquivo->titulo = $request->nomePlanoTrabalho[$key];
$arquivo->nome = $path . $nome; $agora = now();
$arquivo->trabalhoId = $projeto->id; $arquivo = new Arquivo();
$arquivo->data = $agora; $arquivo->titulo = $request->nomePlanoTrabalho[$key];
$arquivo->participanteId = $id; $arquivo->nome = $path . $nome;
$arquivo->versaoFinal = true; $arquivo->trabalhoId = $projeto->id;
$arquivo->save(); $arquivo->data = $agora;
} $arquivo->participanteId = $id;
} $arquivo->versaoFinal = true;
} $arquivo->save();
// Excluidos }
$participantesExcluidos = $participantes->diff($participantesPermanecem); }
foreach ($participantesExcluidos as $participante) { }
$plano = $participante->planoTrabalho; // Excluidos
if ($plano) $participantesExcluidos = $participantes->diff($participantesPermanecem);
$plano->delete(); foreach ($participantesExcluidos as $participante) {
$participante->delete(); $plano = $participante->planoTrabalho;
} if ($plano)
$plano->delete();
return true; $participante->delete();
} }
if ($request->emailParticipante != null) {
foreach ($request->emailParticipante as $key => $email) { return true;
$userParticipante = User::where('email', $email)->first(); }
if ($request->emailParticipante != null) {
$participante = new Participante(); foreach ($request->emailParticipante as $key => $email) {
$userParticipante = User::where('email', $email)->first();
if ($userParticipante == null) {
$passwordTemporario = Str::random(8); $participante = new Participante();
$usuario = new User(); if ($userParticipante == null) {
$usuario->email = $email; $passwordTemporario = Str::random(8);
$usuario->password = bcrypt($passwordTemporario);
$usuario->usuarioTemp = false; $usuario = new User();
$usuario->name = $request->nomeParticipante[$key]; $usuario->email = $email;
$usuario->tipo = 'participante'; $usuario->password = bcrypt($passwordTemporario);
$usuario->instituicao = $request->universidade[$key]; $usuario->usuarioTemp = false;
$usuario->cpf = $request->cpf[$key]; $usuario->name = $request->nomeParticipante[$key];
$usuario->celular = $request->celular[$key]; $usuario->tipo = 'participante';
$usuario->instituicao = $request->universidade[$key];
$endereco = new Endereco(); $usuario->cpf = $request->cpf[$key];
$endereco->rua = $request->rua[$key]; $usuario->celular = $request->celular[$key];
$endereco->numero = $request->numero[$key];
$endereco->bairro = $request->bairro[$key]; $endereco = new Endereco();
$endereco->cidade = $request->cidade[$key]; $endereco->rua = $request->rua[$key];
$endereco->uf = $request->uf[$key]; $endereco->numero = $request->numero[$key];
$endereco->cep = $request->cep[$key]; $endereco->bairro = $request->bairro[$key];
$endereco->complemento = $request->complemento[$key]; $endereco->cidade = $request->cidade[$key];
$endereco->save(); $endereco->uf = $request->uf[$key];
$endereco->cep = $request->cep[$key];
$usuario->enderecoId = $endereco->id; $endereco->complemento = $request->complemento[$key];
$endereco->save();
$usuario->save();
$usuario->enderecoId = $endereco->id;
$participante->user_id = $usuario->id;
$participante->trabalho_id = $projeto->id; $usuario->save();
$participante->funcao_participante_id = $request->funcaoParticipante[$key];
$participante->confirmacao_convite = true; $participante->user_id = $usuario->id;
$participante->rg = $request->rg[$key]; $participante->trabalho_id = $projeto->id;
$participante->data_de_nascimento = $request->data_de_nascimento[$key]; $participante->funcao_participante_id = $request->funcaoParticipante[$key];
$participante->curso = $request->curso[$key]; $participante->confirmacao_convite = true;
$participante->turno = $request->turno[$key]; $participante->rg = $request->rg[$key];
$participante->ordem_prioridade = $request->ordem_prioridade[$key]; $participante->data_de_nascimento = $request->data_de_nascimento[$key];
$participante->periodo_atual = $request->periodo_atual[$key]; $participante->curso = $request->curso[$key];
$participante->total_periodos = $request->total_periodos[$key]; $participante->turno = $request->turno[$key];
if($edital->tipo != "PIBEX"){ $participante->ordem_prioridade = $request->ordem_prioridade[$key];
$participante->media_do_curso = $request->media_geral_curso[$key]; $participante->periodo_atual = $request->periodo_atual[$key];
} $participante->total_periodos = $request->total_periodos[$key];
$participante->save(); if($edital->tipo != "PIBEX"){
$participante->media_do_curso = $request->media_geral_curso[$key];
$usuario = User::where('email', $email)->first(); }
$participante = Participante::where([['user_id', '=', $usuario->id], ['trabalho_id', '=', $projeto->id]])->first(); $participante->save();
$path = 'trabalhos/' . $edital->id . '/' . $projeto->id . '/'; $usuario = User::where('email', $email)->first();
$nome = $request->nomePlanoTrabalho[$key] . ".pdf"; $participante = Participante::where([['user_id', '=', $usuario->id], ['trabalho_id', '=', $projeto->id]])->first();
$file = $request->anexoPlanoTrabalho[$key];
Storage::putFileAs($path, $file, $nome); $path = 'trabalhos/' . $edital->id . '/' . $projeto->id . '/';
$nome = $request->nomePlanoTrabalho[$key] . ".pdf";
$agora = now(); $file = $request->anexoPlanoTrabalho[$key];
$arquivo = new Arquivo(); Storage::putFileAs($path, $file, $nome);
$arquivo->titulo = $request->nomePlanoTrabalho[$key];
$arquivo->nome = $path . $nome; $agora = now();
$arquivo->trabalhoId = $projeto->id; $arquivo = new Arquivo();
$arquivo->data = $agora; $arquivo->titulo = $request->nomePlanoTrabalho[$key];
$arquivo->participanteId = $participante->id; $arquivo->nome = $path . $nome;
$arquivo->versaoFinal = true; $arquivo->trabalhoId = $projeto->id;
$arquivo->save(); $arquivo->data = $agora;
$subject = "Participante de Projeto"; $arquivo->participanteId = $participante->id;
Mail::to($email)->send(new EmailParaUsuarioNaoCadastrado(Auth()->user()->name, $projeto->titulo, 'Participante', $edital->nome, $passwordTemporario, $subject, $edital->tipo,$edital->natureza_id)); $arquivo->versaoFinal = true;
} else { $arquivo->save();
$subject = "Participante de Projeto";
$participante->user_id = $userParticipante->id; Mail::to($email)->send(new EmailParaUsuarioNaoCadastrado(Auth()->user()->name, $projeto->titulo, 'Participante', $edital->nome, $passwordTemporario, $subject, $edital->tipo,$edital->natureza_id));
$participante->trabalho_id = $projeto->id; } else {
$participante->funcao_participante_id = $request->funcaoParticipante[$key];
$participante->confirmacao_convite = true; $participante->user_id = $userParticipante->id;
$participante->rg = $request->rg[$key]; $participante->trabalho_id = $projeto->id;
$participante->data_de_nascimento = $request->data_de_nascimento[$key]; $participante->funcao_participante_id = $request->funcaoParticipante[$key];
$participante->curso = $request->curso[$key]; $participante->confirmacao_convite = true;
$participante->turno = $request->turno[$key]; $participante->rg = $request->rg[$key];
$participante->ordem_prioridade = $request->ordem_prioridade[$key]; $participante->data_de_nascimento = $request->data_de_nascimento[$key];
$participante->periodo_atual = $request->periodo_atual[$key]; $participante->curso = $request->curso[$key];
$participante->total_periodos = $request->total_periodos[$key]; $participante->turno = $request->turno[$key];
if($edital->tipo != "PIBEX"){ $participante->ordem_prioridade = $request->ordem_prioridade[$key];
$participante->media_do_curso = $request->media_geral_curso[$key]; $participante->periodo_atual = $request->periodo_atual[$key];
} $participante->total_periodos = $request->total_periodos[$key];
$participante->save(); if($edital->tipo != "PIBEX"){
$participante->media_do_curso = $request->media_geral_curso[$key];
}
if ($request->anexoPlanoTrabalho[$key]) { $participante->save();
$path = 'trabalhos/' . $edital->id . '/' . $projeto->id . '/';
$nome = $request->nomePlanoTrabalho[$key] . ".pdf";
$file = $request->anexoPlanoTrabalho[$key]; if ($request->anexoPlanoTrabalho[$key]) {
Storage::putFileAs($path, $file, $nome); $path = 'trabalhos/' . $edital->id . '/' . $projeto->id . '/';
$nome = $request->nomePlanoTrabalho[$key] . ".pdf";
$agora = now(); $file = $request->anexoPlanoTrabalho[$key];
$arquivo = new Arquivo(); Storage::putFileAs($path, $file, $nome);
$arquivo->titulo = $request->nomePlanoTrabalho[$key];
$arquivo->nome = $path . $nome; $agora = now();
$arquivo->trabalhoId = $projeto->id; $arquivo = new Arquivo();
$arquivo->data = $agora; $arquivo->titulo = $request->nomePlanoTrabalho[$key];
$arquivo->participanteId = $participante->id; $arquivo->nome = $path . $nome;
$arquivo->versaoFinal = true; $arquivo->trabalhoId = $projeto->id;
$arquivo->save(); $arquivo->data = $agora;
$arquivo->participanteId = $participante->id;
} $arquivo->versaoFinal = true;
$arquivo->save();
$subject = "Participante de Projeto";
$time = Carbon::today('America/Recife'); }
$time = $time->isoFormat('às H:mm, dddd, D/M/YYYY');
Mail::to($email) $subject = "Participante de Projeto";
->send(new SubmissaoTrabalho($userParticipante, $subject, $edital, $projeto)); $time = Carbon::today('America/Recife');
$time = $time->isoFormat('às H:mm, dddd, D/M/YYYY');
} Mail::to($email)
->send(new SubmissaoTrabalho($userParticipante, $subject, $edital, $projeto));
// if($request->nomePlanoTrabalho[$key] != null){
// $usuario = User::where('email', $email)->first(); }
// $participante = Participante::where([['user_id', '=', $usuario->id], ['trabalho_id', '=', $projeto->id]])->first();
// if($request->nomePlanoTrabalho[$key] != null){
// $path = 'trabalhos/' . $edital->id . '/' . $projeto->id .'/'; // $usuario = User::where('email', $email)->first();
// $nome = $request->nomePlanoTrabalho[$key] .".pdf"; // $participante = Participante::where([['user_id', '=', $usuario->id], ['trabalho_id', '=', $projeto->id]])->first();
// $file = $request->anexoPlanoTrabalho[$key];
// Storage::putFileAs($path, $file, $nome); // $path = 'trabalhos/' . $edital->id . '/' . $projeto->id .'/';
// $nome = $request->nomePlanoTrabalho[$key] .".pdf";
// $agora = now(); // $file = $request->anexoPlanoTrabalho[$key];
// $arquivo = new Arquivo(); // Storage::putFileAs($path, $file, $nome);
// $arquivo->titulo = $request->nomePlanoTrabalho[$key];
// $arquivo->nome = $path . $nome; // $agora = now();
// $arquivo->trabalhoId = $projeto->id; // $arquivo = new Arquivo();
// $arquivo->data = $agora; // $arquivo->titulo = $request->nomePlanoTrabalho[$key];
// $arquivo->participanteId = $participante->id; // $arquivo->nome = $path . $nome;
// $arquivo->versaoFinal = true; // $arquivo->trabalhoId = $projeto->id;
// $arquivo->save(); // $arquivo->data = $agora;
// } // $arquivo->participanteId = $participante->id;
} // $arquivo->versaoFinal = true;
} // $arquivo->save();
// }
return true; }
} }
public function atualizar(Request $request, $id) return true;
{ }
$edital = Evento::find($request->editalId);
$hoje = now(); public function atualizar(Request $request, $id)
{
$projeto = Trabalho::find($id); $edital = Evento::find($request->editalId);
$hoje = now();
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 = Trabalho::find($id);
}
if (!($edital->inicioSubmissao < $hoje && $edital->fimSubmissao >= $hoje)) {
$projeto = $this->atribuirDados($request, $edital, $projeto); return redirect()->route('inicial')->with(['error' => 0, 'mensagem' => 'As submissões para o edital ' . $edital->titulo . ' foram encerradas.']);
$projeto->update(); }
// dd($request->all()); $projeto = $this->atribuirDados($request, $edital, $projeto);
// Salvando participantes $projeto->update();
$this->salvarParticipantes($request, $edital, $projeto, true);
// dd($request->all());
return redirect(route('proponente.projetos'))->with(['mensagem' => 'Projeto atualizado com sucesso!']); // Salvando participantes
} $this->salvarParticipantes($request, $edital, $projeto, true);
return redirect(route('proponente.projetos'))->with(['mensagem' => 'Projeto atualizado com sucesso!']);
public function telaTrocaPart(Request $request) }
{
$projeto = Trabalho::find($request->projeto_id);
$edital = Evento::find($projeto->evento_id); public function telaTrocaPart(Request $request)
{
if(Auth::user()->id != $projeto->proponente->user->id){ $projeto = Trabalho::find($request->projeto_id);
return redirect()->back(); $edital = Evento::find($projeto->evento_id);
}
if(Auth::user()->id != $projeto->proponente->user->id){
$participantes = $projeto->participantes; return redirect()->back();
$substituicoesProjeto = Substituicao::where('trabalho_id', $projeto->id)->orderBy('created_at', 'DESC')->get(); }
$desligamentosProjeto = Desligamento::where('trabalho_id', $projeto->id)->orderBy('created_at', 'DESC')->get();
$participantes = $projeto->participantes;
return view('administrador.substituirParticipante')->with(['projeto' => $projeto, $substituicoesProjeto = Substituicao::where('trabalho_id', $projeto->id)->orderBy('created_at', 'DESC')->get();
'edital' => $edital, $desligamentosProjeto = Desligamento::where('trabalho_id', $projeto->id)->orderBy('created_at', 'DESC')->get();
'participantes' => $participantes,
'substituicoesProjeto' => $substituicoesProjeto, return view('administrador.substituirParticipante')->with(['projeto' => $projeto,
'estados' => $this->estados, 'edital' => $edital,
'enum_turno' => Participante::ENUM_TURNO, 'participantes' => $participantes,
'desligamentosProjeto' => $desligamentosProjeto, 'substituicoesProjeto' => $substituicoesProjeto,
]); 'estados' => $this->estados,
} 'enum_turno' => Participante::ENUM_TURNO,
'desligamentosProjeto' => $desligamentosProjeto,
public function trocaParticipante(Request $request) ]);
{ }
try {
DB::beginTransaction(); public function trocaParticipante(Request $request)
$trabalho = Trabalho::find($request->projetoId); {
$evento = Evento::find($request->editalId); try {
$participanteSubstituido = Participante::where('id', $request->participanteId)->first(); DB::beginTransaction();
$planoAntigo = Arquivo::where('id', $participanteSubstituido->planoTrabalho->id)->first(); $trabalho = Trabalho::find($request->projetoId);
$evento = Evento::find($request->editalId);
$passwordTemporario = Str::random(8); $participanteSubstituido = Participante::where('id', $request->participanteId)->first();
$data['name'] = $request->name; $planoAntigo = Arquivo::where('id', $participanteSubstituido->planoTrabalho->id)->first();
$data['email'] = $request->email;
$data['password'] = bcrypt($passwordTemporario); $passwordTemporario = Str::random(8);
$data['data_de_nascimento'] = $request->data_de_nascimento; $data['name'] = $request->name;
$data['data_entrada'] = $request->data_entrada; $data['email'] = $request->email;
$data['cpf'] = $request->cpf; $data['password'] = bcrypt($passwordTemporario);
$data['tipo'] = 'participante'; $data['data_de_nascimento'] = $request->data_de_nascimento;
$data['funcao_participante_id'] = 4; $data['data_entrada'] = $request->data_entrada;
$data['rg'] = $request->rg; $data['cpf'] = $request->cpf;
$data['celular'] = $request->celular; $data['tipo'] = 'participante';
$data['linkLattes'] = $request->linkLattes; $data['funcao_participante_id'] = 4;
$data['cep'] = $request->cep; $data['rg'] = $request->rg;
$data['uf'] = $request->uf; $data['celular'] = $request->celular;
$data['cidade'] = $request->cidade; $data['linkLattes'] = $request->linkLattes;
$data['rua'] = $request->rua; $data['cep'] = $request->cep;
$data['numero'] = $request->numero; $data['uf'] = $request->uf;
$data['bairro'] = $request->bairro; $data['cidade'] = $request->cidade;
$data['complemento'] = $request->complemento; $data['rua'] = $request->rua;
$data['numero'] = $request->numero;
if ($request->instituicao != "Outra") { $data['bairro'] = $request->bairro;
$data['instituicao'] = $request->instituicao; $data['complemento'] = $request->complemento;
} else {
$data['instituicao'] = $request->outrainstituicao; if ($request->instituicao != "Outra") {
} $data['instituicao'] = $request->instituicao;
} else {
$data['total_periodos'] = $request->total_periodos; $data['instituicao'] = $request->outrainstituicao;
}
if ($request->curso != "Outro") {
$data['curso'] = $request->curso; $data['total_periodos'] = $request->total_periodos;
} else {
$data['curso'] = $request->outrocurso; if ($request->curso != "Outro") {
} $data['curso'] = $request->curso;
} else {
$data['turno'] = $request->turno; $data['curso'] = $request->outrocurso;
$data['periodo_atual'] = $request->periodo_atual; }
$data['ordem_prioridade'] = $request->ordem_prioridade;
if($evento->tipo!="PIBEX") { $data['turno'] = $request->turno;
$data['media_do_curso'] = $request->media_do_curso; $data['periodo_atual'] = $request->periodo_atual;
} $data['ordem_prioridade'] = $request->ordem_prioridade;
$data['nomePlanoTrabalho'] = $request->nomePlanoTrabalho; if($evento->tipo!="PIBEX") {
$data['media_do_curso'] = $request->media_do_curso;
if ($request->substituirApenasPlanoCheck == 'check') { }
$substituicao = new Substituicao(); $data['nomePlanoTrabalho'] = $request->nomePlanoTrabalho;
if ($request->has('anexoPlanoTrabalho')) { if ($request->substituirApenasPlanoCheck == 'check') {
$path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/'; $substituicao = new Substituicao();
$nome = $data['nomePlanoTrabalho'] . ".pdf";
$file = $request->anexoPlanoTrabalho; if ($request->has('anexoPlanoTrabalho')) {
Storage::putFileAs($path, $file, $nome); $path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/';
$arquivo = new Arquivo(); $nome = $data['nomePlanoTrabalho'] . ".pdf";
$arquivo->titulo = $data['nomePlanoTrabalho']; $file = $request->anexoPlanoTrabalho;
$arquivo->nome = $path . $nome; Storage::putFileAs($path, $file, $nome);
$arquivo->trabalhoId = $trabalho->id; $arquivo = new Arquivo();
$arquivo->data = now(); $arquivo->titulo = $data['nomePlanoTrabalho'];
$arquivo->participanteId = $participanteSubstituido->id; $arquivo->nome = $path . $nome;
$arquivo->versaoFinal = true; $arquivo->trabalhoId = $trabalho->id;
$arquivo->save(); $arquivo->data = now();
$arquivo->participanteId = $participanteSubstituido->id;
$substituicao->status = 'Em Aguardo'; $arquivo->versaoFinal = true;
$substituicao->tipo = 'TrocarPlano'; $arquivo->save();
$substituicao->observacao = $request->textObservacao;
$substituicao->participanteSubstituido_id = $participanteSubstituido->id; $substituicao->status = 'Em Aguardo';
$substituicao->participanteSubstituto_id = $participanteSubstituido->id; $substituicao->tipo = 'TrocarPlano';
$substituicao->planoSubstituto_id = $arquivo->id; $substituicao->observacao = $request->textObservacao;
$substituicao->trabalho_id = $trabalho->id; $substituicao->participanteSubstituido_id = $participanteSubstituido->id;
$substituicao->save(); $substituicao->participanteSubstituto_id = $participanteSubstituido->id;
} $substituicao->planoSubstituto_id = $arquivo->id;
} else { $substituicao->trabalho_id = $trabalho->id;
//$participanteSubstituido->delete(); $substituicao->save();
$substituicao = new Substituicao(); }
$substituicao->observacao = $request->textObservacao; } else {
if ($participanteSubstituido->data_entrada > $request->data_entrada) { //$participanteSubstituido->delete();
return redirect(route('trabalho.trocaParticipante', ['evento_id' => $evento->id, 'projeto_id' => $trabalho->id]))->with(['erro' => "Escolha uma data de entrada posterior a entrada do discente substituído"]); $substituicao = new Substituicao();
} $substituicao->observacao = $request->textObservacao;
if ($participanteSubstituido->data_entrada > $request->data_entrada) {
$participanteSubstituido->data_saida = $request->data_entrada; return redirect(route('trabalho.trocaParticipante', ['evento_id' => $evento->id, 'projeto_id' => $trabalho->id]))->with(['erro' => "Escolha uma data de entrada posterior a entrada do discente substituído"]);
}
\App\Validator\CpfValidator::validate($request->all());
$user = User::where('email', $data['email'])->first(); $participanteSubstituido->data_saida = $request->data_entrada;
if (!$user) {
$data['usuarioTemp'] = true; \App\Validator\CpfValidator::validate($request->all());
$user = User::create($data); $user = User::where('email', $data['email'])->first();
$endereco = Endereco::create($data); if (!$user) {
$endereco->user()->save($user); $data['usuarioTemp'] = true;
} $user = User::create($data);
$participante = $user->participantes->where('trabalho_id', $trabalho->id)->first(); $endereco = Endereco::create($data);
if (!$participante) { $endereco->user()->save($user);
$participante = Participante::create($data); }
$participanteSubstituido->save(); $participante = $user->participantes->where('trabalho_id', $trabalho->id)->first();
} if (!$participante) {
$participante = Participante::create($data);
$pasta = 'participantes/' . $participante->id; $participanteSubstituido->save();
$participante->anexoTermoCompromisso = Storage::putFileAs($pasta, $request->anexoTermoCompromisso, "Termo_de_Compromisso.pdf"); }
$participante->anexoComprovanteMatricula = Storage::putFileAs($pasta, $request->anexoComprovanteMatricula, "Comprovante_de_Matricula.pdf");
$participante->anexoLattes = Storage::putFileAs($pasta, $request->anexoCurriculoLattes, "Curriculo_Lattes.pdf"); $pasta = 'participantes/' . $participante->id;
if ($request->anexoAutorizacaoPais != null) { $participante->anexoTermoCompromisso = Storage::putFileAs($pasta, $request->anexoTermoCompromisso, "Termo_de_Compromisso.pdf");
$participante->anexoAutorizacaoPais = Storage::putFileAs($pasta, $request->anexoAutorizacaoPais, "Autorização_dos_Pais.pdf"); $participante->anexoComprovanteMatricula = Storage::putFileAs($pasta, $request->anexoComprovanteMatricula, "Comprovante_de_Matricula.pdf");
} $participante->anexoLattes = Storage::putFileAs($pasta, $request->anexoCurriculoLattes, "Curriculo_Lattes.pdf");
if ($request->anexoComprovanteBancario != null) { if ($request->anexoAutorizacaoPais != null) {
$participante->anexoComprovanteBancario = Storage::putFileAs($pasta, $request->anexoComprovanteBancario, "Comprovante_Bancario." . $request->file('anexoComprovanteBancario')->getClientOriginalExtension()); $participante->anexoAutorizacaoPais = Storage::putFileAs($pasta, $request->anexoAutorizacaoPais, "Autorização_dos_Pais.pdf");
} }
if ($request->anexoComprovanteBancario != null) {
$user->participantes()->save($participante); $participante->anexoComprovanteBancario = Storage::putFileAs($pasta, $request->anexoComprovanteBancario, "Comprovante_Bancario." . $request->file('anexoComprovanteBancario')->getClientOriginalExtension());
//$trabalho->participantes()->save($participante); }
if ($request->manterPlanoCheck == 'check') { $user->participantes()->save($participante);
$substituicao->status = 'Em Aguardo'; //$trabalho->participantes()->save($participante);
$substituicao->tipo = 'ManterPlano';
$substituicao->observacao = $request->textObservacao; if ($request->manterPlanoCheck == 'check') {
$substituicao->participanteSubstituido_id = $participanteSubstituido->id; $substituicao->status = 'Em Aguardo';
$substituicao->participanteSubstituto_id = $participante->id; $substituicao->tipo = 'ManterPlano';
$substituicao->trabalho_id = $trabalho->id; $substituicao->observacao = $request->textObservacao;
$substituicao->planoSubstituto_id = $planoAntigo->id; $substituicao->participanteSubstituido_id = $participanteSubstituido->id;
$substituicao->participanteSubstituto_id = $participante->id;
$planoAntigo->participanteId = $participante->id; $substituicao->trabalho_id = $trabalho->id;
$substituicao->planoSubstituto_id = $planoAntigo->id;
$substituicao->save();
$planoAntigo->save(); $planoAntigo->participanteId = $participante->id;
} else { $substituicao->save();
$planoAntigo->save();
if ($request->has('anexoPlanoTrabalho')) {
$path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/'; } else {
$nome = $data['nomePlanoTrabalho'] . ".pdf";
$file = $request->anexoPlanoTrabalho; if ($request->has('anexoPlanoTrabalho')) {
Storage::putFileAs($path, $file, $nome); $path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/';
$arquivo = new Arquivo(); $nome = $data['nomePlanoTrabalho'] . ".pdf";
$arquivo->titulo = $data['nomePlanoTrabalho']; $file = $request->anexoPlanoTrabalho;
$arquivo->nome = $path . $nome; Storage::putFileAs($path, $file, $nome);
$arquivo->trabalhoId = $trabalho->id; $arquivo = new Arquivo();
$arquivo->data = now(); $arquivo->titulo = $data['nomePlanoTrabalho'];
$arquivo->participanteId = $participante->id; $arquivo->nome = $path . $nome;
$arquivo->versaoFinal = true; $arquivo->trabalhoId = $trabalho->id;
$arquivo->save(); $arquivo->data = now();
$arquivo->participanteId = $participante->id;
$substituicao->status = 'Em Aguardo'; $arquivo->versaoFinal = true;
$substituicao->tipo = 'Completa'; $arquivo->save();
$substituicao->observacao = $request->textObservacao;
$substituicao->participanteSubstituido_id = $participanteSubstituido->id; $substituicao->status = 'Em Aguardo';
$substituicao->participanteSubstituto_id = $participante->id; $substituicao->tipo = 'Completa';
$substituicao->trabalho_id = $trabalho->id; $substituicao->observacao = $request->textObservacao;
$substituicao->planoSubstituto_id = $arquivo->id; $substituicao->participanteSubstituido_id = $participanteSubstituido->id;
$substituicao->save(); $substituicao->participanteSubstituto_id = $participante->id;
} $substituicao->trabalho_id = $trabalho->id;
$substituicao->planoSubstituto_id = $arquivo->id;
} $substituicao->save();
} }
$evento->trabalhos()->save($trabalho); }
$trabalho->save(); }
$notificacao = App\Notificacao::create([ $evento->trabalhos()->save($trabalho);
'remetente_id' => Auth::user()->id, $trabalho->save();
'destinatario_id' => $evento->coordenadorComissao->user_id,
'trabalho_id' => $trabalho->id, $notificacao = App\Notificacao::create([
'lido' => false, 'remetente_id' => Auth::user()->id,
'tipo' => 2, 'destinatario_id' => $evento->coordenadorComissao->user_id,
]); 'trabalho_id' => $trabalho->id,
$notificacao->save(); 'lido' => false,
'tipo' => 2,
DB::commit(); ]);
$notificacao->save();
Mail::to($evento->coordenadorComissao->user->email)->send(new SolicitacaoSubstituicao($evento, $trabalho,'',$substituicao->tipo,$substituicao->status));
return redirect(route('trabalho.trocaParticipante', ['evento_id' => $evento->id, 'projeto_id' => $trabalho->id]))->with(['sucesso' => 'Pedido de substituição enviado com sucesso!']); DB::commit();
} catch (\App\Validator\ValidationException $th) {
DB::rollback(); Mail::to($evento->coordenadorComissao->user->email)->send(new SolicitacaoSubstituicao($evento, $trabalho,'',$substituicao->tipo,$substituicao->status));
return redirect(route('trabalho.trocaParticipante', ['evento_id' => $evento->id, 'projeto_id' => $trabalho->id]))->with(['erro' => "Cpf inválido"]); return redirect(route('trabalho.trocaParticipante', ['evento_id' => $evento->id, 'projeto_id' => $trabalho->id]))->with(['sucesso' => 'Pedido de substituição enviado com sucesso!']);
} catch (\Throwable $th) { } catch (\App\Validator\ValidationException $th) {
DB::rollback(); DB::rollback();
return redirect(route('trabalho.trocaParticipante', ['evento_id' => $evento->id, 'projeto_id' => $trabalho->id]))->with(['erro' => $th->getMessage()]); return redirect(route('trabalho.trocaParticipante', ['evento_id' => $evento->id, 'projeto_id' => $trabalho->id]))->with(['erro' => "Cpf inválido"]);
} } catch (\Throwable $th) {
DB::rollback();
} return redirect(route('trabalho.trocaParticipante', ['evento_id' => $evento->id, 'projeto_id' => $trabalho->id]))->with(['erro' => $th->getMessage()]);
}
public function telaShowSubst(Request $request) }
{
$trabalho = Trabalho::find($request->trabalho_id);
$substituicoesProjeto = Substituicao::where('trabalho_id', $trabalho->id)->orderBy('created_at', 'DESC')->get(); public function telaShowSubst(Request $request)
$substituicoesPendentes = Substituicao::where('trabalho_id', $trabalho->id)->where('status', 'Em Aguardo')->orderBy('created_at', 'DESC')->get(); {
$trabalho = Trabalho::find($request->trabalho_id);
return view('administrador.analiseSubstituicoes')->with(['substituicoesPendentes' => $substituicoesPendentes, $substituicoesProjeto = Substituicao::where('trabalho_id', $trabalho->id)->orderBy('created_at', 'DESC')->get();
'substituicoesProjeto' => $substituicoesProjeto, $substituicoesPendentes = Substituicao::where('trabalho_id', $trabalho->id)->where('status', 'Em Aguardo')->orderBy('created_at', 'DESC')->get();
'trabalho' => $trabalho]);
} return view('administrador.analiseSubstituicoes')->with(['substituicoesPendentes' => $substituicoesPendentes,
'substituicoesProjeto' => $substituicoesProjeto,
public function aprovarSubstituicao(Request $request) 'trabalho' => $trabalho]);
{ }
$substituicao = Substituicao::find($request->substituicaoID);
$trabalho = Trabalho::find($substituicao->trabalho->id); public function aprovarSubstituicao(Request $request)
{
if ($request->aprovar == 'true') { $substituicao = Substituicao::find($request->substituicaoID);
try { $trabalho = Trabalho::find($substituicao->trabalho->id);
if ($substituicao->tipo == 'TrocarPlano') {
if(!empty($substituicao->participanteSubstituido)){ if ($request->aprovar == 'true') {
$substituicao->participanteSubstituido->planoTrabalho()->where('id', '!=', $substituicao->planoSubstituto->id)->delete(); try {
} if ($substituicao->tipo == 'TrocarPlano') {
$substituicao->status = 'Finalizada'; if(!empty($substituicao->participanteSubstituido)){
$substituicao->justificativa = $request->textJustificativa; $substituicao->participanteSubstituido->planoTrabalho()->where('id', '!=', $substituicao->planoSubstituto->id)->delete();
$substituicao->causa = $request->selectJustificativa; }
$substituicao->status = 'Finalizada';
$substituicao->concluida_em = now(); $substituicao->justificativa = $request->textJustificativa;
$substituicao->save(); $substituicao->causa = $request->selectJustificativa;
} else { $substituicao->concluida_em = now();
if(!empty($substituicao->participanteSubstituido)){ $substituicao->save();
$substituicao->participanteSubstituido->delete();
} } else {
if(!empty($substituicao->participanteSubstituido)){
$trabalho->participantes()->save($substituicao->participanteSubstituto); $substituicao->participanteSubstituido->delete();
}
$substituicao->status = 'Finalizada';
$substituicao->justificativa = $request->textJustificativa; $trabalho->participantes()->save($substituicao->participanteSubstituto);
$substituicao->causa = $request->selectJustificativa;
$substituicao->concluida_em = now(); $substituicao->status = 'Finalizada';
$substituicao->justificativa = $request->textJustificativa;
$substituicao->save(); $substituicao->causa = $request->selectJustificativa;
} $substituicao->concluida_em = now();
Mail::to($trabalho->proponente->user->email)->send(new SolicitacaoSubstituicao($trabalho->evento, $trabalho, 'resultado',$substituicao->tipo,$substituicao->status)); $substituicao->save();
return redirect()->back()->with(['sucesso' => 'Substituição concluída!']); }
} catch (\Throwable $th) {
return redirect()->back()->with(['erro' => $th->getMessage()]); Mail::to($trabalho->proponente->user->email)->send(new SolicitacaoSubstituicao($trabalho->evento, $trabalho, 'resultado',$substituicao->tipo,$substituicao->status));
} return redirect()->back()->with(['sucesso' => 'Substituição concluída!']);
} catch (\Throwable $th) {
return redirect()->back()->with(['erro' => $th->getMessage()]);
} else { }
try { } else {
if ($substituicao->tipo == 'TrocarPlano') { try {
$substituicao->participanteSubstituido->planoTrabalho()->where('id', '=', $substituicao->planoSubstituto->id)->delete();
$substituicao->status = 'Negada';
$substituicao->justificativa = $request->textJustificativa; if ($substituicao->tipo == 'TrocarPlano') {
$substituicao->causa = $request->selectJustificativa; $substituicao->participanteSubstituido->planoTrabalho()->where('id', '=', $substituicao->planoSubstituto->id)->delete();
$substituicao->status = 'Negada';
$substituicao->concluida_em = now(); $substituicao->justificativa = $request->textJustificativa;
$substituicao->save(); $substituicao->causa = $request->selectJustificativa;
} elseif ($substituicao->tipo == 'ManterPlano') {
$substituicao->planoSubstituto->participanteId = $substituicao->participanteSubstituido->id; $substituicao->concluida_em = now();
$substituicao->planoSubstituto->save(); $substituicao->save();
$substituicao->participanteSubstituto->delete(); } elseif ($substituicao->tipo == 'ManterPlano') {
$substituicao->planoSubstituto->participanteId = $substituicao->participanteSubstituido->id;
$substituicao->status = 'Negada'; $substituicao->planoSubstituto->save();
$substituicao->justificativa = $request->textJustificativa; $substituicao->participanteSubstituto->delete();
$substituicao->causa = $request->selectJustificativa;
$substituicao->concluida_em = now(); $substituicao->status = 'Negada';
$substituicao->justificativa = $request->textJustificativa;
$substituicao->save(); $substituicao->causa = $request->selectJustificativa;
} else { $substituicao->concluida_em = now();
$substituicao->participanteSubstituto->delete();
$substituicao->save();
$substituicao->status = 'Negada'; } else {
$substituicao->justificativa = $request->textJustificativa; $substituicao->participanteSubstituto->delete();
$substituicao->causa = $request->selectJustificativa;
$substituicao->concluida_em = now(); $substituicao->status = 'Negada';
$substituicao->justificativa = $request->textJustificativa;
$substituicao->save(); $substituicao->causa = $request->selectJustificativa;
} $substituicao->concluida_em = now();
$trabalho = Trabalho::find($substituicao->trabalho->id); $substituicao->save();
Mail::to($trabalho->proponente->user->email)->send(new SolicitacaoSubstituicao($trabalho->evento, $trabalho, 'resultado',$substituicao->tipo,$substituicao->status)); }
return redirect()->back()->with(['sucesso' => 'Substituição cancelada com sucesso!']);
} catch (\Throwable $th) { $trabalho = Trabalho::find($substituicao->trabalho->id);
Mail::to($trabalho->proponente->user->email)->send(new SolicitacaoSubstituicao($trabalho->evento, $trabalho, 'resultado',$substituicao->tipo,$substituicao->status));
return redirect()->back()->with(['erro' => $th->getMessage()]); return redirect()->back()->with(['sucesso' => 'Substituição cancelada com sucesso!']);
} catch (\Throwable $th) {
}
} return redirect()->back()->with(['erro' => $th->getMessage()]);
}
} }
public function aprovarProposta(Request $request, $id)
{ }
$trabalho = Trabalho::find($id);
$trabalho->status = $request->statusProp; public function aprovarProposta(Request $request, $id)
$trabalho->comentario = $request->comentario; {
$trabalho->save(); $trabalho = Trabalho::find($id);
$trabalho->status = $request->statusProp;
return redirect()->back()->with(['sucesso' => 'Proposta avaliada com sucesso']); $trabalho->comentario = $request->comentario;
$trabalho->save();
}
return redirect()->back()->with(['sucesso' => 'Proposta avaliada com sucesso']);
}
} }
\ No newline at end of file
...@@ -98,14 +98,14 @@ class StoreTrabalho extends FormRequest ...@@ -98,14 +98,14 @@ class StoreTrabalho extends FormRequest
} }
$rules['linkLattesEstudante'] = ['required', 'string']; $rules['linkLattesEstudante'] = ['required', 'string'];
$rules['anexoDecisaoCONSU'] = [Rule::requiredIf($evento->consu), 'mimes:pdf'];
if($evento->tipo!="CONTINUO"){ if($evento->tipo!="CONTINUO"){
$rules['anexoDecisaoCONSU'] = [Rule::requiredIf($evento->consu), 'mimes:pdf'];
$rules['anexoProjeto'] = ['required', 'mimes:pdf']; $rules['anexoProjeto'] = ['required', 'mimes:pdf'];
} else { } else {
$rules['anexo_SIPAC'] = ['required', 'mimes:pdf']; $rules['anexo_SIPAC'] = ['required', 'mimes:pdf'];
} }
//dd($rules, $evento);
return $rules; return $rules;
} }
...@@ -143,6 +143,12 @@ class StoreTrabalho extends FormRequest ...@@ -143,6 +143,12 @@ class StoreTrabalho extends FormRequest
'media_do_curso.*.required' => 'O :attribute é obrigatório', 'media_do_curso.*.required' => 'O :attribute é obrigatório',
'anexoPlanoTrabalho.*.required' => 'O :attribute é obrigatório', 'anexoPlanoTrabalho.*.required' => 'O :attribute é obrigatório',
'nomePlanoTrabalho.*.required' => 'O :attribute é obrigatório', 'nomePlanoTrabalho.*.required' => 'O :attribute é obrigatório',
'area_id' => "area id",
'area_tematica_id' => 'area tematica id',
'ods.*' => 'Deve ser selecionada pelo menos uma ODS',
'linkLattesEstudante.*' => "O link do currículo lattes do estudante é obrigatório",
'anexoDecisaoCONSU.*' => 'anexoDecisaoCONSU',
'anexo_SIPAC.*' => 'anexo_SIPAC'
]; ];
} }
} }
\ No newline at end of file
...@@ -122,7 +122,7 @@ ...@@ -122,7 +122,7 @@
@endif @endif
</div> </div>
@if($evento->tipo != "PIBEX") @if($evento->tipo != "PIBEX" && $evento->tipo != "CONTINUO")
<div class="col-md-12"> <div class="col-md-12">
<br> <br>
<b style="color: #4D4D4D;">Grupo de Pesquisa: </b> <b style="color: #4D4D4D;">Grupo de Pesquisa: </b>
......
...@@ -16,6 +16,9 @@ ...@@ -16,6 +16,9 @@
</div> </div>
@if($errors->any()) @if($errors->any())
<div class="alert alert-danger"> <div class="alert alert-danger">
@foreach($errors->all() as $error)
<li>{{$error}}</li>
@endforeach
Verifique se todos os campos obrigatórios/Dados do discente foram preenchidos! Verifique se todos os campos obrigatórios/Dados do discente foram preenchidos!
</div> </div>
@endif @endif
......
...@@ -16,6 +16,9 @@ ...@@ -16,6 +16,9 @@
<hr style="border-top: 1px solid#1492E6"> <hr style="border-top: 1px solid#1492E6">
<div class="row" id="integrante"> <div class="row" id="integrante">
</div> </div>
@include('evento.formulario.participantes')
</div> </div>
</div> </div>
</div> </div>
...@@ -149,7 +152,7 @@ ...@@ -149,7 +152,7 @@
if(data == 'inexistente' || $('#cpf_consulta').val() == ""){ if(data == 'inexistente' || $('#cpf_consulta').val() == ""){
exibirModalUsuarioInexistente(); exibirModalUsuarioInexistente();
}else { }else {
exibirUsuarioAdicionado(); exibirUsuarioAdicionado(data);
$('#integrante').append(` $('#integrante').append(`
<div id="integrante${data[0]['id']}" class="col-md-6"> <div id="integrante${data[0]['id']}" class="col-md-6">
<div class="row"> <div class="row">
...@@ -176,8 +179,27 @@ ...@@ -176,8 +179,27 @@
$('#aviso-modal-usuario-nao-existe').modal('show'); $('#aviso-modal-usuario-nao-existe').modal('show');
} }
function exibirUsuarioAdicionado() { let modal_id = 0;
$('#aviso-modal-usuario-adicionado').modal('show');;
function exibirUsuarioAdicionado(data) {
$('#modalIntegrante').modal('hide');
document.getElementById(`nome${modal_id}`).value = data[0]['name'];
document.getElementById(`email${modal_id}`).value = data[0]['email'];
document.getElementById(`data_de_nascimento${modal_id}`).value = (new Date(data[2]['data_de_nascimento'])).toLocaleDateString();
document.getElementById(`cpf${modal_id}`).value = data[0]['cpf'];
document.getElementById(`rg${modal_id}`).value = data[2]['rg'];
document.getElementById(`celular${modal_id}`).value = data[0]['celular'];
document.getElementById(`cep${modal_id}`).value = data[3]['cep'];
document.getElementById(`uf${modal_id}`).value = data[3]['uf'];
document.getElementById(`cidade${modal_id}`).value = data[3]['cidade'];
document.getElementById(`bairro${modal_id}`).value = data[3]['bairro'];
document.getElementById(`rua${modal_id}`).value = data[3]['rua'];
document.getElementById(`numero${modal_id}`).value = data[3]['numero'];
document.getElementById(`complemento${modal_id}`).value = data[3]['complemento'];
document.getElementById(`instituicao[${modal_id}]`).value = data[0]['instituicao'];
document.getElementById(`curso[${modal_id}]`).value = data[2]['curso'];
$(`#exampleModal${modal_id}`).modal('show');
console.log(data);
} }
</script> </script>
\ No newline at end of file
<!-- Participantes --> <!-- Participantes -->
@php $cont= 0; @endphp @php $cont= 0; @endphp
<div class="col-md-12" style="margin-top: 20px"> <!-- <div class="col-md-12" style="margin-top: 20px"> -->
<div class="card" style="border-radius: 5px"> <!-- <div style="border-radius: 5px"> -->
<div class="card-body" style="padding-top: 0.2rem;"> <!-- <div style="padding-top: 0.2rem;"> -->
<div class="container"> <!-- <div class="container"> -->
<div class="form-row mt-3"> <!-- <div class="form-row mt-3">
<div class="col-md-11"> <div class="col-md-11">
<h5 style="color: #234B8B; font-weight: bold">Dados do(s) Discente(s)</h5> <h5 style="color: #234B8B; font-weight: bold">Dados do(s) Discente(s)</h5>
<strong> <strong>
...@@ -18,14 +18,14 @@ ...@@ -18,14 +18,14 @@
<img class="" src="{{asset('img/icons/add.ico')}}" style="width:30px" alt=""> <img class="" src="{{asset('img/icons/add.ico')}}" style="width:30px" alt="">
</a> </a>
</div> </div>
</div> </div> -->
<hr style="border-top: 1px solid#1492E6"> <hr style="border-top: 1px solid#1492E6">
<div class="row-cols-sm-12 justify-content-start"> <div class="row-cols-sm-12 justify-content-start">
<ol style="counter-reset: item;list-style-type: none; margin-left:-20px; margin-right:20px; margin-top:10px"> <ol style="counter-reset: item;list-style-type: none; margin-left:-20px; margin-right:20px; margin-top:10px">
<li id="item"> <li id="item">
<div style="margin-bottom:15px"> <div style="margin-bottom:15px">
<div id="participante" class="row"> <div id="participante" class="row">
@for($i = 0; $i < $edital->numParticipantes; $i++) <!-- @for($i = 0; $i < $edital->numParticipantes; $i++) -->
<div @if(!isset(old('marcado')[$i])) hidden @endif class="form-row mb-1 col-md-6" style="margin-top: 10px" id="part{{$i}}"> <div @if(!isset(old('marcado')[$i])) hidden @endif class="form-row mb-1 col-md-6" style="margin-top: 10px" id="part{{$i}}">
<div class="col-sm-2" style="display: flex; align-items: center;"> <div class="col-sm-2" style="display: flex; align-items: center;">
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
</div> </div>
</div> </div>
<div class="modal fade" id="exampleModal{{$i}}" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal fade" id="exampleModal{{$i}}" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true" style="overflow:auto;">
<div class="modal-dialog modal-dialog-centered modal-xl"> <div class="modal-dialog modal-dialog-centered modal-xl">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
</div> </div>
<div class="col-6"> <div class="col-6">
@component('componentes.input', ['label' => 'Data de nascimento']) @component('componentes.input', ['label' => 'Data de nascimento'])
<input type="date" class="form-control" value="{{old('data_de_nascimento')[$i] ?? "" }}" name="data_de_nascimento[{{$i}}]" placeholder="Data de nascimento" /> <input type="text" class="form-control" value="{{old('data_de_nascimento')[$i] ?? "" }}" name="data_de_nascimento[{{$i}}]" placeholder="Data de nascimento" id="data_de_nascimento{{$i}}" />
@error('data_de_nascimento.'.$i) @error('data_de_nascimento.'.$i)
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block"> <span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong> <strong>{{ $message }}</strong>
...@@ -108,7 +108,7 @@ ...@@ -108,7 +108,7 @@
</div> </div>
<div class="col-6"> <div class="col-6">
@component('componentes.input', ['label' => 'CPF']) @component('componentes.input', ['label' => 'CPF'])
<input type="text" class="form-control cpf" value="{{old('cpf')[$i] ?? "" }}" name="cpf[{{$i}}]" placeholder="CPF" /> <input type="text" class="form-control cpf" value="{{old('cpf')[$i] ?? "" }}" name="cpf[{{$i}}]" placeholder="CPF" id="cpf{{$i}}"/>
@error('cpf.'.$i) @error('cpf.'.$i)
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block"> <span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
...@@ -119,7 +119,7 @@ ...@@ -119,7 +119,7 @@
</div> </div>
<div class="col-6"> <div class="col-6">
@component('componentes.input', ['label' => 'RG']) @component('componentes.input', ['label' => 'RG'])
<input type="text" class="form-control rg" min="9" maxlength="9" value="{{old('rg')[$i] ?? "" }}" name="rg[{{$i}}]" placeholder="RG" /> <input type="text" class="form-control rg" min="9" maxlength="9" value="{{old('rg')[$i] ?? "" }}" name="rg[{{$i}}]" placeholder="RG" id="rg{{$i}}"/>
@error('rg.'.$i) @error('rg.'.$i)
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block"> <span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong> <strong>{{ $message }}</strong>
...@@ -129,7 +129,7 @@ ...@@ -129,7 +129,7 @@
</div> </div>
<div class="col-6"> <div class="col-6">
@component('componentes.input', ['label' => 'Celular']) @component('componentes.input', ['label' => 'Celular'])
<input type="tel" class="form-control celular" value="{{old('celular')[$i] ?? "" }}" name="celular[{{$i}}]" placeholder="Celular" /> <input type="tel" class="form-control celular" value="{{old('celular')[$i] ?? "" }}" name="celular[{{$i}}]" placeholder="Celular" id="celular{{$i}}"/>
@error('celular.'.$i) @error('celular.'.$i)
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block"> <span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong> <strong>{{ $message }}</strong>
...@@ -142,7 +142,7 @@ ...@@ -142,7 +142,7 @@
</div> </div>
<div class="col-6"> <div class="col-6">
@component('componentes.input', ['label' => 'CEP']) @component('componentes.input', ['label' => 'CEP'])
<input name="cep[{{$i}}]" type="text" id="cep{{$i}}" value="{{ old('cep')[$i] ?? ''}}" class="form-control cep" onblur="pesquisacep(this.value, {{$i}})" /> <input name="cep[{{$i}}]" type="text" id="cep{{$i}}" value="{{ old('cep')[$i] ?? ''}}" class="form-control cep" onblur="pesquisacep(this.value, {{$i}})" id="cep{{$i}}" />
@error('cep.'.$i) @error('cep.'.$i)
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block"><strong>{{ $message }}</strong></span> <span class="invalid-feedback" role="alert" style="overflow: visible; display:block"><strong>{{ $message }}</strong></span>
@enderror @enderror
...@@ -160,7 +160,7 @@ ...@@ -160,7 +160,7 @@
<div class="col-6"> <div class="col-6">
@component('componentes.input', ['label' => 'Cidade']) @component('componentes.input', ['label' => 'Cidade'])
<input name="cidade[{{$i}}]" type="text" id="cidade{{$i}}" class="form-control" value="{{ old('cidade')[$i] ?? '' }}" /> <input name="cidade[{{$i}}]" type="text" id="cidade{{$i}}" class="form-control" value="{{ old('cidade')[$i] ?? '' }}" id="cidade{{$i}}"/>
@error('cidade.'.$i) @error('cidade.'.$i)
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block"><strong>{{ $message }}</strong></span> <span class="invalid-feedback" role="alert" style="overflow: visible; display:block"><strong>{{ $message }}</strong></span>
@enderror @enderror
...@@ -169,7 +169,7 @@ ...@@ -169,7 +169,7 @@
<div class="col-6"> <div class="col-6">
@component('componentes.input', ['label' => 'Bairro']) @component('componentes.input', ['label' => 'Bairro'])
<input name="bairro[{{$i}}]" type="text" id="bairro{{$i}}" class="form-control" value="{{ old('bairro')[$i] ?? '' }}" /> <input name="bairro[{{$i}}]" type="text" id="bairro{{$i}}" class="form-control" value="{{ old('bairro')[$i] ?? '' }}" id="bairro{{$i}}"/>
@error('bairro.'.$i) @error('bairro.'.$i)
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block"><strong>{{ $message }}</strong></span> <span class="invalid-feedback" role="alert" style="overflow: visible; display:block"><strong>{{ $message }}</strong></span>
@enderror @enderror
...@@ -178,7 +178,7 @@ ...@@ -178,7 +178,7 @@
<div class="col-6"> <div class="col-6">
@component('componentes.input', ['label' => 'Rua']) @component('componentes.input', ['label' => 'Rua'])
<input name="rua[{{$i}}]" type="text" id="rua{{$i}}" class="form-control" value="{{ old('rua')[$i] ?? '' }}" /> <input name="rua[{{$i}}]" type="text" id="rua{{$i}}" class="form-control" value="{{ old('rua')[$i] ?? '' }}" id="rua{{$i}}"/>
@error('rua.'.$i) @error('rua.'.$i)
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block"><strong>{{ $message }}</strong></span> <span class="invalid-feedback" role="alert" style="overflow: visible; display:block"><strong>{{ $message }}</strong></span>
@enderror @enderror
...@@ -187,7 +187,7 @@ ...@@ -187,7 +187,7 @@
<div class="col-6"> <div class="col-6">
@component('componentes.input', ['label' => 'Número']) @component('componentes.input', ['label' => 'Número'])
<input name="numero[{{$i}}]" type="text" class="form-control" value="{{ old('numero')[$i] ?? '' }}" /> <input name="numero[{{$i}}]" type="text" class="form-control" value="{{ old('numero')[$i] ?? '' }}" id="numero{{$i}}"/>
@error('numero.'.$i) @error('numero.'.$i)
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block"><strong>{{ $message }}</strong></span> <span class="invalid-feedback" role="alert" style="overflow: visible; display:block"><strong>{{ $message }}</strong></span>
@enderror @enderror
...@@ -216,7 +216,7 @@ ...@@ -216,7 +216,7 @@
</div> </div>
<div class="col-6"> <div class="col-6">
@component('componentes.input', ['label' => 'Instituição de Ensino']) @component('componentes.input', ['label' => 'Instituição de Ensino'])
<select style="display: inline" onchange="showInstituicao(this)" class="form-control" name="instituicao[{{$i}}]"> <select style="display: inline" onchange="showInstituicao(this)" class="form-control" name="instituicao[{{$i}}]" id="instituicao[{{$i}}]">
<option value="" disabled selected hidden>-- Instituição --</option> <option value="" disabled selected hidden>-- Instituição --</option>
<option @if((old('instituicao')[$i] ?? "" )=='UFAPE' )) selected @endif value="UFAPE">Universidade Federal do Agreste de Pernambuco - UFAPE</option> <option @if((old('instituicao')[$i] ?? "" )=='UFAPE' )) selected @endif value="UFAPE">Universidade Federal do Agreste de Pernambuco - UFAPE</option>
<option @if((old('instituicao')[$i] ?? "" )=='Outra' )) selected @endif value="Outra">Outra</option> <option @if((old('instituicao')[$i] ?? "" )=='Outra' )) selected @endif value="Outra">Outra</option>
...@@ -240,7 +240,7 @@ ...@@ -240,7 +240,7 @@
</div> </div>
<div class="col-6"> <div class="col-6">
@component('componentes.input', ['label' => 'Curso']) @component('componentes.input', ['label' => 'Curso'])
<select style="display: inline" class="form-control" name="curso[{{$i}}]" onchange="showCurso(this)"> <select style="display: inline" class="form-control" name="curso[{{$i}}]" onchange="showCurso(this)" id="curso[{{$i}}]">
<option value="" disabled selected hidden>-- Selecione uma opção--</option> <option value="" disabled selected hidden>-- Selecione uma opção--</option>
<option @if((old('curso')[$i] ?? "" )=='Bacharelado em Agronomia' ) selected @endif value="Bacharelado em Agronomia">Bacharelado em Agronomia</option> <option @if((old('curso')[$i] ?? "" )=='Bacharelado em Agronomia' ) selected @endif value="Bacharelado em Agronomia">Bacharelado em Agronomia</option>
<option @if((old('curso')[$i] ?? "" )=='Bacharelado em Ciência da Computação' ) selected @endif value="Bacharelado em Ciência da Computação">Bacharelado em Ciência da Computação</option> <option @if((old('curso')[$i] ?? "" )=='Bacharelado em Ciência da Computação' ) selected @endif value="Bacharelado em Ciência da Computação">Bacharelado em Ciência da Computação</option>
...@@ -399,24 +399,20 @@ ...@@ -399,24 +399,20 @@
</div> </div>
@endfor <!-- @endfor -->
</div> </div>
</li>
</ol>
</div> </div>
</li> <!-- </div> -->
<!-- </div> -->
</ol> <!-- </div> -->
<!-- </div> -->
</div>
</div>
</div>
</div>
</div>
<script>
</script>
<!-- Adicionando Javascript --> <!-- Adicionando Javascript -->
<script> <script>
function limpa_formulário_cep(id) { function limpa_formulário_cep(id) {
......
...@@ -18,11 +18,7 @@ ...@@ -18,11 +18,7 @@
@include('evento.formulario.proponente') @include('evento.formulario.proponente')
@if ($edital->numParticipantes != 0) @if ($edital->numParticipantes != 0)
@include('evento.formulario.participantes') @include('evento.formulario.integrantes')
@endif
@if($edital->natureza_id == 3)
@include('evento.formulario.integrantes')
@endif @endif
@include('evento.formulario.anexos') @include('evento.formulario.anexos')
...@@ -217,7 +213,8 @@ ...@@ -217,7 +213,8 @@
} }
document.getElementById("checkB"+id).checked = true; document.getElementById("checkB"+id).checked = true;
$("#atribuir1").attr('data-target','#exampleModal'+(id+1)); //$("#atribuir1").attr('data-target','#modalIntegrante'+(id+1));
modal_id = id+1;
document.getElementById("part"+id).removeAttribute("hidden"); document.getElementById("part"+id).removeAttribute("hidden");
document.getElementById("exampleModal"+id).modal('hide'); document.getElementById("exampleModal"+id).modal('hide');
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment