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') -
- Insira os dados correspondentes nos campos exibidos abaixo -
- + @include('components.alerts') -