diff --git a/app/Http/Controllers/Dimensao/Tabelas/Gestao/GestaoMembroComissaoController.php b/app/Http/Controllers/Dimensao/Tabelas/Gestao/GestaoMembroComissaoController.php
index 943886f0cb499ddb2b03f06a01f1919c9d57efed..395f577d1b575c8171221ca3c5657a9f5fdd8337 100644
--- a/app/Http/Controllers/Dimensao/Tabelas/Gestao/GestaoMembroComissaoController.php
+++ b/app/Http/Controllers/Dimensao/Tabelas/Gestao/GestaoMembroComissaoController.php
@@ -3,7 +3,14 @@
namespace App\Http\Controllers\Dimensao\Tabelas\Gestao;
use App\Http\Controllers\Controller;
+use App\Models\Avaliacao;
use App\Models\Tabelas\Constants;
+use App\Models\Tabelas\Gestao\GestaoMembroComissao;
+use App\Models\Util\Avaliacao as UtilAvaliacao;
+use App\Models\Util\Dimensao;
+use App\Models\Util\MenuItemsTeacher;
+use App\Models\Util\PadTables;
+use App\Models\Util\Status;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Response;
use Illuminate\Support\Facades\Validator;
@@ -12,31 +19,143 @@ class GestaoMembroComissaoController extends Controller
{
public function index($user_pad_id)
{
- return $user_pad_id;
+ $membroComissoes =
+ GestaoMembroComissao::initQuery()
+ ->whereUserPad($user_pad_id)
+ ->orderBy('cod_atividade')
+ ->get();
+
+ $divs = PadTables::tablesGestao($user_pad_id);
+
+ return view('pad.components.templates.dimensao.gestao.membro_comissao.form_create', [
+ 'membroComissoes' => $membroComissoes,
+
+ 'divs' => $divs,
+ 'user_pad_id' => $user_pad_id,
+ 'index_menu' => MenuItemsTeacher::PAD,
+ ]);
}
public function create(Request $request)
- {
+ {
+ $validator = Validator::make($request->all(), GestaoMembroComissao::rules(), GestaoMembroComissao::messages());
+
+ if($validator->fails())
+ {
+ return redirect()
+ ->route('gestao_membro_comissao_index', ['user_pad_id' => $request->user_pad_id,])
+ ->withErrors($validator)
+ ->withInput();
+ }
+
+ $user_pad_id = $request->user_pad_id;
+
+ $model = new GestaoMembroComissao($request->all());
+ $model->dimensao = Dimensao::GESTAO;
+
+ if($model->save())
+ {
+ $avaliacao = new Avaliacao([
+ 'tarefa_id' => $model->id,
+ 'type' => UtilAvaliacao::ENSINO_AULA,
+ 'status' => Status::PENDENTE,
+ ]);
+
+ if(!$avaliacao->save())
+ {
+ return redirect()
+ ->route('gestao_membro_comissao_index', ['user_pad_id' => $user_pad_id])
+ ->with('fail', 'Erro ao cadastrar Atividade!');
+ }
+
+ return redirect()
+ ->route('gestao_membro_comissao_index', ['user_pad_id' => $user_pad_id])
+ ->with('success', 'Cadastro realizado com sucesso!');
+ } else {
+ return redirect()
+ ->route('gestao_membro_comissao_index', ['user_pad_id' => $user_pad_id])
+ ->with('fail', 'Erro ao cadastrar Atividade!');
+ }
}
public function update($id, Request $request)
{
+ $validator = Validator::make($request->all(), GestaoMembroComissao::rules(), GestaoMembroComissao::messages());
+
+ $model = GestaoMembroComissao::find($id);
+ $model->fill($request->all());
+
+ $user_pad_id = $model->user_pad_id;
+
+ if($validator->fails())
+ {
+ return redirect()
+ ->route('gestao_membro_comissao_index', ['user_pad_id' => $user_pad_id])
+ ->with('fail', 'Erro ao atualizar Atividade!');
+ }
+
+ if($model->save()) {
+ return redirect()->route('gestao_membro_comissao_index', ['user_pad_id' => $user_pad_id])
+ ->with('success', 'Atualizado com sucesso!');
+ } else {
+ return redirect()->route('gestao_membro_comissao_index', ['user_pad_id' => $user_pad_id])
+ ->with('fail', 'Erro ao atualizar a Atividade!');
+ }
}
-
-
- public function ajaxValidation(Request $request)
+
+ public function edit($id)
{
+ $model = GestaoMembroComissao::find($id);
+
+ return view('pad.components.templates.dimensao.gestao.membro_comissao.form_update', [
+ 'model' => $model,
+ ]);
}
-
+
+ public function viewResolucao()
+ {
+ $resolucoes = GestaoMembroComissao::getPlanejamentos();
+ return view('pad.components.templates.dimensao.gestao.membro_comissao.resolucao', [
+ 'resolucoes' => $resolucoes
+ ]);
+ }
+
public function delete($id)
{
+ $model = GestaoMembroComissao::find($id);
+
+ $user_pad_id = $model->user_pad_id;
+
+ if($model->delete()) {
+ return redirect()
+ ->route('gestao_membro_comissao_index', ['user_pad_id' => $user_pad_id])
+ ->with('success', 'Atividade removida com Sucesso!');
+ } else {
+ return redirect()
+ ->route('gestao_membro_comissao_index', ['user_pad_id' => $user_pad_id])
+ ->with('fail', 'Erro ao remover atividade!');
+ }
}
public function search($user_pad_id = null)
{
+ $query = GestaoMembroComissao::initQuery();
+
+ if($user_pad_id) {
+ $query->whereUserPad($user_pad_id)->orderBy('cod_atividade');
+ }
+
+ return Response::json($query->get());
}
-
- public function edit($id)
- {
+
+ public function ajaxValidation(Request $request)
+ {
+ $validator = Validator::make($request->all(), GestaoMembroComissao::rules(), GestaoMembroComissao::messages());
+
+ if($validator->passes()) {
+ return Response::json(['message' => true, 'status' => 200]);
+ }
+
+ return Response::json(['errors' => $validator->errors(), 'status' => 400]);
}
}
\ No newline at end of file
diff --git a/app/Models/Planejamento.php b/app/Models/Planejamento.php
index 0a07ebffc6297df21c948e0aed21e67f575eecf6..f863cafc40de48cfb01ddba6b0d282097f4a94b7 100644
--- a/app/Models/Planejamento.php
+++ b/app/Models/Planejamento.php
@@ -2,6 +2,7 @@
namespace App\Models;
+use App\Models\Util\Dimensao;
use App\Queries\PlanejamentoQuery;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
@@ -46,8 +47,8 @@ class Planejamento extends Model
/**
* @return string
*/
- public function dimensaoAsText() {
- return $this->listDimensao($this->dimensao);
+ public function dimensaoAsString() {
+ return Dimensao::listDimensao($this->dimensao);
}
public static function initQuery() {
diff --git a/app/Models/Tabelas/Gestao/GestaoMembroComissao.php b/app/Models/Tabelas/Gestao/GestaoMembroComissao.php
new file mode 100644
index 0000000000000000000000000000000000000000..53d89a642613f77f25373d3c558c615c71060e18
--- /dev/null
+++ b/app/Models/Tabelas/Gestao/GestaoMembroComissao.php
@@ -0,0 +1,45 @@
+whereInCodDimensao($codes)->get();
+ }
+
+ public static function rules()
+ {
+ return [
+ 'cod_atividade' => ['required', 'string', 'max:255'],
+ 'nome' => ['required', 'string', 'max:255'],
+ 'documento' => ['required', 'string', 'max:255'],
+ 'ch_semanal' => ['required', 'integer', 'min:1', 'max:2'],
+ ];
+ }
+
+ public static function messages()
+ {
+ return [
+ 'required' => 'O campo ":attribute" é obrigatório!',
+ 'integer' => 'O campo ":attribute" deve cónter um inteiro!',
+ 'ch_semanal.min' => 'Carga horária semanal miníma é de 1 Hora!',
+ 'ch_semanal.max' => 'Carga horária semanal máxima é de 2 Horas!',
+ ];
+ }
+
+ public static function initQuery()
+ {
+ return new GestaoMembroComissaoQuery(get_called_class());
+ }
+}
diff --git a/app/Queries/Tabelas/Gestao/GestaoMembroComissaoQuery.php b/app/Queries/Tabelas/Gestao/GestaoMembroComissaoQuery.php
new file mode 100644
index 0000000000000000000000000000000000000000..087c57047a93e10fbc60ff37c821fcb5005eaedd
--- /dev/null
+++ b/app/Queries/Tabelas/Gestao/GestaoMembroComissaoQuery.php
@@ -0,0 +1,25 @@
+query = GestaoMembroComissao::where([]);
+
+ self::$instance = $this;
+ }
+
+ public function whereUserPad($user_pad_id, $operator = '=')
+ {
+ $this->query = $this->query->where('user_pad_id', $operator, $user_pad_id);
+ return self::$instance;
+ }
+
+}
\ No newline at end of file
diff --git a/resources/views/components/buttons/btn-show-resolucao.blade.php b/resources/views/components/buttons/btn-show-resolucao.blade.php
new file mode 100644
index 0000000000000000000000000000000000000000..7f4488c8c4b0d64ffef710e90fe15637730f7ca3
--- /dev/null
+++ b/resources/views/components/buttons/btn-show-resolucao.blade.php
@@ -0,0 +1,16 @@
+{{--
+ @include('components.buttons.btn-show-resolucao', [
+ 'content' => '',
+ 'btn_class' => '',
+ ])
+
+ @include('components.buttons.btn-show-resolucao', [
+ 'content' => 'Resolução',
+ 'btn_class' => 'show_resolucao',
+ ])
+--}}
+
+
\ No newline at end of file
diff --git a/resources/views/pad/components/scripts/dimensao/ensino/show_modal.blade.php b/resources/views/pad/components/scripts/dimensao/ensino/show_modal.blade.php
index 79c4e3fe8fb4a852125c0ba9e50f957b9eb4527f..c38a38bafaaf5059ba8983b28bddfc5d3cc1265e 100644
--- a/resources/views/pad/components/scripts/dimensao/ensino/show_modal.blade.php
+++ b/resources/views/pad/components/scripts/dimensao/ensino/show_modal.blade.php
@@ -2,24 +2,25 @@
@include('pad.components.scripts.dimensao.ensino.show_modal', [
'modal_id' => '',
'route' => '',
- 'btn_edit_class' => '',
+ 'btn_class' => '',
])
--}}