PLANO DE ATIVIDADES DOCENTES (PAD)
-ANEXO B -
-- Insira os dados correspondentes nos campos exibidos abaixo -
-diff --git a/app/Http/Controllers/PADController.php b/app/Http/Controllers/PADController.php index 17a676217ea1473ca1f7ba344b2c221cf6cb0f25..58fa5060abef5ab11d62abb4e52a35de7902f895 100644 --- a/app/Http/Controllers/PADController.php +++ b/app/Http/Controllers/PADController.php @@ -29,9 +29,24 @@ class PadController extends Controller return view('pad.admin.index', ['pads' => $pads]); } - dd('refatorar'); + if(Auth::user()->isTypeTeacher()) { + + $index_menu = 1; + $userPads = UserPad::find()->whereUser(Auth::user()->id)->get(); + + return view('pad.teacher.index', ['index_menu' => $index_menu, 'userPads' => $userPads]); + } } + /** + * @param integer $id + * @return \Illuminate\Http\Response + */ + public function view($id) { + + return view('pad.teacher.view', ['id' => $id]); + } + /** * Show the form for creating a new resource. * @@ -47,20 +62,19 @@ class PadController extends Controller /** * Store a newly created resource in storage. - * * @param \Illuminate\Http\Request $request */ public function store(Request $request) { $validated = $request->validate([ - 'nome' => ['required', 'string', 'min:5', 'max:255'], + 'nome' => ['required', 'string', 'min:6', 'max:255'], 'status' => ['required', 'integer'], 'data_inicio' => ['required', 'date', 'before_or_equal:data_fim'], 'data_fim' => ['required', 'date', 'after_or_equal:data_inicio'], ], [ 'required' => 'O campo de :attribute é obrigatório', - 'nome.min' => 'O campo de :attribute deve ter no mínimo 5 letras', + 'nome.min' => 'O campo de :attribute deve ter no mínimo 6 letras', 'nome.max' => 'O campo de :attribute deve ter no máximo 255 letras', 'data_inicio.before_or_equal' => 'A :attribute deve ser uma data anterior ou igual a data de fim', 'data_fim.after_or_equal' => 'A :attribute deve ser uma data posterior ou igual a data de início', @@ -148,27 +162,28 @@ class PadController extends Controller * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request - * @param int $id + * @param integer $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $validated = $request->validate([ - 'nome' => ['required', 'string', 'min:5', 'max:255'], + 'nome' => ['required', 'string', 'min:6', 'max:255'], 'status' => ['required', 'integer'], 'data_inicio' => ['required', 'date', 'before_or_equal:data_fim'], 'data_fim' => ['required', 'date', 'after_or_equal:data_inicio'], ], [ 'required' => 'O campo de :attribute é obrigatório', - 'nome.min' => 'O campo de :attribute deve ter no mínimo 5 letras', + 'nome.min' => 'O campo de :attribute deve ter no mínimo 6 letras', 'nome.max' => 'O campo de :attribute deve ter no máximo 255 letras', 'data_inicio.before_or_equal' => 'A :attribute deve ser uma data anterior ou igual a data de fim', 'data_fim.after_or_equal' => 'A :attribute deve ser uma data posterior ou igual a data de início', ]); if($validated) { - $model = new Pad($request->all()); + $model = Pad::find($id); + $model->fill($request->all()); if($model->save()) { return redirect()->route('pad_index')->with('success', 'PAD atualizado com sucesso!'); diff --git a/app/Models/UserPad.php b/app/Models/UserPad.php index 6a3b17d8fa4aa964454b4dfec9ace4518650c1e6..032f2b1b57a7031ef4915520ef4a205c85c1b538 100644 --- a/app/Models/UserPad.php +++ b/app/Models/UserPad.php @@ -2,6 +2,7 @@ namespace App\Models; +use App\Queries\UserPadQuery; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; @@ -14,11 +15,15 @@ class UserPad extends Model protected $fillable = ['user_id', 'pad_id']; public function user() { - $this->belongsTo(User::class); + return $this->belongsTo(User::class); } public function pad() { - $this->belongsTo(PAD::class); + return $this->belongsTo(PAD::class); + } + + public static function find() { + return new UserPadQuery(get_called_class()); } } diff --git a/app/Queries/UserPadQuery.php b/app/Queries/UserPadQuery.php new file mode 100644 index 0000000000000000000000000000000000000000..14111131c2180655b62238133d1ef548eff0de20 --- /dev/null +++ b/app/Queries/UserPadQuery.php @@ -0,0 +1,43 @@ +query = UserPad::where([]); + } + + /** + * @param integer $id + * @return UserPadQuery|Builder + */ + public function whereId($id, $expression = '=') + { + $this->query = $this->query->where('id', $expression, $id); + return $this->query; + } + + /** + * @param integer $user_id + * @return UserPadQuery|Builder + */ + public function whereUser($user_id, $expression = '=') + { + $this->query = $this->query->where('user_id', $expression, $user_id); + return $this->query; + } + + /** + * @return Builder + */ + public function getQuery() + { + return $this->query; + } +} \ No newline at end of file diff --git a/resources/views/pad/index.blade.php b/resources/views/pad/index.blade.php deleted file mode 100644 index e6e432d691aa4687e1702203ff22b58cde29076a..0000000000000000000000000000000000000000 --- a/resources/views/pad/index.blade.php +++ /dev/null @@ -1,51 +0,0 @@ -@extends('layouts.main') - -@section('title', 'Unidade') -@section('header') - @include('layouts.header', [ - 'user' => Auth::user(), - ]) -@endsection -@section('nav') - @include('layouts.navigation', [ - 'index_menu' => $index_menu, - ]) -@endsection -@section('body') -
ANEXO B -
-- Insira os dados correspondentes nos campos exibidos abaixo -
-ANEXO B +
++ Insira os dados correspondentes nos campos exibidos abaixo +
+