diff --git a/.gitignore b/.gitignore index 40100e41607b2b6d2d978853f692101b1620ce8e..363ca2d2ecbb4be381f1bfd50abbedcd3fdd8795 100755 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ Homestead.yaml npm-debug.log yarn-error.log submeta.code-workspace +composer.lock diff --git a/app/Curso.php b/app/Curso.php new file mode 100644 index 0000000000000000000000000000000000000000..b6068340884ff1bf4c85704699504e04aed11cd5 --- /dev/null +++ b/app/Curso.php @@ -0,0 +1,17 @@ +belongsToMany('App\Proponente', 'proponentes_cursos', 'curso_id'); + } +} diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index 4681086b393e855de3607fac413d97ca3c943152..a8713cd1dede08880d25efffa95033524dd50d7e 100755 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -13,6 +13,7 @@ use App\User; use App\Participante; use App\Proponente; use App\Rules\UrlValidacao; +use App\Curso; class RegisterController extends Controller { @@ -91,7 +92,7 @@ class RegisterController extends Controller */ protected function create(array $data) { - //dd($data); + // dd($data); $user = new User(); $user->name = $data['name']; $user->email = $data['email']; @@ -134,8 +135,9 @@ class RegisterController extends Controller $proponente->nivel = $data['nivel']; } $proponente->linkLattes = $data['linkLattes']; - + $user->proponentes()->save($proponente); + $proponente->cursos()->sync($data['curso']); } return $user; @@ -143,6 +145,7 @@ class RegisterController extends Controller public function showRegistrationForm() { - return view('auth.register'); + $cursos = Curso::orderBy('nome')->get(); + return view('auth.register', compact('cursos')); } } diff --git a/app/Http/Controllers/CursoController.php b/app/Http/Controllers/CursoController.php new file mode 100644 index 0000000000000000000000000000000000000000..ebefc1921289293400fe46637bc744d84cf59f63 --- /dev/null +++ b/app/Http/Controllers/CursoController.php @@ -0,0 +1,10 @@ +get(); + return view('proponente.index', compact('cursos')); } public function create(){ @@ -71,6 +72,7 @@ class ProponenteController extends Controller $proponente->bolsistaProdutividade = $request->bolsistaProdutividade; $proponente->nivel = $request->nivel; $proponente->linkLattes = $request->linkLattes; + // dd($request); $proponente->user_id = Auth::user()->id; $proponente->save(); @@ -82,6 +84,7 @@ class ProponenteController extends Controller return redirect( route('home'))->with(['mensagem' => 'Cadastro feito com sucesso! Você já pode criar projetos']); } }else{ + // dd($request); return redirect( route('proponente.create'))->with(['mensagem' => 'Você já é proponente!']); } diff --git a/app/Http/Controllers/TrabalhoController.php b/app/Http/Controllers/TrabalhoController.php index f46fd34fe456135436f386517ec50e5e78128b9f..39898d2f421d82725f7e24b04f0da483e3288b63 100755 --- a/app/Http/Controllers/TrabalhoController.php +++ b/app/Http/Controllers/TrabalhoController.php @@ -178,7 +178,7 @@ class TrabalhoController extends Controller $trabalho->status = 'Rascunho'; $stringKeys = ['titulo','linkGrupoPesquisa', 'linkLattesEstudante','pontuacaoPlanilha','anexoProjeto', - 'anexoPlanilhaPontuacao', 'anexoLattesCoordenador']; + 'anexoPlanilhaPontuacao', 'anexoLattesCoordenador', 'conflitosInteresse']; $intKeys = ['grande_area_id','area_id','sub_area_id','coordenador_id']; $trabalho->fill( @@ -205,6 +205,9 @@ class TrabalhoController extends Controller if(!(is_null($request->linkGrupo))){ $trabalho->linkGrupoPesquisa = $request->linkGrupo; } + if(!(is_null($request->conflitosInteresse))){ + $trabalho->conflitosInteresse = $request->conflitosInteresse; + } //Anexos do projeto @@ -1216,6 +1219,7 @@ class TrabalhoController extends Controller $projeto->evento_id = $request->editalId; $projeto->status = 'submetido'; $projeto->proponente_id = $proponente->id; + $projeto->conflitosInteresse = $request->conflitosInteresse; // Salvando anexos no storage $projeto->save(); diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php old mode 100755 new mode 100644 index 1b54af51e7a617ecf4de3ddef94045b336ae83e3..dd52a0ba256f2aaf4e764feadc5ef4882b212a6b --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -19,45 +19,45 @@ use Carbon\Carbon; use Illuminate\Validation\Rule; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Log; +use App\Curso; class UserController extends Controller { public function index() { - $eventos = Evento::orderBy('created_at', 'desc')->get(); - dd($eventos); - if(Auth::check()){ - Log::debug('UserController check'); - return redirect()->route('home'); - } - Log::debug('UserController index'); - $hoje = Carbon::today('America/Recife'); - $hoje = $hoje->toDateString(); - return view('index', ['eventos' => $eventos, 'hoje' => $hoje]); - //return view('auth.login'); + $eventos = Evento::orderBy('created_at', 'desc')->get(); + if (Auth::check()) { + Log::debug('UserController check'); + return redirect()->route('home'); + } + Log::debug('UserController index'); + $hoje = Carbon::today('America/Recife'); + $hoje = $hoje->toDateString(); + return view('index', ['eventos' => $eventos, 'hoje' => $hoje]); } public function inicial() { - $eventos = Evento::orderBy('created_at', 'desc')->get(); - $hoje = Carbon::today('America/Recife'); - $hoje = $hoje->toDateString(); - return view('index', ['eventos' => $eventos, 'hoje' => $hoje]); - //return view('auth.login'); + $eventos = Evento::orderBy('created_at', 'desc')->get(); + $hoje = Carbon::today('America/Recife'); + $hoje = $hoje->toDateString(); + return view('index', ['eventos' => $eventos, 'hoje' => $hoje]); } - function perfil(){ + function perfil() + { $user = User::find(Auth::user()->id); - return view('user.perfilUser',['user'=>$user]); + return view('user.perfilUser', ['user' => $user]); } - - function editarPerfil(Request $request){ + + function editarPerfil(Request $request) + { $id = Auth()->user()->id; $user = User::find($id); if ($request->tipo != "proponente") { - + $validated = $request->validate([ 'name' => ['required', 'string', 'max:255'], 'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'], @@ -87,10 +87,10 @@ class UserController extends Controller 'nivel' => ['required_if:bolsistaProdutividade,sim'], // 'nivel' => [(isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando') ? 'required':''], 'linkLattes' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'], - 'linkLattes' => [(isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando') ? 'required':''], - 'linkLattes' => [(isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando') ? 'link_lattes':''], - - ]); + 'linkLattes' => [(isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando') ? 'required' : ''], + 'linkLattes' => [(isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando') ? 'link_lattes' : ''], + + ]); } if ($request->alterarSenhaCheckBox != null) { @@ -101,8 +101,8 @@ class UserController extends Controller if (!($request->nova_senha === $request->confirmar_senha)) { return redirect()->back()->withErrors(['nova_senha' => 'Senhas diferentes']); } - } + if($user->avaliadors != null && $request->area != null && $user->tipo == "avaliador"){ $avaliador = Avaliador::where('user_id', '=', $id)->first(); $avaliador->user_id = $user->id; @@ -110,6 +110,7 @@ class UserController extends Controller $avaliador->naturezas()->sync($request->natureza); $avaliador->update(); + } switch ($request->tipo) { @@ -122,9 +123,9 @@ class UserController extends Controller $avaliador = Avaliador::where('user_id', '=', $id)->first(); $avaliador->user_id = $user->id; $avaliador->area_id = $request->area; - if($user->usuarioTemp == true){ + if ($user->usuarioTemp == true) { $user->usuarioTemp = false; - } + } $avaliador->update(); break; case "proponente": @@ -150,6 +151,7 @@ class UserController extends Controller $proponente->linkLattes = $request->linkLattes; $proponente->user_id = $user->id; + $proponente->cursos()->sync($request->curso); $proponente->update(); break; case "participante": @@ -157,7 +159,7 @@ class UserController extends Controller //$participante = $user->participantes->where('user_id', Auth::user()->id)->first(); $participante->user_id = $user->id; //dd($participante); - if($user->usuarioTemp == true){ + if ($user->usuarioTemp == true) { $user->usuarioTemp = false; } @@ -168,7 +170,7 @@ class UserController extends Controller $user->name = $request->name; $user->tipo = $request->tipo; - // $user->email = $request->email; + // $user->email = $request->email; $user->cpf = $request->cpf; $user->celular = $request->celular; if ($request->instituicao != null) { @@ -184,24 +186,26 @@ class UserController extends Controller $user->update(); - return redirect( route('user.perfil') )->with(['mensagem' => 'Dados atualizados com sucesso.']); + return redirect(route('user.perfil'))->with(['mensagem' => 'Dados atualizados com sucesso.']); } - public function meusTrabalhos(){ + public function meusTrabalhos() + { //$trabalhos = Trabalho::where('autorId', Auth::user()->id)->get(); $proponente = Proponente::with('user')->where('user_id', Auth::user()->id)->first(); $trabalhos = $proponente->trabalhos; //dd($trabalhos); - return view('user.meusTrabalhos',[ - 'trabalhos' => $trabalhos, - 'agora' => now(), - ]); + return view('user.meusTrabalhos', [ + 'trabalhos' => $trabalhos, + 'agora' => now(), + ]); } - public function minhaConta() { + public function minhaConta() + { $id = Auth::user()->id; $user = User::find($id); @@ -209,13 +213,16 @@ class UserController extends Controller $avaliador = Avaliador::where('user_id', '=', $id)->first(); $proponente = Proponente::where('user_id', '=', $id)->first(); $participante = Participante::where('user_id', '=', $id)->first(); + $naturezas = Natureza::orderBy('nome')->get(); + $cursos = Curso::orderBy('nome')->get(); return view('user.perfilUser')->with(['user' => $user, 'adminResp' => $adminResp, 'avaliador' => $avaliador, 'proponente' => $proponente, 'participante' => $participante, + 'cursos' => $cursos, 'naturezas' => $naturezas]); } } diff --git a/app/Proponente.php b/app/Proponente.php index 3a4f9de5bb7566bcde8386237a961b8b2cd5d230..8ccf27ecdbae4f2cc44fd25b26d4064dfdc69a30 100755 --- a/app/Proponente.php +++ b/app/Proponente.php @@ -14,4 +14,9 @@ class Proponente extends Model public function trabalhos(){ return $this->hasMany('App\Trabalho'); } + + public function cursos() + { + return $this->belongsToMany('App\Curso', 'proponentes_cursos', 'proponente_id'); + } } diff --git a/app/Trabalho.php b/app/Trabalho.php index cc199d4d83a1fc14187dda928622d7f3cfe07336..174d9c1cf5a756b79e2e642ec8ab7220e6d4b391 100755 --- a/app/Trabalho.php +++ b/app/Trabalho.php @@ -21,6 +21,7 @@ class Trabalho extends Model 'linkLattesEstudante', 'comentario', 'modalidade', + 'conflitosInteresse', 'anexoDecisaoCONSU', 'anexoAutorizacaoComiteEtica', diff --git a/database/migrations/2022_10_25_204029_create_cursos_table.php b/database/migrations/2022_10_25_204029_create_cursos_table.php new file mode 100644 index 0000000000000000000000000000000000000000..2b479a6c3ef02a093a67ec4e678c599a66a6dff8 --- /dev/null +++ b/database/migrations/2022_10_25_204029_create_cursos_table.php @@ -0,0 +1,32 @@ +bigIncrements('id'); + $table->string('nome'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('cursos'); + } +} diff --git a/database/migrations/2022_10_25_210227_create_proponentes_cursos_table.php b/database/migrations/2022_10_25_210227_create_proponentes_cursos_table.php new file mode 100644 index 0000000000000000000000000000000000000000..0e408c870e573f4f9ed98a75962980605ea22735 --- /dev/null +++ b/database/migrations/2022_10_25_210227_create_proponentes_cursos_table.php @@ -0,0 +1,38 @@ +bigIncrements('id'); + + $table->integer('curso_id'); + $table->foreign('curso_id')->references('id')->on('cursos'); + + $table->integer('proponente_id'); + $table->foreign('proponente_id')->references('id')->on('proponentes'); + + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('proponentes_cursos'); + } +} diff --git a/database/migrations/2022_11_08_214901_add_conflitos_interesse_to_trabalhos_table.php b/database/migrations/2022_11_08_214901_add_conflitos_interesse_to_trabalhos_table.php new file mode 100644 index 0000000000000000000000000000000000000000..69d21a1feb2608d73a5412e49003a8d169fe2d8a --- /dev/null +++ b/database/migrations/2022_11_08_214901_add_conflitos_interesse_to_trabalhos_table.php @@ -0,0 +1,32 @@ +text('conflitosInteresse')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('trabalhos', function (Blueprint $table) { + $table->dropColumn('conflitosInteresse'); + }); + } +} diff --git a/resources/views/administrador/analisarProposta.blade.php b/resources/views/administrador/analisarProposta.blade.php index 03778ce013a11dcbd6e36d69920fd61d1c1e472b..b4d5113fa2586d7aba030048df15973644b97375 100644 --- a/resources/views/administrador/analisarProposta.blade.php +++ b/resources/views/administrador/analisarProposta.blade.php @@ -140,6 +140,13 @@ {{$trabalho->modalidade}} @endif + @if ($trabalho->conflitosInteresse != null) +
{{session('mensagem')}}
-{{session('mensagem')}}