Commit c3ad1952 authored by Yuri Resende's avatar Yuri Resende
Browse files

Possibilitando a inclusão de professores como integrantes

parent 1bf7470a
......@@ -1178,6 +1178,10 @@ class TrabalhoController extends Controller
if($usuario){
$participante = $usuario->participantes()->first();
if(!$participante)
return json_encode([$usuario, $funcao]);
if ($participante->curso == null && $participante->curso_id != null)
$participante->curso = Curso::find($participante->curso_id)->nome;
return json_encode([$usuario, $funcao, $participante, $usuario->endereco()->first()]);
......@@ -1226,52 +1230,56 @@ class TrabalhoController extends Controller
}
//adição dos participantes
if ($request->has('marcado')) {
if ($request->has('marcado')) {
foreach ($request->marcado as $key => $part) {
$part = intval($part);
// $passwordTemporario = Str::random(8);
$data['name'] = $request->name[$part];
$data['email'] = $request->email[$part];
// $data['password'] = bcrypt($passwordTemporario);
$data['data_de_nascimento'] = $request->data_de_nascimento[$part];
$data['cpf'] = $request->cpf[$part];
$data['tipo'] = 'participante';
//Quando o integrante é um estudante
if($request->estudante[$part] === true){
$data['data_de_nascimento'] = $request->data_de_nascimento[$part];
$data['rg'] = $request->rg[$part];
$data['celular'] = $request->celular[$part];
$data['cep'] = $request->cep[$part];
$data['uf'] = $request->uf[$part];
$data['cidade'] = $request->cidade[$part];
$data['rua'] = $request->rua[$part];
$data['numero'] = $request->numero[$part];
$data['bairro'] = $request->bairro[$part];
$data['complemento'] = $request->complemento[$part];
$data['total_periodos'] = $request->total_periodos[$part];
$data['turno'] = $request->turno[$part];
$data['periodo_atual'] = $request->periodo_atual[$part];
$data['ordem_prioridade'] = $request->ordem_prioridade[$part];
if ($request->curso[$part] != "Outro") {
$data['curso'] = $request->curso[$part];
} else {
$data['curso'] = $request->outrocurso[$part];
}
if($evento->tipo!="PIBEX") {
$data['media_do_curso'] = $request->media_do_curso[$part];
}
$data['nomePlanoTrabalho'] = $request->nomePlanoTrabalho[$part];
}
//função no projeto
if (FuncaoParticipantes::where('nome', $request->funcaoParticipante[$part])->exists())
$data['funcao_participante_id'] = FuncaoParticipantes::where('nome', $request->funcaoParticipante[$part])->first()->id;
$data['rg'] = $request->rg[$part];
$data['celular'] = $request->celular[$part];
$data['cep'] = $request->cep[$part];
$data['uf'] = $request->uf[$part];
$data['cidade'] = $request->cidade[$part];
$data['rua'] = $request->rua[$part];
$data['numero'] = $request->numero[$part];
$data['bairro'] = $request->bairro[$part];
$data['complemento'] = $request->complemento[$part];
//instituição do participante
if ($request->instituicao[$part] != "Outra") {
$data['instituicao'] = $request->instituicao[$part];
} else {
$data['instituicao'] = $request->outrainstituicao[$part];
}
$data['total_periodos'] = $request->total_periodos[$part];
if ($request->curso[$part] != "Outro") {
$data['curso'] = $request->curso[$part];
} else {
$data['curso'] = $request->outrocurso[$part];
}
$data['turno'] = $request->turno[$part];
$data['periodo_atual'] = $request->periodo_atual[$part];
$data['ordem_prioridade'] = $request->ordem_prioridade[$part];
if($evento->tipo!="PIBEX") {
$data['media_do_curso'] = $request->media_do_curso[$part];
}
$data['nomePlanoTrabalho'] = $request->nomePlanoTrabalho[$part];
$user = User::where('email', $data['email'])->first();
if ($user == null) {
$data['usuarioTemp'] = true;
$user = User::create($data);
......@@ -1285,11 +1293,11 @@ class TrabalhoController extends Controller
$participante = Participante::create($data);
$participante->data_entrada = $participante->created_at;
$user->participantes()->save($participante);
$participante->trabalho_id = $trabalho->id;
$participante->save();
if ($request->has('anexoPlanoTrabalho')) {
if ($request->estudante[$part] === true && $request->has('anexoPlanoTrabalho')) {
$path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/';
$nome = $data['nomePlanoTrabalho'] . ".pdf";
$file = $request->anexoPlanoTrabalho[$part];
......@@ -1302,9 +1310,9 @@ class TrabalhoController extends Controller
$arquivo->participanteId = $participante->id;
$arquivo->versaoFinal = true;
$arquivo->save();
}
}
} else {
$data['nomePlanoTrabalho'] = $request->nomePlanoTrabalho;
......@@ -1321,29 +1329,29 @@ class TrabalhoController extends Controller
$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);
$trabalho->modalidade = $request->modalidade;
$trabalho->save();
if($evento->natureza_id == 3){
foreach($request->integrantes as $integrante){
$integrante = explode(',', $integrante);
// if($evento->natureza_id == 3){
// foreach($request->integrantes as $integrante){
// $integrante = explode(',', $integrante);
$trabalho_user = new TrabalhoUser();
$trabalho_user->user_id = $integrante[0];
$trabalho_user->funcao_participante_id = $integrante[1];
$trabalho_user->trabalho_id = $trabalho->id;
$trabalho_user->save();
}
}
// $trabalho_user = new TrabalhoUser();
// $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();
......
......@@ -26,6 +26,7 @@ class StoreTrabalho extends FormRequest
*/
public function rules()
{
// dd($this->all());
$evento = Evento::find($this->editalId);
$rules = [];
......@@ -38,42 +39,43 @@ class StoreTrabalho extends FormRequest
$rules['instituicao.'.$value] = ['required', 'string'];
$rules['cpf.'.$value] = ['required', 'string'];
$rules['celular.'.$value] = ['required', 'string'];
//endereco
$rules['rua.'.$value] = ['required', 'string'];
$rules['numero.'.$value] = ['required', 'string'];
$rules['bairro.'.$value] = ['required', 'string'];
$rules['cidade.'.$value] = ['required', 'string'];
$rules['uf.'.$value] = ['required', 'string'];
$rules['cep.'.$value] = ['required', 'string'];
//participante
$rules['rg.'.$value] = ['required', 'string'];
$rules['data_de_nascimento.'.$value] = ['required', 'string'];
$rules['curso.'.$value] = ['required', 'string'];
//participantes da pesquisa
if($evento->natureza_id != 3){
$rules['turno.'.$value] = ['required', 'string'];
$rules['ordem_prioridade.'.$value] = ['required', 'string'];
$rules['periodo_atual.'.$value] = ['required', 'string'];
$rules['total_periodos.'.$value] = ['required', 'string'];
$rules['media_do_curso.' . $value] = ['required', 'string'];
if($this->estudante[$value] === true){
//endereco
$rules['rua.'.$value] = ['required', 'string'];
$rules['numero.'.$value] = ['required', 'string'];
$rules['bairro.'.$value] = ['required', 'string'];
$rules['cidade.'.$value] = ['required', 'string'];
$rules['uf.'.$value] = ['required', 'string'];
$rules['cep.'.$value] = ['required', 'string'];
//participante
$rules['rg.'.$value] = ['required', 'string'];
$rules['data_de_nascimento.'.$value] = ['required', 'string'];
$rules['curso.'.$value] = ['required', 'string'];
//participantes da pesquisa
if($evento->natureza_id != 3){
$rules['turno.'.$value] = ['required', 'string'];
$rules['ordem_prioridade.'.$value] = ['required', 'string'];
$rules['periodo_atual.'.$value] = ['required', 'string'];
$rules['total_periodos.'.$value] = ['required', 'string'];
$rules['media_do_curso.' . $value] = ['required', 'string'];
}
if($evento->tipo != "CONTINUO" && ($this->funcaoParticipante[$value] == "Voluntário" || $this->funcaoParticipante[$value] == "Bolsista")){
$rules['anexoPlanoTrabalho.'.$value] = ['required'];
$rules['nomePlanoTrabalho.'.$value] = ['required', 'string'];
}
}
if($evento->tipo != "CONTINUO" && ($this->funcaoParticipante[$value] == "Voluntário" || $this->funcaoParticipante[$value] == "Bolsista")){
$rules['anexoPlanoTrabalho.'.$value] = ['required'];
$rules['nomePlanoTrabalho.'.$value] = ['required', 'string'];
}
// if($evento->tipo != "PIBEX") {
// $rules['media_do_curso.' . $value] = ['required', 'string'];
// }
}
}
} else if($evento->tipo != "CONTINUO"){
} else if($evento->tipo != "CONTINUO" ){
$rules['anexoPlanoTrabalho'] = ['required'];
$rules['nomePlanoTrabalho'] = ['required', 'string'];
......@@ -120,7 +122,7 @@ class StoreTrabalho extends FormRequest
} else {
$rules['anexo_SIPAC'] = ['required', 'mimes:pdf'];
}
//dd($rules, $evento);
// dd($rules, $evento);
return $rules;
}
......
......@@ -165,29 +165,17 @@
'funcao': $('#funcao_participante').val()
},
success: function (data) {
if(data == 'inexistente' || $('#cpf_consulta').val() == ""){
exibirModalUsuarioInexistente();
}else {
exibirUsuarioAdicionado(data);
$('#integrante').append(`
<div id="integrante${data[0]['id']}" class="col-md-6">
<div class="row">
<input name="integrantes[]" type="text" value="${data[0]['id']},${$('#funcao_participante').val()}" hidden>
<div class="col-md-2" style="display: flex; align-items: center;">
<img src="{{asset('img/icons/usuario.svg')}}" style="width:60px" alt="">
</div>
<div class="col-md-4 mb-1">
<strong>Nome:</strong> ${data[0]['name']}
<strong>CPF:</strong> ${data[0]['cpf']}
<strong>Função:</strong> ${data[1]['nome']}
<button type="button" class="btn btn-danger" onclick="removerIntegrante(${data[0]['id']})">Remover</button>
</div>
</div>
</div>
`)
if(data[0].tipo == 'participante'){
exibirUsuarioAdicionado(data);
} else {
marcar(modal_id, data);
exibirProfessorAdicionado();
}
}
}
});
......@@ -263,4 +251,9 @@
$(`#exampleModal${modal_id}`).modal('show');
}
function exibirProfessorAdicionado(){
$('#modalIntegrante').modal('hide');
$(`#aviso-modal-usuario-adicionado`).modal('show');
}
</script>
\ No newline at end of file
......@@ -67,6 +67,7 @@
<div class="modal-body">
<div class="col-1" style="margin-top:9.3px" hidden>
{{-- <button type="button" class="btn btn-danger shadow-sm" id="buttonRemover" onclick="removerPart(this)" >X</button> --}}
<input type="hidden" name="estudante[{{$i}}]" id="estudante[{{$i}}]">
<input type="checkbox" id="checkB{{$i}}" aria-label="Checkbox for following text input" @if(isset(old('marcado')[$i])) checked @endif name="marcado[]" value="{{ $i }}">
</div>
......
......@@ -206,17 +206,18 @@
return nome_funcao;
}
function marcar(id){
function marcar(id, data = null){
let nome = document.getElementById("nome"+id);
let linkNome = document.getElementById("nomePart"+(id+1));
let nomePlano = document.getElementById("nomePlano"+(id+1));
let linkTituloProj = document.getElementById("tituloProj"+(id+1));
let planoTrabalho = document.getElementById("nomePlanoTrabalho"+id);
let instituicao = document.getElementById('instituicao['+id+']');
let celular = document.getElementById('celular'+id);
let estudante = document.getElementById("estudante["+id+"]");
let cpf = document.getElementById("cpf"+id);
let funcao = document.getElementById("funcao_participante");
let email = document.getElementById("email"+id);
let funcaoParticipantes = <?php echo json_encode($funcaoParticipantes); ?>;
let nome_funcao = get_funcao(funcao.value);
......@@ -229,6 +230,7 @@
}
if(nome.value != ""){
estudante.value = true;
if(planoTrabalho != null && planoTrabalho.value != ""){
nomePlano.innerHTML = ` <p style='font-weight: normal; line-height: normal;'><strong>Nome: </strong>${nome.value}<br>
<strong>E-mail: </strong>${email.value} <br>
......@@ -241,8 +243,20 @@
<strong>CPF: </strong>${cpf.value} <br>
<strong>Função: </strong>${nome_funcao}</p>`;
}
}else{
nomePlano.innerText = `Discente `+(id+1);
}else if(data != null) {
estudante.value = false;
nome.value = data[0].name;
email.value = data[0].email;
instituicao.value = data[0].instituicao;
cpf.value = data[0].cpf;
celular.value = data[0].celular;
console.log(estudante);
nomePlano.innerHTML = `<p style='font-weight: normal; line-height: normal;'><strong>Nome: </strong>${data[0].name}<br>
<strong>E-mail: </strong>${data[0].email} <br>
<strong>CPF: </strong>${data[0].cpf} <br>
<strong>Função: </strong>${data[1].nome}</p>`;
}
if(id >=1){
document.getElementById("cancelar"+(id-1)).setAttribute("disabled", true);
......
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