Commit 038a1251 authored by Guilherme Silva's avatar Guilherme Silva
Browse files

Adicionado filtro aos avaliadores exibidos

parent be29a9dc
......@@ -17,6 +17,7 @@ use App\Recomendacao;
use App\User;
use App\Avaliador;
use Carbon\Carbon;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Storage;
class AvaliadorController extends Controller
......@@ -265,4 +266,36 @@ class AvaliadorController extends Controller
return view('avaliador.listarPlanos', ['planos'=>$planos, 'evento'=>$evento ]);
}
public function consultaExterno(Request $request) {
$id = json_decode($request->id) ;
$trabalho_id = json_decode($request->trabalho_id) ;
$trabalho = Trabalho::where('id',$trabalho_id)->first();
$avalSelecionadosId = $trabalho->avaliadors->pluck('id');
$avaliadores = DB::Table('avaliadors')->join('users','avaliadors.user_id','=','users.id')
->join('areas','avaliadors.area_id','=','areas.id')
->select('avaliadors.id','areas.nome','users.name','users.instituicao','users.email')
->where('avaliadors.area_id', $id)
->where('avaliadors.tipo','Externo')
->whereNotIn('avaliadors.id', $avalSelecionadosId)->get();
return response()->json($avaliadores);
return $avaliadores->toJson();
}
public function consultaInterno(Request $request) {
$id = json_decode($request->id) ;
$trabalho_id = json_decode($request->trabalho_id) ;
$trabalho = Trabalho::where('id',$trabalho_id)->first();
$avalSelecionadosId = $trabalho->avaliadors->pluck('id');
$avaliadores = DB::Table('avaliadors')->join('users','avaliadors.user_id','=','users.id')
->join('areas','avaliadors.area_id','=','areas.id')
->select('avaliadors.id','areas.nome','users.name','users.instituicao','users.email')
->where('avaliadors.area_id', $id)
->where('avaliadors.tipo','Interno')
->whereNotIn('avaliadors.id', $avalSelecionadosId)->get();
return response()->json($avaliadores);
return $avaliadores->toJson();
}
}
......@@ -436,7 +436,7 @@
<div class="col-md-3" style="text-align: center;overflow-y: auto;overflow-x: auto">
<input type="hidden" id="oldArea" value="{{ old('area') }}" >
<select class="form-control @error('area') is-invalid @enderror" id="area" name="area_id" onchange="subareas()" >
<select class="form-control @error('area') is-invalid @enderror" id="area" name="area_id" onchange="(consultaExterno(),consultaInterno())" >
<option value="" disabled selected hidden>-- Área --</option>
</select>
</div>
......@@ -445,6 +445,9 @@
<div class="col-md-6">
<label style="font-weight: bold">Externos</label>
</div>
<input type="hidden" id="trab" value="{{$trabalho->id}}">
<input type="hidden" id="oldAvalExterno" value="{{ old('exampleFormControlSelect3') }}" >
<select name="avaliadores_externos_id[]" multiple class="form-control" id="exampleFormControlSelect3">
@foreach ($trabalho->aval as $avaliador)
@if($avaliador->tipo == "Externo")
......@@ -455,6 +458,7 @@
<div class="col-md-6">
<label style="font-weight: bold">Internos</label>
</div>
<input type="hidden" id="oldAvalInterno" value="{{ old('exampleFormControlSelect2') }}" >
<select name="avaliadores_internos_id[]" multiple class="form-control" id="exampleFormControlSelect2">
@foreach ($trabalho->aval as $avaliador)
@if($avaliador->tipo == "Interno")
......@@ -924,6 +928,77 @@
})
}
</script>
<script>
function consultaExterno() {
var area = $('#area').val();
var job = $('#trab').val();
$.ajax({
type: 'POST',
url: '{{ route('aval.consultaExterno') }}',
data: 'id='+area+"&trabalho_id="+job ,
headers:
{
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: (dados) => {
if (dados.length > 0) {
$.each(dados, function(i, obj) {
if(obj.instituicao==null){
option += '<option value="' + obj.id + '">' + obj.name+' > '+'Instituição indefinida'+' > '+obj.nome+' > '+ obj.email+'</option>';
} else{
option += '<option value="' + obj.id + '">' + obj.name+' > '+ obj.instituicao +' > '+obj.nome+' > '+ obj.email+'</option>';
}
})
} else {
var option = "<option selected disabled>Sem Resultado</option>";
}
$('#exampleFormControlSelect3').html(option).show();
},
error: (data) => {
console.log(data);
}
})
}
function consultaInterno() {
var area = $('#area').val();
var job = $('#trab').val();
$.ajax({
type: 'POST',
url: '{{ route('aval.consultaInterno') }}',
data: 'id='+area+"&trabalho_id="+job ,
headers:
{
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: (dados) => {
if (dados.length > 0) {
$.each(dados, function(i, obj) {
if(obj.instituicao==null){
option += '<option value="' + obj.id + '">' + obj.name+' > '+'Instituição indefinida'+' > '+obj.nome+' > '+ obj.email+'</option>';
} else{
option += '<option value="' + obj.id + '">' + obj.name+' > '+ obj.instituicao +' > '+obj.nome+' > '+ obj.email+'</option>';
}
})
} else {
var option = "<option selected disabled>Sem Resultado</option>";
}
$('#exampleFormControlSelect2').html(option).show();
},
error: (data) => {
console.log(data);
}
})
}
</script>
<script>
if({!! json_encode(session('error'), JSON_HEX_TAG) !!})
......
......@@ -243,6 +243,8 @@ Route::prefix('naturezas')->group(function(){
Route::post('/area/atualizar/{id}', 'AreaController@update' )->name('area.atualizar')->middleware('checkAdministrador');
Route::post('/area/excluir/{id}', 'AreaController@destroy' )->name('area.deletar')->middleware('checkAdministrador');
Route::post('/areas/', 'AreaController@consulta' )->name('area.consulta');
Route::post('/avalConExterno/', 'AvaliadorController@consultaExterno' )->name('aval.consultaExterno');
Route::post('/avalConInterno/', 'AvaliadorController@consultaInterno' )->name('aval.consultaInterno');
//### Rotas das subareas, id's de nova e salvar são os ids da área a qual a nova subárea pertence #####
Route::get('/subareas', 'SubAreaController@index' )->name('subarea.index')->middleware('checkAdministrador');
......
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