Unverified Commit c76b836e authored by Gabriel Antônio da Silva's avatar Gabriel Antônio da Silva Committed by GitHub
Browse files

Merge pull request #11 from lmts-ufape/comissao

pareceres
parents e845ab51 b1f14492
......@@ -34,4 +34,7 @@ class Area extends Model
public function revisor(){
return $this->hasMany('App\User', 'eventoId');
}
public function avaliador(){
return $this->hasMany('App\Area');
}
}
......@@ -16,9 +16,13 @@ class Avaliador extends Model
return $this->belongsTo('App\User');
}
public function trabalhos(){
return $this->belongsToMany('App\Trabalho')->withPivot('status', 'AnexoParecer', 'parecer');
return $this->belongsToMany('App\Trabalho')->withPivot('status', 'AnexoParecer', 'parecer', 'recomendacao');
}
public function eventos(){
return $this->belongsToMany('App\Evento');
}
public function area(){
return $this->belongsTo('App\Area');
}
}
......@@ -42,6 +42,24 @@ class AdministradorController extends Controller
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() {
$grandesAreas = GrandeArea::orderBy('nome')->get();
return view('administrador.novo_user')->with(['grandeAreas' => $grandesAreas]);
......
......@@ -5,6 +5,10 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Auth;
use App\Trabalho;
use App\Evento;
use App\Recomendacao;
use App\User;
use App\Avaliador;
class AvaliadorController extends Controller
{
......@@ -13,37 +17,60 @@ class AvaliadorController extends Controller
return view('avaliador.index');
}
public function editais(){
$user = User::find(Auth::user()->id);
$eventos = $user->avaliadors->where('user_id',$user->id)->first()->eventos;
return view('avaliador.editais', ["eventos"=>$eventos]);
}
public function visualizarTrabalhos(Request $request){
$trabalhos = Auth::user()->avaliadors->first()->trabalhos;
//dd($trabalhos);
$user = User::find(Auth::user()->id);
$evento = Evento::where('id', $request->evento_id)->first();
$trabalhos = $user->avaliadors->where('user_id',$user->id)->first()->trabalhos;
return view('avaliador.listarTrabalhos', ['trabalhos'=>$trabalhos]);
//dd();
return view('avaliador.listarTrabalhos', ['trabalhos'=>$trabalhos, 'evento'=>$evento]);
}
public function parecer(Request $request){
//$trabalho = Trabalho::find($request->trabalho_id);
$avaliador = Auth::user()->avaliadors->first();
$user = User::find(Auth::user()->id);
$avaliador = $user->avaliadors->where('user_id',$user->id)->first();
$trabalho = $avaliador->trabalhos->find($request->trabalho_id);
return view('avaliador.parecer', ['trabalho'=>$trabalho]);
$evento = Evento::find($request->evento);
$recomendacaos = Recomendacao::all();
//dd($request->all());
return view('avaliador.parecer', ['trabalho'=>$trabalho, 'evento'=>$evento, 'recomendacaos'=>$recomendacaos]);
}
public function enviarParecer(Request $request){
$trabalhos = Auth::user()->avaliadors->first()->trabalhos;
$avaliador = Auth::user()->avaliadors->first();
$trabalho = $avaliador->trabalhos->find(1);
$avaliador->trabalhos()->updateExistingPivot($trabalho->id,
['status'=> 1,
'parecer'=>$request->textParecer,
'AnexoParecer'=> $request->anexoParecer]);
$user = User::find(Auth::user()->id);
$evento = Evento::find($request->evento_id);
$trabalhos = $user->avaliadors->where('user_id',$user->id)->first()->trabalhos;
$avaliador = $user->avaliadors->where('user_id',$user->id)->first();
$trabalho = $avaliador->trabalhos->find($request->trabalho_id);
if($request->anexoParecer == ''){
$avaliador
->trabalhos()
->updateExistingPivot($trabalho->id,['status'=> 1,'parecer'=>$request->textParecer, 'recomendacao'=>$request->recomendacao]);
}else{
$avaliador
->trabalhos()
->updateExistingPivot($trabalho->id,['status'=> 1,'parecer'=>$request->textParecer,'AnexoParecer'=> $request->anexoParecer, 'recomendacao'=>$request->recomendacao]);
}
// dd($trabalho);
return view('avaliador.listarTrabalhos', ['trabalhos'=>$trabalhos]);
return view('avaliador.listarTrabalhos', ['trabalhos'=>$trabalhos, 'evento'=>$evento ]);
}
}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Recomendacao extends Model
{
protected $fillable = ['nome'];
}
......@@ -50,7 +50,7 @@ class Trabalho extends Model
}
public function area(){
return $this->belongsTo('App\Area', 'areaId');
return $this->belongsTo('App\Area');
}
public function autor(){
......@@ -85,6 +85,6 @@ class Trabalho extends Model
return $this->belongsTo('App\CoordenadorComissao');
}
public function avaliadors(){
return $this->belongsToMany('App\Avaliador')->withPivot('status', 'AnexoParecer', 'parecer');
return $this->belongsToMany('App\Avaliador')->withPivot('status', 'AnexoParecer', 'parecer', 'recomendacao');
}
}
......@@ -19,6 +19,9 @@ class CreateAvaliadorsTable extends Migration
$table->unsignedBigInteger('user_id')->nullable();
$table->foreign('user_id')->references('id')->on('users');
$table->unsignedBigInteger('area_id')->nullable();
$table->foreign('area_id')->references('id')->on('areas');
});
}
......
......@@ -20,6 +20,7 @@ class CreateAvaliadorsTrabalhosTable extends Migration
$table->text('parecer')->nullable();
$table->string('AnexoParecer')->nullable();
$table->boolean('status')->nullable();
$table->string('recomendacao')->nullable();
$table->unsignedBigInteger('trabalho_id');
$table->unsignedBigInteger('avaliador_id');
......
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateRecomendacaosTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('recomendacaos', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('nome');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('recomendacaos');
}
}
......@@ -16,6 +16,7 @@ class AvaliadorSeeder extends Seeder
DB::table('avaliadors')->insert([
'user_id' => $user_id[0],
'area_id' => 1,
]);
$aval = App\Avaliador::find(1);
......@@ -35,6 +36,7 @@ class AvaliadorSeeder extends Seeder
DB::table('avaliadors')->insert([
'user_id' => $user_id[0],
'area_id' => 1,
]);
$aval = App\Avaliador::find(2);
$evento = App\Evento::find(1);
......@@ -49,6 +51,7 @@ class AvaliadorSeeder extends Seeder
DB::table('avaliadors')->insert([
'user_id' => $user_id[0],
'area_id' => 1,
]);
// $aval = App\Avaliador::find(2);
......@@ -61,6 +64,7 @@ class AvaliadorSeeder extends Seeder
DB::table('avaliadors')->insert([
'user_id' => $user_id[0],
'area_id' => 1,
]);
}
}
......@@ -23,6 +23,7 @@ class DatabaseSeeder extends Seeder
$this->call(CoordenadorComissaoSeeder::class);
$this->call(ParticipanteSeeder::class);
$this->call(NaturezaSeeder::class);
$this->call(RecomendacaoSeeder::class);
// $this->call(UsersTableSeeder::class);
......
<?php
use Illuminate\Database\Seeder;
class RecomendacaoSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB::table('recomendacaos')->insert([
'nome' => 'Aceitacao Forte',
]);
DB::table('recomendacaos')->insert([
'nome' => 'Aceitacao Média',
]);
DB::table('recomendacaos')->insert([
'nome' => 'Aceitacao Fraca',
]);
}
}
......@@ -46,19 +46,23 @@
{{-- <img src="{{asset('img/icons/ellipsis-v-solid.svg')}}" style="width:8px"> --}}
</a>
<div class="dropdown-menu">
<a href="{{ route('coord.detalhesEvento', ['eventoId' => $evento->id]) }}" class="dropdown-item">
<img src="{{asset('img/icons/eye-regular.svg')}}" class="icon-card" alt="">
<a href="{{ route('coord.detalhesEvento', ['eventoId' => $evento->id]) }}" class="dropdown-item text-center">
Editar Edital
</a>
<a href="{{route('admin.atribuir', ['evento_id' => $evento->id])}}" class="dropdown-item">
<img src="{{asset('img/icons/edit-regular.svg')}}" class="icon-card" alt="">
<a href="{{route('admin.atribuir', ['evento_id' => $evento->id])}}" class="dropdown-item text-center">
Atribuir Avaliadores
</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() }}
{{ method_field('DELETE') }}
<button type="submit" class="dropdown-item">
<img src="{{asset('img/icons/trash-alt-regular.svg')}}" class="icon-card" alt="">
Deletar
</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
......@@ -26,6 +26,7 @@
<tr>
<th scope="col">Nome do Usuário</th>
<th scope="col">Email</th>
<th scope="col">Área</th>
<th scope="col" style="text-align:center">Ação</th>
</tr>
</thead>
......@@ -34,6 +35,7 @@
<tr>
<td>{{ $avaliador->user->name }}</td>
<td>{{ $avaliador->user->email }}</td>
<td>{{ $avaliador->area->nome }}</td>
<td style="text-align:center">
<form action="{{ route('admin.adicionar') }}" method="POST">
@csrf
......@@ -76,7 +78,7 @@
@csrf
<input type="hidden" name="avaliador_id" value="{{ $avaliador->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>
</td>
</tr>
......
......@@ -24,6 +24,7 @@
<thead>
<tr>
<th scope="col">Nome do Projeto</th>
<th scope="col">Área</th>
<th scope="col">Proponente</th>
<th scope="col" style="text-align:center">Ação</th>
</tr>
......@@ -32,6 +33,7 @@
@foreach ($trabalhos as $trabalho)
<tr>
<td>{{ $trabalho->titulo}}</td>
<td>{{ $trabalho->area->nome}}</td>
<td>{{ $trabalho->proponente->user->name }}</td>
<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 }}">
......@@ -57,7 +59,7 @@
<label for="exampleFormControlSelect2">Example multiple select</label>
<select name="avaliadores_id[]" multiple class="form-control" id="exampleFormControlSelect2">
@foreach ($trabalho->aval as $avaliador)
<option value="{{ $avaliador->id }}" > {{ $avaliador->user->name }} </option>
<option value="{{ $avaliador->id }}" > {{ $avaliador->user->name }} ({{ $avaliador->area->nome }}) </option>
@endforeach
</select>
<small id="emailHelp" class="form-text text-muted">Segure SHIFT do teclado para selecionar mais de um.</small>
......@@ -91,17 +93,23 @@
<thead>
<tr>
<th scope="col">Nome do Usuário</th>
<th scope="col">E-mail</th>
<th scope="col">Status</th>
<th scope="col">Total</th>
<th scope="col" style="text-align:center">Ação</th>
</tr>
</thead>
<tbody>
@foreach ($avaliadores as $avaliador)
@php $contador = 0; @endphp
@foreach($avaliador->trabalhos as $trabalho)
@if($trabalho->pivot->status == true)
@php $contador++; @endphp
@endif
@endforeach
<tr>
<td>{{ $avaliador->user->name }}</td>
<td>{{ $avaliador->trabalhos->count() }} / {{ $avaliador->trabalhos->count() }}</td>
<td>{{ $avaliador->trabalhos->count() }}</td>
<td>{{ $avaliador->user->email }}</td>
<td>{{ $contador }} / {{ $avaliador->trabalhos->count() }}</td>
<td style="text-align:center"> ...</td>
</tr>
@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
......@@ -6,12 +6,9 @@
<div class="container" >
<div class="row" >
<div class="col-sm-10">
<div class="col-sm-12">
<h3>Meus Editais</h3>
</div>
<div class="col-sm-2">
<a href="{{route('evento.criar')}}" class="btn btn-primary">Criar Edital</a>
</div>
</div>
</div>
<hr>
......@@ -26,10 +23,8 @@
<tbody>
@foreach ($eventos as $evento)
<tr>
<td>
<a href="{{ route('evento.visualizar',['id'=>$evento->id]) }}" class="visualizarEvento">
{{ $evento->nome }}
</a>
<td>
{{ $evento->nome }}
</td>
<td>10/05/2020</td>
<td>
......@@ -38,23 +33,11 @@
{{-- <img src="{{asset('img/icons/ellipsis-v-solid.svg')}}" style="width:8px"> --}}
</a>
<div class="dropdown-menu">
<a href="{{ route('coord.detalhesEvento', ['eventoId' => $evento->id]) }}" class="dropdown-item">
<a href="{{ route('avaliador.visualizarTrabalho', ['evento_id' => $evento->id]) }}" class="dropdown-item">
<img src="{{asset('img/icons/eye-regular.svg')}}" class="icon-card" alt="">
Detalhes
Projetos para avaliar
</a>
<a href="{{route('evento.editar',$evento->id)}}" class="dropdown-item">
<img src="{{asset('img/icons/edit-regular.svg')}}" class="icon-card" alt="">
Editar
</a>
<form method="POST" action="{{route('evento.deletar',$evento->id)}}">
{{ csrf_field() }}
{{ method_field('DELETE') }}
<button type="submit" class="dropdown-item">
<img src="{{asset('img/icons/trash-alt-regular.svg')}}" class="icon-card" alt="">
Deletar
</button>
</form>
</div>
</div>
</td>
......
......@@ -8,7 +8,7 @@
<div class="row justify-content-center d-flex align-items-center">
<div class="col-sm-4 d-flex justify-content-center ">
<a href="#" style="text-decoration:none; color: inherit;">
<a href="{{ route('avaliador.editais') }}" style="text-decoration:none; color: inherit;">
<div class="card text-center " style="border-radius: 30px; width: 18rem;">
<div class="card-body d-flex justify-content-center">
<h2 style="padding-top:15px">Editais</h2>
......@@ -17,25 +17,6 @@
</div>
</a>
</div>
<div class="col-sm-4 d-flex justify-content-center">
<a href="{{ route('avaliador.visualizarTrabalho') }}" style="text-decoration:none; color: inherit;">
<div class="card text-center " style="border-radius: 30px; width: 18rem;">
<div class="card-body d-flex justify-content-center">
<h2 style="padding-top:15px">Trabalhos</h2>
</div>
</div>
</a>
</div>
<div class="col-sm-4 d-flex justify-content-center">
<a href="{{ route('admin.usuarios') }}" style="text-decoration:none; color: inherit;">
<div class="card text-center " style="border-radius: 30px; width: 18rem;">
<div class="card-body d-flex justify-content-center">
<h2 style="padding-top:15px">Usuários</h2>
</div>
</div>
</a>
</div>
</div>
......
......@@ -7,7 +7,7 @@
<div class="container" >
<div class="row" >
<div class="col-sm-10">
<h3>Trabalhos</h3>
<h3>Trabalhos do Edital: {{ $evento->nome }}</h3>
</div>
</div>
</div>
......@@ -34,7 +34,7 @@
</td>
<td>
<div class="row">
<form action="{{ route('avaliador.parecer') }}" method="POST">
<form action="{{ route('avaliador.parecer', ['evento' => $evento]) }}" method="POST">
@csrf
<input type="hidden" name="trabalho_id" value="{{ $trabalho->id }}" >
<button type="submit" class="btn btn-primary mr-2 ml-2" >
......
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