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

enviar convite avaliador

parent 19264d9f
...@@ -11,8 +11,13 @@ use App\AdministradorResponsavel; ...@@ -11,8 +11,13 @@ use App\AdministradorResponsavel;
use App\Participante; use App\Participante;
use App\Proponente; use App\Proponente;
use App\Natureza; use App\Natureza;
use App\Trabalho;
use Illuminate\Support\Str;
use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Hash;
use App\Evento; use App\Evento;
use App\Mail\EmailParaUsuarioNaoCadastrado;
use Illuminate\Support\Facades\Mail;
use App\Mail\EventoCriado;
class AdministradorController extends Controller class AdministradorController extends Controller
{ {
...@@ -249,9 +254,11 @@ class AdministradorController extends Controller ...@@ -249,9 +254,11 @@ class AdministradorController extends Controller
public function selecionar(Request $request){ public function selecionar(Request $request){
$evento = Evento::where('id', $request->evento_id)->first(); $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', [ return view('administrador.selecionarAvaliadores', [
'evento'=> $evento, 'evento'=> $evento,
'avaliadores'=>$avaliadores, 'avaliadores'=>$avaliadores,
...@@ -264,14 +271,103 @@ class AdministradorController extends Controller ...@@ -264,14 +271,103 @@ class AdministradorController extends Controller
$trabalhos = $evento->trabalhos; $trabalhos = $evento->trabalhos;
$avaliadores = $evento->avaliadors; $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', [ return view('administrador.selecionarProjetos', [
'evento'=> $evento, 'evento'=> $evento,
'trabalhos'=>$trabalhos, '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();
}
} }
...@@ -196,17 +196,8 @@ class EventoController extends Controller ...@@ -196,17 +196,8 @@ class EventoController extends Controller
$trabalhos = 0; $trabalhos = 0;
$trabalhosCount = 0; $trabalhosCount = 0;
} }
$trabalhosId = Trabalho::where('evento_id', $evento->id)->select('id')->get(); $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'); $mytime = Carbon::now('America/Recife');
// dd(false); // dd(false);
......
...@@ -38,8 +38,29 @@ class AvaliadorSeeder extends Seeder ...@@ -38,8 +38,29 @@ class AvaliadorSeeder extends Seeder
]); ]);
$aval = App\Avaliador::find(2); $aval = App\Avaliador::find(2);
$evento = App\Evento::find(1); $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->eventos()->attach($evento);
$aval->save(); $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 ...@@ -102,5 +102,23 @@ class UsuarioSeeder extends Seeder
'email_verified_at'=>'2020-01-01' '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 @@ ...@@ -8,7 +8,7 @@
<div class="container" > <div class="container" >
<div class="row justify-content-center d-flex align-items-center" > <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>
</div> </div>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<div class="container" > <div class="container" >
<div class="row justify-content-center d-flex align-items-center" > <div class="row justify-content-center d-flex align-items-center" >
<div class="col-md-10"> <div class="col-md-10">
<h5>Avaliadores </h3> <h3>Avaliadores </h3>
</div> </div>
<div class="col-md-2"> <div class="col-md-2">
<!-- Button trigger modal --> <!-- Button trigger modal -->
...@@ -34,7 +34,14 @@ ...@@ -34,7 +34,14 @@
<tr> <tr>
<td>{{ $avaliador->user->name }}</td> <td>{{ $avaliador->user->name }}</td>
<td>{{ $avaliador->user->email }}</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> </tr>
@endforeach @endforeach
</tbody> </tbody>
...@@ -43,7 +50,7 @@ ...@@ -43,7 +50,7 @@
<div class="container" > <div class="container" >
<div class="row justify-content-center d-flex align-items-center" > <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>
</div> </div>
...@@ -63,7 +70,15 @@ ...@@ -63,7 +70,15 @@
<td>{{ $avaliador->user->name }}</td> <td>{{ $avaliador->user->name }}</td>
<td>{{ $avaliador->user->email }}</td> <td>{{ $avaliador->user->email }}</td>
<td>Status-Aceito ou Rejeitado</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> </tr>
@endforeach @endforeach
</tbody> </tbody>
...@@ -85,20 +100,21 @@ ...@@ -85,20 +100,21 @@
</div> </div>
<div class="modal-body"> <div class="modal-body">
<form action="#" method=""> <form action="{{ route('admin.enviarConvite') }}" method="POST">
@csrf @csrf
<input type="hidden" name="evento_id" value="{{ $evento->id }}" >
<div class="form-group"> <div class="form-group">
<label for="exampleInputEmail1">Nome Completo</label> <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>
<div class="form-group"> <div class="form-group">
<label for="exampleInputEmail1">Email</label> <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>
<div class="form-group"> <div class="form-group">
<label for="exampleFormControlSelect1">Tipo</label> <label for="exampleFormControlSelect1">Tipo</label>
<select class="form-control" name="tipo" id="exampleFormControlSelect1"> <select class="form-control" name="tipo" id="exampleFormControlSelect1">
<option value="" >Avaliador</option> <option value="avaliador" >Avaliador</option>
</select> </select>
</div> </div>
......
...@@ -34,9 +34,45 @@ ...@@ -34,9 +34,45 @@
<td>{{ $trabalho->titulo}}</td> <td>{{ $trabalho->titulo}}</td>
<td>{{ $trabalho->proponente->user->name }}</td> <td>{{ $trabalho->proponente->user->name }}</td>
<td style="text-align:center"> <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 Atribuir
</button> </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> </td>
</tr> </tr>
@endforeach @endforeach
...@@ -77,40 +113,7 @@ ...@@ -77,40 +113,7 @@
<!-- Button trigger modal --> <!-- 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 @endsection
...@@ -119,5 +122,6 @@ ...@@ -119,5 +122,6 @@
$('#myModal').on('shown.bs.modal', function () { $('#myModal').on('shown.bs.modal', function () {
$('#myInput').trigger('focus') $('#myInput').trigger('focus')
}) })
</script> </script>
@endsection @endsection
...@@ -94,6 +94,16 @@ ...@@ -94,6 +94,16 @@
<label for="nomeCoordenador" class="col-form-label">{{ __('Coordenador:') }}</label> <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 }}"> <input class="form-control" type="text" id="nomeCoordenador" name="nomeCoordenador" disabled="disabled" value="{{ Auth()->user()->name }}">
</div> </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"> <div class="col-sm-6">
<label for="nomeTrabalho" class="col-form-label">{{ __('Pontuação da Planilha de Pontuação :') }}</label> <label for="nomeTrabalho" class="col-form-label">{{ __('Pontuação da Planilha de Pontuação :') }}</label>
<input class="form-control" type="text" name="pontuacaoPlanilha"> <input class="form-control" type="text" name="pontuacaoPlanilha">
...@@ -102,10 +112,7 @@ ...@@ -102,10 +112,7 @@
<label for="nomeTrabalho" class="col-form-label">{{ __('Link do grupo de pesquisa:') }}</label> <label for="nomeTrabalho" class="col-form-label">{{ __('Link do grupo de pesquisa:') }}</label>
<input class="form-control" type="text" name="linkGrupo"> <input class="form-control" type="text" name="linkGrupo">
</div> </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> </div>
...@@ -169,6 +176,11 @@ ...@@ -169,6 +176,11 @@
</span> </span>
@enderror @enderror
</div> </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" > <div class="col-sm-6" >
<label for="nomeTrabalho" class="col-form-label">{{ __('Autorização do Comitê de Ética:') }}</label> <label for="nomeTrabalho" class="col-form-label">{{ __('Autorização do Comitê de Ética:') }}</label>
......
...@@ -101,17 +101,21 @@ Route::group(['middleware' => ['isTemp', 'auth', 'verified']], function(){ ...@@ -101,17 +101,21 @@ Route::group(['middleware' => ['isTemp', 'auth', 'verified']], function(){
Route::prefix('usuarios')->name('admin.')->group(function(){ Route::prefix('usuarios')->name('admin.')->group(function(){
//######### Rotas da administração dos usuários #################### //######### Rotas da administração dos usuários ####################
Route::get('/home-admin', 'AdministradorController@index' )->name('index'); Route::get('/home-admin', 'AdministradorController@index' )->name('index');
Route::get('/usuarios', 'AdministradorController@usuarios' )->name('usuarios'); Route::get('/usuarios', 'AdministradorController@usuarios' )->name('usuarios');
Route::get('/novo', 'AdministradorController@create' )->name('user.create'); Route::get('/novo', 'AdministradorController@create' )->name('user.create');
Route::post('/salvar-novo', 'AdministradorController@salvar' )->name('user.store'); Route::post('/salvar-novo', 'AdministradorController@salvar' )->name('user.store');
Route::get('/editar/{id}', 'AdministradorController@edit' )->name('user.edit'); Route::get('/editar/{id}', 'AdministradorController@edit' )->name('user.edit');
Route::post('/editar/atualizar/{id}', 'AdministradorController@update' )->name('user.update'); Route::post('/editar/atualizar/{id}', 'AdministradorController@update' )->name('user.update');
Route::post('/editar/deletar/{id}', 'AdministradorController@destroy' )->name('user.destroy'); Route::post('/editar/deletar/{id}', 'AdministradorController@destroy' )->name('user.destroy');
Route::get('/editais', 'AdministradorController@editais' )->name('editais'); Route::get('/editais', 'AdministradorController@editais' )->name('editais');
Route::get('/atribuir', 'AdministradorController@atribuir' )->name('atribuir'); Route::get('/atribuir', 'AdministradorController@atribuir' )->name('atribuir');
Route::get('/selecionarAvaliador', 'AdministradorController@selecionar' )->name('selecionar'); Route::get('/selecionarAvaliador', 'AdministradorController@selecionar' )->name('selecionar');
Route::get('/selecionarProjetos', 'AdministradorController@projetos' )->name('projetos'); 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