Commit d992293f authored by carlvercosaa's avatar carlvercosaa
Browse files

Primeiro commit

parent 07df0ab5
Pipeline #24 canceled with stages
...@@ -25,6 +25,8 @@ use Illuminate\Support\Facades\Auth; ...@@ -25,6 +25,8 @@ use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
use App\Endereco; use App\Endereco;
use App\Mail\EventoCriado; use App\Mail\EventoCriado;
use App\ObjetivoDeDesenvolvimentoSustentavel;
use App\Meta;
use geekcom\ValidatorDocs\Rules\Ddd; use geekcom\ValidatorDocs\Rules\Ddd;
use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Mail;
use ZipArchive; use ZipArchive;
...@@ -71,9 +73,10 @@ class EventoController extends Controller ...@@ -71,9 +73,10 @@ class EventoController extends Controller
$coordenadors = CoordenadorComissao::with('user')->get(); $coordenadors = CoordenadorComissao::with('user')->get();
$naturezas = Natureza::orderBy('nome')->get(); $naturezas = Natureza::orderBy('nome')->get();
$yesterday = Carbon::yesterday('America/Recife'); $yesterday = Carbon::yesterday('America/Recife');
$ods = ObjetivoDeDesenvolvimentoSustentavel::with('metas')->get();
$yesterday = $yesterday->toDateString(); $yesterday = $yesterday->toDateString();
return view('evento.criarEvento', ['coordenadors' => $coordenadors, 'naturezas' => $naturezas, 'ontem' => $yesterday]); return view('evento.criarEvento', ['coordenadors' => $coordenadors, 'naturezas' => $naturezas, 'ontem' => $yesterday, 'ods' => $ods]);
} }
/** /**
...@@ -770,6 +773,22 @@ class EventoController extends Controller ...@@ -770,6 +773,22 @@ class EventoController extends Controller
return response()->download($path); return response()->download($path);
} }
public function getMetas($odsId)
{
{
try {
$ods = ObjetivoDeDesenvolvimentoSustentavel::with('metas')->findOrFail($odsId);
$response = [
'ods' => $ods->nome,
'metas' => $ods->metas,
];
return response()->json($response);
} catch (\Exception $e) {
return response()->json(['error' => 'Erro ao carregar as metas'], 500);
}
}
}
// public function baixarModelos($id) { // public function baixarModelos($id) {
// $evento = Evento::find($id); // $evento = Evento::find($id);
......
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Meta extends Model
{
protected $fillable = ['objetivo_de_desenvolvimento_sustentavel_id', 'nome', 'descricao'];
public function ods()
{
return $this->belongsTo('App\ObjetivoDeDesenvolvimentoSustentavel', 'id');
}
}
...@@ -13,4 +13,9 @@ class ObjetivoDeDesenvolvimentoSustentavel extends Model ...@@ -13,4 +13,9 @@ class ObjetivoDeDesenvolvimentoSustentavel extends Model
public function trabalhos(){ public function trabalhos(){
return $this->belongsToMany('App\Trabalho', 'objetivo_de_desenvolvimento_sustentavel_trabalhos', 'objetivo_de_desenvolvimento_sustentavel_id'); return $this->belongsToMany('App\Trabalho', 'objetivo_de_desenvolvimento_sustentavel_trabalhos', 'objetivo_de_desenvolvimento_sustentavel_id');
} }
public function metas()
{
return $this->hasMany('App\Meta', 'objetivo_de_desenvolvimento_sustentavel_id');
}
} }
This source diff could not be displayed because it is too large. You can view the blob instead.
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateMetasTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('metas', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('objetivo_de_desenvolvimento_sustentavel_id');
$table->foreign('objetivo_de_desenvolvimento_sustentavel_id')->references('id')->on('objetivo_de_desenvolvimento_sustentavels');
$table->string('nome');
$table->text('descricao');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('metas');
}
}
...@@ -35,5 +35,6 @@ class DatabaseSeeder extends Seeder ...@@ -35,5 +35,6 @@ class DatabaseSeeder extends Seeder
$this->call(AvaliacaoTrabalhosSeeder::class); $this->call(AvaliacaoTrabalhosSeeder::class);
$this->call(AvaliacaoRelatorioSeeder::class); $this->call(AvaliacaoRelatorioSeeder::class);
$this->call(OdsSeeder::class); $this->call(OdsSeeder::class);
$this->call(MetaSeeder::class);
} }
} }
<?php
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class MetaSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
// METAS ODS 1
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 1,
'nome' => '1.1',
'descricao' => 'Até 2030, erradicar a pobreza extrema para todas as pessoas em todos os lugares, atualmente medida como pessoas vivendo com menos de US$ 1,90 por dia',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 1,
'nome' => '1.2',
'descricao' => 'Até 2030, reduzir pelo menos à metade a proporção de homens, mulheres e crianças, de todas as idades, que vivem na pobreza, em todas as suas dimensões, de acordo com as definições nacionais',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 1,
'nome' => '1.3',
'descricao' => 'Implementar, em nível nacional, medidas e sistemas de proteção social adequados, para todos, incluindo pisos, e até 2030 atingir a cobertura substancial dos pobres e vulneráveis',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 1,
'nome' => '1.4',
'descricao' => 'Até 2030, garantir que todos os homens e mulheres, particularmente os pobres e vulneráveis, tenham direitos iguais aos recursos econômicos, bem como o acesso a serviços básicos, propriedade e controle sobre a terra e outras formas de propriedade, herança, recursos naturais, novas tecnologias apropriadas e serviços financeiros, incluindo microfinanças',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 1,
'nome' => '1.5',
'descricao' => 'Até 2030, construir a resiliência dos pobres e daqueles em situação de vulnerabilidade, e reduzir a exposição e vulnerabilidade destes a eventos extremos relacionados com o clima e outros choques e desastres econômicos, sociais e ambientais',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 1,
'nome' => '1.a',
'descricao' => 'Garantir uma mobilização significativa de recursos a partir de uma variedade de fontes, inclusive por meio do reforço da cooperação para o desenvolvimento, para proporcionar meios adequados e previsíveis para que os países em desenvolvimento, em particular os países menos desenvolvidos, implementem programas e políticas para acabar com a pobreza em todas as suas dimensões',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 1,
'nome' => '1.b',
'descricao' => 'Criar marcos políticos sólidos em níveis nacional, regional e internacional, com base em estratégias de desenvolvimento a favor dos pobres e sensíveis a gênero, para apoiar investimentos acelerados nas ações de erradicação da pobreza',
]);
// METAS ODS 2
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 2,
'nome' => '2.1',
'descricao' => 'Até 2030, acabar com a fome e garantir o acesso de todas as pessoas, em particular os pobres e pessoas em situações vulneráveis, incluindo crianças, a alimentos seguros, nutritivos e suficientes durante todo o ano',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 2,
'nome' => '2.2',
'descricao' => 'Até 2030, acabar com todas as formas de desnutrição, incluindo atingir, até 2025, as metas acordadas internacionalmente sobre nanismo e caquexia em crianças menores de cinco anos de idade, e atender às necessidades nutricionais dos adolescentes, mulheres grávidas e lactantes e pessoas idosas',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 2,
'nome' => '2.3',
'descricao' => 'Até 2030, dobrar a produtividade agrícola e a renda dos pequenos produtores de alimentos, particularmente das mulheres, povos indígenas, agricultores familiares, pastores e pescadores, inclusive por meio de acesso seguro e igual à terra, outros recursos produtivos e insumos, conhecimento, serviços financeiros, mercados e oportunidades de agregação de valor e de emprego não agrícola',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 2,
'nome' => '2.4',
'descricao' => 'Até 2030, garantir sistemas sustentáveis de produção de alimentos e implementar práticas agrícolas resilientes, que aumentem a produtividade e a produção, que ajudem a manter os ecossistemas, que fortaleçam a capacidade de adaptação às mudanças climáticas, às condições meteorológicas extremas, secas, inundações e outros desastres, e que melhorem progressivamente a qualidade da terra e do solo',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 2,
'nome' => '2.5',
'descricao' => 'Até 2020, manter a diversidade genética de sementes, plantas cultivadas, animais de criação e domesticados e suas respectivas espécies selvagens, inclusive por meio de bancos de sementes e plantas diversificados e bem geridos em nível nacional, regional e internacional, e garantir o acesso e a repartição justa e equitativa dos benefícios decorrentes da utilização dos recursos genéticos e conhecimentos tradicionais associados, como acordado internacionalmente',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 2,
'nome' => '2.a',
'descricao' => 'Aumentar o investimento, inclusive via o reforço da cooperação internacional, em infraestrutura rural, pesquisa e extensão de serviços agrícolas, desenvolvimento de tecnologia, e os bancos de genes de plantas e animais, para aumentar a capacidade de produção agrícola nos países em desenvolvimento, em particular nos países menos desenvolvidos',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 2,
'nome' => '2.b',
'descricao' => 'Corrigir e prevenir as restrições ao comércio e distorções nos mercados agrícolas mundiais, incluindo a eliminação paralela de todas as formas de subsídios à exportação e todas as medidas de exportação com efeito equivalente, de acordo com o mandato da Rodada de Desenvolvimento de Doha',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 2,
'nome' => '2.c',
'descricao' => 'Adotar medidas para garantir o funcionamento adequado dos mercados de commodities de alimentos e seus derivados, e facilitar o acesso oportuno à informação de mercado, inclusive sobre as reservas de alimentos, a fim de ajudar a limitar a volatilidade extrema dos preços dos alimentos',
]);
// METAS ODS 3
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 3,
'nome' => '3.1',
'descricao' => 'Até 2030, reduzir a taxa de mortalidade materna global para menos de 70 mortes por 100.000 nascidos vivos',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 3,
'nome' => '3.2',
'descricao' => 'Até 2030, acabar com as mortes evitáveis de recém-nascidos e crianças menores de 5 anos, com todos os países objetivando reduzir a mortalidade neonatal para pelo menos 12 por 1.000 nascidos vivos e a mortalidade de crianças menores de 5 anos para pelo menos 25 por 1.000 nascidos vivos',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 3,
'nome' => '3.3',
'descricao' => 'Até 2030, acabar com as epidemias de AIDS, tuberculose, malária e doenças tropicais negligenciadas, e combater a hepatite, doenças transmitidas pela água, e outras doenças transmissíveis',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 3,
'nome' => '3.4',
'descricao' => 'Até 2030, reduzir em um terço a mortalidade prematura por doenças não transmissíveis via prevenção e tratamento, e promover a saúde mental e o bem-estar',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 3,
'nome' => '3.5',
'descricao' => 'Reforçar a prevenção e o tratamento do abuso de substâncias, incluindo o abuso de drogas entorpecentes e uso nocivo do álcool',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 3,
'nome' => '3.6',
'descricao' => 'Até 2020, reduzir pela metade as mortes e os ferimentos globais por acidentes em estradas',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 3,
'nome' => '3.7',
'descricao' => 'Até 2030, assegurar o acesso universal aos serviços de saúde sexual e reprodutiva, incluindo o planejamento familiar, informação e educação, bem como a integração da saúde reprodutiva em estratégias e programas nacionais',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 3,
'nome' => '3.8',
'descricao' => 'Atingir a cobertura universal de saúde, incluindo a proteção do risco financeiro, o acesso a serviços de saúde essenciais de qualidade e o acesso a medicamentos e vacinas essenciais seguros, eficazes, de qualidade e a preços acessíveis para todos',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 3,
'nome' => '3.9',
'descricao' => 'Até 2030, reduzir substancialmente o número de mortes e doenças por produtos químicos perigosos, contaminação e poluição do ar e água do solo',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 3,
'nome' => '3.a',
'descricao' => 'Fortalecer a implementação da Convenção-Quadro para o Controle do Tabaco em todos os países, conforme apropriado',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 3,
'nome' => '3.b',
'descricao' => 'Apoiar a pesquisa e o desenvolvimento de vacinas e medicamentos para as doenças transmissíveis e não transmissíveis, que afetam principalmente os países em desenvolvimento, proporcionar o acesso a medicamentos e vacinas essenciais a preços acessíveis, de acordo com a Declaração de Doha, que afirma o direito dos países em desenvolvimento de utilizarem plenamente as disposições do acordo TRIPS sobre flexibilidades para proteger a saúde pública e, em particular, proporcionar o acesso a medicamentos para todos',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 3,
'nome' => '3.c',
'descricao' => 'Aumentar substancialmente o financiamento da saúde e o recrutamento, desenvolvimento e formação, e retenção do pessoal de saúde nos países em desenvolvimento, especialmente nos países menos desenvolvidos e nos pequenos Estados insulares em desenvolvimento',
]);
DB::table('metas')->insert([
'objetivo_de_desenvolvimento_sustentavel_id' => 3,
'nome' => '3.d',
'descricao' => 'Reforçar a capacidade de todos os países, particularmente os países em desenvolvimento, para o alerta precoce, redução de riscos e gerenciamento de riscos nacionais e globais de saúde',
]);
}
}
\ No newline at end of file
...@@ -5,548 +5,604 @@ ...@@ -5,548 +5,604 @@
<h1>Novo Edital</h1> <h1>Novo Edital</h1>
</div> </div>
<form action="{{route('evento.criar')}}" method="POST" enctype="multipart/form-data"> <!-- Tabs -->
@csrf
<div>
<input type="hidden" name="tipoAvaliacao" value="campos"> <ul class="nav nav-tabs">
<li class="nav-item" role="presentation">
<div class="row subtitulo"> <button class="nav-link active" id="edital-tab" data-bs-toggle="tab" data-bs-target="#edital-container" type="button" role="tab" aria-controls="edital-container" arial-selected="true"> Edital </button>
<div class="col-sm-12"> </li>
<p>Informações Gerais</p> <li class="nav-item" role="presentation">
</div> <button class="nav-link" id="ods-tab" data-bs-toggle="tab" data-bs-target="#ods-container" type="button" role="tab" aria-controls="ods-container" arial-selected="false"> ODS`S </button>
</div> </li>
</ul>
{{-- nome | Participantes | Tipo--}} </div>
<div class="row justify-content-start">
<div class="col-sm-12">
<label for="nome" class="col-form-label">{{ __('Nome:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="nome" type="text" class="form-control @error('nome') is-invalid @enderror" name="nome" value="{{ old('nome') }}" required autocomplete="nome" autofocus>
@error('nome')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="tipo" class="col-form-label">{{ __('Tipo:') }}<span style="color:red; font-weight:bold;">*</span></label>
<select id="tipo" type="text" class="form-control @error('tipo') is-invalid @enderror" name="tipo" value="{{ old('tipo') }}" required>
<option @if(old('tipo') == "COMPONENTES_CURRICULARES")) selected @endif value="COMPONENTES_CURRICULARES">APOIO À VIVÊNCIA DE COMPONENTES CURRICULARES</option>
<option @if(old('tipo') == "INOVACAO_PEDAGOGICA")) selected @endif value="INOVACAO_PEDAGOGICA">INOVAÇÃO PEDAGÓGICA</option>
<option @if(old('tipo') == "PSICOSSOCIAL_PSICOPEDAGOGICO")) selected @endif value="PSICOSSOCIAL_PSICOPEDAGOGICO">APOIO PSICOSSOCIAL OU PSICOPEDAGÓGICO</option>
</select>
@error('tipo')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-sm-3">
<label for="natureza" class="col-form-label">{{ __('Natureza:') }}<span style="color:red; font-weight:bold;">*</span></label>
<select onchange="selecionar_decisao_camara()" id="natureza" type="text" class="form-control @error('natureza') is-invalid @enderror" name="natureza" value="{{ old('natureza') }}">
@foreach ($naturezas as $natureza)
<option @if(old('natureza')==$natureza->id ) selected @endif value="{{ $natureza->id }}">{{ $natureza->nome }}</option>
@endforeach
</select>
@error('natureza')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-sm-3">
<label for="numParticipantes" class="col-form-label">{{ __('Nº de Discentes:') }}</label>
<input id="numParticipantes" type="number" min="1" max="500" class="form-control @error('numParticipantes') is-invalid @enderror" name="numParticipantes" value="{{ old('numParticipantes') }}" autocomplete="numParticipantes" autofocus>
@error('numParticipantes')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
{{-- end nome | Participantes | Tipo--}}
<div class="row justify-content-start mb-1 mt-2">
<div class="col-sm-3"> <!-- Panels -->
<label for="check_docExtra" class="col-form-label">{{ __('Documento extra?') }}</label>
<input type="checkbox" name="check_docExtra" id="check_docExtra" onclick="showDocumentoExtra()" style="margin-left: 5px" {{ old('check_docExtra') ? 'checked' : ''}}>
</div>
<div class="col-sm-3"> <div id="tab-containers" class="tab-content">
<label for="cotaDoutor" class="col-form-label">{{ __('Cota para recém doutor: ') }}</label>
<input type="checkbox" name="cotaDoutor" id="cotaDoutor" style="margin-left: 5px" {{ old('cotaDoutor') ? 'checked' : ''}}>
@error('cotaDoutor') <div id="edital-container" class="tab-pane fade show active" role="tabpanel" aria-labelledby="edital-tab">
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
{{--Nome do Documento Extra--}}
<div class="col-sm-3" style="display: none">
<label for="obrigatoriedade_docExtra" class="col-form-label">{{ __('Obrigatoriedade: ') }}</label>
<input type="checkbox" name="obrigatoriedade_docExtra" id="obrigatoriedade_docExtra" style="margin-left: 5px" {{ old('obrigatoriedade_docExtra') ? 'checked' : ''}}>
@error('obrigatoriedade_docExtra')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class='col-md-3' style='display:none'>
<label for="nome_docExtra" class="col-form-label">{{ __('Digite o nome do Documento') }} <span style="color:red; font-weight:bold;">*</span></label>
<input id="nome_docExtra" type="text" class="form-control @error('nome_docExtra') is-invalid @enderror" name="nome_docExtra" value="{{ old('nome_docExtra') }}" placeholder="Nome do Documento" autocomplete="nome_docExtra" autofocus>
@error('nome_docExtra')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div> <form action="{{route('evento.criar')}}" method="POST" enctype="multipart/form-data">
@csrf
{{-- Descricao Edital --}}
<div class="row justify-content-center"> <input type="hidden" name="tipoAvaliacao" value="campos">
<div class="col-sm-12">
<div class="form-group"> <div class="row subtitulo">
<label for="exampleFormControlTextarea1">Descrição:<span style="color:red; font-weight:bold;">*</span></label> <div class="col-sm-12">
<textarea class="form-control @error('descricao') is-invalid @enderror" required autocomplete="descricao" autofocus id="descricao" name="descricao" rows="6">{{ old('descricao') }}</textarea> <p>Informações Gerais</p>
@error('descricao') </div>
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div> </div>
</div>
</div> {{-- nome | Participantes | Tipo--}}
<div class="row justify-content-center"> <div class="row justify-content-start">
<div class="col-sm-12"> <div class="col-sm-12">
<div class="row"> <label for="nome" class="col-form-label">{{ __('Nome:') }}<span style="color:red; font-weight:bold;">*</span></label>
<div class="col-md-11"> <input id="nome" type="text" class="form-control @error('nome') is-invalid @enderror" name="nome" value="{{ old('nome') }}" required autocomplete="nome" autofocus>
<label for="coordenador_id" class="col-form-label">{{ __('Coordenador:') }}<span style="color:red; font-weight:bold;">*</span></label>
@error('nome')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div> </div>
<div class="col-md-1 text-sm-right">
<a type="button" value="Selecionar" data-toggle="modal" data-target="#modalCoord"> <div class="col-sm-6">
<img class="" src="{{asset('img/icons/add.ico')}}" style="width:30px" alt=""> <label for="tipo" class="col-form-label">{{ __('Tipo:') }}<span style="color:red; font-weight:bold;">*</span></label>
</a> <select id="tipo" type="text" class="form-control @error('tipo') is-invalid @enderror" name="tipo" value="{{ old('tipo') }}" required>
<option @if(old('tipo') == "COMPONENTES_CURRICULARES")) selected @endif value="COMPONENTES_CURRICULARES">APOIO À VIVÊNCIA DE COMPONENTES CURRICULARES</option>
<option @if(old('tipo') == "INOVACAO_PEDAGOGICA")) selected @endif value="INOVACAO_PEDAGOGICA">INOVAÇÃO PEDAGÓGICA</option>
<option @if(old('tipo') == "PSICOSSOCIAL_PSICOPEDAGOGICO")) selected @endif value="PSICOSSOCIAL_PSICOPEDAGOGICO">APOIO PSICOSSOCIAL OU PSICOPEDAGÓGICO</option>
</select>
@error('tipo')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div> </div>
</div>
<div class="col-sm-3">
<input id="coordenador_id" name="coordenador_id" class="form-control" value="{{old('coordenador_id')}}" hidden> <label for="natureza" class="col-form-label">{{ __('Natureza:') }}<span style="color:red; font-weight:bold;">*</span></label>
<select onchange="selecionar_decisao_camara()" id="natureza" type="text" class="form-control @error('natureza') is-invalid @enderror" name="natureza" value="{{ old('natureza') }}">
<input style="margin-top: 5px" id="coordenador_name" name="coordenador_name" class="form-control @error('coordenador_id') is-invalid @enderror" value="{{old('coordenador_name')}}" placeholder="Nenhum Coordenador atribuido" required readonly> @foreach ($naturezas as $natureza)
<option @if(old('natureza')==$natureza->id ) selected @endif value="{{ $natureza->id }}">{{ $natureza->nome }}</option>
{{-- <select class="form-control @error('coordenador_id') is-invalid @enderror" id="coordenador_id" name="coordenador_id" style="pointer-events: none"> @endforeach
<option value="" disabled selected hidden>-- Coordenador da Comissão Avaliadora --</option> </select>
@foreach($coordenadors as $coordenador)
<option @if(old('coordenador_id')==$coordenador->id ) selected @endif value="{{$coordenador->id}}">{{$coordenador->user->name}}</option> @error('natureza')
@endforeach <span class="invalid-feedback" role="alert">
</select>--}} <strong>{{ $message }}</strong>
@error('coordenador_id') </span>
<span class="invalid-feedback" role="alert"> @enderror
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<!-- Modal Coordenador -->
<div class="modal fade" id="modalCoord" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-lg">
<div class="modal-content">
<div class="modal-header" style="overflow-x:auto">
<h5 class="modal-title" id="exampleModalLabel" style="color:#1492E6">Coordenadores</h5>
<button type="button" class="close" aria-label="Close" data-dismiss="modal" style="padding-top: 8px; color:#1492E6">
<span aria-hidden="true">&times;</span>
</button>
</div> </div>
<div class="col-sm-3">
<div class="modal-body"> <label for="numParticipantes" class="col-form-label">{{ __('Nº de Discentes:') }}</label>
<table class="table table-bordered">
<thead> <input id="numParticipantes" type="number" min="1" max="500" class="form-control @error('numParticipantes') is-invalid @enderror" name="numParticipantes" value="{{ old('numParticipantes') }}" autocomplete="numParticipantes" autofocus>
<tr>
<th scope="col">Nome</th> @error('numParticipantes')
<th scope="col">Email</th> <span class="invalid-feedback" role="alert">
<th scope="col">Celular</th> <strong>{{ $message }}</strong>
<th scope="col">Instituição</th> </span>
<th scope="col">Seleção</th> @enderror
</tr>
</thead>
<tbody id="projetos">
@foreach($coordenadors as $coordenador)
<tr>
<td>{{$coordenador->user->name}}</td>
<td>{{$coordenador->user->email}}</td>
@if($coordenador->user->celular != null)
<td>{{$coordenador->user->celular}}</td>
@else
<td>Não Definido</td>
@endif
@if($coordenador->user->instituicao != null)
<td>{{$coordenador->user->instituicao}}</td>
@else
<td>Não Definida</td>
@endif
<td style="text-align-last:center"><input type="button" class="btn-primary btn" value="Definir" onclick="defCoord({{$coordenador->id}},'{{$coordenador->user->name}}')" style="width: 100px"></td>
</tr>
@endforeach
</tbody>
</table>
</div> </div>
</div> </div>
</div> {{-- end nome | Participantes | Tipo--}}
</div>
<div class="row justify-content-start mb-1 mt-2">
<hr>
<div class="row subtitulo"> <div class="col-sm-3">
<div class="col-sm-12"> <label for="check_docExtra" class="col-form-label">{{ __('Documento extra?') }}</label>
<p>Projetos</p> <input type="checkbox" name="check_docExtra" id="check_docExtra" onclick="showDocumentoExtra()" style="margin-left: 5px" {{ old('check_docExtra') ? 'checked' : ''}}>
</div> </div>
</div>
{{-- dataInicio | dataFim | inicioSubmissao | fimSubmissao --}} <div class="col-sm-3">
<div class="row justify-content-center"> <label for="cotaDoutor" class="col-form-label">{{ __('Cota para recém doutor: ') }}</label>
<input type="checkbox" name="cotaDoutor" id="cotaDoutor" style="margin-left: 5px" {{ old('cotaDoutor') ? 'checked' : ''}}>
<div class="col-sm-6">
<label for="inicioSubmissao" class="col-form-label">{{ __('Início da Submissão:') }}<span style="color:red; font-weight:bold;">*</span></label> @error('cotaDoutor')
<input id="inicioSubmissao" type="date" class="form-control @error('inicioSubmissao') is-invalid @enderror" name="inicioSubmissao" value="{{ old('inicioSubmissao') }}" required autocomplete="inicioSubmissao" autofocus>
@error('inicioSubmissao')
<span class="invalid-feedback" role="alert">
<strong>
@if ($message != null)
@for ($i = 0; $i < 9; $i++) @if ($i < 8) {{ explode(" ", $message)[$i] }} @else {{ date('d/m/Y', strtotime(explode(" ", $message)[$i])) }} @endif @endfor @endif </strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="fimSubmissao" class="col-form-label">{{ __('Fim da Submissão:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="fimSubmissao" type="date" class="form-control @error('fimSubmissao') is-invalid @enderror" name="fimSubmissao" value="{{ old('fimSubmissao') }}" required autocomplete="fimSubmissao" autofocus>
@error('fimSubmissao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
{{-- end dataInicio | dataFim | inicioSubmissao | fimSubmissao --}}
<div class="row justify-content-center">
<div class="col-sm-6">
<label for="inicioRevisao" class="col-form-label">{{ __('Início da Avaliação:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="inicioRevisao" type="date" class="form-control @error('inicioRevisao') is-invalid @enderror" name="inicioRevisao" value="{{ old('inicioRevisao') }}" required autocomplete="inicioRevisao" autofocus>
@error('inicioRevisao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="fimRevisao" class="col-form-label">{{ __('Fim da Avaliação:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="fimRevisao" type="date" class="form-control @error('fimRevisao') is-invalid @enderror" name="fimRevisao" value="{{ old('fimRevisao') }}" required autocomplete="fimRevisao" autofocus>
@error('fimRevisao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="row justify-content-left">
<div class="col-sm-6">
<label for="resultado_preliminar" class="col-form-label">{{ __('Resultado Preliminar:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="resultado_preliminar" type="date" class="form-control @error('resultado_preliminar') is-invalid @enderror" name="resultado_preliminar" value="{{ old('resultado_preliminar') }}" required autocomplete="resultado_preliminar" autofocus>
@error('resultado_preliminar')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="inicio_recurso" class="col-form-label">{{ __('Início do recurso:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="inicio_recurso" type="date" class="form-control @error('inicio_recurso') is-invalid @enderror" name="inicio_recurso" value="{{ old('inicio_recurso') }}" required autocomplete="inicio_recurso" autofocus>
@error('inicio_recurso')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="row justify-content-left">
<div class="col-sm-6">
<label for="fim_recurso" class="col-form-label">{{ __('Fim do Recurso:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="fim_recurso" type="date" class="form-control @error('fim_recurso') is-invalid @enderror" name="fim_recurso" value="{{ old('fim_recurso') }}" required autocomplete="resultado" autofocus>
@error('fim_recurso')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="resultado_final" class="col-form-label">{{ __('Resultado Final:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="resultado_final" type="date" class="form-control @error('resultado_final') is-invalid @enderror" name="resultado_final" value="{{ old('resultado_final') }}" required autocomplete="resultado" autofocus>
@error('resultado_final')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<hr>
<div class="row subtitulo">
<div class="col-sm-12">
<p>Relatórios</p>
</div>
</div>
<div class="row justify-content-left">
<div class="col-sm-6">
<label for="dt_inicioRelatorioParcial" class="col-form-label">{{ __('Início do Relatório Parcial:') }}</label>
<input id="dt_inicioRelatorioParcial" type="date" class="form-control @error('dt_inicioRelatorioParcial') is-invalid @enderror" name="dt_inicioRelatorioParcial" value="{{ old('dt_inicioRelatorioParcial') }}" autocomplete="dt_inicioRelatorioParcial" autofocus title="Início para o período do envio do relatório parcial">
@error('dt_inicioRelatorioParcial')
<span class="invalid-feedback" role="alert">
<strong>Apenas será aceita data posterior ao dia do Resultado Final</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="dt_fimRelatorioParcial" class="col-form-label">{{ __('Fim do Relatório Parcial:') }}</label>
<input id="dt_fimRelatorioParcial" type="date" class="form-control @error('dt_fimRelatorioParcial') is-invalid @enderror" name="dt_fimRelatorioParcial" value="{{ old('dt_fimRelatorioParcial') }}" autocomplete="dt_fimRelatorioParcial" autofocus title="Final do período de envio do relatório parcial">
@error('dt_fimRelatorioParcial')
<span class="invalid-feedback" role="alert">
<strong>A data deve ser igual ou posterior a data de início do Relatório Parcial</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="dt_inicioRelatorioFinal" class="col-form-label">{{ __('Início do Relatório Final:') }}</label>
<input id="dt_inicioRelatorioFinal" type="date" class="form-control @error('dt_inicioRelatorioFinal') is-invalid @enderror" name="dt_inicioRelatorioFinal" value="{{ old('dt_inicioRelatorioFinal') }}" autocomplete="dt_inicioRelatorioFinal" autofocus title="Início para o período de envio do relatório final">
@error('dt_inicioRelatorioFinal')
<span class="invalid-feedback" role="alert">
<strong>Apenas será aceita data posterior ao fim do Relatório Parcial</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="dt_fimRelatorioFinal" class="col-form-label">{{ __('Fim do Relatório Final:') }}</label>
<input id="dt_fimRelatorioFinal" type="date" class="form-control @error('dt_fimRelatorioFinal') is-invalid @enderror" name="dt_fimRelatorioFinal" value="{{ old('dt_fimRelatorioFinal') }}" autocomplete="dt_fimRelatorioFinal" autofocus title="Final do período de envio do relatório final">
@error('dt_fimRelatorioFinal')
<span class="invalid-feedback" role="alert">
<strong>A data deve ser igual ou posterior a data de início do Relatório Final</strong>
</span>
@enderror
</div>
</div>
<hr>
<div class="row subtitulo">
<div class="col-sm-12">
<p>Avaliação - Barema</p>
</div>
</div>
<div class="">
<div class="row mb-4">
<label class="col-sm-3" for="pontuacao">Valor total da pontuação por Barema:<span style="color:red; font-weight:bold;">*</span></label>
<input type="number" name="pontuacao" min="1" class="col-sm-1 form-control" id="pontuacao" value="{{old('pontuacao')}}"/>
</div>
<h3 class="h5">Campos do Barema:</h3>
</div>
<div class="row justify-content-center" style="margin-top:10px;" id="displayCampos">
<table class="table table-bordered col-sm-12" id="dynamicAddRemove">
<tr>
<th>Nome<span style="color:red; font-weight:bold;">*</span></th>
<th>Descrição</th>
<th>Nota Máxima<span style="color:red; font-weight:bold;">*</span></th>
<th>Prioridade<span style="color:red; font-weight:bold;">*</span></th>
<th>Ação</th>
</tr>
<tr>
<td><input type="text" name="inputField[0][nome]" class="form-control nome @error('inputField.*.nome') is-invalid @enderror" value="{{ old('inputField[0][nome]') }}" />
@error('inputField.*.nome')
<span class="invalid-feedback" role="alert"> <span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong> <strong>{{ $message }}</strong>
</span> </span>
@enderror @enderror
</td> </div>
<td><input type="text" name="inputField[0][descricao]" class="form-control descricao @error('inputField.*.descricao') is-invalid @enderror" value="{{ old('inputField[0][descricao]') }}" />
@error('inputField.*.descricao') {{--Nome do Documento Extra--}}
<div class="col-sm-3" style="display: none">
<label for="obrigatoriedade_docExtra" class="col-form-label">{{ __('Obrigatoriedade: ') }}</label>
<input type="checkbox" name="obrigatoriedade_docExtra" id="obrigatoriedade_docExtra" style="margin-left: 5px" {{ old('obrigatoriedade_docExtra') ? 'checked' : ''}}>
@error('obrigatoriedade_docExtra')
<span class="invalid-feedback" role="alert"> <span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong> <strong>{{ $message }}</strong>
</span> </span>
@enderror @enderror
</td> </div>
<td><input type="number" min="1" step="1" name="inputField[0][nota_maxima]" class="form-control nota_maxima @error('inputField.*.nota_maxima') is-invalid @enderror" value="{{ old('inputField[0][nota_maxima]') }}" />
@error('inputField.*.nota_maxima') <div class='col-md-3' style='display:none'>
<label for="nome_docExtra" class="col-form-label">{{ __('Digite o nome do Documento') }} <span style="color:red; font-weight:bold;">*</span></label>
<input id="nome_docExtra" type="text" class="form-control @error('nome_docExtra') is-invalid @enderror" name="nome_docExtra" value="{{ old('nome_docExtra') }}" placeholder="Nome do Documento" autocomplete="nome_docExtra" autofocus>
@error('nome_docExtra')
<span class="invalid-feedback" role="alert"> <span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong> <strong>{{ $message }}</strong>
</span> </span>
@enderror @enderror
</td> </div>
<td>
<select name="inputField[0][prioridade]" class="form-control prioridade @error('inputField.*.prioridade') is-invalid @enderror"> </div>
<option value="" selected>-- ORDEM --</option>
<option value="1" class="ordem_option">1</option> {{-- Descricao Edital --}}
</select> <div class="row justify-content-center">
@error('inputField.*.prioridade') <div class="col-sm-12">
<div class="form-group">
<label for="exampleFormControlTextarea1">Descrição:<span style="color:red; font-weight:bold;">*</span></label>
<textarea class="form-control @error('descricao') is-invalid @enderror" required autocomplete="descricao" autofocus id="descricao" name="descricao" rows="6">{{ old('descricao') }}</textarea>
@error('descricao')
<span class="invalid-feedback" role="alert"> <span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong> <strong>{{ $message }}</strong>
</span> </span>
@enderror
</div>
</div>
</div>
<div class="row justify-content-center">
<div class="col-sm-12">
<div class="row">
<div class="col-md-11">
<label for="coordenador_id" class="col-form-label">{{ __('Coordenador:') }}<span style="color:red; font-weight:bold;">*</span></label>
</div>
<div class="col-md-1 text-sm-right">
<a type="button" value="Selecionar" data-toggle="modal" data-target="#modalCoord">
<img class="" src="{{asset('img/icons/add.ico')}}" style="width:30px" alt="">
</a>
</div>
</div>
<input id="coordenador_id" name="coordenador_id" class="form-control" value="{{old('coordenador_id')}}" hidden>
<input style="margin-top: 5px" id="coordenador_name" name="coordenador_name" class="form-control @error('coordenador_id') is-invalid @enderror" value="{{old('coordenador_name')}}" placeholder="Nenhum Coordenador atribuido" required readonly>
{{-- <select class="form-control @error('coordenador_id') is-invalid @enderror" id="coordenador_id" name="coordenador_id" style="pointer-events: none">
<option value="" disabled selected hidden>-- Coordenador da Comissão Avaliadora --</option>
@foreach($coordenadors as $coordenador)
<option @if(old('coordenador_id')==$coordenador->id ) selected @endif value="{{$coordenador->id}}">{{$coordenador->user->name}}</option>
@endforeach
</select>--}}
@error('coordenador_id')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror @enderror
</td> </div>
<td><button type="button" name="add" id="dynamic-ar" class="btn btn-outline-primary">Adicionar</button></td>
</tr>
</table>
@if($errors->has('inputField.*'))
<div class="col-sm-12 alert alert-danger" id="inputFieldError">
Você deve preencher os campos obrigatórios.
</div> </div>
@endif <!-- Modal Coordenador -->
<div class="modal fade" id="modalCoord" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="col-sm-12 alert alert-danger" style="display: none" id="nota_maxima_invalida"> <div class="modal-dialog modal-dialog-centered modal-lg">
A soma das notas máximas deve ser igual a pontuação total definida. <div class="modal-content">
</div>
<div class="modal-header" style="overflow-x:auto">
<input type="checkbox" id="checkB[0]" checked name="campos[]" value="0" hidden> <h5 class="modal-title" id="exampleModalLabel" style="color:#1492E6">Coordenadores</h5>
<button type="button" class="close" aria-label="Close" data-dismiss="modal" style="padding-top: 8px; color:#1492E6">
<input type="number" name="somaNotas" value="0" id="somaNotas" hidden> <span aria-hidden="true">&times;</span>
</button>
</div> </div>
<hr> <div class="modal-body">
<div class="row subtitulo"> <table class="table table-bordered">
<div class="col-sm-12"> <thead>
<p>Documentos</p> <tr>
</div> <th scope="col">Nome</th>
</div> <th scope="col">Email</th>
<th scope="col">Celular</th>
{{-- Pdf Edital --}} <th scope="col">Instituição</th>
<div class="row justify-content-center" style="margin-top:10px"> <th scope="col">Seleção</th>
<div class="col-sm-6"> </tr>
<div class="form-group"> </thead>
<label for="pdfEdital">Anexar edital:<span style="color:red; font-weight:bold;">*</span></label> <tbody id="projetos">
@if(old('pdfEditalPreenchido') != null)
<a id="pdfEditalTemp" href="{{ route('baixar.evento.temp', ['nomeAnexo' => 'pdfEdital' ])}}">Arquivo atual</a> @foreach($coordenadors as $coordenador)
@endif <tr>
<input type="hidden" id="pdfEditalPreenchido" name="pdfEditalPreenchido" value="{{ old('pdfEditalPreenchido') }}"> <td>{{$coordenador->user->name}}</td>
<input type="file" accept=".pdf" class="form-control-file pdf @error('pdfEdital') is-invalid @enderror" name="pdfEdital" value="{{ old('pdfEdital') }}" id="pdfEdital" onchange="exibirAnexoTemp(this)"> <td>{{$coordenador->user->email}}</td>
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small> @if($coordenador->user->celular != null)
@error('pdfEdital') <td>{{$coordenador->user->celular}}</td>
<span class="invalid-feedback" role="alert"> @else
<strong>{{ $message }}</strong> <td>Não Definido</td>
</span> @endif
@enderror @if($coordenador->user->instituicao != null)
<td>{{$coordenador->user->instituicao}}</td>
@else
<td>Não Definida</td>
@endif
<td style="text-align-last:center"><input type="button" class="btn-primary btn" value="Definir" onclick="defCoord({{$coordenador->id}},'{{$coordenador->user->name}}')" style="width: 100px"></td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div> </div>
</div>
<hr>
<div class="col-sm-6"> <div class="row subtitulo">
<div class="form-group"> <div class="col-sm-12">
<label for="modeloDocumento">Anexar modelo de proposta de trabalho:<span style="color:red; font-weight:bold;">*</span></label> <p>Projetos</p>
@if(old('modeloDocumentoPreenchido') != null) </div>
<a id="modeloDocumentoTemp" href="{{ route('baixar.evento.temp', ['nomeAnexo' => 'modeloDocumento' ])}}">Arquivo atual</a>
@endif
<input type="hidden" id="modeloDocumentoPreenchido" name="modeloDocumentoPreenchido" value="{{ old('modeloDocumentoPreenchido') }}">
<input type="file" class="form-control-file @error('modeloDocumento') is-invalid @enderror" name="modeloDocumento" value="{{ old('modeloDocumento') }}" id="modeloDocumento" onchange="exibirAnexoTemp(this)">
<small>O arquivo selecionado deve ter até 2mb.</small>
@error('modeloDocumento')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div> </div>
</div> {{-- dataInicio | dataFim | inicioSubmissao | fimSubmissao --}}
<div class="row justify-content-center">
<div class="col-sm-6">
<div class="form-group"> <div class="col-sm-6">
<label for="pdfRecurso">Anexar modelo do formulário de recurso:<span style="color:red; font-weight:bold;">*</span></label> <label for="inicioSubmissao" class="col-form-label">{{ __('Início da Submissão:') }}<span style="color:red; font-weight:bold;">*</span></label>
@if(old('pdfRecursoPreenchido') != null) <input id="inicioSubmissao" type="date" class="form-control @error('inicioSubmissao') is-invalid @enderror" name="inicioSubmissao" value="{{ old('inicioSubmissao') }}" required autocomplete="inicioSubmissao" autofocus>
<a id="pdfRecursoTemp" href="{{ route('baixar.evento.temp', ['nomeAnexo' => 'docRecurso' ])}}">Arquivo atual</a>
@endif @error('inicioSubmissao')
<input type="hidden" id="pdfRecursoPreenchido" name="pdfRecursoPreenchido" value="{{ old('pdfRecursoPreenchido') }}"> <span class="invalid-feedback" role="alert">
<input type="file" accept=".pdf" class="form-control-file pdf @error('pdfRecurso') is-invalid @enderror" name="pdfRecurso" value="{{ old('pdfRecurso') }}" id="pdfRecurso" onchange="exibirAnexoTemp(this)"> <strong>
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small> @if ($message != null)
@error('pdfRecurso') @for ($i = 0; $i < 9; $i++) @if ($i < 8) {{ explode(" ", $message)[$i] }} @else {{ date('d/m/Y', strtotime(explode(" ", $message)[$i])) }} @endif @endfor @endif </strong>
<span class="invalid-feedback" role="alert"> </span>
<strong>{{ $message }}</strong> @enderror
</span> </div>
@enderror <div class="col-sm-6">
<label for="fimSubmissao" class="col-form-label">{{ __('Fim da Submissão:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="fimSubmissao" type="date" class="form-control @error('fimSubmissao') is-invalid @enderror" name="fimSubmissao" value="{{ old('fimSubmissao') }}" required autocomplete="fimSubmissao" autofocus>
@error('fimSubmissao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div> </div>
</div> {{-- end dataInicio | dataFim | inicioSubmissao | fimSubmissao --}}
<div class="col-sm-6"> <div class="row justify-content-center">
<div class="form-group"> <div class="col-sm-6">
<label for="pdfRelatorio">Anexar modelo do relatório técnico/pedagógico:</label> <label for="inicioRevisao" class="col-form-label">{{ __('Início da Avaliação:') }}<span style="color:red; font-weight:bold;">*</span></label>
@if(old('pdfRelatorioPreenchido') != null) <input id="inicioRevisao" type="date" class="form-control @error('inicioRevisao') is-invalid @enderror" name="inicioRevisao" value="{{ old('inicioRevisao') }}" required autocomplete="inicioRevisao" autofocus>
<a id="pdfRelatorioTemp" href="{{ route('baixar.evento.temp', ['nomeAnexo' => 'docRelatorio' ])}}">Arquivo atual</a>
@endif @error('inicioRevisao')
<input type="hidden" id="pdfRelatorioPreenchido" name="pdfRelatorioPreenchido" value="{{ old('pdfRelatorioPreenchido') }}"> <span class="invalid-feedback" role="alert">
<input type="file" accept=".pdf" class="form-control-file pdf @error('pdfRelatorio') is-invalid @enderror" name="pdfRelatorio" value="{{ old('pdfRelatorio') }}" id="pdfRelatorio" onchange="exibirAnexoTemp(this)"> <strong>{{ $message }}</strong>
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small> </span>
@error('pdfFormAvalRelatorio') @enderror
<span class="invalid-feedback" role="alert"> </div>
<strong>{{ $message }}</strong> <div class="col-sm-6">
</span> <label for="fimRevisao" class="col-form-label">{{ __('Fim da Avaliação:') }}<span style="color:red; font-weight:bold;">*</span></label>
@enderror <input id="fimRevisao" type="date" class="form-control @error('fimRevisao') is-invalid @enderror" name="fimRevisao" value="{{ old('fimRevisao') }}" required autocomplete="fimRevisao" autofocus>
@error('fimRevisao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div> </div>
</div>
<div class="row justify-content-left">
<div class="col-sm-12"> <div class="col-sm-6">
<div class="form-group"> <label for="resultado_preliminar" class="col-form-label">{{ __('Resultado Preliminar:') }}<span style="color:red; font-weight:bold;">*</span></label>
<label for="pdfFormAvalRelatorio">Anexar formulário de avaliação do relatório:</label> <input id="resultado_preliminar" type="date" class="form-control @error('resultado_preliminar') is-invalid @enderror" name="resultado_preliminar" value="{{ old('resultado_preliminar') }}" required autocomplete="resultado_preliminar" autofocus>
@if(old('pdfFormAvalRelatorioPreenchido') != null)
<a id="pdfFormAvalRelatorioTemp" href="{{ route('baixar.evento.temp', ['nomeAnexo' => 'formAvaliacaoPlano' ])}}">Arquivo atual</a> @error('resultado_preliminar')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="inicio_recurso" class="col-form-label">{{ __('Início do recurso:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="inicio_recurso" type="date" class="form-control @error('inicio_recurso') is-invalid @enderror" name="inicio_recurso" value="{{ old('inicio_recurso') }}" required autocomplete="inicio_recurso" autofocus>
@error('inicio_recurso')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="row justify-content-left">
<div class="col-sm-6">
<label for="fim_recurso" class="col-form-label">{{ __('Fim do Recurso:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="fim_recurso" type="date" class="form-control @error('fim_recurso') is-invalid @enderror" name="fim_recurso" value="{{ old('fim_recurso') }}" required autocomplete="resultado" autofocus>
@error('fim_recurso')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="resultado_final" class="col-form-label">{{ __('Resultado Final:') }}<span style="color:red; font-weight:bold;">*</span></label>
<input id="resultado_final" type="date" class="form-control @error('resultado_final') is-invalid @enderror" name="resultado_final" value="{{ old('resultado_final') }}" required autocomplete="resultado" autofocus>
@error('resultado_final')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<hr>
<div class="row subtitulo">
<div class="col-sm-12">
<p>Relatórios</p>
</div>
</div>
<div class="row justify-content-left">
<div class="col-sm-6">
<label for="dt_inicioRelatorioParcial" class="col-form-label">{{ __('Início do Relatório Parcial:') }}</label>
<input id="dt_inicioRelatorioParcial" type="date" class="form-control @error('dt_inicioRelatorioParcial') is-invalid @enderror" name="dt_inicioRelatorioParcial" value="{{ old('dt_inicioRelatorioParcial') }}" autocomplete="dt_inicioRelatorioParcial" autofocus title="Início para o período do envio do relatório parcial">
@error('dt_inicioRelatorioParcial')
<span class="invalid-feedback" role="alert">
<strong>Apenas será aceita data posterior ao dia do Resultado Final</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="dt_fimRelatorioParcial" class="col-form-label">{{ __('Fim do Relatório Parcial:') }}</label>
<input id="dt_fimRelatorioParcial" type="date" class="form-control @error('dt_fimRelatorioParcial') is-invalid @enderror" name="dt_fimRelatorioParcial" value="{{ old('dt_fimRelatorioParcial') }}" autocomplete="dt_fimRelatorioParcial" autofocus title="Final do período de envio do relatório parcial">
@error('dt_fimRelatorioParcial')
<span class="invalid-feedback" role="alert">
<strong>A data deve ser igual ou posterior a data de início do Relatório Parcial</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="dt_inicioRelatorioFinal" class="col-form-label">{{ __('Início do Relatório Final:') }}</label>
<input id="dt_inicioRelatorioFinal" type="date" class="form-control @error('dt_inicioRelatorioFinal') is-invalid @enderror" name="dt_inicioRelatorioFinal" value="{{ old('dt_inicioRelatorioFinal') }}" autocomplete="dt_inicioRelatorioFinal" autofocus title="Início para o período de envio do relatório final">
@error('dt_inicioRelatorioFinal')
<span class="invalid-feedback" role="alert">
<strong>Apenas será aceita data posterior ao fim do Relatório Parcial</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="dt_fimRelatorioFinal" class="col-form-label">{{ __('Fim do Relatório Final:') }}</label>
<input id="dt_fimRelatorioFinal" type="date" class="form-control @error('dt_fimRelatorioFinal') is-invalid @enderror" name="dt_fimRelatorioFinal" value="{{ old('dt_fimRelatorioFinal') }}" autocomplete="dt_fimRelatorioFinal" autofocus title="Final do período de envio do relatório final">
@error('dt_fimRelatorioFinal')
<span class="invalid-feedback" role="alert">
<strong>A data deve ser igual ou posterior a data de início do Relatório Final</strong>
</span>
@enderror
</div>
</div>
<hr>
<div class="row subtitulo">
<div class="col-sm-12">
<p>Avaliação - Barema</p>
</div>
</div>
<div class="">
<div class="row mb-4">
<label class="col-sm-3" for="pontuacao">Valor total da pontuação por Barema:<span style="color:red; font-weight:bold;">*</span></label>
<input type="number" name="pontuacao" min="1" class="col-sm-1 form-control" id="pontuacao" value="{{old('pontuacao')}}"/>
</div>
<h3 class="h5">Campos do Barema:</h3>
</div>
<div class="row justify-content-center" style="margin-top:10px;" id="displayCampos">
<table class="table table-bordered col-sm-12" id="dynamicAddRemove">
<tr>
<th>Nome<span style="color:red; font-weight:bold;">*</span></th>
<th>Descrição</th>
<th>Nota Máxima<span style="color:red; font-weight:bold;">*</span></th>
<th>Prioridade<span style="color:red; font-weight:bold;">*</span></th>
<th>Ação</th>
</tr>
<tr>
<td><input type="text" name="inputField[0][nome]" class="form-control nome @error('inputField.*.nome') is-invalid @enderror" value="{{ old('inputField[0][nome]') }}" />
@error('inputField.*.nome')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</td>
<td><input type="text" name="inputField[0][descricao]" class="form-control descricao @error('inputField.*.descricao') is-invalid @enderror" value="{{ old('inputField[0][descricao]') }}" />
@error('inputField.*.descricao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</td>
<td><input type="number" min="1" step="1" name="inputField[0][nota_maxima]" class="form-control nota_maxima @error('inputField.*.nota_maxima') is-invalid @enderror" value="{{ old('inputField[0][nota_maxima]') }}" />
@error('inputField.*.nota_maxima')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</td>
<td>
<select name="inputField[0][prioridade]" class="form-control prioridade @error('inputField.*.prioridade') is-invalid @enderror">
<option value="" selected>-- ORDEM --</option>
<option value="1" class="ordem_option">1</option>
</select>
@error('inputField.*.prioridade')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</td>
<td><button type="button" name="add" id="dynamic-ar" class="btn btn-outline-primary">Adicionar</button></td>
</tr>
</table>
@if($errors->has('inputField.*'))
<div class="col-sm-12 alert alert-danger" id="inputFieldError">
Você deve preencher os campos obrigatórios.
</div>
@endif @endif
<input type="hidden" id="pdfFormAvalRelatorioPreenchido" name="pdfFormAvalRelatorioPreenchido" value="{{ old('pdfFormAvalRelatorioPreenchido') }}">
<input type="file" accept=".pdf" class="form-control-file pdf @error('pdfFormAvalRelatorio') is-invalid @enderror" name="pdfFormAvalRelatorio" value="{{ old('pdfFormAvalRelatorio') }}" id="pdfFormAvalRelatorio" onchange="exibirAnexoTemp(this)"> <div class="col-sm-12 alert alert-danger" style="display: none" id="nota_maxima_invalida">
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small> A soma das notas máximas deve ser igual a pontuação total definida.
@error('pdfFormAvalRelatorio') </div>
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong> <input type="checkbox" id="checkB[0]" checked name="campos[]" value="0" hidden>
</span>
@enderror <input type="number" name="somaNotas" value="0" id="somaNotas" hidden>
</div>
<hr>
<div class="row subtitulo">
<div class="col-sm-12">
<p>Documentos</p>
</div>
</div>
{{-- Pdf Edital --}}
<div class="row justify-content-center" style="margin-top:10px">
<div class="col-sm-6">
<div class="form-group">
<label for="pdfEdital">Anexar edital:<span style="color:red; font-weight:bold;">*</span></label>
@if(old('pdfEditalPreenchido') != null)
<a id="pdfEditalTemp" href="{{ route('baixar.evento.temp', ['nomeAnexo' => 'pdfEdital' ])}}">Arquivo atual</a>
@endif
<input type="hidden" id="pdfEditalPreenchido" name="pdfEditalPreenchido" value="{{ old('pdfEditalPreenchido') }}">
<input type="file" accept=".pdf" class="form-control-file pdf @error('pdfEdital') is-invalid @enderror" name="pdfEdital" value="{{ old('pdfEdital') }}" id="pdfEdital" onchange="exibirAnexoTemp(this)">
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small>
@error('pdfEdital')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="modeloDocumento">Anexar modelo de proposta de trabalho:<span style="color:red; font-weight:bold;">*</span></label>
@if(old('modeloDocumentoPreenchido') != null)
<a id="modeloDocumentoTemp" href="{{ route('baixar.evento.temp', ['nomeAnexo' => 'modeloDocumento' ])}}">Arquivo atual</a>
@endif
<input type="hidden" id="modeloDocumentoPreenchido" name="modeloDocumentoPreenchido" value="{{ old('modeloDocumentoPreenchido') }}">
<input type="file" class="form-control-file @error('modeloDocumento') is-invalid @enderror" name="modeloDocumento" value="{{ old('modeloDocumento') }}" id="modeloDocumento" onchange="exibirAnexoTemp(this)">
<small>O arquivo selecionado deve ter até 2mb.</small>
@error('modeloDocumento')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="pdfRecurso">Anexar modelo do formulário de recurso:<span style="color:red; font-weight:bold;">*</span></label>
@if(old('pdfRecursoPreenchido') != null)
<a id="pdfRecursoTemp" href="{{ route('baixar.evento.temp', ['nomeAnexo' => 'docRecurso' ])}}">Arquivo atual</a>
@endif
<input type="hidden" id="pdfRecursoPreenchido" name="pdfRecursoPreenchido" value="{{ old('pdfRecursoPreenchido') }}">
<input type="file" accept=".pdf" class="form-control-file pdf @error('pdfRecurso') is-invalid @enderror" name="pdfRecurso" value="{{ old('pdfRecurso') }}" id="pdfRecurso" onchange="exibirAnexoTemp(this)">
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small>
@error('pdfRecurso')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="pdfRelatorio">Anexar modelo do relatório técnico/pedagógico:</label>
@if(old('pdfRelatorioPreenchido') != null)
<a id="pdfRelatorioTemp" href="{{ route('baixar.evento.temp', ['nomeAnexo' => 'docRelatorio' ])}}">Arquivo atual</a>
@endif
<input type="hidden" id="pdfRelatorioPreenchido" name="pdfRelatorioPreenchido" value="{{ old('pdfRelatorioPreenchido') }}">
<input type="file" accept=".pdf" class="form-control-file pdf @error('pdfRelatorio') is-invalid @enderror" name="pdfRelatorio" value="{{ old('pdfRelatorio') }}" id="pdfRelatorio" onchange="exibirAnexoTemp(this)">
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small>
@error('pdfFormAvalRelatorio')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="col-sm-12">
<div class="form-group">
<label for="pdfFormAvalRelatorio">Anexar formulário de avaliação do relatório:</label>
@if(old('pdfFormAvalRelatorioPreenchido') != null)
<a id="pdfFormAvalRelatorioTemp" href="{{ route('baixar.evento.temp', ['nomeAnexo' => 'formAvaliacaoPlano' ])}}">Arquivo atual</a>
@endif
<input type="hidden" id="pdfFormAvalRelatorioPreenchido" name="pdfFormAvalRelatorioPreenchido" value="{{ old('pdfFormAvalRelatorioPreenchido') }}">
<input type="file" accept=".pdf" class="form-control-file pdf @error('pdfFormAvalRelatorio') is-invalid @enderror" name="pdfFormAvalRelatorio" value="{{ old('pdfFormAvalRelatorio') }}" id="pdfFormAvalRelatorio" onchange="exibirAnexoTemp(this)">
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small>
@error('pdfFormAvalRelatorio')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
</div> </div>
</div>
<div class="row justify-content-center" style="margin: 20px 0 20px 0">
<div class="col-md-6" style="padding-left:0">
<a class="btn btn-secondary botao-form" href="{{ route('admin.editais') }}" style="width:100%">Cancelar</a>
</div>
<div class="col-md-6" style="padding-right:0">
<button type="submit" class="btn btn-primary botao-form" id="idButtonSubmitEvento" style="width:100%">
{{ __('Criar Edital') }}
</button>
</div>
</div>
</form>
</div> </div>
<div class="row justify-content-center" style="margin: 20px 0 20px 0"> <div id="ods-container" class="tab-pane fade" role="tabpanel" aria-labelledby="ods-tab">
<head>
<title>ODS Form</title>
</head>
<body>
<div class="row subtitulo">
<div class="col-sm-12">
<p>ODS</p>
</div>
</div>
<div class="col-md-6" style="padding-left:0"> <div class="container">
<a class="btn btn-secondary botao-form" href="{{ route('admin.editais') }}" style="width:100%">Cancelar</a> <div class="form-group">
</div> @foreach($ods as $ods)
<div class="col-md-6" style="padding-right:0"> <div>
<button type="submit" class="btn btn-primary botao-form" id="idButtonSubmitEvento" style="width:100%"> <input type="checkbox" name="ods[]" value="{{ $ods->id }}" class="form-check-input">
{{ __('Criar Edital') }} <label class="form-check-label" for="ods{{ $ods->id }}">{{ $ods->nome }}</label>
</button> </div>
</div> @endforeach
</div>
<div id="metas-container" class="row"></div>
</div>
<div>
<button type="submit" class="btn btn-primary botao-form" style="width:100%">
{{ __('Enviar') }}
</button>
</div>
</div> </div>
</form>
</div>
</div> </div>
...@@ -747,6 +803,72 @@ ...@@ -747,6 +803,72 @@
} }
} }
// Form dinâmico da ODS
$(document).ready(function(){
var selectedOds = [];
$('.form-check-input').change(function(){
selectedOds = [];
$('#metas-container').empty();
$('.form-check-input:checked').each(function(){
selectedOds.push($(this).val());
});
if(selectedOds.length > 3){
alert('Você só pode selecionar até 3 ODS.');
$(this).prop('checked', false);
return;
}
selectedOds.forEach(function(odsId){
$.ajax({
url: 'metas/' + odsId,
method: 'GET',
success: function(response){
var metaOptions = '<hr><div class="col-12"><div class="row subtitulo"><div class="col-sm-12"><p>Metas para ' + response.ods + '</p></div></div></div></div>' + '<div class="form-group">';
response.metas.forEach(function(meta){
metaOptions += '<div class=" card form-check meta-item" style="margin-bottom : 1 rem "><div class="card-body">' +
'<input type="checkbox" name="metas[' + odsId + '][]" value="' + meta.id + '" class="form-check-input meta-checkbox" id="meta' + meta.id + '">' +
'<label class="form-check-label" for="meta' + meta.id + '">' + meta.nome + '</label>' +
'<p class="form-text text-muted">' + meta.descricao + '</p>' +
'</div></div>';
});
metaOptions += '</div>'
$('#metas-container').append(metaOptions);
},
error: function(jqXHR, textStatus, errorThrown){
console.error('Erro ao carregar as metas:', textStatus, errorThrown);
alert('Erro ao carregar as metas.');
}
});
});
});
$(document).on('change', '.form-check-input', function(){
var metaCheckboxes = $('input[name^="metas"]');
var selectedMetas = {};
metaCheckboxes.each(function(){
var odsId = $(this).attr('name').match(/metas\[(\d+)\]/)[1];
if(!selectedMetas[odsId]) selectedMetas[odsId] = [];
if($(this).prop('checked')) selectedMetas[odsId].push($(this).val());
});
for(var odsId in selectedMetas){
if(selectedMetas[odsId].length > 3){
alert('Você só pode selecionar até 3 metas por ODS.');
$(this).prop('checked', false);
return;
}
}
});
});
new MultiSelectTag('metas'); // id
window.onload = showDocumentoExtra(); window.onload = showDocumentoExtra();
</script> </script>
......
...@@ -23,6 +23,20 @@ ...@@ -23,6 +23,20 @@
<link href="{{ asset('css/app.css') }}" rel="stylesheet"> <link href="{{ asset('css/app.css') }}" rel="stylesheet">
<link href="{{ asset('css/layout.css') }}" rel="stylesheet"> <link href="{{ asset('css/layout.css') }}" rel="stylesheet">
<!-- Select2 -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/habibmhamadi/multi-select-tag@3.0.1/dist/css/multi-select-tag.css">
<script src="https://cdn.jsdelivr.net/gh/habibmhamadi/multi-select-tag@3.0.1/dist/js/multi-select-tag.js"></script>
<!-- tabs -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
<!-- Ajax -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
@yield('styles') @yield('styles')
...@@ -313,6 +327,9 @@ ...@@ -313,6 +327,9 @@
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
} }
}); });
$(document).ready(function() {
$('.js-example-basic-multiple').select2();
});
$(document).ready(function() { $(document).ready(function() {
$("#dropdown-login").on('click', function(event){ $("#dropdown-login").on('click', function(event){
event.stopPropagation(); event.stopPropagation();
......
<?php <?php
use App\Http\Controllers\EventoController;
use App\Notifications\SubmissaoNotification; use App\Notifications\SubmissaoNotification;
use App\Trabalho; use App\Trabalho;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
...@@ -335,6 +336,7 @@ Route::prefix('evento')->name('evento.')->group(function () { ...@@ -335,6 +336,7 @@ Route::prefix('evento')->name('evento.')->group(function () {
Route::post('/editar/{id}', 'EventoController@update')->name('update')->middleware('checkRoles:coordenador,administrador'); Route::post('/editar/{id}', 'EventoController@update')->name('update')->middleware('checkRoles:coordenador,administrador');
Route::post('/setResumo', 'EventoController@setResumo')->name('setResumo')->middleware('checkAdministrador'); Route::post('/setResumo', 'EventoController@setResumo')->name('setResumo')->middleware('checkAdministrador');
Route::post('/setFoto', 'EventoController@setFotoEvento')->name('setFotoEvento')->middleware('checkAdministrador'); Route::post('/setFoto', 'EventoController@setFotoEvento')->name('setFotoEvento')->middleware('checkAdministrador');
Route::get('/metas/{odsId}', 'EventoController@getMetas')->name('getMetas')->middleware('checkAdministrador');;
}); });
//########## Rotas de administrador responsavel (Reitor ou pro-reitor)######## //########## Rotas de administrador responsavel (Reitor ou pro-reitor)########
......
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