diff --git a/app/Area.php b/app/Area.php index fdd2a28a85c70ab5718095d2e9052779ad920f19..d03974502d983599d474e05d19c2b538c1b32fa0 100644 --- a/app/Area.php +++ b/app/Area.php @@ -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'); + } } diff --git a/app/Avaliador.php b/app/Avaliador.php index 887e401ab3831de47a9dc638bc8db1fb693dc6ae..dc141e35faccb86457a313c3e15e169cff9a42c7 100644 --- a/app/Avaliador.php +++ b/app/Avaliador.php @@ -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'); + } + } diff --git a/app/Http/Controllers/AdministradorController.php b/app/Http/Controllers/AdministradorController.php index fdf176ffa45f4e6d60832fcf9a17015542815c06..a0134cc1bd93090f01d319f13b460384368bccc2 100644 --- a/app/Http/Controllers/AdministradorController.php +++ b/app/Http/Controllers/AdministradorController.php @@ -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]); diff --git a/app/Http/Controllers/AvaliadorController.php b/app/Http/Controllers/AvaliadorController.php index 91af783674fe3834d8edab9263fb9272d8e54ae9..8c7425fb4c40660c395860f4c3e7da17676bd853 100644 --- a/app/Http/Controllers/AvaliadorController.php +++ b/app/Http/Controllers/AvaliadorController.php @@ -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 ]); } } diff --git a/app/Recomendacao.php b/app/Recomendacao.php new file mode 100644 index 0000000000000000000000000000000000000000..c8be58d535ae52313467118ad27cf618633545f8 --- /dev/null +++ b/app/Recomendacao.php @@ -0,0 +1,10 @@ +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'); } } diff --git a/database/migrations/2020_05_23_054805_create_avaliadors_table.php b/database/migrations/2020_05_23_054805_create_avaliadors_table.php index 0db3c6ca5556124ec5d145ecf04524b3257165d3..516f282b34484918807954dc504eec3ab23d34d3 100644 --- a/database/migrations/2020_05_23_054805_create_avaliadors_table.php +++ b/database/migrations/2020_05_23_054805_create_avaliadors_table.php @@ -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'); }); } diff --git a/database/migrations/2020_05_26_223341_create_avaliadors_trabalhos_table.php b/database/migrations/2020_05_26_223341_create_avaliadors_trabalhos_table.php index aa1fe253685e1d25cb253743863d11dba35f7d14..215b2c9c9589db1a41e64e5ef7990075434b6383 100644 --- a/database/migrations/2020_05_26_223341_create_avaliadors_trabalhos_table.php +++ b/database/migrations/2020_05_26_223341_create_avaliadors_trabalhos_table.php @@ -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'); diff --git a/database/migrations/2020_06_04_054313_create_recomendacaos_table.php b/database/migrations/2020_06_04_054313_create_recomendacaos_table.php new file mode 100644 index 0000000000000000000000000000000000000000..18755416ed38feb6f5d0827f2d2563b9b882851d --- /dev/null +++ b/database/migrations/2020_06_04_054313_create_recomendacaos_table.php @@ -0,0 +1,33 @@ +bigIncrements('id'); + $table->string('nome'); + $table->timestamps(); + + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('recomendacaos'); + } +} diff --git a/database/seeds/AvaliadorSeeder.php b/database/seeds/AvaliadorSeeder.php index 64a27a9fc4b037867a08c18e49ff5eae3a451f47..12138dab603463c5c8c4278a3aa6f101853e993c 100644 --- a/database/seeds/AvaliadorSeeder.php +++ b/database/seeds/AvaliadorSeeder.php @@ -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, ]); } } diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php index 58ab0307509bdeaa44806222368cbb28f65d3f54..a8cbc6c8720d9f64c45c55ce6f341b8f22ddcb36 100644 --- a/database/seeds/DatabaseSeeder.php +++ b/database/seeds/DatabaseSeeder.php @@ -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); diff --git a/database/seeds/RecomendacaoSeeder.php b/database/seeds/RecomendacaoSeeder.php new file mode 100644 index 0000000000000000000000000000000000000000..5636313d596866ff618e2b2cc937428d2395e64c --- /dev/null +++ b/database/seeds/RecomendacaoSeeder.php @@ -0,0 +1,24 @@ +insert([ + 'nome' => 'Aceitacao Forte', + ]); + DB::table('recomendacaos')->insert([ + 'nome' => 'Aceitacao Média', + ]); + DB::table('recomendacaos')->insert([ + 'nome' => 'Aceitacao Fraca', + ]); + } +} diff --git a/resources/views/administrador/editais.blade.php b/resources/views/administrador/editais.blade.php index cc4d74b549ad363ac958701d1799ebde51a4ca3e..1b265945588c90ecf12e4c35e5e35417f5ce6234 100644 --- a/resources/views/administrador/editais.blade.php +++ b/resources/views/administrador/editais.blade.php @@ -46,19 +46,23 @@ {{-- --}} diff --git a/resources/views/avaliador/index.blade.php b/resources/views/avaliador/index.blade.php index 39a76fb216d080cbea61b66feb7ae217101c570b..3acccdd02ec8afac39215d464b06b2a4966fdb42 100644 --- a/resources/views/avaliador/index.blade.php +++ b/resources/views/avaliador/index.blade.php @@ -8,7 +8,7 @@
- + - - -
diff --git a/resources/views/avaliador/listarTrabalhos.blade.php b/resources/views/avaliador/listarTrabalhos.blade.php index 2a8d2b85e954d974a6403c47248de421dba3d0cc..efd7e74930a209d313a6e6601fbd97c4c16c66bf 100644 --- a/resources/views/avaliador/listarTrabalhos.blade.php +++ b/resources/views/avaliador/listarTrabalhos.blade.php @@ -7,7 +7,7 @@
-

Trabalhos

+

Trabalhos do Edital: {{ $evento->nome }}

@@ -34,7 +34,7 @@
-
+ @csrf - Cancelar + Cancelar
diff --git a/routes/web.php b/routes/web.php index 5475c62763f597ff4210ada2024cf0e82493d0f0..7c184876cb397b45e6733d6d1ed1dade941654a7 100644 --- a/routes/web.php +++ b/routes/web.php @@ -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'); }); @@ -120,16 +121,16 @@ Route::prefix('usuarios')->name('admin.')->group(function(){ 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/deletar/{id}', 'AdministradorController@destroy' )->name('user.destroy')->middleware('checkAdministrador'); - Route::get('/editais', 'AdministradorController@editais' )->name('editais'); - Route::get('/atribuir', 'AdministradorController@atribuir' )->name('atribuir'); - Route::get('/selecionarAvaliador', 'AdministradorController@selecionar' )->name('selecionar'); - Route::get('/selecionarProjetos', 'AdministradorController@projetos' )->name('projetos'); - Route::post('/adicionarAvalEvento', 'AdministradorController@adicionar' )->name('adicionar'); - Route::post('/removerAvalEvento', 'AdministradorController@remover' )->name('remover'); - Route::post('/atribuirAvaliadorProjeto', 'AdministradorController@atribuicao' )->name('atribuicao'); - Route::post('/enviarConviteAvaliador', 'AdministradorController@enviarConvite')->name('enviarConvite'); - - + Route::get('/editais', 'AdministradorController@editais' )->name('editais'); + Route::get('/atribuir', 'AdministradorController@atribuir' )->name('atribuir'); + Route::get('/selecionarAvaliador', 'AdministradorController@selecionar' )->name('selecionar'); + Route::get('/selecionarProjetos', 'AdministradorController@projetos' )->name('projetos'); + Route::post('/adicionarAvalEvento', 'AdministradorController@adicionar' )->name('adicionar'); + Route::post('/removerAvalEvento', 'AdministradorController@remover' )->name('remover'); + Route::post('/atribuirAvaliadorProjeto', 'AdministradorController@atribuicao' )->name('atribuicao'); + 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(){