Commit fb517551 authored by Gabriel-31415's avatar Gabriel-31415
Browse files

cricao de recomendacao e area para avaliador

parent debdab41
......@@ -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_id');
}
public function eventos(){
return $this->belongsToMany('App\Evento');
}
public function area(){
return $this->belongsTo('App\Area');
}
}
......@@ -5,6 +5,8 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Auth;
use App\Trabalho;
use App\Evento;
use App\Recomendacao;
class AvaliadorController extends Controller
{
......@@ -13,13 +15,23 @@ class AvaliadorController extends Controller
return view('avaliador.index');
}
public function editais(){
$eventos = Auth()->user()->avaliadors->eventos;
return view('avaliador.editais', ["eventos"=>$eventos]);
}
public function visualizarTrabalhos(Request $request){
$trabalhos = Auth::user()->avaliadors->first()->trabalhos;
$trabalhos_id = Auth::user()->avaliadors->first()->trabalhos->pluck('id');;
$evento = Evento::where('id', $request->evento_id)->first();
$trabalhos = $evento->trabalhos->whereIn('id', $trabalhos_id);
//dd($trabalhos);
return view('avaliador.listarTrabalhos', ['trabalhos'=>$trabalhos]);
return view('avaliador.listarTrabalhos', ['trabalhos'=>$trabalhos, 'evento'=>$evento]);
}
......@@ -28,31 +40,30 @@ class AvaliadorController extends Controller
//$trabalho = Trabalho::find($request->trabalho_id);
$avaliador = Auth::user()->avaliadors->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){
$evento = Evento::find($request->evento_id);
$trabalhos = Auth::user()->avaliadors->first()->trabalhos;
$avaliador = Auth::user()->avaliadors->first();
$trabalho = $avaliador->trabalhos->find($request->trabalho_id);
if($request->anexoParecer == ''){
$avaliador
->trabalhos()
->updateExistingPivot($trabalho->id,['status'=> 1,'parecer'=>$request->textParecer]);
->updateExistingPivot($trabalho->id,['status'=> 1,'parecer'=>$request->textParecer, 'recomendacao_id'=>$request->recomendacao_id]);
}else{
$avaliador
->trabalhos()
->updateExistingPivot($trabalho->id,['status'=> 1,
'parecer'=>$request->textParecer,
'AnexoParecer'=> $request->anexoParecer
]);
->updateExistingPivot($trabalho->id,['status'=> 1,'parecer'=>$request->textParecer,'AnexoParecer'=> $request->anexoParecer, 'recomendacao_id'=>$request->recomendacao_id]);
}
// 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'];
}
......@@ -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_id');
}
}
......@@ -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');
});
}
......
......@@ -21,6 +21,7 @@ class CreateAvaliadorsTrabalhosTable extends Migration
$table->string('AnexoParecer')->nullable();
$table->boolean('status')->nullable();
$table->unsignedBigInteger('recomendacao_id')->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');
}
}
<?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) {
//
});
}
}
......@@ -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',
]);
}
}
......@@ -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
......
......@@ -57,7 +57,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>
......
......@@ -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>
......@@ -27,9 +24,7 @@
@foreach ($eventos as $evento)
<tr>
<td>
<a href="{{ route('evento.visualizar',['id'=>$evento->id]) }}" class="visualizarEvento">
{{ $evento->nome }}
</a>
</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
</a>
<a href="{{route('evento.editar',$evento->id)}}" class="dropdown-item">
<img src="{{asset('img/icons/edit-regular.svg')}}" class="icon-card" alt="">
Editar
Projetos para avaliar
</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" >
......
......@@ -13,10 +13,20 @@
<form method="POST" action="{{route('avaliador.enviarParecer')}}" enctype="multipart/form-data">
@csrf
<input type="hidden" name="trabalho_id" value="{{ $trabalho->id }}" >
<input type="hidden" name="evento_id" value="{{ $evento->id }}" >
<div class="form-group">
<label for="exampleFormControlTextarea1">Parecer:</label>
<textarea class="form-control" id="exampleFormControlTextarea1" rows="3" name="textParecer">{{ $trabalho->pivot->parecer }}</textarea>
</div>
<select class="custom-select" name="recomendacao_id" >
@foreach($recomendacaos as $recomendacao)
@if($trabalho->pivot->recomendacao_id == $recomendacao->id)
<option selected value="{{ $recomendacao->id }}" >{{ $recomendacao->nome }}</option>
@else
<option value="{{ $recomendacao->id }}">{{ $recomendacao->nome }}</option>
@endif
@endforeach
</select>
<div class="form-group">
@if($trabalho->pivot->AnexoParecer == null)
<label for="exampleFormControlFile1">Anexo do Parecer:</label>
......@@ -30,7 +40,7 @@
</div>
<button type="submit" class="btn btn-primary">Enviar</button>
<a href="{{ route('avaliador.visualizarTrabalho') }}" class="btn btn-danger" >Cancelar</a>
<a href="{{ route('avaliador.visualizarTrabalho', ['evento_id' => $evento->id])}}" class="btn btn-danger" >Cancelar</a>
</form>
</div>
......
......@@ -24,6 +24,7 @@ Route::prefix('avaliador')->name('avaliador.')->group(function(){
Route::get('/index', 'AvaliadorController@index' )->name('index');
Route::get('/trabalhos', 'AvaliadorController@visualizarTrabalhos' )->name('visualizarTrabalho');
Route::post('/parecer', 'AvaliadorController@parecer' )->name('parecer');
Route::get('/editais', 'AvaliadorController@editais' )->name('editais');
Route::post('/Enviarparecer', 'AvaliadorController@enviarParecer' )->name('enviarParecer');
});
......
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