Commit ed5a2269 authored by Lucas Henrique's avatar Lucas Henrique
Browse files

Merge branch 'develop' into adicionar-campos-avaliacao

parents b3f7f37b 8a9b62b1
......@@ -38,6 +38,10 @@ class Avaliador extends Model
return $this->belongsToMany('App\Natureza', 'naturezas_avaliadors', 'avaliador_id');
}
public function areaTematicas() {
return $this->belongsToMany('App\AreaTematica', 'area_tematica_avaliadors', 'avaliador_id');
}
public function avaliacaoTrabalho(){
return $this->hasMany('App\AvaliacaoTrabalho');
}
......
......@@ -37,6 +37,7 @@ use Illuminate\Support\Str;
use Illuminate\Validation\Rule;
use PDF;
use DB;
use App\AreaTematica;
class AdministradorController extends Controller
......@@ -169,6 +170,8 @@ class AdministradorController extends Controller
}
$grandeAreas = GrandeArea::orderBy('nome')->get();
$areasTematicas = AreaTematica::orderBy('nome')->get();
//dd($areasTematicas);
$hoje = Carbon::today('America/Recife');
$hoje = $hoje->toDateString();
......@@ -183,7 +186,8 @@ class AdministradorController extends Controller
'AvalRelatParcial' => $AvalRelatParcial,
'AvalRelatFinal' => $AvalRelatFinal,
'hoje' => $hoje,
'flagSubstituicao' => $flagSubstituicao, ]);
'flagSubstituicao' => $flagSubstituicao,
'areasTematicas' => $areasTematicas, ]);
}
public function showProjetos(Request $request)
......@@ -745,13 +749,33 @@ class AdministradorController extends Controller
$coordenador_id_evento = $evento->coordenadorId;
$coordenador_id = CoordenadorComissao::find($coordenador_id_evento);
$grandeAreas = GrandeArea::orderBy('nome')->get();
$areasTematicas = AreaTematica::orderBy('nome')->get();
$avalSelecionados = $evento->avaliadors;
$avalNaoSelecionadosId = $evento->avaliadors->pluck('id');
$trabalhos = $evento->trabalhos->whereNotIn('status', 'rascunho');
$avaliadores = Avaliador::join('naturezas_avaliadors', 'avaliadors.id', '=' ,'naturezas_avaliadors.avaliador_id')
->whereNotIn('avaliadors.id', $avalNaoSelecionadosId)
->where('naturezas_avaliadors.natureza_id', $evento->natureza_id)
->get();
$avaliadores = Avaliador::whereNotIn('id', $avalNaoSelecionadosId)->get();
//$avaliadores = Avaliador::join('naturezas_avaliadors', 'avaliadors.id', '=' ,'naturezas_avaliadors.avaliador_id')->whereNotIn('avaliadors.id', $avalNaoSelecionadosId)
// ->where('naturezas_avaliadors.natureza_id', $evento->natureza_id)
// ->get();
$avaliadores_extensao = collect();
$avaliadores_others = collect();
foreach($avaliadores as $avaliador){
if($evento->natureza_id == 3 && count($avaliador->areaTematicas) > 0){
$avaliadores_extensao->push($avaliador);
}elseif($evento->natureza_id != 3 && count($avaliador->areaTematicas) == 0){
$avaliadores_others->push($avaliador);
}
}
if($evento->natureza_id == 3){
$avaliadores = $avaliadores_extensao;
} else {
$avaliadores = $avaliadores_others;
}
if ((Auth::user()->id != $coordenador_id->user_id) && ($user->tipo != 'administrador')) {
return redirect()->back();
......@@ -763,6 +787,7 @@ class AdministradorController extends Controller
'avalSelecionados' => $avalSelecionados,
'grandeAreas' => $grandeAreas,
'trabalhos' => $trabalhos,
'areasTematicas' => $areasTematicas,
]);
}
......@@ -771,6 +796,7 @@ class AdministradorController extends Controller
$evento = Evento::where('id', $request->evento_id)->first();
$trabalhos = $evento->trabalhos;
$grandesAreas = GrandeArea::orderBy('nome')->get();
$areasTematicas = AreaTematica::orderBy('nome')->get();
$avaliadores = $evento->avaliadors;
foreach ($trabalhos as $key => $trabalho) {
$avalSelecionadosId = $trabalho->avaliadors->pluck('id');
......@@ -785,6 +811,7 @@ class AdministradorController extends Controller
'trabalhos' => $trabalhos,
'avaliadores' => $avaliadores,
'grandesAreas' => $grandesAreas,
'areasTematicas' => $areasTematicas
]);
}
......@@ -924,6 +951,7 @@ class AdministradorController extends Controller
$emailAvaliador = $request->emailAvaliador;
$area = Area::where('id', $request->area_id)->first();
$user = User::where('email', $emailAvaliador)->first();
$areaTematica = AreaTematica::find($request->areasTemeticas);
if ($request->instituicao == 'ufape') {
$nomeInstituicao = 'Universidade Federal do Agreste de Pernambuco';
......@@ -972,6 +1000,10 @@ class AdministradorController extends Controller
$avaliador->save();
}
if($evento->natureza_id == 3){
$avaliador->areaTematicas()->sync($areaTematica);
}
if ($request->instituicao == 'ufape') {
$trabalho->avaliadors()->attach($avaliador, ['acesso' => 2]);
$evento->avaliadors()->syncWithoutDetaching($avaliador);
......@@ -1026,7 +1058,8 @@ class AdministradorController extends Controller
$emailAvaliador = $request->emailAvaliador;
$area = Area::where('id', $request->area_id)->first();
$user = User::where('email', $emailAvaliador)->first();
$areaTematica = AreaTematica::find($request->areasTemeticas);
if ($request->instituicao == 'ufape') {
$nomeInstituicao = 'Universidade Federal do Agreste de Pernambuco';
$externoInterno = 'Interno';
......@@ -1071,6 +1104,7 @@ class AdministradorController extends Controller
$avaliador->eventos()->attach($evento);
if($evento->natureza_id == 3){
$avaliador->naturezas()->sync($evento->natureza_id);
$avaliador->areaTematicas()->sync($areaTematica);
}
$user->save();
$avaliador->save();
......@@ -1079,6 +1113,7 @@ class AdministradorController extends Controller
$avaliador->eventos()->attach($evento);
if($evento->natureza_id == 3){
$avaliador->naturezas()->sync($evento->natureza_id);
$avaliador->areaTematicas()->sync($areaTematica);
}
$user->save();
$avaliador->save();
......
......@@ -12,6 +12,7 @@ use Illuminate\Validation\Rule;
use App\User;
use App\Participante;
use App\Proponente;
use App\Endereco;
use App\Rules\UrlValidacao;
use App\Curso;
......@@ -55,31 +56,49 @@ class RegisterController extends Controller
*/
protected function validator(array $data)
{
if ($data['perfil'] == "Estudante")
{
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
'cpf' => ['required', 'cpf', 'unique:users'],
'rg' => ['required', 'unique:participantes'],
'celular' => ['required', 'string', 'telefone'],
'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'],
'instituicaoSelect' => ['required_without:instituicao'],
'outroCursoEstudante' => ['required_if:cursoEstudante,Outro', 'max:255'],
'cursoEstudante' => ['required_without:outroCursoEstudante'],
'perfil' => ['required'],
'linkLattes' => ['required'],
]);
}
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
'cpf' => ['required', 'cpf', 'unique:users'],
'rg' => ['required', 'unique:participantes'],
'celular' => ['required', 'string', 'telefone'],
'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'],
'instituicaoSelect' => ['required_without:instituicao'],
'cargo' => ['required'],
'perfil' => ['required'],
'vinculo' => ['required'],
'outro' => ['required_if:vinculo,Outro'],
'titulacaoMaxima' => ['required_with:anoTitulacao,areaFormacao,bolsistaProdutividade'],
'titulacaoMaxima' => Rule::requiredIf((isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')),
'titulacaoMaxima' => Rule::requiredIf((isset($data['perfil']) && $data['perfil'] !== 'Estudante') || (isset($data['perfil']) && $data['perfil'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')),
'anoTitulacao' => ['required_with:titulacaoMaxima,areaFormacao,bolsistaProdutividade,linkLattes'],
'anoTitulacao' => Rule::requiredIf((isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')),
'anoTitulacao' => Rule::requiredIf((isset($data['perfil']) && $data['perfil'] !== 'Estudante') || (isset($data['perfil']) && $data['perfil'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')),
'areaFormacao' => ['required_with:titulacaoMaxima,anoTitulacao,bolsistaProdutividade,linkLattes'],
'areaFormacao' => Rule::requiredIf((isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')),
'areaFormacao' => Rule::requiredIf((isset($data['perfil']) && $data['perfil'] !== 'Estudante') || (isset($data['perfil']) && $data['perfil'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')),
'bolsistaProdutividade' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,linkLattes'],
'bolsistaProdutividade' => Rule::requiredIf((isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')),
'bolsistaProdutividade' => Rule::requiredIf((isset($data['perfil']) && $data['perfil'] !== 'Estudante') || (isset($data['perfil']) && $data['perfil'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')),
'nivel' => ['required_if:bolsistaProdutividade,sim'],
//'nivel' => [(isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'required':''],
//'nivel' => [(isset($data['perfil']) && $data['perfil'] !== 'Estudante') || (isset($data['perfil']) && $data['perfil'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'required':''],
'linkLattes' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'],
'linkLattes' => [(isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'required':''],
'linkLattes' => [(isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'link_lattes':''],
'linkLattes' => [(isset($data['perfil']) && $data['perfil'] !== 'Estudante') || (isset($data['perfil']) && $data['perfil'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'required':''],
'linkLattes' => [(isset($data['perfil']) && $data['perfil'] !== 'Estudante') || (isset($data['perfil']) && $data['perfil'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'link_lattes':''],
]);
}
......@@ -91,35 +110,61 @@ class RegisterController extends Controller
* @return \App\User
*/
protected function create(array $data)
{
// dd($data);
{
$participante = new Participante();
$participante->rg = $data['rg'];
$user = new User();
$user->name = $data['name'];
$user->email = $data['email'];
$user->password = bcrypt($data['password']);
$user->cpf = $data['cpf'];
$user->celular = $data['celular'];
if ($data['instituicao'] != null) {
$user->instituicao = $data['instituicao'];
} else if (isset($data['instituicaoSelect']) && $data['instituicaoSelect'] != "Outra") {
$user->instituicao = $data['instituicaoSelect'];
}
if ($data['cargo'] === "Estudante" && $data['vinculo'] !== "Pós-doutorando") {
if ($data['perfil'] === "Estudante"){
$user->tipo = 'participante';
$user->save();
$participante = new Participante();
$endereco = new Endereco();
$endereco->cep = $data['cep'];
$endereco->uf = $data['uf'];
$endereco->cidade = $data['cidade'];
$endereco->rua = $data['rua'];
$endereco->numero = $data['numero'];
$endereco->bairro = $data['bairro'];
$endereco->complemento = $data['complemento'];
$endereco->save();
$participante->data_de_nascimento = $data['data_de_nascimento'];
$participante->linkLattes = $data['linkLattes'];
if ($data['outroCursoEstudante'] != null) {
$participante->curso = $data['outroCursoEstudante'];
} else if (isset($data['cursoEstudante']) && $data['cursoEstudante'] != "Outro") {
$participante->curso = $data['cursoEstudante'];
}
$user->save();
$user->participantes()->save($participante);
$endereco->user()->save($user);
} else {
$user->tipo = 'proponente';
$user->save();
$proponente = new Proponente();
if ($data['SIAPE'] != null) {
$proponente->SIAPE = $data['SIAPE'];
}
$proponente->cargo = $data['cargo'];
$proponente->cargo = $data['perfil'];
$proponente->titulacaoMaxima = $data['titulacaoMaxima'];
$proponente->anoTitulacao = $data['anoTitulacao'];
$proponente->areaFormacao = $data['areaFormacao'];
$proponente->bolsistaProdutividade = $data['bolsistaProdutividade'];
$proponente->linkLattes = $data['linkLattes'];
if ($data['vinculo'] != 'Outro') {
$proponente->vinculo = $data['vinculo'];
......@@ -127,17 +172,18 @@ class RegisterController extends Controller
$proponente->vinculo = $data['outro'];
}
$proponente->titulacaoMaxima = $data['titulacaoMaxima'];
$proponente->anoTitulacao = $data['anoTitulacao'];
$proponente->areaFormacao = $data['areaFormacao'];
$proponente->bolsistaProdutividade = $data['bolsistaProdutividade'];
if ($data['SIAPE'] != null) {
$proponente->SIAPE = $data['SIAPE'];
}
if ($data['bolsistaProdutividade'] == 'sim') {
$proponente->nivel = $data['nivel'];
}
$proponente->linkLattes = $data['linkLattes'];
}
$user->proponentes()->save($proponente);
if($proponente->titulacaoMaxima == 'Técnico'){
$user->participantes()->save($participante);
if($data['perfil'] == 'Professor'){
$proponente->cursos()->sync($data['curso']);
}
}
......
......@@ -13,6 +13,7 @@ use App\AreaTematica;
use App\Arquivo;
use App\Coautor;
use App\Revisor;
use App\TrabalhoUser;
use App\SubArea;
use App\Endereco;
use App\Trabalho;
......@@ -400,6 +401,8 @@ class TrabalhoController extends Controller
$flagSubstituicao = -1;
}
$trabalhos_user = TrabalhoUser::where('trabalho_id', $projeto->id)->get();
return view('projeto.visualizar')->with(['projeto' => $projeto,
'grandeAreas' => $grandeAreas,
'areas' => $areas,
......@@ -414,7 +417,8 @@ class TrabalhoController extends Controller
'enum_turno' => Participante::ENUM_TURNO,
'areasTematicas' => $areasTematicas,
'flagSubstituicao' =>$flagSubstituicao,
'proponente' => $proponente,
'trabalhos_user' => $trabalhos_user,
'proponente' => $proponente
]);
}
......@@ -469,6 +473,8 @@ class TrabalhoController extends Controller
$rascunho = Trabalho::where('proponente_id', $proponente->id)->where('evento_id', $edital->id)->where('status', 'Rascunho')
->orderByDesc('updated_at')->first();
$trabalhos_user = TrabalhoUser::where('trabalho_id', $projeto->id)->get();
return view('projeto.editar')->with(['projeto' => $projeto,
'grandeAreas' => $grandeAreas,
'areas' => $areas,
......@@ -482,7 +488,8 @@ class TrabalhoController extends Controller
'estados' => $this->estados,
'areaTematicas' => $areaTematicas,
'listaOds' => $ODS,
'proponente' => $proponente,
'trabalhos_user' => $trabalhos_user,
'proponente' => $proponente
]);
}
......@@ -876,6 +883,29 @@ class TrabalhoController extends Controller
$trabalho = $this->armazenarAnexosFinais($request, $pasta, $trabalho, $evento);
$trabalho->save();
if($request->integrantesExistentes == null){
$request->integrantesExistentes = [];
}
$usuariosRemovidos = TrabalhoUser::where('trabalho_id', $trabalho->id)->whereNotIn('user_id', $request->integrantesExistentes)->get();
if($usuariosRemovidos->first() != null) {
foreach($usuariosRemovidos as $usuarioRemovido){
$usuarioRemovido->delete();
}
}
if($evento->natureza_id == 3 && $request->integrantes != null){
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();
}
}
if ($evento->numParticipantes != 0) {
if ($request->marcado == null) {
......@@ -1077,6 +1107,16 @@ class TrabalhoController extends Controller
}
public function buscarUsuario(Request $request) {
$usuario = User::where('cpf', $request->cpf_consulta)->first();
$funcao = FuncaoParticipantes::where('id', $request->funcao)->first();
if($usuario){
return json_encode([$usuario, $funcao]);
}
return json_encode('inexistente');
}
public function salvar(StoreTrabalho $request)
{
......@@ -1215,6 +1255,19 @@ class TrabalhoController extends Controller
$trabalho->modalidade = $request->modalidade;
$trabalho->save();
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->ods()->sync($request->ods);
DB::commit();
if (!$request->has('rascunho')) {
......
......@@ -131,6 +131,10 @@ class Trabalho extends Model
return $this->belongsToMany('App\ObjetivoDeDesenvolvimentoSustentavel', 'objetivo_de_desenvolvimento_sustentavel_trabalhos', 'trabalho_id');
}
public function integrantes() {
return $this->belongsToMany('App\User', 'trabalho_users', 'trabalho_id');
}
public function avaliacaoTrabalho(){
return $this->hasMany('App\AvaliacaoTrabalho');
}
......
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class TrabalhoUser extends Model
{
public function user(){
return $this->belongsTo('App\User');
}
public function funcao(){
return $this->belongsTo('App\FuncaoParticipantes', 'funcao_participante_id');
}
}
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateAreaTematicaAvaliadorsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('area_tematica_avaliadors', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('area_tematica_id');
$table->foreign('area_tematica_id')->references('id')->on('area_tematicas');
$table->integer('avaliador_id');
$table->foreign('avaliador_id')->references('id')->on('avaliadors');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('area_tematica_avaliadors');
}
}
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateTrabalhoUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('trabalho_users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->timestamps();
$table->integer('user_id');
$table->foreign('user_id')->references('id')->on('users');
$table->integer('trabalho_id');
$table->foreign('trabalho_id')->references('id')->on('trabalhos');
$table->integer('funcao_participante_id');
$table->foreign('funcao_participante_id')->references('id')->on('funcao_participantes');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('trabalho_users');
}
}
@extends('layouts.app')
@section('styles')
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css" integrity="sha512-nMNlpuaDPrqlEls3IX/Q56H36qvBASwb3ipuo3MxeWbsQB1881ox0cRv7UPTgBlriqoynt35KjEwgGUeUXIPnw==" crossorigin="anonymous" referrerpolicy="no-referrer" />
@endsection
@section('content')
@php
$grandesAreas = \App\GrandeArea::all();
......@@ -1670,7 +1674,7 @@
</button>
</div>
<div class="modal-body" style="margin-left: 20px; margin-right: 20px;">
<form action="{{ route('admin.convite.atribuicao.projeto') }}" method="POST" class="labels-blue" id="formConvite">
@csrf
<input type="hidden" name="evento_id" value="{{ $evento->id }}">
......@@ -1684,26 +1688,37 @@
<label for="exampleInputEmail1">Email <span style="color: red;">*</span></label>
<input type="email" class="form-control" name="emailAvaliador" id="exampleInputEmail1"
required>
</div>
</div>
<div class="form-group">
<label for="grandeArea" class="col-form-label">{{ __('Grande Área') }} <span
style="color: red; font-weight:bold">*</span></label>
<select class="form-control" id="grandeAreaConvite" name="grande_area_id" onchange="areas()"
required>
<option value="" disabled selected hidden>-- Grande Área --</option>
@foreach($grandeAreas as $grandeArea)
<option value="{{$grandeArea->id}}">{{$grandeArea->nome}}</option>
@endforeach
</select>
@if($evento->natureza_id == 3)
<div class="form-group">
<label for="areasTemeticas" class="col-form-label">{{ __('Áreas Temáticas') }}<span style="color: red; font-weight:bold">*</span></label>
<select class="form-control" id="areaTematicaConvite" style="width: 425px" name="areasTemeticas[]" multiple="multiple" required>
@foreach($areasTematicas as $areaTematica)
<option value="{{$areaTematica->id}}">{{$areaTematica->nome}}</option>
@endforeach
</select>
</div>
@else
<div class="form-group">
<label for="grandeArea" class="col-form-label">{{ __('Grande Área') }} <span
style="color: red; font-weight:bold">*</span></label>
<select class="form-control" id="grandeAreaConvite" name="grande_area_id" onchange="areas()"
required>
<option value="" disabled selected hidden>-- Grande Área --</option>
@foreach($grandeAreas as $grandeArea)
<option value="{{$grandeArea->id}}">{{$grandeArea->nome}}</option>
@endforeach
</select>
<label for="area" class="col-form-label">{{ __('Área') }} <span
style="color: red; font-weight:bold">*</span></label>
<select class="form-control @error('area') is-invalid @enderror" id="areaConvite"
name="area_id" required>
<option value="" disabled selected hidden>-- Área --</option>
</select>
</div>
<label for="area" class="col-form-label">{{ __('Área') }} <span
style="color: red; font-weight:bold">*</span></label>
<select class="form-control @error('area') is-invalid @enderror" id="areaConvite"
name="area_id" required>
<option value="" disabled selected hidden>-- Área --</option>
</select>
</div>
@endif
<div class="form-group">
<label for="exampleFormControlSelect1">Tipo</label>
<select class="form-control" name="tipo" id="exampleFormControlSelect1" disabled>
......@@ -1822,6 +1837,14 @@
@endsection
@section('javascript')
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js" integrity="sha512-2ImtlRlf2VVmiGZsjm9bEyhjGW4dU7B6TNwh/hx/iSByxNENtj3WVE6o/9Lj4TJeVXPi4bnOIMXFIJJAeufa0A==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script type="text/javascript">
$("#areaTematicaConvite").select2({
placeholder: 'Selecione as áreas temáticas',
allowClear: true
});
</script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
var avaliacaoForm;
......
......@@ -52,7 +52,11 @@
<th scope="col">Pontuação</th>
<th scope="col" style="width: 100%;">Nome do projeto</th>
<th scope="col">Proponente</th>
<th scope="col">Área</th>
@if($evento->natureza_id != 3)
<th scope="col">Área</th>
@else
<th scope="col">Área Temática</th>
@endif
<th scope="col">N. Planos</th>
<th scope="col">Avaliador</th>
<th scope="col">Status</th>
......@@ -75,7 +79,11 @@
{{$trabalho->proponente->user->name}}
</td>
<td>
{{$trabalho->area->nome}}
@if($evento->natureza_id != 3)
{{$trabalho->area->nome}}
@else
{{ App\AreaTematica::find($trabalho->area_tematica_id)->nome }}
@endif
</td>
<td>
@if ($evento->numParticipantes != 0) {{$trabalho->participantes->count()}} @else {{$trabalho->proponente->count()}} @endif
......@@ -157,7 +165,11 @@
<th scope="col">Pontuação</th>
<th scope="col" style="width: 100%;">Nome do projeto</th>
<th scope="col">Proponente</th>
<th scope="col">Área</th>
@if($evento->natureza_id != 3)
<th scope="col">Área</th>
@else
<th scope="col">Área Temática</th>
@endif
<th scope="col">N. Planos</th>
<th scope="col">Avaliador</th>
<th scope="col">Status</th>
......@@ -180,7 +192,11 @@
{{$trabalho->proponente->user->name}}
</td>
<td>
{{$trabalho->area->nome}}
@if($evento->natureza_id != 3)
{{$trabalho->area->nome}}
@else
{{ App\AreaTematica::find($trabalho->area_tematica_id)->nome }}
@endif
</td>
<td>
@if ($evento->numParticipantes != 0) {{$trabalho->participantes->count()}} @else {{$trabalho->proponente->count()}} @endif
......@@ -263,7 +279,11 @@
<th scope="col">Pontuação</th>
<th scope="col" style="width: 100%;">Nome do projeto</th>
<th scope="col">Proponente</th>
<th scope="col">Área</th>
@if($evento->natureza_id != 3)
<th scope="col">Área</th>
@else
<th scope="col">Área Temática</th>
@endif
<th scope="col">N. Planos</th>
<th scope="col">Avaliador</th>
<th scope="col">Status</th>
......@@ -286,7 +306,11 @@
{{$trabalho->proponente->user->name}}
</td>
<td>
{{$trabalho->area->nome}}
@if($evento->natureza_id != 3)
{{$trabalho->area->nome}}
@else
{{ App\AreaTematica::find($trabalho->area_tematica_id)->nome }}
@endif
</td>
<td>
@if ($evento->numParticipantes != 0) {{$trabalho->participantes->count()}} @else {{$trabalho->proponente->count()}} @endif
......
This diff is collapsed.
......@@ -3,7 +3,7 @@
// $obrigatorio = $obrigatorio ?? " ";
@endphp
<div class="form-group">
<label class=" control-label {{ $class }}" for="firstname">{{ $label }} <span style="color: red; font-weight:bold">*</span></label>
<label class=" control-label {{ $class }}" for="firstname" style="font-weight:600;">{{ $label }}<span style="color: red; font-weight:bold">*</span></label>
{{ $slot }}
<div class="">
......
......@@ -59,7 +59,7 @@
<div class="col-sm-2">
<label for="numParticipantes" class="col-form-label">{{ __('Nº de Discentes:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="numParticipantes" type="number" min="0" class="form-control @error('numParticipantes') is-invalid @enderror" name="numParticipantes" value="{{ old('numParticipantes') }}" required autocomplete="numParticipantes" autofocus>
<input id="numParticipantes" type="number" min="0" max="500" class="form-control @error('numParticipantes') is-invalid @enderror" name="numParticipantes" value="{{ old('numParticipantes') }}" required autocomplete="numParticipantes" autofocus>
@error('numParticipantes')
<span class="invalid-feedback" role="alert">
......
<div class="col-md-12" style="margin-top: 20px">
<div class="card" style="border-radius: 5px">
<div class="card-body" style="padding-top: 0.2rem;">
<div class="container">
<div class="form-row mt-3">
<div class="col-md-11">
<h5 style="color: #234B8B; font-weight: bold">Adicionar Integrante(s)</h5>
</div>
<div class="col-md-1 text-sm-right">
<a type="button" value="{{ $edital->id }}" id="atribuir1" data-toggle="modal" data-target="#modalIntegrante">
<img class="" src="{{asset('img/icons/add.ico')}}" style="width:30px" alt="">
</a>
</div>
</div>
<hr style="border-top: 1px solid#1492E6">
<div class="row" id="integrante">
</div>
</div>
</div>
</div>
</div>
<!-- MODAL -->
<div class="modal fade" id="modalIntegrante" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-xl">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Adicionar Integrante</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="form-row" style="padding: 30px;">
<div class="col-md-8">
<label for="cpf_consulta">CPF:</label>
<input type="text" id="cpf_consulta" name="cpf_consulta" class="form-control" onkeyup="mask_cpf();">
</div>
<div class="col-md-4 mt-4">
<button type="button" class="btn btn-primary" onclick="preencherUsuarioExistente()">Adicionar</button>
</div>
</div>
<div class="form-row" style="padding: 0px 30px 30px 30px;">
<label for="funcao_participante">Função do Participante:</label>
<select name="" id="funcao_participante" class="form-control">
@foreach($funcaoParticipantes as $funcao)
<option value="{{$funcao->id}}">{{ $funcao->nome }}</option>
@endforeach
</select>
</div>
</div>
</div>
</div>
<!-- MODAL DE ERRO -->
<div class="modal fade" id="aviso-modal-usuario-nao-existe" data-backdrop="static" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header" style="background-color: #dc3545;">
<h5 class="modal-title" id="exampleModalLabel" style="color: white;">Aviso</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
CPF não consta no sistema!
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary btn-color-dafault" data-dismiss="modal">Ok</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="aviso-modal-usuario-adicionado" data-backdrop="static" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header" style="background-color: #32CD32;">
<h5 class="modal-title" id="exampleModalLabel" style="color: white;">Sucesso!</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
Integrante adicionado com sucesso
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary btn-color-dafault" data-dismiss="modal">Ok</button>
</div>
</div>
</div>
</div>
<script>
function mask_cpf() {
$("#cpf_consulta").keydown(function(){
try {
$("#cpf_consulta").unmask();
} catch (e) {}
$("#cpf_consulta").mask("999.999.999-99");
// ajustando foco
var elem = this;
setTimeout(function(){
// mudo a posição do seletor
elem.selectionStart = elem.selectionEnd = 10000;
}, 0);
// reaplico o valor para mudar o foco
var currentValue = $(this).val();
$(this).val('');
$(this).val(currentValue);
});
}
function removerIntegrante(id) {
$(`#integrante${id}`).remove()
}
function preencherUsuarioExistente() {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
url: '{{ route('trabalho.buscarUsuario') }}',
type: 'POST',
dataType: 'json',
data: {
'cpf_consulta': $('#cpf_consulta').val(),
'funcao': $('#funcao_participante').val()
},
success: function (data) {
if(data == 'inexistente' || $('#cpf_consulta').val() == ""){
exibirModalUsuarioInexistente();
}else {
exibirUsuarioAdicionado();
$('#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>
`)
}
}
});
}
function exibirModalUsuarioInexistente() {
$('#aviso-modal-usuario-nao-existe').modal('show');
}
function exibirUsuarioAdicionado() {
$('#aviso-modal-usuario-adicionado').modal('show');;
}
</script>
\ No newline at end of file
......@@ -88,7 +88,8 @@
<div class="row col-md-12">
<div class="form-group col-md-12">
<label for="ods_id" class="col-form-label" style="font-weight: bold">{{ __('Objetivo de Densenvolvimento Sustentável') }} <span style="color: red; font-weight:bold">*</span></label><br>
<label for="ods_id" class="col-form-label" style="font-weight: bold">{{ __('Objetivo de Densenvolvimento Sustentável') }} <span style="color: red; font-weight:bold">*</span></label>
<span>É possível selecionar um ou mais ODS's</span><br>
<div class="row col-md-12">
@foreach($ods as $od)
<div class="col-md-6">
......
......@@ -21,6 +21,10 @@
@include('evento.formulario.participantes')
@endif
@if($edital->natureza_id == 3)
@include('evento.formulario.integrantes')
@endif
@include('evento.formulario.anexos')
......
This diff is collapsed.
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