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/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/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/resources/views/auth/register.blade.php b/resources/views/auth/register.blade.php index feff7747565c9ef3adf062006a0f60f7d3dc78ea..23195e4fc162752dec66fd203109db65e1648230 100755 --- a/resources/views/auth/register.blade.php +++ b/resources/views/auth/register.blade.php @@ -25,7 +25,6 @@
- @error('name') {{ $message }} @@ -68,7 +67,7 @@ @error('instituicaoSelect') @@ -124,173 +123,188 @@ @enderror
-
-
- - - - @error('outro') - - {{ $message }} - - @enderror + +
@@ -219,24 +236,24 @@ @error('titulacaoMaxima') - - {{ $message }} - + + {{ $message }} + @enderror
@@ -246,9 +263,9 @@ @error('anoTitulacao') - - {{ $message }} - + + {{ $message }} + @enderror @@ -258,9 +275,9 @@ @error('areaFormacao') - - {{ $message }} - + + {{ $message }} + @enderror @@ -270,9 +287,9 @@ @error('SIAPE') - - {{ $message }} - + + {{ $message }} + @enderror @@ -282,9 +299,9 @@ @error('linkLattes') - - {{ $message }} - + + {{ $message }} + @enderror @@ -294,60 +311,60 @@ @error('bolsistaProdutividade') - - {{ $message }} - + + {{ $message }} + @enderror
@if(isset($proponente) && $proponente->bolsistaProdutividade =='sim') -
- - - @error('nivel') - - {{ $message }} - - @enderror -
+
+ + + @error('nivel') + + {{ $message }} + + @enderror +
@else - + @endif
- @endisset + @endisset
Acesso ao sistema
@@ -360,7 +377,7 @@
- +
@@ -400,7 +417,9 @@
-

+
+
+
Cancelar @@ -419,7 +438,7 @@
-{{-- +{{--

Perfil

@@ -432,133 +451,267 @@
- @csrf - {{-- Nome | CPF +@csrf +{{-- Nome | CPF
- @if(session('mensagem')) -
-
-

{{session('mensagem')}}

-
-
- @endif -
- - +@if(session('mensagem')) +
+
+

{{session('mensagem')}}

+
+
+@endif +
+ + + + @error('name') + + {{ $message }} + + @enderror +
- @error('name') - - {{ $message }} - - @enderror -
+
+ + + @error('cpf') + + {{ $message }} + + @enderror +
+
+{{-- Instituição de Ensino e Celular +
+
+ + + +@error('instituicaoSelect') + + {{ $message }} + +@enderror +
+ +
+ + + + @error('celular') + + {{ $message }} + + @enderror +
+
+ + + + @error('email') + + {{ $message }} + + @enderror +
+@if(Auth()->user()->avaliadors) +
+ + + + @error('area') + + {{ $message }} + + @enderror +
+@endif +
+
+
+ + +
+
+{{-- Email | Senha | Confirmar Senha +
- - + + - @error('cpf') - - {{ $message }} - - @enderror -
+@error('senha_atual') + + {{ $message }} + +@enderror +
+ +
+ + + + @error('nova_senha') + + {{ $message }} + + @enderror +
+ +
+ + + + @error('confirmar_senha') + + {{ $message }} + + @enderror +
+
+ +@if(isset($proponente)) +
+ +
+

Dados de proponente

+
+
+
+ + + + @error('cargo') + + {{ $message }} + + @enderror +
+ +
+ + + + @error('vinculo') + + {{ $message }} + + @enderror +
+ + - {{-- Instituição de Ensino e Celular +
+ +
-
- - + + + + + + - @error('instituicaoSelect') - - {{ $message }} - - @enderror -
- -
- - - @error('celular') +
+ + + + @error('anoTitulacao') {{ $message }} @enderror
- - + + - @error('email') + @error('areaFormacao') {{ $message }} @enderror
- @if(Auth()->user()->avaliadors) -
- - - - @error('area') - - {{ $message }} - - @enderror -
- @endif -
-
-
- - -
- {{-- Email | Senha | Confirmar Senha +
+
- - + + - @error('senha_atual') + @error('SIAPE') {{ $message }} @@ -566,225 +719,91 @@
- - + + - @error('nova_senha') + @error('linkLattes') {{ $message }} @enderror
-
- - - - @error('confirmar_senha') +
+
+ + @error('bolsistaProdutividade') {{ $message }} @enderror
-
- - @if(isset($proponente)) -
- -
-

Dados de proponente

-
-
-
- - - - @error('cargo') - - {{ $message }} - - @enderror -
-
- - - - @error('vinculo') - - {{ $message }} - - @enderror -
- - -
- -
-
-
- - - - @error('titulacaoMaxima') - - {{ $message }} - - @enderror -
- -
- - - - @error('anoTitulacao') - - {{ $message }} - - @enderror -
-
- - - - @error('areaFormacao') - - {{ $message }} - - @enderror -
-
- -
- -
- - - - @error('SIAPE') - - {{ $message }} - - @enderror -
- -
- - - - @error('linkLattes') - - {{ $message }} - - @enderror -
- -
-
- - @error('bolsistaProdutividade') - - {{ $message }} - - @enderror -
- - @if ($proponente->bolsistaProdutividade =='sim') -
- - - @error('nivel') - - {{ $message }} - - @enderror -
- @else - - @endif -
+ @if ($proponente->bolsistaProdutividade =='sim') +
+ + + @error('nivel') + + {{ $message }} + + @enderror
+ @else + + @endif
- @endif - +
+
+
+@endif + -
-
+
+
-
- Cancelar -
-
- -
+
+ Cancelar +
+
+
+
--}} @endsection @section('javascript') - -@endsection + +@endsection \ No newline at end of file