Commit 266c1ff1 authored by Gabriel-31415's avatar Gabriel-31415
Browse files

enviar convite avaliador

parent 19264d9f
......@@ -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
{
......@@ -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();
}
}
......@@ -197,16 +197,7 @@ class EventoController extends Controller
$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);
......
......@@ -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],
]);
}
}
......@@ -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'
]);
}
}
......@@ -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>
......
......@@ -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>
......
......@@ -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">&times;</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">&times;</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
......@@ -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>
......
......@@ -112,6 +112,10 @@ Route::prefix('usuarios')->name('admin.')->group(function(){
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');
});
......
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