Commit 5e16fb3b authored by Gabriel-31415's avatar Gabriel-31415
Browse files

admin fluxo pareceres

parent fb517551
...@@ -16,7 +16,7 @@ class Avaliador extends Model ...@@ -16,7 +16,7 @@ class Avaliador extends Model
return $this->belongsTo('App\User'); return $this->belongsTo('App\User');
} }
public function trabalhos(){ public function trabalhos(){
return $this->belongsToMany('App\Trabalho')->withPivot('status', 'AnexoParecer', 'parecer', 'recomendacao_id'); return $this->belongsToMany('App\Trabalho')->withPivot('status', 'AnexoParecer', 'parecer', 'recomendacao');
} }
public function eventos(){ public function eventos(){
return $this->belongsToMany('App\Evento'); return $this->belongsToMany('App\Evento');
......
...@@ -42,6 +42,24 @@ class AdministradorController extends Controller ...@@ -42,6 +42,24 @@ class AdministradorController extends Controller
return view('administrador.editais', ['eventos'=> $eventos]); return view('administrador.editais', ['eventos'=> $eventos]);
} }
public function pareceres(Request $request){
$evento = Evento::where('id', $request->evento_id)->first();
$trabalhos = $evento->trabalhos;
return view('administrador.projetos')->with(['trabalhos' => $trabalhos, 'evento' => $evento]);
}
public function visualizarParecer(Request $request){
$avaliador = Avaliador::find($request->avaliador_id);
$trabalho = $avaliador->trabalhos->where('id', $request->trabalho_id)->first();
$parecer = $avaliador->trabalhos->where('id', $request->trabalho_id)->first()->pivot;
//dd($parecer);
return view('administrador.visualizarParecer')->with(['trabalho' => $trabalho, 'parecer' => $parecer, 'avaliador' => $avaliador]);
}
public function create() { public function create() {
$grandesAreas = GrandeArea::orderBy('nome')->get(); $grandesAreas = GrandeArea::orderBy('nome')->get();
return view('administrador.novo_user')->with(['grandeAreas' => $grandesAreas]); return view('administrador.novo_user')->with(['grandeAreas' => $grandesAreas]);
......
...@@ -7,6 +7,7 @@ use Auth; ...@@ -7,6 +7,7 @@ use Auth;
use App\Trabalho; use App\Trabalho;
use App\Evento; use App\Evento;
use App\Recomendacao; use App\Recomendacao;
use App\User;
class AvaliadorController extends Controller class AvaliadorController extends Controller
{ {
...@@ -25,11 +26,11 @@ class AvaliadorController extends Controller ...@@ -25,11 +26,11 @@ class AvaliadorController extends Controller
public function visualizarTrabalhos(Request $request){ public function visualizarTrabalhos(Request $request){
$trabalhos_id = Auth::user()->avaliadors->first()->trabalhos->pluck('id');; $user = User::find(Auth::user()->id);
$evento = Evento::where('id', $request->evento_id)->first(); $evento = Evento::where('id', $request->evento_id)->first();
$trabalhos = $evento->trabalhos->whereIn('id', $trabalhos_id); $trabalhos = $user->avaliadors->where('user_id',$user->id)->first()->trabalhos;
//dd($trabalhos); //dd();
return view('avaliador.listarTrabalhos', ['trabalhos'=>$trabalhos, 'evento'=>$evento]); return view('avaliador.listarTrabalhos', ['trabalhos'=>$trabalhos, 'evento'=>$evento]);
...@@ -47,18 +48,21 @@ class AvaliadorController extends Controller ...@@ -47,18 +48,21 @@ class AvaliadorController extends Controller
} }
public function enviarParecer(Request $request){ public function enviarParecer(Request $request){
$user = User::find(Auth::user()->id);
$evento = Evento::find($request->evento_id); $evento = Evento::find($request->evento_id);
$trabalhos = Auth::user()->avaliadors->first()->trabalhos; $trabalhos = $user->avaliadors->where('user_id',$user->id)->first()->trabalhos;
$avaliador = Auth::user()->avaliadors->first(); $avaliador = $user->avaliadors->where('user_id',$user->id)->first();
$trabalho = $avaliador->trabalhos->find($request->trabalho_id); $trabalho = $avaliador->trabalhos->find($request->trabalho_id);
if($request->anexoParecer == ''){ if($request->anexoParecer == ''){
$avaliador $avaliador
->trabalhos() ->trabalhos()
->updateExistingPivot($trabalho->id,['status'=> 1,'parecer'=>$request->textParecer, 'recomendacao_id'=>$request->recomendacao_id]); ->updateExistingPivot($trabalho->id,['status'=> 1,'parecer'=>$request->textParecer, 'recomendacao'=>$request->recomendacao]);
}else{ }else{
$avaliador $avaliador
->trabalhos() ->trabalhos()
->updateExistingPivot($trabalho->id,['status'=> 1,'parecer'=>$request->textParecer,'AnexoParecer'=> $request->anexoParecer, 'recomendacao_id'=>$request->recomendacao_id]); ->updateExistingPivot($trabalho->id,['status'=> 1,'parecer'=>$request->textParecer,'AnexoParecer'=> $request->anexoParecer, 'recomendacao'=>$request->recomendacao]);
} }
......
...@@ -50,7 +50,7 @@ class Trabalho extends Model ...@@ -50,7 +50,7 @@ class Trabalho extends Model
} }
public function area(){ public function area(){
return $this->belongsTo('App\Area', 'areaId'); return $this->belongsTo('App\Area');
} }
public function autor(){ public function autor(){
...@@ -85,6 +85,6 @@ class Trabalho extends Model ...@@ -85,6 +85,6 @@ class Trabalho extends Model
return $this->belongsTo('App\CoordenadorComissao'); return $this->belongsTo('App\CoordenadorComissao');
} }
public function avaliadors(){ public function avaliadors(){
return $this->belongsToMany('App\Avaliador')->withPivot('status', 'AnexoParecer', 'parecer', 'recomendacao_id'); return $this->belongsToMany('App\Avaliador')->withPivot('status', 'AnexoParecer', 'parecer', 'recomendacao');
} }
} }
...@@ -20,8 +20,8 @@ class CreateAvaliadorsTrabalhosTable extends Migration ...@@ -20,8 +20,8 @@ class CreateAvaliadorsTrabalhosTable extends Migration
$table->text('parecer')->nullable(); $table->text('parecer')->nullable();
$table->string('AnexoParecer')->nullable(); $table->string('AnexoParecer')->nullable();
$table->boolean('status')->nullable(); $table->boolean('status')->nullable();
$table->string('recomendacao')->nullable();
$table->unsignedBigInteger('recomendacao_id')->nullable();
$table->unsignedBigInteger('trabalho_id'); $table->unsignedBigInteger('trabalho_id');
$table->unsignedBigInteger('avaliador_id'); $table->unsignedBigInteger('avaliador_id');
......
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddRecomendacaoAvaliadorTrabalhoTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('avaliador_trabalho', function (Blueprint $table) {
$table->foreign('recomendacao_id')->references('id')->on('recomendacaos');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('avaliador_trabalho', function (Blueprint $table) {
//
});
}
}
...@@ -46,19 +46,23 @@ ...@@ -46,19 +46,23 @@
{{-- <img src="{{asset('img/icons/ellipsis-v-solid.svg')}}" style="width:8px"> --}} {{-- <img src="{{asset('img/icons/ellipsis-v-solid.svg')}}" style="width:8px"> --}}
</a> </a>
<div class="dropdown-menu"> <div class="dropdown-menu">
<a href="{{ route('coord.detalhesEvento', ['eventoId' => $evento->id]) }}" class="dropdown-item"> <a href="{{ route('coord.detalhesEvento', ['eventoId' => $evento->id]) }}" class="dropdown-item text-center">
<img src="{{asset('img/icons/eye-regular.svg')}}" class="icon-card" alt="">
Editar Edital Editar Edital
</a> </a>
<a href="{{route('admin.atribuir', ['evento_id' => $evento->id])}}" class="dropdown-item"> <a href="{{route('admin.atribuir', ['evento_id' => $evento->id])}}" class="dropdown-item text-center">
<img src="{{asset('img/icons/edit-regular.svg')}}" class="icon-card" alt="">
Atribuir Avaliadores Atribuir Avaliadores
</a> </a>
<form method="POST" action="{{route('evento.deletar',$evento->id)}}"> <a href="{{route('admin.pareceres', ['evento_id' => $evento->id])}}" class="dropdown-item text-center">
Visualizar Pareceres
</a>
<form method="POST" action="{{route('evento.deletar',$evento->id)}}" class="text-center">
{{ csrf_field() }} {{ csrf_field() }}
{{ method_field('DELETE') }} {{ method_field('DELETE') }}
<button type="submit" class="dropdown-item"> <button type="submit" class="dropdown-item">
<img src="{{asset('img/icons/trash-alt-regular.svg')}}" class="icon-card" alt="">
Deletar Deletar
</button> </button>
......
@extends('layouts.app')
@section('content')
<div class="container" style="margin-top: 100px;">
<div class="container" >
<div class="row" >
<div class="col-sm-10">
<h3>Trabalhos do Edital: {{ $evento->nome }}</h3>
</div>
</div>
</div>
<hr>
<div class="accordion" id="accordionExample">
@foreach( $trabalhos as $trabalho )
<div class="card ">
<div class="card-header " id="headingOne">
<h2 class="mb-0">
<a class="btn btn-link btn-block text-left" type="button" data-toggle="collapse" data-target="#collapseOne{{ $trabalho->id }}" aria-expanded="true" aria-controls="collapseOne">
<h5>Titulo: {{ $trabalho->titulo }}</h5>
</a>
</h2>
</div>
<div id="collapseOne{{ $trabalho->id }}" class="collapse " aria-labelledby="headingOne" data-parent="#accordionExample">
<div class="card-body">
<table class="table table-bordered">
<thead>
<tr>
<th scope="col">Avaliador</th>
<th scope="col">E-mail</th>
<th scope="col">Parecer</th>
</tr>
</thead>
<tbody>
@foreach($trabalho->avaliadors as $avaliador)
<tr>
<td>{{ $avaliador->user->name }}</td>
<td>{{ $avaliador->user->email }}</td>
<td>
<form action="{{ route('admin.visualizarParecer') }}" method="post">
@csrf
<input type="hidden" name="trabalho_id" value="{{ $trabalho->id }}">
<input type="hidden" name="avaliador_id" value="{{ $avaliador->id }}">
<button class="btn btn-primary" @if($avaliador->trabalhos->where('id', $trabalho->id)->first()->pivot->parecer == null) disabled="disabled" @endif >
Visualizar
</button>
</form>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
@endforeach
</div>
</div>
@endsection
@section('javascript')
<script>
</script>
@endsection
...@@ -78,7 +78,7 @@ ...@@ -78,7 +78,7 @@
@csrf @csrf
<input type="hidden" name="avaliador_id" value="{{ $avaliador->id }}" > <input type="hidden" name="avaliador_id" value="{{ $avaliador->id }}" >
<input type="hidden" name="evento_id" value="{{ $evento->id }}" > <input type="hidden" name="evento_id" value="{{ $evento->id }}" >
<button type="submit" class="btn btn-primary" >Remover</button> <button type="submit" class="btn btn-primary" @if($avaliador->trabalhos->count() != 0) disabled="disabled" @endif >Remover</button>
</form> </form>
</td> </td>
</tr> </tr>
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
<thead> <thead>
<tr> <tr>
<th scope="col">Nome do Projeto</th> <th scope="col">Nome do Projeto</th>
<th scope="col">Área</th>
<th scope="col">Proponente</th> <th scope="col">Proponente</th>
<th scope="col" style="text-align:center">Ação</th> <th scope="col" style="text-align:center">Ação</th>
</tr> </tr>
...@@ -32,6 +33,7 @@ ...@@ -32,6 +33,7 @@
@foreach ($trabalhos as $trabalho) @foreach ($trabalhos as $trabalho)
<tr> <tr>
<td>{{ $trabalho->titulo}}</td> <td>{{ $trabalho->titulo}}</td>
<td>{{ $trabalho->area->nome}}</td>
<td>{{ $trabalho->proponente->user->name }}</td> <td>{{ $trabalho->proponente->user->name }}</td>
<td style="text-align:center"> <td style="text-align:center">
<button type="button" class="btn btn-primary" value="{{ $trabalho->id }}" id="atribuir1" data-toggle="modal" data-target="#exampleModalCenter{{ $trabalho->id }}"> <button type="button" class="btn btn-primary" value="{{ $trabalho->id }}" id="atribuir1" data-toggle="modal" data-target="#exampleModalCenter{{ $trabalho->id }}">
...@@ -91,17 +93,23 @@ ...@@ -91,17 +93,23 @@
<thead> <thead>
<tr> <tr>
<th scope="col">Nome do Usuário</th> <th scope="col">Nome do Usuário</th>
<th scope="col">E-mail</th>
<th scope="col">Status</th> <th scope="col">Status</th>
<th scope="col">Total</th>
<th scope="col" style="text-align:center">Ação</th> <th scope="col" style="text-align:center">Ação</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@foreach ($avaliadores as $avaliador) @foreach ($avaliadores as $avaliador)
@php $contador = 0; @endphp
@foreach($avaliador->trabalhos as $trabalho)
@if($trabalho->pivot->status == true)
@php $contador++; @endphp
@endif
@endforeach
<tr> <tr>
<td>{{ $avaliador->user->name }}</td> <td>{{ $avaliador->user->name }}</td>
<td>{{ $avaliador->trabalhos->count() }} / {{ $avaliador->trabalhos->count() }}</td> <td>{{ $avaliador->user->email }}</td>
<td>{{ $avaliador->trabalhos->count() }}</td> <td>{{ $contador }} / {{ $avaliador->trabalhos->count() }}</td>
<td style="text-align:center"> ...</td> <td style="text-align:center"> ...</td>
</tr> </tr>
@endforeach @endforeach
......
@extends('layouts.app')
@section('content')
<div class="container content">
<div class="row justify-content-center">
<div class="col-sm-12">
<div class="card" style="margin-top:50px">
<div class="card-body">
<h5 class="card-title">Parecer do avaliador: {{ $avaliador->user->name }}</h5>
<h6 class="card-title">Trabalho: {{ $trabalho->titulo }}</h6>
<p class="card-text">
<div class="form-group">
<label for="exampleFormControlTextarea1">Parecer</label>
<textarea class="form-control" id="exampleFormControlTextarea1" disabled="disabled" rows="3"> {{ $parecer->parecer }} </textarea>
</div>
<div class="form-group">
<label for="exampleFormControlSelect1">Recomendação: <strong>{{ $parecer->recomendacao }}</strong> </label>
</div>
<div class="form-group">
<label for="exampleFormControlSelect1">Anexo: </label>
</div>
<a href="{{url()->previous()}}" class="btn btn-primary"> Voltar</a>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('javascript')
<script type="text/javascript">
</script>
@endsection
...@@ -18,12 +18,12 @@ ...@@ -18,12 +18,12 @@
<label for="exampleFormControlTextarea1">Parecer:</label> <label for="exampleFormControlTextarea1">Parecer:</label>
<textarea class="form-control" id="exampleFormControlTextarea1" rows="3" name="textParecer">{{ $trabalho->pivot->parecer }}</textarea> <textarea class="form-control" id="exampleFormControlTextarea1" rows="3" name="textParecer">{{ $trabalho->pivot->parecer }}</textarea>
</div> </div>
<select class="custom-select" name="recomendacao_id" > <select class="custom-select" name="recomendacao" >
@foreach($recomendacaos as $recomendacao) @foreach($recomendacaos as $recomendacao)
@if($trabalho->pivot->recomendacao_id == $recomendacao->id) @if($trabalho->pivot->recomendacao == $recomendacao->nome)
<option selected value="{{ $recomendacao->id }}" >{{ $recomendacao->nome }}</option> <option selected value="{{ $recomendacao->nome }}" >{{ $recomendacao->nome }}</option>
@else @else
<option value="{{ $recomendacao->id }}">{{ $recomendacao->nome }}</option> <option value="{{ $recomendacao->nome }}">{{ $recomendacao->nome }}</option>
@endif @endif
@endforeach @endforeach
</select> </select>
......
...@@ -114,16 +114,16 @@ Route::prefix('usuarios')->name('admin.')->group(function(){ ...@@ -114,16 +114,16 @@ Route::prefix('usuarios')->name('admin.')->group(function(){
Route::get('/editar/{id}', 'AdministradorController@edit' )->name('user.edit')->middleware('checkAdministrador'); Route::get('/editar/{id}', 'AdministradorController@edit' )->name('user.edit')->middleware('checkAdministrador');
Route::post('/editar/atualizar/{id}', 'AdministradorController@update' )->name('user.update')->middleware('checkAdministrador'); Route::post('/editar/atualizar/{id}', 'AdministradorController@update' )->name('user.update')->middleware('checkAdministrador');
Route::post('/editar/deletar/{id}', 'AdministradorController@destroy' )->name('user.destroy')->middleware('checkAdministrador'); Route::post('/editar/deletar/{id}', 'AdministradorController@destroy' )->name('user.destroy')->middleware('checkAdministrador');
Route::get('/editais', 'AdministradorController@editais' )->name('editais'); Route::get('/editais', 'AdministradorController@editais' )->name('editais');
Route::get('/atribuir', 'AdministradorController@atribuir' )->name('atribuir'); Route::get('/atribuir', 'AdministradorController@atribuir' )->name('atribuir');
Route::get('/selecionarAvaliador', 'AdministradorController@selecionar' )->name('selecionar'); Route::get('/selecionarAvaliador', 'AdministradorController@selecionar' )->name('selecionar');
Route::get('/selecionarProjetos', 'AdministradorController@projetos' )->name('projetos'); Route::get('/selecionarProjetos', 'AdministradorController@projetos' )->name('projetos');
Route::post('/adicionarAvalEvento', 'AdministradorController@adicionar' )->name('adicionar'); Route::post('/adicionarAvalEvento', 'AdministradorController@adicionar' )->name('adicionar');
Route::post('/removerAvalEvento', 'AdministradorController@remover' )->name('remover'); Route::post('/removerAvalEvento', 'AdministradorController@remover' )->name('remover');
Route::post('/atribuirAvaliadorProjeto', 'AdministradorController@atribuicao' )->name('atribuicao'); Route::post('/atribuirAvaliadorProjeto', 'AdministradorController@atribuicao' )->name('atribuicao');
Route::post('/enviarConviteAvaliador', 'AdministradorController@enviarConvite')->name('enviarConvite'); Route::post('/enviarConviteAvaliador', 'AdministradorController@enviarConvite' )->name('enviarConvite');
Route::post('/visualizarParecer', 'AdministradorController@visualizarParecer')->name('visualizarParecer');
Route::get('/pareceresProjetos', 'AdministradorController@pareceres' )->name('pareceres');
}); });
Route::prefix('naturezas')->group(function(){ Route::prefix('naturezas')->group(function(){
......
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