diff --git a/app/Http/Controllers/AdministradorController.php b/app/Http/Controllers/AdministradorController.php index ae19a2ae9451a525a51251a495e8d06c36f50105..fdf176ffa45f4e6d60832fcf9a17015542815c06 100644 --- a/app/Http/Controllers/AdministradorController.php +++ b/app/Http/Controllers/AdministradorController.php @@ -11,8 +11,13 @@ use App\AdministradorResponsavel; use App\Participante; use App\Proponente; use App\Natureza; +use App\Trabalho; +use Illuminate\Support\Str; use Illuminate\Support\Facades\Hash; use App\Evento; +use App\Mail\EmailParaUsuarioNaoCadastrado; +use Illuminate\Support\Facades\Mail; +use App\Mail\EventoCriado; class AdministradorController extends Controller { @@ -32,7 +37,7 @@ class AdministradorController extends Controller public function editais(){ //$admin = Administrador::with('user')->where('user_id', Auth()->user()->id)->first(); //$eventos = Evento::where('coordenadorId',$admin->id )->get(); - $eventos = Evento::where('criador_id',Auth()->user()->id )->get(); + $eventos = Evento::all(); return view('administrador.editais', ['eventos'=> $eventos]); } @@ -249,9 +254,11 @@ class AdministradorController extends Controller public function selecionar(Request $request){ $evento = Evento::where('id', $request->evento_id)->first(); - $avaliadores = Avaliador::all(); - $avalSelecionados = $evento->avaliadors; + $avalSelecionados = $evento->avaliadors; + $avalNaoSelecionadosId = $evento->avaliadors->pluck('id'); + $avaliadores = Avaliador::whereNotIn('id', $avalNaoSelecionadosId)->get(); + //dd($avaliadores); return view('administrador.selecionarAvaliadores', [ 'evento'=> $evento, 'avaliadores'=>$avaliadores, @@ -264,14 +271,103 @@ class AdministradorController extends Controller $trabalhos = $evento->trabalhos; $avaliadores = $evento->avaliadors; - //dd($avaliadores); + foreach ($trabalhos as $key => $trabalho) { + + + $avalSelecionadosId = $trabalho->avaliadors->pluck('id'); + $avalProjeto = Avaliador::whereNotIn('id', $avalSelecionadosId)->get(); + $trabalho->aval = $avalProjeto; + + } + + //dd($avaliadores->teste); return view('administrador.selecionarProjetos', [ 'evento'=> $evento, 'trabalhos'=>$trabalhos, - 'avaliadores'=>$avaliadores, + 'avaliadores'=>$avaliadores ]); } + public function adicionar(Request $request){ + + $evento = Evento::where('id', $request->evento_id)->first(); + $aval = Avaliador::where('id', $request->avaliador_id)->first(); + $aval->eventos()->attach($evento); + $aval->save(); + + + return redirect()->back(); + + + } + + public function remover(Request $request){ + + $evento = Evento::where('id', $request->evento_id)->first(); + $aval = Avaliador::where('id', $request->avaliador_id)->first(); + $aval->eventos()->detach($evento); + $aval->trabalhos()->detach(); + $aval->save(); + + + return redirect()->back(); + + + } + public function buscar(Request $request){ + + $trabalho = Trabalho::where('id', $request->item)->first(); + $avalSelecionadosId = $trabalho->avaliadors->pluck('id'); + $avalProjeto = Avaliador::whereNotIn('id', $avalSelecionadosId)->get(); + + //dd($avaliadores); + + return response()->json($avalProjeto); + + } + + public function atribuicao(Request $request){ + + $trabalho = Trabalho::where('id', $request->trabalho_id)->first(); + $evento = Evento::where('id', $request->evento_id)->first(); + $avaliadores = Avaliador::whereIn('id', $request->avaliadores_id)->get(); + $trabalho->avaliadors()->attach($avaliadores); + $evento->avaliadors()->syncWithoutDetaching($avaliadores); + $trabalho->save(); + + return redirect()->back(); + + } + + public function enviarConvite(Request $request){ + + $evento = Evento::where('id', $request->evento_id)->first(); + $nomeAvaliador = $request->nomeAvaliador; + $emailAvaliador = $request->emailAvaliador; + $tipo = $request->tipo; + + $passwordTemporario = Str::random(8); + Mail::to($emailAvaliador) + ->send(new EmailParaUsuarioNaoCadastrado($nomeAvaliador, ' ', 'Avaliador', $evento->nome, $passwordTemporario)); + $user = User::create([ + 'email' => $emailAvaliador, + 'password' => bcrypt($passwordTemporario), + 'usuarioTemp' => true, + 'name' => $nomeAvaliador, + 'tipo' => 'avaliador', + ]); + + $avaliador = new Avaliador(); + $avaliador->save(); + $avaliador->user()->associate($user); + $avaliador->eventos()->attach($evento); + + $user->save(); + $avaliador->save(); + + return redirect()->back(); + } + } diff --git a/app/Http/Controllers/EventoController.php b/app/Http/Controllers/EventoController.php index 2f8b738e142f7c4f84323d6a91f8912a8007e482..8a67ceb0e6951b8582026e55e626be9ac2100377 100644 --- a/app/Http/Controllers/EventoController.php +++ b/app/Http/Controllers/EventoController.php @@ -196,17 +196,8 @@ class EventoController extends Controller $trabalhos = 0; $trabalhosCount = 0; } - - + $trabalhosId = Trabalho::where('evento_id', $evento->id)->select('id')->get(); - //$trabalhosIdCoautor = Proponente::whereIn('trabalhoId', $trabalhosId)->where('proponente_id', Auth::user()->id)->select('trabalhoId')->get(); - //$coautorCount = Coautor::whereIn('trabalhoId', $trabalhosId)->where('proponente_id', Auth::user()->id)->count(); - //$trabalhosCoautor = Trabalho::whereIn('id', $trabalhosIdCoautor)->get(); - - // if($coautorCount != 0){ - // $hasTrabalhoCoautor = true; - // $hasFile = true; - // } $mytime = Carbon::now('America/Recife'); // dd(false); @@ -472,5 +463,8 @@ class EventoController extends Controller return view('user.areaComissao', ['trabalhos' => $trabalhos]); } - + public function baixarEdital($id) { + $evento = Evento::find($id); + return Storage::download($evento->pdfEdital); + } } diff --git a/app/Http/Controllers/TrabalhoController.php b/app/Http/Controllers/TrabalhoController.php index 63d68c215045df79c8d9fe0d23910ad019e2e106..4ee74f7393d93e1c28a3079ee9d52eeb211961bf 100644 --- a/app/Http/Controllers/TrabalhoController.php +++ b/app/Http/Controllers/TrabalhoController.php @@ -437,5 +437,10 @@ class TrabalhoController extends Controller return view('coordenadorComissao.detalhesEdital', ['evento'=> $trabalho->evento ]); } + public function projetosDoEdital($id) { + $edital = Evento::find($id); + $projetos = Trabalho::where('evento_id', '=', $id)->get(); + return view('projeto.index')->with(['edital' => $edital, 'projetos' => $projetos]); + } } diff --git a/database/migrations/2020_05_23_054945_create_participantes_table.php b/database/migrations/2020_05_23_054945_create_participantes_table.php index 0a004993703adb218381d68b4235510c5cfd1965..8b559d61dc6908c3ac8ec7d60a507967d98a0ee1 100644 --- a/database/migrations/2020_05_23_054945_create_participantes_table.php +++ b/database/migrations/2020_05_23_054945_create_participantes_table.php @@ -15,6 +15,7 @@ class CreateParticipantesTable extends Migration { Schema::create('participantes', function (Blueprint $table) { $table->bigIncrements('id'); + $table->boolean('confirmacao_convite')->nullable(); $table->timestamps(); $table->unsignedBigInteger('user_id')->nullable(); diff --git a/database/seeds/AvaliadorSeeder.php b/database/seeds/AvaliadorSeeder.php index e6966d6ffa029527daeed5833fa1e478c487046c..64a27a9fc4b037867a08c18e49ff5eae3a451f47 100644 --- a/database/seeds/AvaliadorSeeder.php +++ b/database/seeds/AvaliadorSeeder.php @@ -38,8 +38,29 @@ class AvaliadorSeeder extends Seeder ]); $aval = App\Avaliador::find(2); $evento = App\Evento::find(1); + $trabalho = App\Trabalho::find(1); + $aval->trabalhos()->attach($trabalho); + $aval->trabalhos->first()->pivot->status = 1; $aval->eventos()->attach($evento); $aval->save(); + + $user_id = DB::table('users')->where('name','Avaliador3')->pluck('id'); + + DB::table('avaliadors')->insert([ + 'user_id' => $user_id[0], + ]); + + // $aval = App\Avaliador::find(2); + // $evento = App\Evento::find(1); + + // $aval->eventos()->attach($evento); + // $aval->save(); + + $user_id = DB::table('users')->where('name','Avaliador4')->pluck('id'); + + DB::table('avaliadors')->insert([ + 'user_id' => $user_id[0], + ]); } } diff --git a/database/seeds/UsuarioSeeder.php b/database/seeds/UsuarioSeeder.php index 85fc73f0f46e22311dd7e417d631c9c51c483163..c58c69d1c4f2ad0fffd7b57be6d1220fdfad0c85 100644 --- a/database/seeds/UsuarioSeeder.php +++ b/database/seeds/UsuarioSeeder.php @@ -102,5 +102,23 @@ class UsuarioSeeder extends Seeder 'email_verified_at'=>'2020-01-01' ]); + DB::table('users')->insert([ + + 'name'=>'Avaliador3', + 'email'=>'aval3@ufrpe.br', + 'password'=>Hash::make('12345678'), + 'tipo'=>'avaliador', + 'email_verified_at'=>'2020-01-01' + ]); + + DB::table('users')->insert([ + + 'name'=>'Avaliador4', + 'email'=>'aval4@ufrpe.br', + 'password'=>Hash::make('12345678'), + 'tipo'=>'avaliador', + 'email_verified_at'=>'2020-01-01' + ]); + } } diff --git a/resources/views/administrador/atribuirAvaliadores.blade.php b/resources/views/administrador/atribuirAvaliadores.blade.php index 36d9a9e9d215b5106727cdf6639eb0b3c7bd2bb9..9694771388c54c5d9262d697376ce836d7fba254 100644 --- a/resources/views/administrador/atribuirAvaliadores.blade.php +++ b/resources/views/administrador/atribuirAvaliadores.blade.php @@ -8,7 +8,7 @@ <div class="container" > <div class="row justify-content-center d-flex align-items-center" > - <h5>Edital Selecionado: {{ $evento->nome }} </h3> + <h3>Edital Selecionado: {{ $evento->nome }} </h3> </div> </div> diff --git a/resources/views/administrador/editais.blade.php b/resources/views/administrador/editais.blade.php index a54eeeb8bc3df7a2258719103aede78250a2b819..f5a4690efa697087eb2c42710a88e3c2b9ea2d6d 100644 --- a/resources/views/administrador/editais.blade.php +++ b/resources/views/administrador/editais.blade.php @@ -7,61 +7,122 @@ <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> + @if(auth()->user()->tipo === "administrador") + <h3>Meus Editais</h3> + @else + <h3>Editais</h3> + @endif </div> + @if(auth()->user()->tipo === "administrador") + <div class="col-sm-2"> + <a href="{{route('evento.criar')}}" class="btn btn-primary">Criar Edital</a> + </div> + @endif </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=""> - 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=""> - Atribuir Avaliadores - </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> + @if(auth()->user()->tipo === "administrador") + <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=""> + 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=""> + Atribuir Avaliadores + </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> + @endif - </form> - </div> - </div> - </td> + @if(auth()->user()->tipo === "proponente") + <table class="table table-bordered"> + <thead> + <tr> + <th scope="col">Nome do Edital</th> + <th scope="col">Status</th> + <th scope="col">Data de Criação</th> + <th scope="col">Opção</th> </tr> - @endforeach - </tbody> - </table> + </thead> + <tbody> + @foreach ($eventos as $evento) + <tr> + <td> + <a href="{{ route('evento.visualizar',['id'=>$evento->id]) }}" class="visualizarEvento"> + {{ $evento->nome }} + </a> + </td> + <td></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('baixar.edital', ['id' => $evento->id]) }}" class="dropdown-item" style="text-align: center;"> + Baixar edital + </a> + <a href="{{ route('projetos.edital', ['id' => $evento->id]) }}" class="dropdown-item" style="text-align: center"> + Submeter projeto + </a> + <a href="" class="dropdown-item" style="text-align: center"> + Visualizar resultado + </a> + <a href="" class="dropdown-item" style="text-align: center"> + Recurso ao resultado + </a> + <a href="" class="dropdown-item" style="text-align: center"> + Resultado preeliminar + </a> + <a href="" class="dropdown-item" style="text-align: center"> + Resultado final + </a> + </div> + </div> + </td> + </tr> + @endforeach + </tbody> + </table> + @endif </div> @endsection diff --git a/resources/views/administrador/selecionarAvaliadores.blade.php b/resources/views/administrador/selecionarAvaliadores.blade.php index 7bec2821be0e7432249642aa2bf75ffb1bad3b59..fc800dc4f63b47d59dda6f0436c8f2d83463ef7c 100644 --- a/resources/views/administrador/selecionarAvaliadores.blade.php +++ b/resources/views/administrador/selecionarAvaliadores.blade.php @@ -8,7 +8,7 @@ <div class="container" > <div class="row justify-content-center d-flex align-items-center" > <div class="col-md-10"> - <h5>Avaliadores </h3> + <h3>Avaliadores </h3> </div> <div class="col-md-2"> <!-- Button trigger modal --> @@ -34,7 +34,14 @@ <tr> <td>{{ $avaliador->user->name }}</td> <td>{{ $avaliador->user->email }}</td> - <td style="text-align:center"><button class="btn btn-primary" >Adicionar</button></td> + <td style="text-align:center"> + <form action="{{ route('admin.adicionar') }}" method="POST"> + @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" >Adicionar</button> + </form> + </td> </tr> @endforeach </tbody> @@ -43,7 +50,7 @@ <div class="container" > <div class="row justify-content-center d-flex align-items-center" > - <h5>Avaliadores Selecionados para o Edital: {{ $evento->nome }} </h3> + <h4>Avaliadores Selecionados para o Edital: {{ $evento->nome }} </h4> </div> </div> @@ -63,7 +70,15 @@ <td>{{ $avaliador->user->name }}</td> <td>{{ $avaliador->user->email }}</td> <td>Status-Aceito ou Rejeitado</td> - <td style="text-align:center"> <button class="btn btn-primary" >Remover</button> </td> + + <td style="text-align:center"> + <form action="{{ route('admin.remover') }}" method="POST"> + @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> + </form> + </td> </tr> @endforeach </tbody> @@ -85,20 +100,21 @@ </div> <div class="modal-body"> - <form action="#" method=""> + <form action="{{ route('admin.enviarConvite') }}" method="POST"> @csrf + <input type="hidden" name="evento_id" value="{{ $evento->id }}" > <div class="form-group"> <label for="exampleInputEmail1">Nome Completo</label> - <input type="text" class="form-control" name="nome" id="exampleInputNome1"> + <input type="text" class="form-control" name="nomeAvaliador" id="exampleInputNome1"> </div> <div class="form-group"> <label for="exampleInputEmail1">Email</label> - <input type="email" class="form-control" name="email" id="exampleInputEmail1"> + <input type="email" class="form-control" name="emailAvaliador" id="exampleInputEmail1"> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Tipo</label> <select class="form-control" name="tipo" id="exampleFormControlSelect1"> - <option value="" >Avaliador</option> + <option value="avaliador" >Avaliador</option> </select> </div> diff --git a/resources/views/administrador/selecionarProjetos.blade.php b/resources/views/administrador/selecionarProjetos.blade.php index 08a9c4c39f2970feb40e2744555a86e766b82cda..49fdea8e9696319d71a304981378db877ddf1a7e 100644 --- a/resources/views/administrador/selecionarProjetos.blade.php +++ b/resources/views/administrador/selecionarProjetos.blade.php @@ -34,9 +34,45 @@ <td>{{ $trabalho->titulo}}</td> <td>{{ $trabalho->proponente->user->name }}</td> <td style="text-align:center"> - <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModalCenter"> + <button type="button" class="btn btn-primary" value="{{ $trabalho->id }}" id="atribuir1" data-toggle="modal" data-target="#exampleModalCenter{{ $trabalho->id }}"> Atribuir </button> + <!-- Modal --> + <div class="modal fade" id="exampleModalCenter{{ $trabalho->id }}" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true"> + <div class="modal-dialog modal-dialog-centered" role="document"> + <div class="modal-content"> + <div class="modal-header"> + <h5 class="modal-title" id="exampleModalLongTitle">Selecione o avaliador(es)</h5> + <button type="button" class="close" data-dismiss="modal" aria-label="Close"> + <span aria-hidden="true">×</span> + </button> + </div> + <div class="modal-body"> + + <form action="{{ route('admin.atribuicao') }}" method="POST"> + @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="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> + @endforeach + </select> + <small id="emailHelp" class="form-text text-muted">Segure SHIFT do teclado para selecionar mais de um.</small> + </div> + + <div class="mx-auto" > + <button type="submit" class="btn btn-success mx-auto">Atribuir</button> + </div> + + </form> + + </div> + </div> + </div> + </div> </td> </tr> @endforeach @@ -77,40 +113,7 @@ <!-- Button trigger modal --> -<!-- Modal --> -<div class="modal fade" id="exampleModalCenter" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true"> - <div class="modal-dialog modal-dialog-centered" role="document"> - <div class="modal-content"> - <div class="modal-header"> - <h5 class="modal-title" id="exampleModalLongTitle">Selecione o avaliador(es)</h5> - <button type="button" class="close" data-dismiss="modal" aria-label="Close"> - <span aria-hidden="true">×</span> - </button> - </div> - <div class="modal-body"> - - <form action="#" method=""> - @csrf - <div class="form-group"> - <label for="exampleFormControlSelect2">Example multiple select</label> - <select multiple class="form-control" id="exampleFormControlSelect2"> - @foreach ($avaliadores as $avaliador) - <option value="{{ $avaliador->id }}" > {{ $avaliador->user->name }} </option> - @endforeach - </select> - <small id="emailHelp" class="form-text text-muted">Segure SHIFT do teclado para selecionar mais de um.</small> - </div> - - <div class="mx-auto" > - <button type="submit" class="btn btn-success mx-auto">Atribuir</button> - </div> - - </form> - - </div> - </div> - </div> -</div> + @endsection @@ -119,5 +122,6 @@ $('#myModal').on('shown.bs.modal', function () { $('#myInput').trigger('focus') }) + </script> @endsection diff --git a/resources/views/evento/submeterTrabalho.blade.php b/resources/views/evento/submeterTrabalho.blade.php index eadb0246af76f9a12385fa2bd7b3e3d1d364f6c0..a1e6824027b3f31c6dbc6f5609c963d22f1c2192 100644 --- a/resources/views/evento/submeterTrabalho.blade.php +++ b/resources/views/evento/submeterTrabalho.blade.php @@ -94,6 +94,16 @@ <label for="nomeCoordenador" class="col-form-label">{{ __('Coordenador:') }}</label> <input class="form-control" type="text" id="nomeCoordenador" name="nomeCoordenador" disabled="disabled" value="{{ Auth()->user()->name }}"> </div> + <div class="col-sm-6"> + <label for="nomeTrabalho" class="col-form-label">Link Lattes do Proponente</label> + <input class="form-control" type="text" name="linkLattesEstudante" + @if(Auth()->user()->proponentes->linkLattes != null) + value="{{ Auth()->user()->proponentes->linkLattes }}" + disabled="disabled" + @else + value="" + @endif > + </div> <div class="col-sm-6"> <label for="nomeTrabalho" class="col-form-label">{{ __('Pontuação da Planilha de Pontuação :') }}</label> <input class="form-control" type="text" name="pontuacaoPlanilha"> @@ -102,10 +112,7 @@ <label for="nomeTrabalho" class="col-form-label">{{ __('Link do grupo de pesquisa:') }}</label> <input class="form-control" type="text" name="linkGrupo"> </div> - <div class="col-sm-6"> - <label for="nomeTrabalho" class="col-form-label">Link Lattes do Estudante</label> - <input class="form-control" type="text" name="linkLattesEstudante"> - </div> + </div> @@ -169,6 +176,11 @@ </span> @enderror </div> + <form> + + <input type="radio" name="colors" id="red">Red<br> + <input type="radio" name="colors" id="blue">Blue + </form> <div class="col-sm-6" > <label for="nomeTrabalho" class="col-form-label">{{ __('Autorização do Comitê de Ética:') }}</label> diff --git a/resources/views/projeto/index.blade.php b/resources/views/projeto/index.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..95c34dc59d256b573b41051476c8dc8e457f6bd4 --- /dev/null +++ b/resources/views/projeto/index.blade.php @@ -0,0 +1,71 @@ +@extends('layouts.app') + +@section('content') +<div class="container" style="margin-top: 100px;"> + + <div class="container" > + <div class="row" > + <div class="col-sm-10"> + <h3>Projetos do edital {{ $edital->nome }}</h3> + <h6 style="color: rgb(4, 78, 4);">Submissão irá até o dia {{ date('d-m-Y', strtotime($edital->fimSubmissao)) }}</h6> + </div> + <div class="col-sm-2"> + <a href="{{route('trabalho.index', ['id' => $edital->id] )}}" class="btn btn-primary">Criar projeto</a> + </div> + </div> + </div> + <hr> + <table class="table table-bordered"> + <thead> + <tr> + <th scope="col">Nome do projeto</th> + <th scope="col">Status</th> + <th scope="col">Data de Criação</th> + <th scope="col">Opção</th> + </tr> + </thead> + <tbody> + @foreach ($projetos as $projeto) + <tr> + <td> + {{ $projeto->titulo }} + </td> + @if($projeto->avaliado) + <td style="color: rgb(6, 85, 6)">Avaliado</td> + @else + <td style="color: rgb(0, 0, 0)">Submetido</td> + @endif + <td>{{$projeto->update}}</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="" class="dropdown-item" style="text-align: center;"> + Editar projeto + </a> + <a href="" class="dropdown-item" style="text-align: center"> + Adicionar participantes + </a> + <a href="" class="dropdown-item" style="text-align: center"> + Recorrer + </a> + <a href="" class="dropdown-item" style="text-align: center"> + Resultado + </a> + </div> + </div> + </td> + </tr> + @endforeach + </tbody> + </table> +</div> +@endsection + +@section('javascript') +<script> + +</script> +@endsection \ No newline at end of file diff --git a/resources/views/proponente/index.blade.php b/resources/views/proponente/index.blade.php index 9264ef8b1017fd610050085855e33422ec38658d..ab1e91fdb9d778df1303160800981c859cac9f5c 100644 --- a/resources/views/proponente/index.blade.php +++ b/resources/views/proponente/index.blade.php @@ -4,8 +4,39 @@ <div class="container"> - <h2 style="margin-top: 100px;">Proponente</h2> + <h2 style="margin-top: 100px;">{{ Auth()->user()->name }}</h2> + <div class="row justify-content-center d-flex align-items-center"> + <div class="col-sm-3 d-flex justify-content-center "> + <a href="{{route('admin.editais')}}" style="text-decoration:none; color: inherit;"> + <div class="card text-center " style="border-radius: 30px; width: 13rem;height: 15rem;"> + <div class="card-body d-flex justify-content-center"> + <h2 style="padding-top:15px">Editais</h2> + </div> + + </div> + </a> + </div> + + <div class="col-sm-3 d-flex justify-content-center"> + <a href="" style="text-decoration:none; color: inherit;"> + <div class="card text-center " style="border-radius: 30px; width: 13rem;height: 15rem;"> + <div class="card-body d-flex justify-content-center"> + <h2 style="padding-top:15px">Projetos</h2> + </div> + </div> + </a> + </div> + <div class="col-sm-3 d-flex justify-content-center"> + <a href="" style="text-decoration:none; color: inherit;"> + <div class="card text-center " style="border-radius: 30px; width: 13rem;height: 15rem;"> + <div class="card-body d-flex justify-content-center"> + <h2 style="padding-top:15px">Mensagens</h2> + </div> + </div> + </a> + </div> + </div> </div> @endsection diff --git a/routes/web.php b/routes/web.php index 85d303accdea0053917047b2782af68b738ffb2a..0776ff2bf73bc380eab966311ec91e9e16e4cd41 100644 --- a/routes/web.php +++ b/routes/web.php @@ -83,6 +83,7 @@ Route::group(['middleware' => ['isTemp', 'auth', 'verified']], function(){ Route::get( '/trabalho/submeter/{id}','TrabalhoController@index' )->name('trabalho.index'); Route::post( '/trabalho/novaVersao', 'TrabalhoController@novaVersao' )->name('trabalho.novaVersao'); Route::post( '/trabalho/criar', 'TrabalhoController@store' )->name('trabalho.store'); + Route::get( '/edital/{id}/projetos', 'TrabalhoController@projetosDoEdital' )->name('projetos.edital'); //######### Atribuição ####################################### Route::get( '/atribuir', 'AtribuicaoController@distribuicaoAutomatica' )->name('distribuicao'); @@ -101,58 +102,63 @@ Route::group(['middleware' => ['isTemp', 'auth', 'verified']], function(){ Route::prefix('usuarios')->name('admin.')->group(function(){ //######### Rotas da administração dos usuários #################### - Route::get('/home-admin', 'AdministradorController@index' )->name('index'); - Route::get('/usuarios', 'AdministradorController@usuarios' )->name('usuarios'); - Route::get('/novo', 'AdministradorController@create' )->name('user.create'); - Route::post('/salvar-novo', 'AdministradorController@salvar' )->name('user.store'); - Route::get('/editar/{id}', 'AdministradorController@edit' )->name('user.edit'); - Route::post('/editar/atualizar/{id}', 'AdministradorController@update' )->name('user.update'); - Route::post('/editar/deletar/{id}', 'AdministradorController@destroy' )->name('user.destroy'); - 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::get('/home-admin', 'AdministradorController@index' )->name('index')->middleware('checkAdministrador'); + Route::get('/usuarios', 'AdministradorController@usuarios' )->name('usuarios')->middleware('checkAdministrador'); + Route::get('/novo', 'AdministradorController@create' )->name('user.create')->middleware('checkAdministrador'); + Route::post('/salvar-novo', 'AdministradorController@salvar' )->name('user.store')->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/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::prefix('naturezas')->group(function(){ //########### Rotas das naturezas ############################### - Route::get('/', 'AdministradorController@naturezas' )->name('admin.naturezas'); - Route::get('/index', 'NaturezaController@index' )->name('natureza.index'); - Route::get('/nova', 'NaturezaController@create' )->name('natureza.criar'); - Route::post('/salvar', 'NaturezaController@store' )->name('natureza.salvar'); - Route::get('/detalhes/{id}', 'NaturezaController@show' )->name('natureza.show'); - Route::get('/editar/{id}', 'NaturezaController@edit' )->name('natureza.editar'); - Route::get('/atualizar/{id}', 'NaturezaController@update' )->name('natureza.atualizar'); - Route::get('/excluir/{id}', 'NaturezaController@destroy' )->name('natureza.deletar'); + Route::get('/', 'AdministradorController@naturezas' )->name('admin.naturezas')->middleware('checkAdministrador'); + Route::get('/index', 'NaturezaController@index' )->name('natureza.index')->middleware('checkAdministrador'); + Route::get('/nova', 'NaturezaController@create' )->name('natureza.criar')->middleware('checkAdministrador'); + Route::post('/salvar', 'NaturezaController@store' )->name('natureza.salvar')->middleware('checkAdministrador'); + Route::get('/detalhes/{id}', 'NaturezaController@show' )->name('natureza.show')->middleware('checkAdministrador'); + Route::get('/editar/{id}', 'NaturezaController@edit' )->name('natureza.editar')->middleware('checkAdministrador'); + Route::get('/atualizar/{id}', 'NaturezaController@update' )->name('natureza.atualizar')->middleware('checkAdministrador'); + Route::get('/excluir/{id}', 'NaturezaController@destroy' )->name('natureza.deletar')->middleware('checkAdministrador'); //########### Rotas das grandes areas ############################## - Route::get('/grande-area', 'GrandeAreaController@index' )->name('grandearea.index'); - Route::get('/grande-area/nova', 'GrandeAreaController@create' )->name('grandearea.criar'); - Route::post('/grande-area/salvar', 'GrandeAreaController@store' )->name('grandearea.salvar'); - Route::get('/grande-area/detalhes/{id}', 'GrandeAreaController@show' )->name('grandearea.show'); - Route::get('/grande-area/editar/{id}', 'GrandeAreaController@edit' )->name('grandearea.editar'); - Route::post('/grande-area/atualizar/{id}','GrandeAreaController@update' )->name('grandearea.atualizar'); - Route::post('/grande-area/excluir/{id}', 'GrandeAreaController@destroy' )->name('grandearea.deletar'); + Route::get('/grande-area', 'GrandeAreaController@index' )->name('grandearea.index')->middleware('checkAdministrador'); + Route::get('/grande-area/nova', 'GrandeAreaController@create' )->name('grandearea.criar')->middleware('checkAdministrador'); + Route::post('/grande-area/salvar', 'GrandeAreaController@store' )->name('grandearea.salvar')->middleware('checkAdministrador'); + Route::get('/grande-area/detalhes/{id}', 'GrandeAreaController@show' )->name('grandearea.show')->middleware('checkAdministrador'); + Route::get('/grande-area/editar/{id}', 'GrandeAreaController@edit' )->name('grandearea.editar')->middleware('checkAdministrador'); + Route::post('/grande-area/atualizar/{id}','GrandeAreaController@update' )->name('grandearea.atualizar')->middleware('checkAdministrador'); + Route::post('/grande-area/excluir/{id}', 'GrandeAreaController@destroy' )->name('grandearea.deletar')->middleware('checkAdministrador'); //#### Rotas das areas, id's de nova e salvar são os ids da grande área a qual a nova área pertence #### - Route::get('/areas', 'AreaController@index' )->name('area.index'); - Route::get('/{id}/area/nova', 'AreaController@create' )->name('area.criar'); - Route::post('/{id}/area/salvar', 'AreaController@store' )->name('area.salvar'); - Route::get('/area/detalhes/{id}', 'AreaController@show' )->name('area.show'); - Route::get('/area/editar/{id}', 'AreaController@edit' )->name('area.editar'); - Route::post('/area/atualizar/{id}', 'AreaController@update' )->name('area.atualizar'); - Route::post('/area/excluir/{id}', 'AreaController@destroy' )->name('area.deletar'); + Route::get('/areas', 'AreaController@index' )->name('area.index')->middleware('checkAdministrador'); + Route::get('/{id}/area/nova', 'AreaController@create' )->name('area.criar')->middleware('checkAdministrador'); + Route::post('/{id}/area/salvar', 'AreaController@store' )->name('area.salvar')->middleware('checkAdministrador'); + Route::get('/area/detalhes/{id}', 'AreaController@show' )->name('area.show')->middleware('checkAdministrador'); + Route::get('/area/editar/{id}', 'AreaController@edit' )->name('area.editar')->middleware('checkAdministrador'); + Route::post('/area/atualizar/{id}', 'AreaController@update' )->name('area.atualizar')->middleware('checkAdministrador'); + Route::post('/area/excluir/{id}', 'AreaController@destroy' )->name('area.deletar')->middleware('checkAdministrador'); //### Rotas das subareas, id's de nova e salvar são os ids da área a qual a nova subárea pertence ##### - Route::get('/subareas', 'SubAreaController@index' )->name('subarea.index'); - Route::get('/{id}/subarea/nova', 'SubAreaController@create' )->name('subarea.criar'); - Route::post('/{id}/subarea/salvar', 'SubAreaController@store' )->name('subarea.salvar'); - Route::get('/subarea/detalhes/{id}', 'SubAreaController@show' )->name('subarea.show'); - Route::get('/subarea/editar/{id}', 'SubAreaController@edit' )->name('subarea.editar'); - Route::post('/subarea/atualizar/{id}', 'SubAreaController@update' )->name('subarea.atualizar'); - Route::post('/subarea/excluir/{id}', 'SubAreaController@destroy' )->name('subarea.deletar'); + Route::get('/subareas', 'SubAreaController@index' )->name('subarea.index')->middleware('checkAdministrador'); + Route::get('/{id}/subarea/nova', 'SubAreaController@create' )->name('subarea.criar')->middleware('checkAdministrador'); + Route::post('/{id}/subarea/salvar', 'SubAreaController@store' )->name('subarea.salvar')->middleware('checkAdministrador'); + Route::get('/subarea/detalhes/{id}', 'SubAreaController@show' )->name('subarea.show')->middleware('checkAdministrador'); + Route::get('/subarea/editar/{id}', 'SubAreaController@edit' )->name('subarea.editar')->middleware('checkAdministrador'); + Route::post('/subarea/atualizar/{id}', 'SubAreaController@update' )->name('subarea.atualizar')->middleware('checkAdministrador'); + Route::post('/subarea/excluir/{id}', 'SubAreaController@destroy' )->name('subarea.deletar')->middleware('checkAdministrador'); }); @@ -167,8 +173,11 @@ Route::prefix('evento')->name('evento.')->group(function(){ Route::post( '/editar/{id}', 'EventoController@update' )->name('update'); Route::post( '/setResumo', 'EventoController@setResumo' )->name('setResumo'); Route::post( '/setFoto', 'EventoController@setFotoEvento' )->name('setFotoEvento'); + }); +Route::get('/baixar/edital/{id}', 'EventoController@baixarEdital' )->name('baixar.edital'); + //########## Rotas de administrador responsavel (Reitor ou pro-reitor)######## Route::prefix('adminResp')->name('adminResp.')->group(function(){