Unverified Commit 561a6f19 authored by Gabriel Antônio da Silva's avatar Gabriel Antônio da Silva Committed by GitHub
Browse files

Merge pull request #13 from lmts-ufape/carlos

Carlos
parents 7387b6c8 9f414dff
...@@ -34,4 +34,7 @@ class Area extends Model ...@@ -34,4 +34,7 @@ class Area extends Model
public function revisor(){ public function revisor(){
return $this->hasMany('App\User', 'eventoId'); return $this->hasMany('App\User', 'eventoId');
} }
public function avaliador(){
return $this->hasMany('App\Area');
}
} }
...@@ -6,10 +6,23 @@ use Illuminate\Database\Eloquent\Model; ...@@ -6,10 +6,23 @@ use Illuminate\Database\Eloquent\Model;
class Avaliador extends Model class Avaliador extends Model
{ {
protected $fillable = [
'status',
'parecer',
'AnexoParecer',
'pivot',
];
public function user(){ public function user(){
return $this->belongsTo('App\User'); return $this->belongsTo('App\User');
} }
public function trabalhos(){ public function trabalhos(){
return $this->belongsToMany('App\Trabalho'); return $this->belongsToMany('App\Trabalho')->withPivot('status', 'AnexoParecer', 'parecer', 'recomendacao');
} }
public function eventos(){
return $this->belongsToMany('App\Evento');
}
public function area(){
return $this->belongsTo('App\Area');
}
} }
...@@ -40,6 +40,9 @@ class Evento extends Model ...@@ -40,6 +40,9 @@ class Evento extends Model
public function trabalhos(){ public function trabalhos(){
return $this->hasMany('App\Trabalho'); return $this->hasMany('App\Trabalho');
} }
public function avaliadors(){
return $this->belongsToMany('App\Avaliador');
}
} }
...@@ -10,8 +10,14 @@ use App\Avaliador; ...@@ -10,8 +10,14 @@ use App\Avaliador;
use App\AdministradorResponsavel; use App\AdministradorResponsavel;
use App\Participante; use App\Participante;
use App\Proponente; use App\Proponente;
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
{ {
...@@ -20,8 +26,8 @@ class AdministradorController extends Controller ...@@ -20,8 +26,8 @@ class AdministradorController extends Controller
return view('administrador.index'); return view('administrador.index');
} }
public function naturezas(){ public function naturezas(){
$naturezas = Natureza::orderBy('nome')->get();
return view('naturezas.index'); return view('naturezas.index')->with(['naturezas' => $naturezas]);
} }
public function usuarios(){ public function usuarios(){
$users = User::orderBy('name')->get(); $users = User::orderBy('name')->get();
...@@ -31,11 +37,29 @@ class AdministradorController extends Controller ...@@ -31,11 +37,29 @@ class AdministradorController extends Controller
public function editais(){ public function editais(){
//$admin = Administrador::with('user')->where('user_id', Auth()->user()->id)->first(); //$admin = Administrador::with('user')->where('user_id', Auth()->user()->id)->first();
//$eventos = Evento::where('coordenadorId',$admin->id )->get(); //$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]); return view('administrador.editais', ['eventos'=> $eventos]);
} }
public function pareceres(Request $request){
$evento = Evento::where('id', $request->evento_id)->first();
$trabalhos = $evento->trabalhos;
return view('administrador.projetos')->with(['trabalhos' => $trabalhos, 'evento' => $evento]);
}
public function visualizarParecer(Request $request){
$avaliador = Avaliador::find($request->avaliador_id);
$trabalho = $avaliador->trabalhos->where('id', $request->trabalho_id)->first();
$parecer = $avaliador->trabalhos->where('id', $request->trabalho_id)->first()->pivot;
//dd($parecer);
return view('administrador.visualizarParecer')->with(['trabalho' => $trabalho, 'parecer' => $parecer, 'avaliador' => $avaliador]);
}
public function create() { public function create() {
$grandesAreas = GrandeArea::orderBy('nome')->get(); $grandesAreas = GrandeArea::orderBy('nome')->get();
return view('administrador.novo_user')->with(['grandeAreas' => $grandesAreas]); return view('administrador.novo_user')->with(['grandeAreas' => $grandesAreas]);
...@@ -62,6 +86,7 @@ class AdministradorController extends Controller ...@@ -62,6 +86,7 @@ class AdministradorController extends Controller
'cargo' => 'required', 'cargo' => 'required',
'titulacaoMaxima' => 'required', 'titulacaoMaxima' => 'required',
'anoTitulacao' => 'required', 'anoTitulacao' => 'required',
'areaFormacao' => 'required',
'area' => 'required', 'area' => 'required',
'bolsistaProdutividade' => 'required', 'bolsistaProdutividade' => 'required',
'nivel' => 'required', 'nivel' => 'required',
...@@ -100,6 +125,7 @@ class AdministradorController extends Controller ...@@ -100,6 +125,7 @@ class AdministradorController extends Controller
$proponente->vinculo = $request->vinculo; $proponente->vinculo = $request->vinculo;
$proponente->titulacaoMaxima = $request->titulacaoMaxima; $proponente->titulacaoMaxima = $request->titulacaoMaxima;
$proponente->anoTitulacao = $request->anoTitulacao; $proponente->anoTitulacao = $request->anoTitulacao;
$proponente->areaFormacao = $request->areaFormacao;
$proponente->grandeArea = $request->area; $proponente->grandeArea = $request->area;
$proponente->area = "teste"; $proponente->area = "teste";
$proponente->subArea = "teste"; $proponente->subArea = "teste";
...@@ -156,6 +182,7 @@ class AdministradorController extends Controller ...@@ -156,6 +182,7 @@ class AdministradorController extends Controller
'cargo' => 'required', 'cargo' => 'required',
'titulacaoMaxima' => 'required', 'titulacaoMaxima' => 'required',
'anoTitulacao' => 'required', 'anoTitulacao' => 'required',
'areaFormacao' => 'required',
'grandeArea' => 'required', 'grandeArea' => 'required',
'bolsistaProdutividade' => 'required', 'bolsistaProdutividade' => 'required',
'nivel' => 'required', 'nivel' => 'required',
...@@ -189,6 +216,7 @@ class AdministradorController extends Controller ...@@ -189,6 +216,7 @@ class AdministradorController extends Controller
$proponente->vinculo = $request->vinculo; $proponente->vinculo = $request->vinculo;
$proponente->titulacaoMaxima = $request->titulacaoMaxima; $proponente->titulacaoMaxima = $request->titulacaoMaxima;
$proponente->anoTitulacao = $request->anoTitulacao; $proponente->anoTitulacao = $request->anoTitulacao;
$proponente->areaFormacao = $request->areaFormacao;
$proponente->grandeArea = $request->grandeArea; $proponente->grandeArea = $request->grandeArea;
$proponente->area = "teste"; $proponente->area = "teste";
$proponente->subArea = "teste"; $proponente->subArea = "teste";
...@@ -238,4 +266,130 @@ class AdministradorController extends Controller ...@@ -238,4 +266,130 @@ class AdministradorController extends Controller
$user->delete(); $user->delete();
return redirect( route('admin.usuarios') )->with(['mensagem' => 'Usuário deletado com sucesso']); return redirect( route('admin.usuarios') )->with(['mensagem' => 'Usuário deletado com sucesso']);
} }
public function atribuir(Request $request){
$evento = Evento::where('id', $request->evento_id)->first();
//dd($request->all());
return view('administrador.atribuirAvaliadores', ['evento'=> $evento]);
}
public function selecionar(Request $request){
$evento = Evento::where('id', $request->evento_id)->first();
$avalSelecionados = $evento->avaliadors;
$avalNaoSelecionadosId = $evento->avaliadors->pluck('id');
$avaliadores = Avaliador::whereNotIn('id', $avalNaoSelecionadosId)->get();
//dd($avaliadores);
return view('administrador.selecionarAvaliadores', [
'evento'=> $evento,
'avaliadores'=>$avaliadores,
'avalSelecionados'=>$avalSelecionados
]);
}
public function projetos(Request $request){
$evento = Evento::where('id', $request->evento_id)->first();
$trabalhos = $evento->trabalhos;
$avaliadores = $evento->avaliadors;
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
]);
}
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();
}
} }
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Arquivo; use App\Arquivo;
use Illuminate\Support\Facades\Storage;
use Illuminate\Http\Request; use Illuminate\Http\Request;
class ArquivoController extends Controller class ArquivoController extends Controller
...@@ -82,4 +83,9 @@ class ArquivoController extends Controller ...@@ -82,4 +83,9 @@ class ArquivoController extends Controller
{ {
// //
} }
public function baixarPlano($id) {
$arquivo = Arquivo::find($id);
return Storage::download($arquivo->nome);
}
} }
...@@ -61,14 +61,7 @@ class RegisterController extends Controller ...@@ -61,14 +61,7 @@ class RegisterController extends Controller
'password' => ['required', 'string', 'min:8', 'confirmed'], 'password' => ['required', 'string', 'min:8', 'confirmed'],
'cpf' => ['required', 'cpf'], 'cpf' => ['required', 'cpf'],
'celular' => ['required','string'], 'celular' => ['required','string'],
'instituicao' => ['required','string','max:255'], 'instituicao' => ['required','string','max:255'],
// 'especProfissional' => [],
'rua' => ['required','string','max:255'],
'numero' => ['nullable','string'],
'bairro' => ['required','string','max:255'],
'cidade' => ['required','string','max:255'],
'uf' => ['required','string'],
'cep' => ['required','string'],
]); ]);
} }
...@@ -81,18 +74,6 @@ class RegisterController extends Controller ...@@ -81,18 +74,6 @@ class RegisterController extends Controller
protected function create(array $data) protected function create(array $data)
{ {
// endereço
$end = new Endereco();
$end->rua = $data['rua'];
$end->numero = $data['numero'];
$end->bairro = $data['bairro'];
$end->cidade = $data['cidade'];
$end->uf = $data['uf'];
$end->cep = $data['cep'];
$end->save();
// dd($end)
$user = new User(); $user = new User();
$user->name = $data['name']; $user->name = $data['name'];
$user->email = $data['email']; $user->email = $data['email'];
...@@ -102,7 +83,6 @@ class RegisterController extends Controller ...@@ -102,7 +83,6 @@ class RegisterController extends Controller
$user->instituicao = $data['instituicao']; $user->instituicao = $data['instituicao'];
$user->tipo = 'participante'; $user->tipo = 'participante';
$user->enderecoId = $end->id;
$user->save(); $user->save();
$participante = new Participante(); $participante = new Participante();
......
...@@ -4,6 +4,11 @@ namespace App\Http\Controllers; ...@@ -4,6 +4,11 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Auth; use Auth;
use App\Trabalho;
use App\Evento;
use App\Recomendacao;
use App\User;
use App\Avaliador;
class AvaliadorController extends Controller class AvaliadorController extends Controller
{ {
...@@ -12,13 +17,60 @@ class AvaliadorController extends Controller ...@@ -12,13 +17,60 @@ class AvaliadorController extends Controller
return view('avaliador.index'); return view('avaliador.index');
} }
public function editais(){
$user = User::find(Auth::user()->id);
$eventos = $user->avaliadors->where('user_id',$user->id)->first()->eventos;
return view('avaliador.editais', ["eventos"=>$eventos]);
}
public function visualizarTrabalhos(Request $request){ public function visualizarTrabalhos(Request $request){
$trabalhos = Auth::user()->avaliadors->first()->trabalhos; $user = User::find(Auth::user()->id);
//dd($trabalhos); $evento = Evento::where('id', $request->evento_id)->first();
$trabalhos = $user->avaliadors->where('user_id',$user->id)->first()->trabalhos;
//dd();
return view('avaliador.listarTrabalhos', ['trabalhos'=>$trabalhos, 'evento'=>$evento]);
}
public function parecer(Request $request){
//$trabalho = Trabalho::find($request->trabalho_id);
$user = User::find(Auth::user()->id);
$avaliador = $user->avaliadors->where('user_id',$user->id)->first();
$trabalho = $avaliador->trabalhos->find($request->trabalho_id);
$evento = Evento::find($request->evento);
$recomendacaos = Recomendacao::all();
//dd($request->all());
return view('avaliador.parecer', ['trabalho'=>$trabalho, 'evento'=>$evento, 'recomendacaos'=>$recomendacaos]);
}
public function enviarParecer(Request $request){
$user = User::find(Auth::user()->id);
return view('avaliador.listarTrabalhos', ['trabalhos'=>$trabalhos]); $evento = Evento::find($request->evento_id);
$trabalhos = $user->avaliadors->where('user_id',$user->id)->first()->trabalhos;
$avaliador = $user->avaliadors->where('user_id',$user->id)->first();
$trabalho = $avaliador->trabalhos->find($request->trabalho_id);
if($request->anexoParecer == ''){
$avaliador
->trabalhos()
->updateExistingPivot($trabalho->id,['status'=> 1,'parecer'=>$request->textParecer, 'recomendacao'=>$request->recomendacao]);
}else{
$avaliador
->trabalhos()
->updateExistingPivot($trabalho->id,['status'=> 1,'parecer'=>$request->textParecer,'AnexoParecer'=> $request->anexoParecer, 'recomendacao'=>$request->recomendacao]);
}
// dd($trabalho);
return view('avaliador.listarTrabalhos', ['trabalhos'=>$trabalhos, 'evento'=>$evento ]);
} }
} }
...@@ -14,6 +14,7 @@ use App\User; ...@@ -14,6 +14,7 @@ use App\User;
use App\Proponente; use App\Proponente;
use App\Trabalho; use App\Trabalho;
use App\AreaModalidade; use App\AreaModalidade;
use App\Natureza;
use App\CoordenadorComissao; use App\CoordenadorComissao;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Carbon\Carbon; use Carbon\Carbon;
...@@ -57,7 +58,8 @@ class EventoController extends Controller ...@@ -57,7 +58,8 @@ class EventoController extends Controller
public function create() public function create()
{ {
$coordenadors = CoordenadorComissao::with('user')->get(); $coordenadors = CoordenadorComissao::with('user')->get();
return view('evento.criarEvento', ['coordenadors' => $coordenadors]); $naturezas = Natureza::orderBy('nome')->get();
return view('evento.criarEvento', ['coordenadors' => $coordenadors, 'naturezas' => $naturezas]);
} }
/** /**
...@@ -89,7 +91,8 @@ class EventoController extends Controller ...@@ -89,7 +91,8 @@ class EventoController extends Controller
$validatedData = $request->validate([ $validatedData = $request->validate([
'nome' => ['required', 'string'], 'nome' => ['required', 'string'],
'descricao' => ['required', 'string'], 'descricao' => ['required', 'string'],
'tipo' => ['required', 'string'], 'tipo' => ['required', 'string'],
'natureza' => ['required'],
'inicioSubmissao' => ['required', 'date'], 'inicioSubmissao' => ['required', 'date'],
'fimSubmissao' => ['required', 'date'], 'fimSubmissao' => ['required', 'date'],
'inicioRevisao' => ['required', 'date'], 'inicioRevisao' => ['required', 'date'],
...@@ -106,6 +109,7 @@ class EventoController extends Controller ...@@ -106,6 +109,7 @@ class EventoController extends Controller
'nome' => ['required', 'string'], 'nome' => ['required', 'string'],
'descricao' => ['required', 'string'], 'descricao' => ['required', 'string'],
'tipo' => ['required', 'string'], 'tipo' => ['required', 'string'],
'natureza' => ['required'],
'inicioSubmissao' => ['required', 'date', 'after:' . $yesterday], 'inicioSubmissao' => ['required', 'date', 'after:' . $yesterday],
'fimSubmissao' => ['required', 'date', 'after:' . $request->inicioSubmissao], 'fimSubmissao' => ['required', 'date', 'after:' . $request->inicioSubmissao],
'inicioRevisao' => ['required', 'date', 'after:' . $yesterday], 'inicioRevisao' => ['required', 'date', 'after:' . $yesterday],
...@@ -114,11 +118,12 @@ class EventoController extends Controller ...@@ -114,11 +118,12 @@ class EventoController extends Controller
'pdfEdital' => ['required', 'file', 'mimes:pdf', 'max:2000000'], 'pdfEdital' => ['required', 'file', 'mimes:pdf', 'max:2000000'],
'modeloDocumento' => ['required', 'file', 'mimes:zip,doc,docx,odt,pdf', 'max:2000000'], 'modeloDocumento' => ['required', 'file', 'mimes:zip,doc,docx,odt,pdf', 'max:2000000'],
]); ]);
$evento = Evento::create([ $evento = Evento::create([
'nome' => $request->nome, 'nome' => $request->nome,
'descricao' => $request->descricao, 'descricao' => $request->descricao,
'tipo' => $request->tipo, 'tipo' => $request->tipo,
'natureza_id' => $request->natureza,
'inicioSubmissao' => $request->inicioSubmissao, 'inicioSubmissao' => $request->inicioSubmissao,
'fimSubmissao' => $request->fimSubmissao, 'fimSubmissao' => $request->fimSubmissao,
'inicioRevisao' => $request->inicioRevisao, 'inicioRevisao' => $request->inicioRevisao,
...@@ -191,17 +196,8 @@ class EventoController extends Controller ...@@ -191,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);
...@@ -304,20 +300,20 @@ class EventoController extends Controller ...@@ -304,20 +300,20 @@ class EventoController extends Controller
{ {
$evento = Evento::find($id); $evento = Evento::find($id);
$areas = Area::where('eventoId', $id); // $areas = Area::where('eventoId', $id);
$atividades = Atividade::where('eventoId', $id); $atividades = Atividade::where('eventoId', $id);
$comissao = ComissaoEvento::where('eventosId', $id); $comissao = ComissaoEvento::where('eventosId', $id);
$revisores = Revisor::where('eventoId', $id); $revisores = Revisor::where('eventoId', $id);
$trabalhos = Trabalho::where('eventoId', $id); $trabalhos = Trabalho::where('evento_id', $id);
if(isset($areas)){ // if(isset($areas)){
$areas->delete(); // $areas->delete();
} // }
if(isset($atividades)){ if(isset($atividades)){
$atividades->delete(); $atividades->delete();
} }
if(isset($comissao)){ if(isset($comissao)){
$comissao->delete(); $comissao->delete();
} }
if(isset($revisores)){ if(isset($revisores)){
$revisores->delete(); $revisores->delete();
...@@ -467,5 +463,8 @@ class EventoController extends Controller ...@@ -467,5 +463,8 @@ class EventoController extends Controller
return view('user.areaComissao', ['trabalhos' => $trabalhos]); return view('user.areaComissao', ['trabalhos' => $trabalhos]);
} }
public function baixarEdital($id) {
$evento = Evento::find($id);
return Storage::download($evento->pdfEdital);
}
} }
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Natureza;
class NaturezaController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$validated = $request->validate([
'nome' => 'required'
]);
$natureza = new Natureza();
$natureza->nome = $request->nome;
$natureza->save();
return redirect( route('admin.naturezas') )->with(['mensagem' => 'Natureza salva com sucesso']);
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
$validated = $request->validate([
'nomeEditavel' => 'required',
]);
$natureza = Natureza::find($id);
$natureza->nome = $request->nomeEditavel;
$natureza->update();
return redirect( route('admin.naturezas') )->with(['mensagem' => "Natureza editada com sucesso"]);
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
$natureza = Natureza::find($id);
$natureza->delete();
return redirect( route('admin.naturezas') )->with(['mensagem' => "Natureza deletada com sucesso"]);
}
}
...@@ -3,6 +3,11 @@ ...@@ -3,6 +3,11 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Auth;
use App\User;
use App\Proponente;
use App\GrandeArea;
use App\Evento;
class ProponenteController extends Controller class ProponenteController extends Controller
{ {
...@@ -10,4 +15,51 @@ class ProponenteController extends Controller ...@@ -10,4 +15,51 @@ class ProponenteController extends Controller
return view('proponente.index'); return view('proponente.index');
} }
public function create(){
$grandesAreas = GrandeArea::orderBy('nome')->get();
return view('proponente.cadastro')->with(['grandeAreas' => $grandesAreas]);;
}
public function store(Request $request){
if (Auth::user()->proponentes == null) {
$validated = $request->validate([
'senha' => 'required',
'cargo' => 'required',
'titulacaoMaxima' => 'required',
'anoTitulacao' => 'required',
'areaFormacao' => 'required',
'area' => 'required',
'bolsistaProdutividade' => 'required',
'nivel' => 'required',
'linkLattes' => 'required',
]);
$proponente = new Proponente();
$proponente->SIAPE = $request->SIAPE;
$proponente->cargo = $request->cargo;
$proponente->vinculo = $request->vinculo;
$proponente->titulacaoMaxima = $request->titulacaoMaxima;
$proponente->anoTitulacao = $request->anoTitulacao;
$proponente->areaFormacao = $request->areaFormacao;
$proponente->grandeArea = $request->area;
$proponente->area = "teste";
$proponente->subArea = "teste";
$proponente->bolsistaProdutividade = $request->bolsistaProdutividade;
$proponente->nivel = $request->nivel;
$proponente->linkLattes = $request->linkLattes;
$proponente->user_id = Auth::user()->id;
$proponente->save();
$user = User::find(Auth()->user()->id);
$user->tipo = "proponente";
$user->save();
}
$eventos = Evento::all();
return redirect( route('admin.editais', ['eventos'=> $eventos]))->with(['mensagem' => 'Usuário cadastrado com sucesso']);
}
} }
This diff is collapsed.
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Natureza extends Model
{
//
}
...@@ -6,7 +6,7 @@ use Illuminate\Database\Eloquent\Model; ...@@ -6,7 +6,7 @@ use Illuminate\Database\Eloquent\Model;
class Participante extends Model class Participante extends Model
{ {
protected $fillable = ['name', 'user_id', 'trabalho_id']; protected $fillable = ['name', 'user_id', 'trabalho_id', 'participante_id'];
public function user(){ public function user(){
return $this->belongsTo('App\User'); return $this->belongsTo('App\User');
......
...@@ -10,6 +10,6 @@ class Proponente extends Model ...@@ -10,6 +10,6 @@ class Proponente extends Model
return $this->belongsTo('App\User'); return $this->belongsTo('App\User');
} }
public function trabalhos(){ public function trabalhos(){
return $this->belongsToMany('App\Trabalho', 'trabalho_proponente'); return $this->hasMany('App\Trabalho');
} }
} }
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Recomendacao extends Model
{
protected $fillable = ['nome'];
}
...@@ -14,7 +14,7 @@ class Trabalho extends Model ...@@ -14,7 +14,7 @@ class Trabalho extends Model
protected $fillable = [ protected $fillable = [
'titulo', 'titulo',
'data', 'data',
'avaliado', 'aprovado',
'decisaoCONSU', 'decisaoCONSU',
'pontuacaoPlanilha', 'pontuacaoPlanilha',
'linkGrupoPesquisa', 'linkGrupoPesquisa',
...@@ -22,6 +22,7 @@ class Trabalho extends Model ...@@ -22,6 +22,7 @@ class Trabalho extends Model
'anexoDecisaoCONSU', 'anexoDecisaoCONSU',
'anexoAutorizacaoComiteEtica', 'anexoAutorizacaoComiteEtica',
'JustificativaAutorizacaoEtica',
'anexoLattesCoordenador', 'anexoLattesCoordenador',
'anexoPlanilhaPontuacao', 'anexoPlanilhaPontuacao',
'anexoProjeto', 'anexoProjeto',
...@@ -32,6 +33,8 @@ class Trabalho extends Model ...@@ -32,6 +33,8 @@ class Trabalho extends Model
'evento_id', 'evento_id',
'proponente_id', 'proponente_id',
'coordenador_id', 'coordenador_id',
'proponente_id',
'pivot',
]; ];
public function recurso(){ public function recurso(){
...@@ -47,7 +50,7 @@ class Trabalho extends Model ...@@ -47,7 +50,7 @@ class Trabalho extends Model
} }
public function area(){ public function area(){
return $this->belongsTo('App\Area', 'areaId'); return $this->belongsTo('App\Area');
} }
public function autor(){ public function autor(){
...@@ -75,13 +78,13 @@ class Trabalho extends Model ...@@ -75,13 +78,13 @@ class Trabalho extends Model
public function participantes(){ public function participantes(){
return $this->belongsToMany('App\Participante', 'trabalho_participante'); return $this->belongsToMany('App\Participante', 'trabalho_participante');
} }
public function proponentes(){ public function proponente(){
return $this->belongsToMany('App\Proponente', 'trabalho_proponente'); return $this->belongsTo('App\Proponente');
} }
public function coordenador(){ public function coordenador(){
return $this->belongsTo('App\CoordenadorComissao'); return $this->belongsTo('App\CoordenadorComissao');
} }
public function avaliadors(){ public function avaliadors(){
return $this->belongsToMany('App\Avaliador'); return $this->belongsToMany('App\Avaliador')->withPivot('status', 'AnexoParecer', 'parecer', 'recomendacao');
} }
} }
This diff is collapsed.
...@@ -133,4 +133,11 @@ return [ ...@@ -133,4 +133,11 @@ return [
'log_channel' => env('MAIL_LOG_CHANNEL'), 'log_channel' => env('MAIL_LOG_CHANNEL'),
'stream' => [
'ssl' => [
'allow_self_signed' => true,
'verify_peer' => false,
'verify_peer_name' => false,
],
],
]; ];
...@@ -16,7 +16,7 @@ class CreateTrabalhosTable extends Migration ...@@ -16,7 +16,7 @@ class CreateTrabalhosTable extends Migration
Schema::create('trabalhos', function (Blueprint $table) { Schema::create('trabalhos', function (Blueprint $table) {
$table->bigIncrements('id'); $table->bigIncrements('id');
$table->string('titulo'); $table->string('titulo');
$table->boolean('avaliado')->nullable(); $table->boolean('aprovado')->nullable();
$table->string('linkGrupoPesquisa'); $table->string('linkGrupoPesquisa');
$table->string('linkLattesEstudante'); $table->string('linkLattesEstudante');
$table->string('pontuacaoPlanilha'); $table->string('pontuacaoPlanilha');
...@@ -26,13 +26,15 @@ class CreateTrabalhosTable extends Migration ...@@ -26,13 +26,15 @@ class CreateTrabalhosTable extends Migration
$table->string('anexoDecisaoCONSU')->nullable(); $table->string('anexoDecisaoCONSU')->nullable();
$table->string('anexoPlanilhaPontuacao'); $table->string('anexoPlanilhaPontuacao');
$table->string('anexoLattesCoordenador'); $table->string('anexoLattesCoordenador');
$table->string('anexoAutorizacaoComiteEtica'); $table->string('anexoAutorizacaoComiteEtica')->nullable();;
$table->string('JustificativaAutorizacaoEtica')->nullable();;
//chaves estrangeiras //chaves estrangeiras
$table->unsignedBigInteger('grande_area_id'); $table->unsignedBigInteger('grande_area_id');
$table->unsignedBigInteger('area_id'); $table->unsignedBigInteger('area_id');
$table->unsignedBigInteger('sub_area_id'); $table->unsignedBigInteger('sub_area_id');
$table->unsignedBigInteger('evento_id'); $table->unsignedBigInteger('evento_id');
$table->unsignedBigInteger('coordenador_id'); $table->unsignedBigInteger('coordenador_id');
$table->unsignedBigInteger('proponente_id');
$table->timestamps(); $table->timestamps();
}); });
......
...@@ -22,6 +22,7 @@ class CreateArquivosTable extends Migration ...@@ -22,6 +22,7 @@ class CreateArquivosTable extends Migration
$table->date('data')->nullable(); $table->date('data')->nullable();
$table->integer('trabalhoId'); $table->integer('trabalhoId');
$table->integer('participanteId');
}); });
} }
......
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