diff --git a/app/Http/Controllers/PadController.php b/app/Http/Controllers/PadController.php index a1b40e2ba534ab395d5d38a7af2a49a23841e385..01066554f217dfdf4e31d56383bd2f1cbd6a50ee 100644 --- a/app/Http/Controllers/PadController.php +++ b/app/Http/Controllers/PadController.php @@ -1,7 +1,7 @@ isTypeAdmin()) { $users = User::initQuery()->whereType(UserType::TEACHER)->get(); @@ -61,7 +61,7 @@ class PadController extends Controller $menu = Menu::PADS; return view('pad.admin.index', ['menu' => $menu, 'pads' => $pads]); } - + if(Auth::user()->isTypeTeacher()) { $menu = Menu::PADS; @@ -76,8 +76,8 @@ class PadController extends Controller * @return \Illuminate\Http\Response */ public function view($id) - { - $ensinoTotalHoras = + { + $ensinoTotalHoras = EnsinoAtendimentoDiscente::whereUserPadId($id)->sum('ch_semanal') + EnsinoAula::whereUserPadId($id)->sum('ch_semanal') + EnsinoCoordenacaoRegencia::whereUserPadId($id)->sum('ch_semanal') @@ -87,8 +87,8 @@ class PadController extends Controller + EnsinoParticipacao::whereUserPadId($id)->sum('ch_semanal') + EnsinoProjeto::whereUserPadId($id)->sum('ch_semanal') + EnsinoSupervisao::whereUserPadId($id)->sum('ch_semanal'); - - $gestaoTotalHoras = + + $gestaoTotalHoras = GestaoCoordenacaoLaboratoriosDidaticos::whereUserPadId($id)->sum('ch_semanal') + GestaoCoordenacaoProgramaInstitucional::whereUserPadId($id)->sum('ch_semanal') + GestaoMembroCamaras::whereUserPadId($id)->sum('ch_semanal') @@ -97,7 +97,7 @@ class PadController extends Controller + GestaoMembroTitularConselho::whereUserPadId($id)->sum('ch_semanal') + GestaoOutros::whereUserPadId($id)->sum('ch_semanal') + GestaoRepresentanteUnidadeEducacao::whereUserPadId($id)->sum('ch_semanal'); - + $pesquisaTotalHoras = PesquisaCoordenacao::whereUserPadId($id)->sum('ch_semanal') + PesquisaLideranca::whereUserPadId($id)->sum('ch_semanal') @@ -112,25 +112,25 @@ class PadController extends Controller $menu = Menu::PADS; return view('pad.teacher.view', [ 'menu' => $menu, - 'user_pad_id' => $id, + 'user_pad_id' => $id, 'gestaoTotalHoras' => $gestaoTotalHoras, 'ensinoTotalHoras' => $ensinoTotalHoras, 'pesquisaTotalHoras' => $pesquisaTotalHoras, 'extensaoTotalHoras' => $extensaoTotalHoras, ]); } - + /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() - { + { $menu = Menu::PADS; $status = [ - Status::ATIVO => Status::listStatus(Status::ATIVO) + Status::ATIVO => Status::listStatus(Status::ATIVO) ]; return view('pad.admin.create', [ @@ -144,7 +144,7 @@ class PadController extends Controller * @param \Illuminate\Http\Request $request */ public function store(Request $request) - { + { $validated = $request->validate([ 'nome' => ['required', 'string', 'min:6', 'max:255'], 'status' => ['required', 'integer'], @@ -164,13 +164,13 @@ class PadController extends Controller $model = new Pad($request->all()); $users = User::initQuery()->whereType(UserType::TEACHER)->get(); - + if($model->save()) { $users = User::initQuery()->whereType(UserType::TEACHER)->get(); - + foreach($users as $user) - { + { $profile = $user->profile(UserType::TEACHER); if($profile) @@ -179,7 +179,7 @@ class PadController extends Controller $userPad->pad_id = $model->id; $userPad->user_id = $user->id; $userPad->status = Status::ATIVO; - + $userPad->save(); } } @@ -204,17 +204,21 @@ class PadController extends Controller * @return \Illuminate\Http\Response */ public function edit($id) - { + { $menu = Menu::PADS; $pad = PAD::find($id); $userPads = $pad->userPads; + $avaliatorsPads = $pad->avaliadorPads; $status = Constants::listStatus(); + + return view('pad.admin.edit', [ 'pad' => $pad, 'menu' => $menu, 'status' => $status, 'userPads' => $userPads, + 'avaliatorsPads' => $avaliatorsPads ]); } @@ -226,7 +230,7 @@ class PadController extends Controller * @return \Illuminate\Http\Response */ public function update(Request $request, $id) - { + { $validated = $request->validate([ 'nome' => ['required', 'string', 'min:6', 'max:255'], 'status' => ['required', 'integer'], @@ -244,7 +248,7 @@ class PadController extends Controller if($validated) { $model = Pad::find($id); $model->fill($request->all()); - + if($model->save()) { return redirect()->route('pad_index')->with('success', 'PAD atualizado com sucesso!'); } else { @@ -253,7 +257,7 @@ class PadController extends Controller } } - + public function delete($id) { $model = Pad::find($id); @@ -277,4 +281,4 @@ class PadController extends Controller return redirect('/pad/index'); } -} \ No newline at end of file +} diff --git a/app/Models/AvaliadorPad.php b/app/Models/AvaliadorPad.php index 68c4a3b4667cc5594746d6fdb27997a388f6e41e..fa397be7799e823df1d30bc8539072c679dfb85d 100644 --- a/app/Models/AvaliadorPad.php +++ b/app/Models/AvaliadorPad.php @@ -25,4 +25,13 @@ class AvaliadorPad extends Model public static function find() { return new UserPadQuery(get_called_class()); } + + public function user() { + return $this->belongsTo(User::class); + } + + public function dimensions() { + return $this->hasMany(Dimension::class); + } + } diff --git a/app/Models/AvaliadorPadDimensao.php b/app/Models/AvaliadorPadDimensao.php new file mode 100644 index 0000000000000000000000000000000000000000..8ffdab966435f9836464714113dbcd8582ccf925 --- /dev/null +++ b/app/Models/AvaliadorPadDimensao.php @@ -0,0 +1,21 @@ +belongsTo(AvaliadorPad::class); + } + + +} diff --git a/app/Models/Pad.php b/app/Models/Pad.php index 3980d82532b719cca500710b2d6898edc2d70c87..6a429c8930c2b3d9b06d6bc7675aef538d1edfb4 100644 --- a/app/Models/Pad.php +++ b/app/Models/Pad.php @@ -49,5 +49,13 @@ class Pad extends Model public function userPads() { return $this->hasMany(UserPad::class); } + + /** + * @return Illuminate\Database\Eloquent\Collection + * @return Collection + */ + public function avaliadorPads(){ + return $this->hasMany(AvaliadorPad::class); + } } diff --git a/database/migrations/2023_03_13_220732_alter_avaliador_pad_remove_dimensao_and_add_status_table.php b/database/migrations/2023_03_13_220732_alter_avaliador_pad_remove_dimensao_and_add_status_table.php new file mode 100644 index 0000000000000000000000000000000000000000..61308fb3e2f2bc6f4591dbe8565aa0bb1ffb886d --- /dev/null +++ b/database/migrations/2023_03_13_220732_alter_avaliador_pad_remove_dimensao_and_add_status_table.php @@ -0,0 +1,34 @@ +dropColumn('dimensao'); + $table->tinyInteger('status')->after('pad_id'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('avaliador_pad', function (Blueprint $table) { + $table->dropColumn('status'); + $table->tinyInteger('dimensao')->after('id'); + }); + } +} diff --git a/database/migrations/2023_03_13_221712_create_avaliador_pad_dimensao_table.php b/database/migrations/2023_03_13_221712_create_avaliador_pad_dimensao_table.php new file mode 100644 index 0000000000000000000000000000000000000000..57440bfaa602346b48b1b234a9f665d2d2a21c19 --- /dev/null +++ b/database/migrations/2023_03_13_221712_create_avaliador_pad_dimensao_table.php @@ -0,0 +1,33 @@ +id(); + $table->foreignId('avaliador_pad_id')->constrained('avaliador_pad'); + $table->tinyInteger('dimensao'); + $table->softDeletes(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('avaliador_pad_dimensao'); + } +} diff --git a/resources/views/avaliador-pad/_form.blade.php b/resources/views/avaliador-pad/_form.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..cf2fba1fe3be504f2300ce29b2f76eabeba0e9b6 --- /dev/null +++ b/resources/views/avaliador-pad/_form.blade.php @@ -0,0 +1,55 @@ +@php + function field_validate($field) + { + $type_form = 'create_and_update'; + + return sprintf("%s_%s", $type_form, $field); + } +@endphp + +
+ + + +
+ + + + @include('components.divs.errors', [ + 'field' => field_validate('user_id') + ]) +
+ +
+ + +
+ +
+ + + + @include('components.divs.errors', [ + 'field' => field_validate('nivel') + ]) +
+ +
diff --git a/resources/views/avaliador-pad/create.blade.php b/resources/views/avaliador-pad/create.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..0c0aa46c95dcab2c9d4261d48e28dfc0e82c7cfb --- /dev/null +++ b/resources/views/avaliador-pad/create.blade.php @@ -0,0 +1,35 @@ + +
+

Cadastrar Professor (PAD)

+
+ +
+ @csrf + @method('POST') + + @include('user-pad._form', [ + 'pad' => $pad, + 'model' => $model, + 'users' => $users, + 'status' => $status, + ]) + +
+ +
+ +
+ +@include('pad.components.scripts.ajaxValidation', [ + 'btn_submit_id' => 'btn_submit', + 'form_id' => 'form-user_pad', + 'form_type' => 'create_and_update', + 'route' => route('user-pad_ajax_validation'), +]) \ No newline at end of file diff --git a/resources/views/avaliador-pad/update.blade.php b/resources/views/avaliador-pad/update.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/resources/views/pad/admin/edit.blade.php b/resources/views/pad/admin/edit.blade.php index 29b34780b91bb7b8445aa3024b71ff0062599bb8..eab763d70ff35bff8874419000868e1a3dff4598 100644 --- a/resources/views/pad/admin/edit.blade.php +++ b/resources/views/pad/admin/edit.blade.php @@ -26,6 +26,9 @@ + @@ -84,7 +87,7 @@ @enderror - +
@@ -121,7 +124,7 @@ Opções - + @foreach($userPads as $userPad) @@ -137,8 +140,51 @@
+
+ +
+ +
+ +
+ + + + + + + + + + + + + @foreach($avaliatorsPads as $avaliatorPad) + + + + + + + @endforeach + + +
Professor PAD Dimensão Opções
{{ $avaliatorPad->user->name }}{{ $avaliatorPad->pad->nome }} +{{-- @foreach($avaliatorPad->dimensions as $dimension) + {{ $dimension->nome }} + @endforeach --}} + {{ $avaliatorPad->dimensao }}
+ +
+ +
+ + + + + @include('components.modal', ['size' => 'modal-lg']) @endsection @@ -147,8 +193,13 @@ @include('pad.components.scripts.dimensao.ensino.show_modal', [ 'modal_id' => 'modal', - 'route' => route('user-pad_create', ['pad_id' => $pad->id]), + 'route' => route('user-pad_create', ['pad_id' => $pad->id]), 'btn_class' => 'user-pad-create', ]) -@endsection \ No newline at end of file + @include('pad.components.scripts.dimensao.ensino.show_modal', [ + 'modal_id' => 'modal', + 'route' => route('user-pad_create', ['pad_id' => $pad->id]), + 'btn_class' => 'valiator-pad-create', + ]) +@endsection