diff --git a/app/Http/Controllers/CoordenadorController.php b/app/Http/Controllers/CoordenadorController.php index 8ebdba13219e006a451ae8b8740bee33c77c8cf8..b3adfe7ec2d5321436ecd2c5ed44f1548a9b2555 100644 --- a/app/Http/Controllers/CoordenadorController.php +++ b/app/Http/Controllers/CoordenadorController.php @@ -3,8 +3,10 @@ namespace App\Http\Controllers; use App\Models\User; +use App\Models\Curso; use App\Models\Util\MenuItemsAdmin; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Hash; class CoordenadorController extends Controller { @@ -18,28 +20,107 @@ class CoordenadorController extends Controller ]); } - /** - * @param Request $request - * @param mixed $id - * - * @return Response + /** + * Show the form for creating a new resource. + * + * @return \Illuminate\Http\Response */ public function create() { return view('coordenador.create', [ 'index_menu' => MenuItemsAdmin::COORDENADORES, + 'cursos' => Curso::all(), ]); } /** - * Update the specified user. + * Store a newly created resource in storage. * - * @param Request $request - * @param string $id - * @return Response + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response */ - public function update(Request $request, $id) + public function store(Request $request) + { + $model = new User(); + $validator = User::validator($request->all()); + $validator->type = User::TYPE_COORDINATOR; + + if ($validator->fails()) { + return redirect()->back()->withErrors($validator->errors())->withInput(); + } + + $model->fill($request->all()); + $model->type = User::TYPE_COORDINATOR; + $model->password = Hash::make($model->password); + $model->save(); + + return redirect()->route('coordenador_index')->with('success', 'Salvo 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) + { + $user = User::findOrFail($id); + return view('coordenador.update', [ + 'index_menu' => MenuItemsAdmin::COORDENADORES, + 'cursos' => Curso::all(), + 'user' => $user, + ]); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param int $id + * @return \Illuminate\Http\Response + */ + public function update(Request $request, $id) + { + $model = User::findOrFail($id); + $validator = User::validator($request->all()); + + if ($validator->fails()) { + return redirect()->back()->withErrors($validator->errors()); + } + + $model->fill($request->all()); + + $newPassword = $request->input('password'); + if($newPassword != null){ + $model->password = Hash::make($newPassword); + } + + $model->save(); + return redirect()->route('coordenador_index')->with('success', 'Atualizado com sucesso!'); + } + + /** + * Remove the specified resource from storage. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function destroy($id) + { + $model = User::find($id); + $model->delete(); + return redirect()->route('coordenador_index')->with('success', 'Excluído com sucesso!'); + } } diff --git a/app/Http/Controllers/DiretorController.php b/app/Http/Controllers/DiretorController.php index af76dd1f4ed7c2e141b01c206f46ba917556bf7a..65aeaefcfc5b653dbd5b54d37d1b4a7e062a4509 100644 --- a/app/Http/Controllers/DiretorController.php +++ b/app/Http/Controllers/DiretorController.php @@ -32,7 +32,7 @@ class DiretorController extends Controller { return view('diretor.create', [ 'index_menu' => MenuItemsAdmin::DIRETORES, - 'unidades' => Unidade::all() + 'campus' => Campus::all(), ]); } @@ -104,6 +104,12 @@ class DiretorController extends Controller } $model->fill($request->all()); + + $newPassword = $request->input('password'); + if($newPassword != null){ + $model->password = Hash::make($newPassword); + } + $model->save(); return redirect()->route('diretor_index')->with('success', 'Atualizado com sucesso!'); } diff --git a/app/Http/Controllers/ProfessorController.php b/app/Http/Controllers/ProfessorController.php new file mode 100644 index 0000000000000000000000000000000000000000..cca59e65eba03c110507aa4409377c78888a9c5e --- /dev/null +++ b/app/Http/Controllers/ProfessorController.php @@ -0,0 +1,126 @@ +get(); + return view('professor.index', [ + 'index_menu' => MenuItemsAdmin::PROFESSORES, + 'professores' => $professores + ]); + } + + /** + * Show the form for creating a new resource. + * + * @return \Illuminate\Http\Response + */ + public function create() + { + return view('professor.create', [ + 'index_menu' => MenuItemsAdmin::PROFESSORES, + 'cursos' => Curso::all(), + ]); + } + + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function store(Request $request) + { + $model = new User(); + $validator = User::validator($request->all()); + $validator->type = User::TYPE_TEACHER; + + if ($validator->fails()) { + return redirect()->back()->withErrors($validator->errors())->withInput(); + } + + $model->fill($request->all()); + $model->type = User::TYPE_TEACHER; + $model->password = Hash::make($model->password); + $model->save(); + + return redirect()->route('professor_index')->with('success', 'Salvo 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) + { + $user = User::findOrFail($id); + return view('professor.update', [ + 'index_menu' => MenuItemsAdmin::PROFESSORES, + 'cursos' => Curso::all(), + 'user' => $user, + ]); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param int $id + * @return \Illuminate\Http\Response + */ + public function update(Request $request, $id) + { + $model = User::findOrFail($id); + $validator = User::validator($request->all()); + + if ($validator->fails()) { + return redirect()->back()->withErrors($validator->errors()); + } + + $model->fill($request->all()); + + $newPassword = $request->input('password'); + if($newPassword != null){ + $model->password = Hash::make($newPassword); + } + + $model->save(); + return redirect()->route('professor_index')->with('success', 'Atualizado com sucesso!'); + } + + /** + * Remove the specified resource from storage. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function destroy($id) + { + $model = User::find($id); + $model->delete(); + return redirect()->route('professor_index')->with('success', 'Excluído com sucesso!'); + } +} diff --git a/app/Models/Util/MenuItemsAdmin.php b/app/Models/Util/MenuItemsAdmin.php index 899da8cc29ebe2f7fdafeabecc38b3061db41f60..b4abd171539efc2652be20a538c89e49a51268a2 100644 --- a/app/Models/Util/MenuItemsAdmin.php +++ b/app/Models/Util/MenuItemsAdmin.php @@ -12,4 +12,5 @@ class MenuItemsAdmin const DIRETORES = 4; const COORDENADORES = 5; const PADS = 6; + const PROFESSORES = 7; } diff --git a/resources/views/coordenador/create.blade.php b/resources/views/coordenador/create.blade.php index 301e488d0c9a7e937bea3fe0e434db8fc9a4d610..fad66843a0d58ef922eef81e443978953abdefa7 100644 --- a/resources/views/coordenador/create.blade.php +++ b/resources/views/coordenador/create.blade.php @@ -1,84 +1,91 @@ @extends('layouts.main') -@section('title', 'Campus') +@section('title', 'Cadastro - Coordenador') + @section('header') @include('layouts.header', [ 'user' => Auth::user(), ]) @endsection + @section('nav') @include('layouts.navigation', [ 'index_menu' => $index_menu, ]) @endsection + @section('body') -
-

CADASTRO DE CORRDENADORES

-

- Insira os dados correspondentes nos campos exibidos abaixo -

- + @include('components.alerts') -
+
+

Cadastrar novo Coordenador

+
+ +
+ @csrf @method('POST') -
- - + +
+ + + {{-- --}} + @error('email') + {{ $message }} + @enderror
-
- - +
+ + + {{-- --}} + @error('name') + {{ $message }} + @enderror
-
-
- - -
-
- - -
+
+ + + {{-- --}} + @error('document') + {{ $message }} + @enderror
-
- - + +
+ + + @error('curso_id') + {{ $message }} + @enderror
- -
- @include('components.buttons.btn-cancel', [ - 'route' => route('unidade_index'), - ]) - @include('components.buttons.btn-save') + +
+
+
+ + + {{-- --}} + @error('password') + {{ $message }} + @enderror +
+
+
+ +
+
- +
@endsection diff --git a/resources/views/coordenador/index.blade.php b/resources/views/coordenador/index.blade.php index 59bcf0a38464291b48088f68fc892b1bfa91b596..b843780c6a53aea7a988f39568fd5324d556b902 100644 --- a/resources/views/coordenador/index.blade.php +++ b/resources/views/coordenador/index.blade.php @@ -1,6 +1,6 @@ @extends('layouts.main') -@section('title', 'Campus') +@section('title', 'Coordenadores') @section('header') @include('layouts.header', [ 'user' => Auth::user(), @@ -13,7 +13,7 @@ @endsection @section('body')
-

TODOS OS COORDENADORES

+

Coordenadores

@include('components.buttons.btn-create', [ 'route' => route('coordenador_create'), 'class' => '', diff --git a/resources/views/coordenador/update.blade.php b/resources/views/coordenador/update.blade.php index 9dce5627f33265d1918ee15385ac3c631ed628a9..5301bb1e02471100cf03cbf0bf14bd2e66e84c4f 100644 --- a/resources/views/coordenador/update.blade.php +++ b/resources/views/coordenador/update.blade.php @@ -1 +1,99 @@ -{{ dd($user) }} \ No newline at end of file +@extends('layouts.main') + +@section('title', 'Atualizar Perfil') + +@section('header') + @include('layouts.header', [ + 'user' => Auth::user(), + ]) +@endsection + +@section('nav') + @include('layouts.navigation', [ + 'index_menu' => $index_menu, + ]) +@endsection + +@section('body') + + @include('components.alerts') + +
+

Atualizar Perfil

+
+ +
+
+ @csrf + @method('POST') + +
+ + + {{-- --}} + @error('email') + {{ $message }} + @enderror +
+
+ + + {{-- --}} + @error('name') + {{ $message }} + @enderror +
+
+ + + {{-- --}} + @error('document') + {{ $message }} + @enderror +
+ +
+ + + @error('curso_id') + {{ $message }} + @enderror +
+ +
+ + +
+ +
+
+ + + {{-- --}} + @error('password') + {{ $message }} + @enderror +
+
+ +
+
+ +
+
+
+
+@endsection diff --git a/resources/views/diretor/create.blade.php b/resources/views/diretor/create.blade.php index 669f4c98d1211d44a1250e671581f9a5814bce42..d8d750268af3d0b312ac3782f5a3ac4cddfac67c 100644 --- a/resources/views/diretor/create.blade.php +++ b/resources/views/diretor/create.blade.php @@ -1,6 +1,6 @@ @extends('layouts.main') -@section('title', 'Atulizar Perfil') +@section('title', 'Cadastro - Diretor') @section('header') @include('layouts.header', [ @@ -27,7 +27,7 @@ @csrf @method('POST') -
+
@@ -36,7 +36,7 @@ {{ $message }} @enderror
-
+
@@ -45,7 +45,7 @@ {{ $message }} @enderror
-
+
@@ -55,21 +55,22 @@ @enderror
-
- - - @foreach ($unidades as $unidade) - + + @foreach ($campus as $camp) + @endforeach - @error('unidade_id') + @error('campus_id') {{ $message }} @enderror
-
+
diff --git a/resources/views/diretor/update.blade.php b/resources/views/diretor/update.blade.php index 46fa5ee2e5bfd9ff2e53302a7f1d2f85eaf7b609..ebd327a7efa3348962c9f90b11085d8471c776f1 100644 --- a/resources/views/diretor/update.blade.php +++ b/resources/views/diretor/update.blade.php @@ -27,7 +27,7 @@ @csrf @method('POST') -
+
@@ -36,7 +36,7 @@ {{ $message }} @enderror
-
+
@@ -45,7 +45,7 @@ {{ $message }} @enderror
-
+
@@ -55,8 +55,8 @@ @enderror
-
- +
+ - @error('unidade_id') + @error('campus_id') {{ $message }} @enderror
- + @@ -80,7 +80,7 @@
- + {{-- --}} diff --git a/resources/views/layouts/user-jquery/jquery_menager.blade.php b/resources/views/layouts/user-jquery/jquery_director.blade.php similarity index 100% rename from resources/views/layouts/user-jquery/jquery_menager.blade.php rename to resources/views/layouts/user-jquery/jquery_director.blade.php diff --git a/resources/views/layouts/user-navigation/navigation_admin.blade.php b/resources/views/layouts/user-navigation/navigation_admin.blade.php index 1d064c3188d95f3bbca461ce3e4fc9ab3017fcf0..7796977346db3a704de6ce235cf5e37b8957d3e5 100644 --- a/resources/views/layouts/user-navigation/navigation_admin.blade.php +++ b/resources/views/layouts/user-navigation/navigation_admin.blade.php @@ -42,4 +42,11 @@ Coordenadores + + diff --git a/resources/views/professor/create.blade.php b/resources/views/professor/create.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..4f327806ce0d766a0ac0e4cdd0995327180d3df6 --- /dev/null +++ b/resources/views/professor/create.blade.php @@ -0,0 +1,91 @@ +@extends('layouts.main') + +@section('title', 'Cadastro - Professor') + +@section('header') + @include('layouts.header', [ + 'user' => Auth::user(), + ]) +@endsection + +@section('nav') + @include('layouts.navigation', [ + 'index_menu' => $index_menu, + ]) +@endsection + +@section('body') + + @include('components.alerts') + +
+

Cadastrar novo Professor

+
+ +
+
+ @csrf + @method('POST') + +
+ + + {{-- --}} + @error('email') + {{ $message }} + @enderror +
+
+ + + {{-- --}} + @error('name') + {{ $message }} + @enderror +
+
+ + + {{-- --}} + @error('document') + {{ $message }} + @enderror +
+ +
+ + + @error('curso_id') + {{ $message }} + @enderror +
+ +
+
+
+ + + {{-- --}} + @error('password') + {{ $message }} + @enderror +
+
+
+ +
+ +
+
+
+@endsection diff --git a/resources/views/professor/index.blade.php b/resources/views/professor/index.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..adc0d8a623a0c0f2e72a2c67c94c9a6f35196fbb --- /dev/null +++ b/resources/views/professor/index.blade.php @@ -0,0 +1,55 @@ +@extends('layouts.main') + +@section('title', 'Professores') +@section('header') + @include('layouts.header', [ + 'user' => Auth::user(), + ]) +@endsection +@section('nav') + @include('layouts.navigation', [ + 'index_menu' => $index_menu, + ]) +@endsection +@section('body') +
+

Professores

+ @include('components.buttons.btn-create', [ + 'route' => route('professor_create'), + 'class' => '', + 'content' => 'Novo Professor', + 'id' => '', + ]) +
+ + +
+ + + + + + + + + + @foreach ($professores as $professor) + + + + + + @endforeach + +
NomeCPFAções
{{ $professor->name }}{{ $professor->document }} + @include('components.buttons.btn-edit', [ + 'btn_class' => 'btn btn-warning', + 'route' => route('professor_edit', ['id' => $professor->id]), + ]) + @include('components.buttons.btn-soft-delete', [ + 'route' => route('professor_delete', ['id' => $professor->id]), + 'modal_id' => $professor->id, + ]) +
+
+@endsection diff --git a/resources/views/professor/update.blade.php b/resources/views/professor/update.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..ecfb66b5cdba120de201f5b6889d862e7a774546 --- /dev/null +++ b/resources/views/professor/update.blade.php @@ -0,0 +1,99 @@ +@extends('layouts.main') + +@section('title', 'Atualizar Perfil') + +@section('header') + @include('layouts.header', [ + 'user' => Auth::user(), + ]) +@endsection + +@section('nav') + @include('layouts.navigation', [ + 'index_menu' => $index_menu, + ]) +@endsection + +@section('body') + + @include('components.alerts') + +
+

Atualizar Perfil

+
+ +
+
+ @csrf + @method('POST') + +
+ + + {{-- --}} + @error('email') + {{ $message }} + @enderror +
+
+ + + {{-- --}} + @error('name') + {{ $message }} + @enderror +
+
+ + + {{-- --}} + @error('document') + {{ $message }} + @enderror +
+ +
+ + + @error('curso_id') + {{ $message }} + @enderror +
+ +
+ + +
+ +
+
+ + + {{-- --}} + @error('password') + {{ $message }} + @enderror +
+
+ +
+
+ +
+
+
+
+@endsection diff --git a/routes/web.php b/routes/web.php index 042c48d79e899a24ba1551240554f41921db9204..bd4f5ef9c2d606e622b64026f3883171b5d5b82b 100644 --- a/routes/web.php +++ b/routes/web.php @@ -13,6 +13,7 @@ use App\Http\Controllers\PadController; use App\Http\Controllers\Dimensao\Tabelas\Ensino\EnsinoAulaController; use App\Http\Controllers\UserController; use App\Http\Controllers\CoordenadorController; +use App\Http\Controllers\ProfessorController; use App\Http\Controllers\DiretorController; use App\Models\Disciplina; use Illuminate\Support\Facades\Route; @@ -112,6 +113,15 @@ Route::prefix('/diretor')->group(function () { Route::delete('/delete/{id}', [DiretorController::class, 'destroy'])->name('diretor_delete'); }); +Route::prefix('/professor')->group(function () { + Route::get('/index', [ProfessorController::class, 'index'])->name('professor_index'); + Route::get('/create', [ProfessorController::class, 'create'])->name('professor_create'); + Route::post('/store', [ProfessorController::class, 'store'])->name('professor_store'); + Route::get('/edit/{id}', [ProfessorController::class, 'edit'])->name('professor_edit'); + Route::post('/update/{id}', [ProfessorController::class, 'update'])->name('professor_update'); + Route::delete('/delete/{id}', [ProfessorController::class, 'destroy'])->name('professor_delete'); +}); + // return json Route::get('/listar/unidade', [UnidadeController::class, 'getAll'])->name('listar_unidades'); Route::get('/list/campus/{unidade_id}', [CampusController::class, 'findByUnidade'])->name('list_campus_by_unidade');