diff --git a/app/Evento.php b/app/Evento.php index 40bc8a01792ed8b1f636b4f9e51e9f173947db24..54086c95b162f7be6fe1fa50295f18bb37b9ea85 100644 --- a/app/Evento.php +++ b/app/Evento.php @@ -37,6 +37,9 @@ class Evento extends Model public function coordenadorComissao(){ return $this->belongsTo('App\CoordenadorComissao', 'coordenadorId'); } + public function trabalhos(){ + return $this->hasMany('App\Trabalho'); + } } diff --git a/app/Http/Controllers/AvaliadorController.php b/app/Http/Controllers/AvaliadorController.php new file mode 100644 index 0000000000000000000000000000000000000000..b4135eed34e20ee3b9dcc68380b80fd3a3920ce8 --- /dev/null +++ b/app/Http/Controllers/AvaliadorController.php @@ -0,0 +1,18 @@ +<?php + +namespace App\Http\Controllers; + +use Illuminate\Http\Request; +use Auth; + +class AvaliadorController extends Controller +{ + public function visualizarTrabalhos(Request $request){ + + $trabalhos = Auth::user()->avaliadors->first()->trabalhos; + //dd($trabalhos); + + return view('avaliador.listarTrabalhos', ['trabalhos'=>$trabalhos]); + + } +} diff --git a/app/Http/Controllers/CoordenadorComissaoController.php b/app/Http/Controllers/CoordenadorComissaoController.php index ef1d5d6fb36086f4c641c2a47ac16a87b6625502..2e1051a13ab9090e5d55a0752d7be7c33d10f400 100644 --- a/app/Http/Controllers/CoordenadorComissaoController.php +++ b/app/Http/Controllers/CoordenadorComissaoController.php @@ -27,7 +27,7 @@ class CoordenadorComissaoController extends Controller $coordenador = CoordenadorComissao::with('user')->where('user_id', Auth()->user()->id)->first(); $eventos = Evento::where('coordenadorId',$coordenador->id )->get(); - + //dd($eventos); return view('coordenadorComissao.editais', ['eventos'=> $eventos]); } public function coordenadorComite(){ @@ -51,4 +51,68 @@ class CoordenadorComissaoController extends Controller return view('coordenadorComissao.listarUsuarios', ['usuarios' => $usuarios]); } + public function listarTrabalhos(Request $request){ + + $evento = Evento::where('id',$request->evento_id )->first(); + $trabalhos = $evento->trabalhos; + + return view('coordenadorComissao.listarTrabalhos', ['trabalhos' => $trabalhos]); + } + public function detalhesEdital(Request $request){ + + $evento = Evento::where('id',$request->evento_id )->first(); + $trabalhos = $evento->trabalhos; + + return view('coordenadorComissao.detalhesEdital', ['evento' => $evento]); + } + public function retornoDetalhes(Request $request){ + + // array:2 [â–¼ + // "item" => "listarTrabalhos" + // "evento_id" => "1" + // ] + + //dd($request->all()); + if($request->item == "definirSubmissoes" ){ + + }else if($request->item == "listarTrabalhos" ){ + $evento = Evento::where('id',$request->evento_id )->first(); + $trabalhos = $evento->trabalhos; + //dd($trabalhos); + return view('coordenadorComissao.gerenciarEdital.listarTrabalhos', ['trabalhos' => $trabalhos]); + + }else if($request->item == "cadastrarAreas" ){ + + return view('coordenadorComissao.gerenciarEdital.cadastrarAreas', ['trabalhos' => $trabalhos]); + + }else if($request->item == "listarAreas" ){ + + return view('coordenadorComissao.gerenciarEdital.listarAreas', ['trabalhos' => $trabalhos]); + + }else if($request->item == "cadastrarRevisores" ){ + + return view('coordenadorComissao.gerenciarEdital.cadastrarRevisores', ['trabalhos' => $trabalhos]); + + }else if($request->item == "listarRevisores" ){ + + $avaliadores = Avaliador::all(); + + return view('coordenadorComissao.gerenciarEdital.listarRevisores', ['avaliadores' => $avaliadores]); + + }else if($request->item == "definirCoordenador" ){ + + return view('coordenadorComissao.gerenciarEdital.definirCoordenador', ['trabalhos' => $trabalhos]); + + }else if($request->item == "listarComissao" ){ + + return view('coordenadorComissao.gerenciarEdital.listarComissao', ['trabalhos' => $trabalhos]); + + } + + + + } + + + } diff --git a/app/Http/Controllers/EventoController.php b/app/Http/Controllers/EventoController.php index f4ec941195febdb66cd6eab35865b88aa6080c87..5be0ee7db192f4a58c1497e71b8d0dc778224368 100644 --- a/app/Http/Controllers/EventoController.php +++ b/app/Http/Controllers/EventoController.php @@ -178,8 +178,8 @@ class EventoController extends Controller if($proponente != null){ $hasTrabalho = false; $hasFile = false; - $trabalhos = $proponente->trabalhos()->get(); - $trabalhosCount = $proponente->trabalhos()->count(); + $trabalhos = $proponente->trabalhos()->where('evento_id', $evento->id )->get(); + $trabalhosCount = $proponente->trabalhos()->where('evento_id', $evento->id )->count(); if($trabalhosCount != 0){ $hasTrabalho = true; diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 2c2f07d1a6837acbe0122e50859a07e910d5fbf7..08b951a048cc33457c0a20c7dc96ff791df5b293 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -39,6 +39,9 @@ class HomeController extends Controller else if (Auth::user()->tipo == 'proponente') { return view('proponente.index'); } + else if (Auth::user()->has('avaliadors')) { + return view('avaliador.index'); + } else if (Auth::user()->tipo == 'participante') { return view('participante.index'); } diff --git a/app/Http/Controllers/TrabalhoController.php b/app/Http/Controllers/TrabalhoController.php index 86a2a472e3c4ea1f02ffef8bd05b6ff452735838..63d68c215045df79c8d9fe0d23910ad019e2e106 100644 --- a/app/Http/Controllers/TrabalhoController.php +++ b/app/Http/Controllers/TrabalhoController.php @@ -18,6 +18,7 @@ use App\GrandeArea; use App\SubArea; use App\FuncaoParticipantes; use App\Participante; +use App\Avaliador; use Carbon\Carbon; use Auth; use Illuminate\Http\Request; @@ -27,6 +28,7 @@ use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Log; use Illuminate\Support\Str; use App\Mail\SubmissaoTrabalho; +use App\Mail\EventoCriado; class TrabalhoController extends Controller { @@ -401,5 +403,39 @@ class TrabalhoController extends Controller 'revisoresDisponiveis' => $revisoresAux1 ], 200); } + public function atribuirAvaliadorTrabalho(Request $request){ + + $request->trabalho_id; + $trabalho = Trabalho::find($request->trabalho_id); + + $avaliadores = Avaliador::all(); + + + + return view('coordenadorComissao.gerenciarEdital.atribuirAvaliadorTrabalho', ['avaliadores'=>$avaliadores, 'trabalho'=>$trabalho, 'evento'=> $trabalho->evento ]); + + } + + public function atribuir(Request $request){ + + $trabalho = Trabalho::find($request->trabalho_id); + + $todosAvaliadores = Avaliador::all(); + + $avaliadores = Avaliador::whereIn('id', $request->avaliadores)->with('user')->get(); + + $trabalho->avaliadors()->sync($request->avaliadores); + + foreach ($avaliadores as $key => $avaliador) { + + $user = $avaliador->user; + $subject = "Trabalho atribuido"; + Mail::to($user->email) + ->send(new EventoCriado($user, $subject)); + } + + return view('coordenadorComissao.detalhesEdital', ['evento'=> $trabalho->evento ]); + } + } diff --git a/app/Policies/EventoPolicy.php b/app/Policies/EventoPolicy.php index 25b9d3a5d9949bef65efe8f831e8e37e02aa2ec5..08b040647d10ad0fbaa5087512f484ece5f0a430 100644 --- a/app/Policies/EventoPolicy.php +++ b/app/Policies/EventoPolicy.php @@ -24,8 +24,12 @@ class EventoPolicy public function isCoordenador(User $user, Evento $evento){ + if(Auth()->user()->coordenadorComissao->first() != null ){ + return $evento->criador_id == Auth()->user()->coordenadorComissao->first()->id; + }else{ + return false; + } - return $evento->criador_id == Auth()->user()->id; } } diff --git a/app/Policies/UsuariosPolicy.php b/app/Policies/UsuariosPolicy.php new file mode 100644 index 0000000000000000000000000000000000000000..6e0f14474e165ff1cd1aa3a1b9cde6839e156e5e --- /dev/null +++ b/app/Policies/UsuariosPolicy.php @@ -0,0 +1,47 @@ +<?php + +namespace App\Policies; + +use App\User; +use App\Evento; +use App\CoordenadorComissao; +use App\AdministradorResponsavel; +use Illuminate\Auth\Access\HandlesAuthorization; + +class UsuariosPolicy +{ + use HandlesAuthorization; + + /** + * Create a new policy instance. + * + * @return void + */ + public function __construct() + { + + } + + public function isUser(User $user){ + + if($user->has('')){ + + }else if(){ + + }else if(){ + + }else if(){ + + }else if(){ + + }else if(){ + + }else if(){ + + } + + + + + } +} diff --git a/app/Trabalho.php b/app/Trabalho.php index 08f1a2ef14f74407a7743ce33375f2c61c360171..695ca9cdb29055b5ac4f8796c0721f4ca5e4e676 100644 --- a/app/Trabalho.php +++ b/app/Trabalho.php @@ -67,7 +67,7 @@ class Trabalho extends Model } public function evento(){ - return $this->belongsTo('App\Evento', 'eventoId'); + return $this->belongsTo('App\Evento'); } public function planoTrabalho(){ return $this->hasMany('App\PlanoTrabalho'); diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php index fadd488d58bb92e5f86dc4c1d15f7b841e66c794..a75860a905508f0492bfd9072c47ce63f176fc30 100644 --- a/database/seeds/DatabaseSeeder.php +++ b/database/seeds/DatabaseSeeder.php @@ -22,6 +22,7 @@ class DatabaseSeeder extends Seeder $this->call(FuncaoParticipanteSeeder::class); $this->call(CoordenadorComissaoSeeder::class); $this->call(ParticipanteSeeder::class); + // $this->call(UsersTableSeeder::class); // DB::table('enderecos')->insert([ // 1 @@ -134,6 +135,6 @@ class DatabaseSeeder extends Seeder // ]; - + $this->call(TrabalhoSeeder::class); } } diff --git a/database/seeds/TrabalhoSeeder.php b/database/seeds/TrabalhoSeeder.php new file mode 100644 index 0000000000000000000000000000000000000000..790b335173910d5b882a60dec6ed6e3df7f15305 --- /dev/null +++ b/database/seeds/TrabalhoSeeder.php @@ -0,0 +1,51 @@ +<?php + +use Illuminate\Database\Seeder; + +class TrabalhoSeeder extends Seeder +{ + /** + * Run the database seeds. + *$table->string('titulo'); + $table->boolean('avaliado')->nullable(); + $table->string('linkGrupoPesquisa'); + $table->string('linkLattesEstudante'); + $table->string('pontuacaoPlanilha'); + $table->date('data')->nullable(); + //Anexos + $table->string('anexoProjeto'); + $table->string('anexoDecisaoCONSU')->nullable(); + $table->string('anexoPlanilhaPontuacao'); + $table->string('anexoLattesCoordenador'); + $table->string('anexoAutorizacaoComiteEtica'); + //chaves estrangeiras + $table->unsignedBigInteger('grande_area_id'); + $table->unsignedBigInteger('area_id'); + $table->unsignedBigInteger('sub_area_id'); + $table->unsignedBigInteger('evento_id'); + $table->unsignedBigInteger('coordenador_id'); + + * @return void + */ + public function run() + { + DB::table('trabalhos')->insert([ + 'titulo' =>'Projeto', + 'linkGrupoPesquisa' =>'link', + 'linkLattesEstudante' =>'link', + 'pontuacaoPlanilha' =>'link', + 'data' =>'2020-01-01', + 'anexoProjeto' =>'Ãlgebra', + 'anexoDecisaoCONSU' =>'Ãlgebra', + 'anexoPlanilhaPontuacao' =>'Ãlgebra', + 'anexoAutorizacaoComiteEtica' =>'Ãlgebra', + 'anexoLattesCoordenador' =>'Ãlgebra', + 'grande_area_id' =>1, + 'area_id' =>1, + 'sub_area_id' =>1, + 'evento_id' =>1, + 'coordenador_id' =>1, + + ]); + } +} diff --git a/resources/views/avaliador/editais.blade.php b/resources/views/avaliador/editais.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..d896b9e26767197810f0f21e66e25d2e1601bdf9 --- /dev/null +++ b/resources/views/avaliador/editais.blade.php @@ -0,0 +1,73 @@ +@extends('layouts.app') + +@section('content') + +<div class="container" style="margin-top: 100px;"> + + <div class="container" > + <div class="row" > + <div class="col-sm-10"> + <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> + <table class="table table-bordered"> + <thead> + <tr> + <th scope="col">Nome do Edital</th> + <th scope="col">Data de Criação</th> + <th scope="col">Opção</th> + </tr> + </thead> + <tbody> + @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> + <div class="btn-group dropright dropdown-options"> + <a id="options" class="dropdown-toggle " data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> + {{-- <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=""> + 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 + </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> + </tr> + @endforeach + </tbody> + </table> +</div> + +@endsection + +@section('javascript') +<script> + +</script> +@endsection diff --git a/resources/views/avaliador/index.blade.php b/resources/views/avaliador/index.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..3e94fd3647d2cf8579e66018222c666334834535 --- /dev/null +++ b/resources/views/avaliador/index.blade.php @@ -0,0 +1,46 @@ +@extends('layouts.app') + +@section('content') + +<div class="container"> + + <h2 style="margin-top: 100px; ">{{ Auth()->user()->name }}</h2> + + <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;"> + <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> + </div> + + </div> + </a> + </div> + + <div class="col-sm-4 d-flex justify-content-center"> + <a href="{{ route('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> + + + + +</div> + +@endsection diff --git a/resources/views/avaliador/listarTrabalhos.blade.php b/resources/views/avaliador/listarTrabalhos.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..bb8e693a3b96e010b247f8fe047a1af62a7f623b --- /dev/null +++ b/resources/views/avaliador/listarTrabalhos.blade.php @@ -0,0 +1,43 @@ +@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</h3> + </div> + </div> + </div> + <hr> + <table class="table table-bordered"> + <thead> + <tr> + <th scope="col">Nome do Projeto</th> + <th scope="col">Data de Criação</th> + <th scope="col">Baixar</th> + <th scope="col">Parecer</th> + </tr> + </thead> + <tbody> + @foreach ($trabalhos as $trabalho) + <tr> + <td>{{ $trabalho->titulo }}</td> + <td>{{ $trabalho->create_at }}</td> + <td>baixar</td> + <td>parecer</td> + </tr> + @endforeach + </tbody> + </table> +</div> + +@endsection + +@section('javascript') +<script> + +</script> +@endsection diff --git a/resources/views/coordenadorComissao/detalhesEdital.blade.php b/resources/views/coordenadorComissao/detalhesEdital.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..b2b597fbfadffe81906024b066e2c45049d91743 --- /dev/null +++ b/resources/views/coordenadorComissao/detalhesEdital.blade.php @@ -0,0 +1,140 @@ +@extends('layouts.app') +@section('sidebar') +<div class="wrapper"> + <div class="sidebar"> + <h2>{{{$evento->nome}}}</h2> + <ul> + <a id="informacoes"> + <li> + <img src="{{asset('img/icons/info-circle-solid.svg')}}" alt=""> <h5> Informações</h5> + </li> + </a> + + <a id="trabalhos"> + <li data-toggle="collapse" data-target="#ajuda" class="collapsed"> + <img src="{{asset('img/icons/file-alt-regular.svg')}}" alt=""><h5>Trabalhos</h5><img class="arrow" src="{{asset('img/icons/arrow.svg')}}"> + </li> + <ul class="sub-menu collapse" id="ajuda" style="background-color: gray"> + <a id="definirSubmissoes" class="exibir"> + <li> + <img src="{{asset('img/icons/plus-square-solid.svg')}}" alt=""><h5>Definir Submissões</h5> + </li> + </a> + <a id="listarTrabalhos" class="exibir" > + <li> + <img src="{{asset('img/icons/list.svg')}}" alt=""><h5>Listar Trabalhos</h5> + </li> + </a> + </ul> + </a> + <a id="areas"> + <li data-toggle="collapse" data-target="#menuAreas" class="collapsed"> + <img src="{{asset('img/icons/area.svg')}}" alt=""><h5> Ãreas</h5><img class="arrow" src="{{asset('img/icons/arrow.svg')}}"> + </li> + <ul class="sub-menu collapse" id="menuAreas" style="background-color: gray"> + <a id="cadastrarAreas" class="exibir"> + <li> + <img src="{{asset('img/icons/plus-square-solid.svg')}}" alt=""><h5> Cadastrar Ãreas</h5> + </li> + </a> + <a id="listarAreas" class="exibir"> + <li> + <img src="{{asset('img/icons/list.svg')}}" alt=""><h5> Listar Ãreas</h5> + </li> + </a> + </ul> + </a> + <a id="avaliador"> + <li data-toggle="collapse" data-target="#menuAvaliador" class="collapsed"> + <img src="{{asset('img/icons/glasses-solid.svg')}}" alt=""><h5>Avaliadores</h5><img class="arrow" src="{{asset('img/icons/arrow.svg')}}"> + </li> + <ul class="sub-menu collapse" id="menuAvaliador" style="background-color: gray"> + <a id="cadastrarRevisores" class="exibir"> + <li> + <img src="{{asset('img/icons/user-plus-solid.svg')}}" alt=""><h5> Cadastrar Revisores</h5> + </li> + </a> + <a id="listarRevisores" class="exibir"> + <li> + <img src="{{asset('img/icons/list.svg')}}" alt=""><h5> Listar Revisores</h5> + </li> + </a> + </ul> + + </a> + <a id="comissao" > + <li data-toggle="collapse" data-target="#menuComissao" class="collapsed"> + <img src="{{asset('img/icons/user-tie-solid.svg')}}" alt=""><h5>Comissão</h5><img class="arrow" src="{{asset('img/icons/arrow.svg')}}"> + </li> + <ul class="sub-menu collapse" id="menuComissao" style="background-color: gray"> + <a id="definirCoordenador" class="exibir"> + <li> + <img src="{{asset('img/icons/crown-solid.svg')}}" alt=""><h5> Definir Coordenador</h5> + </li> + </a> + <a id="listarComissao" class="exibir"> + <li> + <img src="{{asset('img/icons/list.svg')}}" alt=""><h5> Listar Comissão</h5> + </li> + </a> + </ul> + + </a> + + </ul> + </div> + +</div> + +<!-- paginas --> + <div class="main" style="margin-left: 200px; margin-top: 100px;"> + <div class="container"> + <div class="row" id="pagina"> + + </div> + </div> + </div> + + +@endsection +@section('javascript') + <script type="text/javascript" > + + + $(document).ready(()=>{ + + $('.exibir').on('click',(event) => { + event.preventDefault(); + console.log(event.currentTarget.id); + + var itemMenu = event.currentTarget.id; + + + $.ajax({ + type: 'POST', + url: '{{ route('coordenador.retornoDetalhes') }}', + data: 'item='+itemMenu+'&evento_id='+'{{ $evento->id }}' , + headers: + { + 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') + }, + success: (data) => { + $('#pagina').html(data); + //console.log(data); + }, + error: (data) => { + console.log(data); + } + + }) + + + }); + }) + + + + </script> + +@endsection + diff --git a/resources/views/coordenadorComissao/documentacao.blade.php b/resources/views/coordenadorComissao/documentacao.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..f31bb03ebb7014a15defccdb867e7b491e3f75d2 --- /dev/null +++ b/resources/views/coordenadorComissao/documentacao.blade.php @@ -0,0 +1,9 @@ +<div class="container"> + <div class="row"> + <div class="col"> + <h3>Documentação</h3> + <hr /> + <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin at semper orci, congue tempor libero. Vivamus tristique risus ac risus gravida, et accumsan velit elementum. Donec mattis porttitor enim, ac mollis eros accumsan vel. Cras vel fermentum enim, et molestie diam. Cras nisl elit, volutpat sed ullamcorper at, congue sed orci. Suspendisse potenti. Nulla molestie mattis viverra. Cras fringilla, enim vel bibendum ornare, est risus condimentum ligula, quis commodo nunc justo et metus. Quisque vitae magna luctus, convallis felis a, pellentesque libero. Quisque dictum volutpat risus eget laoreet. Sed elementum eu turpis eu bibendum. Mauris nec consequat lacus, in consectetur ante. Aliquam et ex mattis, tincidunt mauris sollicitudin, ullamcorper lacus. Morbi malesuada odio quis arcu tempus dapibus. Duis nec tincidunt ipsum, id laoreet metus.</p> + </div> + </div> +</div> \ No newline at end of file diff --git a/resources/views/coordenadorComissao/editais.blade.php b/resources/views/coordenadorComissao/editais.blade.php index 4fded1c3c72774b2821697cdc67f5e2948cdc6fb..b6a819bf60d8b60730d77a471e4948720c47282f 100644 --- a/resources/views/coordenadorComissao/editais.blade.php +++ b/resources/views/coordenadorComissao/editais.blade.php @@ -24,7 +24,7 @@ @foreach ($eventos as $evento) <tr> <td> - <a href="{{ route('evento.visualizar',['id'=>$evento->id]) }}" class="visualizarEvento"> + <a href="{{ route('coordenador.detalhesEdital',['evento_id'=>$evento->id]) }}" class="visualizarEvento"> {{ $evento->nome }} </a> </td> diff --git a/resources/views/coordenadorComissao/gerenciarEdital/atribuirAvaliadorTrabalho.blade.php b/resources/views/coordenadorComissao/gerenciarEdital/atribuirAvaliadorTrabalho.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..820084ee1f56014097bedf23a739f00f90a58882 --- /dev/null +++ b/resources/views/coordenadorComissao/gerenciarEdital/atribuirAvaliadorTrabalho.blade.php @@ -0,0 +1,36 @@ +@extends('layouts.app') + +@section('content') + +<div class="container" style="margin-top: 100px;"> + + <h2>{{$trabalho->titulo}}</h2> + + <form action="{{ route('coordenador.atribuir') }}" method="post" enctype="multipart/form-data"> + @csrf + <input type="hidden" name="trabalho_id" value="{{$trabalho->id}}" > + <div class="form-group"> + <label>Avaliadores</label> + <select name="avaliadores[]" id="" class="form-control" multiple> + @foreach($avaliadores as $avaliador) + <option value="{{$avaliador->id}}">{{$avaliador->user->name}}</option> + @endforeach + </select> + </div> + + <div> + <a href="{{ route('coordenador.detalhesEdital', ['evento_id' => $evento->id]) }}" class="btn btn-danger">Cancelar</a> + <button type="submit" class="btn btn-primary">Atribuir</button> + + </div> + </form> + </div> + + +@endsection + +@section('javascript') +<script> + +</script> +@endsection diff --git a/resources/views/coordenadorComissao/gerenciarEdital/listarRevisores.blade.php b/resources/views/coordenadorComissao/gerenciarEdital/listarRevisores.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..9236b255d0a14ac4e973d51976dab93cde9f2a1a --- /dev/null +++ b/resources/views/coordenadorComissao/gerenciarEdital/listarRevisores.blade.php @@ -0,0 +1,32 @@ + + + <div class="col-sm-10"> + <h1 class="">Avaliadores</h1> + </div> + + <table class="table table-hover table-responsive-lg table-sm"> + <thead> + <tr> + <th scope="col">ID</th> + <th scope="col">Nome</th> + <th scope="col">E-mail</th> + <th scope="col">Trabalhos</th> + <th scope="col">Visualizar</th> + </tr> + </thead> + <tbody> + @php $i = 0; @endphp + @foreach($avaliadores as $avaliador) + + <tr> + <td>{{$avaliador->id}}</td> + <td>{{$avaliador->user->name}} </td> + <td>{{$avaliador->user->email}}</td> + <td> </td> + <td> </td> + + </tr> + @endforeach + </tbody> + </table> + diff --git a/resources/views/coordenadorComissao/gerenciarEdital/listarTrabalhos.blade.php b/resources/views/coordenadorComissao/gerenciarEdital/listarTrabalhos.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..245c7fd4f212e30ad8a261f22fa513f380cc3620 --- /dev/null +++ b/resources/views/coordenadorComissao/gerenciarEdital/listarTrabalhos.blade.php @@ -0,0 +1,62 @@ + + + <div class="col-sm-10"> + <h1 class="">Trabalhos</h1> + </div> + + <table class="table table-hover table-responsive-lg table-sm"> + <thead> + <tr> + <th scope="col">ID</th> + <th scope="col">Titulo</th> + <th scope="col">Avaliadores</th> + <th scope="col" style="text-align:center">Baixar</th> + <th scope="col" style="text-align:center">Atribuição</th> + </tr> + </thead> + <tbody> + @php $i = 0; @endphp + @foreach($trabalhos as $trabalho) + + <tr> + <td>{{$trabalho->id}}</td> + <td>{{$trabalho->titulo}}</td> + <td> + @foreach($trabalho->avaliadors as $atribuicao) + {{$atribuicao->user->email}}, + @endforeach + </td> + <td style="text-align:center"> + @php $arquivo = ""; $i++; @endphp + @foreach($trabalho->arquivo as $key) + @php + if($key->versaoFinal == true){ + $arquivo = $key->nome; + } + @endphp + @endforeach + <img onclick="document.getElementById('formDownload{{$i}}').submit();" class="" src="{{asset('img/icons/file-download-solid-black.svg')}}" style="width:20px" alt=""> + <form method="GET" action="{{ route('download') }}" target="_new" id="formDownload{{$i}}"> + <input type="hidden" name="file" value="{{$arquivo}}"> + </form> + </td> + <td style="text-align:center"> + <a id="listarComissao" class="exibir"> + + <form action="{{ route('coordenador.atribuirAvaliadorTrabalho') }}" method="POST" > + @csrf + <input type="hidden" name="trabalho_id" value="{{$trabalho->id}}"> + + <button type="submit" class="btn btn-primary" > Atribuir Avaliadores </button> + + + </form> + + {{-- <a class="botaoAjax" href="#" data-toggle="modal" onclick="" data-target="#modalTrabalho"><img src="{{asset('img/icons/eye-regular.svg')}}" style="width:20px"></a> --}} + </td> + </tr> + + @endforeach + </tbody> + </table> + diff --git a/resources/views/evento/visualizarEvento.blade.php b/resources/views/evento/visualizarEvento.blade.php index 5f589a9c0e4a89398bc2884baad5ae454f55dbd6..e04ba0e7081dd1145a460f1d83f1c4bf43033191 100644 --- a/resources/views/evento/visualizarEvento.blade.php +++ b/resources/views/evento/visualizarEvento.blade.php @@ -114,7 +114,7 @@ <p> <img class="" src="{{asset('img/icons/calendar-evento.svg')}}" alt=""> {{date('d/m/Y',strtotime($evento->inicioRevisao))}} - {{date('d/m/Y',strtotime($evento->fimRevisao))}} - </p> --}} + </p> </div> </div> <div class="row margin"> diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index d2721ac0a41ee22a5775d8eb4db8dea119f69d29..cd90bce3630755ffbffba360296b9e155b6188c6 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -228,7 +228,7 @@ </div> </li> @endif - @if(Auth::user()->tipo == 'participante') + @if(Auth::user()->tipo == 'participante' ) <li class="nav-item"> <a class="nav-link" href="{{route('visualizarEvento')}}">Home</a> </li> @@ -254,6 +254,41 @@ </a> + <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;"> + @csrf + </form> + </div> + </li> + @endif + @if(Auth::user()->has('avaliadors')) + <li class="nav-item"> + <a class="nav-link" href="{{route('visualizarEvento')}}">Home</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="{{route('visualizarTrabalho')}}">Trabalhos</a> + </li> + <li class="nav-item dropdown"> + <a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre> + {{ Auth::user()->name }} <span class="caret"></span> + </a> + + <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown"> + <a class="dropdown-item" href="{{ route('user.perfil') }}"> + <img src="{{asset('img/icons/perfil.svg')}}" alt=""> + {{ __('Minha Conta') }} + </a> + <a class="dropdown-item" href="{{ route('user.meusTrabalhos') }}"> + <img src="{{asset('img/icons/file-alt-regular-black.svg')}}" alt=""> + {{ __('Participante') }} + </a> + <a class="dropdown-item" href="{{ route('logout') }}" + onclick="event.preventDefault(); + document.getElementById('logout-form').submit();"> + <img src="{{asset('img/icons/sign-out-alt-solid.svg')}}" alt=""> + {{ __('Sair') }} + </a> + + <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;"> @csrf </form> diff --git a/routes/web.php b/routes/web.php index 92b7f74538bf7085a62bdef91de62548443d19a3..aeca5f1bed8206b05cbcb0b8882cadfe155c9b41 100644 --- a/routes/web.php +++ b/routes/web.php @@ -95,6 +95,15 @@ Route::get('/coordenador/listarCoord', 'CoordenadorComissaoController@coordenado Route::get('/coordenador/listarAvaliador', 'CoordenadorComissaoController@avaliador')->name('coordenador.avaliador'); Route::get('/coordenador/listarProponente', 'CoordenadorComissaoController@proponente')->name('coordenador.proponente'); Route::get('/coordenador/listarParticipante', 'CoordenadorComissaoController@participante')->name('coordenador.participante'); +Route::get('/coordenador/listarTrabalhos', 'CoordenadorComissaoController@listarTrabalhos')->name('coordenador.listarTrabalhos'); +Route::get('/coordenador/detalhesEdital', 'CoordenadorComissaoController@detalhesEdital')->name('coordenador.detalhesEdital'); +Route::post('/coordenador/retornoDetalhes', 'CoordenadorComissaoController@retornoDetalhes')->name('coordenador.retornoDetalhes'); +Route::post('/coordenador/atribuirAvaliadorTrabalho', 'TrabalhoController@atribuirAvaliadorTrabalho')->name('coordenador.atribuirAvaliadorTrabalho'); +Route::post('/coordenador/atribuir', 'TrabalhoController@atribuir')->name('coordenador.atribuir'); + +// Rotas Avaliador +Route::get('/avaliador/trabalhos', 'AvaliadorController@visualizarTrabalhos')->name('visualizarTrabalho'); + Route::group(['middleware' => ['isTemp', 'auth', 'verified']], function(){