diff --git a/app/Http/Controllers/Dimensao/Tabelas/Ensino/EnsinoCoordenacaoRegenciaController.php b/app/Http/Controllers/Dimensao/Tabelas/Ensino/EnsinoCoordenacaoRegenciaController.php index a57991397de045060a0254feaaeb32a5b0d6abc9..4a402953850563860f3cca2cb4adcfe8cd83862c 100644 --- a/app/Http/Controllers/Dimensao/Tabelas/Ensino/EnsinoCoordenacaoRegenciaController.php +++ b/app/Http/Controllers/Dimensao/Tabelas/Ensino/EnsinoCoordenacaoRegenciaController.php @@ -30,6 +30,8 @@ class EnsinoCoordenacaoRegenciaController extends Controller $niveis = Nivel::listNivel(); $modalidades = Modalidade::listModalidade(); + $planejamentos = EnsinoCoordenacaoRegencia::listPlanejamentos(); + $divs = PadTables::tablesEnsino($user_pad_id); return view('pad.components.templates.dimensao.ensino.regencia.form_create', [ @@ -38,6 +40,7 @@ class EnsinoCoordenacaoRegenciaController extends Controller 'divs' => $divs, 'niveis' => $niveis, 'modalidades' => $modalidades, + 'planejamentos' => $planejamentos, 'user_pad_id' => $user_pad_id, 'index_menu' => MenuItemsTeacher::PAD, ]); @@ -48,11 +51,13 @@ class EnsinoCoordenacaoRegenciaController extends Controller $model = EnsinoCoordenacaoRegencia::find($id); $niveis = Nivel::listNivel(); $modalidades = Modalidade::listModalidade(); + $planejamentos = EnsinoCoordenacaoRegencia::listPlanejamentos(); return view('pad.components.templates.dimensao.ensino.regencia.form_update', [ 'model' => $model, 'niveis' => $niveis, - 'modalidades' => $modalidades + 'modalidades' => $modalidades, + 'planejamentos' => $planejamentos ]); } diff --git a/app/Http/Controllers/Dimensao/Tabelas/Ensino/EnsinoOrientacaoController.php b/app/Http/Controllers/Dimensao/Tabelas/Ensino/EnsinoOrientacaoController.php index 3456c23f6470c516fccaab63ff3e3594da627d07..aace3169eb36c69f32bfc230772d93f452590215 100644 --- a/app/Http/Controllers/Dimensao/Tabelas/Ensino/EnsinoOrientacaoController.php +++ b/app/Http/Controllers/Dimensao/Tabelas/Ensino/EnsinoOrientacaoController.php @@ -30,6 +30,7 @@ class EnsinoOrientacaoController extends Controller $niveis = Nivel::listNivel(); $orientacoes = Orientacao::listOrientacao(); + $planejamentos = EnsinoOrientacao::listPlanejamentos(); $divs = PadTables::tablesEnsino($user_pad_id); return view('pad.components.templates.dimensao.ensino.orientacao.form_create', [ @@ -38,6 +39,7 @@ class EnsinoOrientacaoController extends Controller 'divs' => $divs, 'niveis' => $niveis, 'orientacoes' => $orientacoes, + 'planejamentos' => $planejamentos, 'user_pad_id' => $user_pad_id, 'index_menu' => MenuItemsTeacher::PAD, ]); @@ -48,11 +50,13 @@ class EnsinoOrientacaoController extends Controller $model = EnsinoOrientacao::find($id); $niveis = Nivel::listNivel(); $orientacoes = Orientacao::listOrientacao(); + $planejamentos = EnsinoOrientacao::listPlanejamentos(); return view('pad.components.templates.dimensao.ensino.aulas.form_update', [ 'model' => $model, 'niveis' => $niveis, 'orientacoes' => $orientacoes, + 'planejamentos' => $planejamentos, ]); } diff --git a/app/Http/Controllers/Dimensao/Tabelas/Ensino/EnsinoSupervisaoController.php b/app/Http/Controllers/Dimensao/Tabelas/Ensino/EnsinoSupervisaoController.php index cb1e054d83c8d62d0cda209d5ec4d244212d1508..cfe02a42a647994c17068dd63eb640b58c661525 100644 --- a/app/Http/Controllers/Dimensao/Tabelas/Ensino/EnsinoSupervisaoController.php +++ b/app/Http/Controllers/Dimensao/Tabelas/Ensino/EnsinoSupervisaoController.php @@ -30,6 +30,7 @@ class EnsinoSupervisaoController extends Controller $niveis = Nivel::listNivel(); $supervisoes = Supervisao::listSupervisao(); + $planejamentos = EnsinoSupervisao::listPlanejamentos(); $divs = PadTables::tablesEnsino($user_pad_id); return view('pad.components.templates.dimensao.ensino.supervisao.form_create', [ @@ -38,6 +39,7 @@ class EnsinoSupervisaoController extends Controller 'divs' => $divs, 'niveis' => $niveis, 'supervisoes' => $supervisoes, + 'planejamentos' => $planejamentos, 'user_pad_id' => $user_pad_id, 'index_menu' => MenuItemsTeacher::PAD, ]); @@ -47,12 +49,14 @@ class EnsinoSupervisaoController extends Controller $model = EnsinoSupervisao::find($id); $niveis = Nivel::listNivel(); - $modalidades = Supervisao::listSupervisao(); + $supervisoes = Supervisao::listSupervisao(); + $planejamentos = EnsinoSupervisao::listPlanejamentos(); return view('pad.components.templates.dimensao.ensino.supervisao.form_update', [ 'model' => $model, 'niveis' => $niveis, - 'modalidades' => $modalidades + 'supervisoes' => $supervisoes, + 'planejamentos' => $planejamentos, ]); } diff --git a/app/Models/Tabelas/Ensino/EnsinoAtendimentoDiscente.php b/app/Models/Tabelas/Ensino/EnsinoAtendimentoDiscente.php index 6b13b2cd783da44b6cc8ab7127e54a122f92d2ec..026b6ed8f25e2efd6b50d514a8eee2c234c84515 100644 --- a/app/Models/Tabelas/Ensino/EnsinoAtendimentoDiscente.php +++ b/app/Models/Tabelas/Ensino/EnsinoAtendimentoDiscente.php @@ -3,8 +3,11 @@ namespace App\Models\Tabelas\Ensino; use App\Models\Planejamento; +use App\Models\Util\CargaHoraria; +use App\Models\Util\Nivel; use App\Queries\Tabelas\Ensino\EnsinoAtendimentoDiscenteQuery; use Illuminate\Database\Eloquent\Model; +use Illuminate\Validation\Rule; class EnsinoAtendimentoDiscente extends Model { @@ -26,14 +29,35 @@ class EnsinoAtendimentoDiscente extends Model public static function rules() { return [ - + 'cod_atividade' => ['required', 'string', 'max:255'], + 'componente_curricular' => ['required', 'string', 'max:255'], + 'curso' => ['required', 'string', 'max:255'], + 'nivel' => ['required', 'integer', Rule::in(array_keys(Nivel::listNivel()))], + 'ch_semanal' => CargaHoraria::ch_semanal() ]; } public static function messages() { return [ + //cod_atividade + 'cod_atividade.required' => 'O campo "Cod. Atividade" é obrigatório!', + + //componente_curricular + 'componente_curricular.required' => 'O campo "Componente Curricular" é obrigatório!', + + //curso + 'curso.required' => 'O campo "Curso" é obrigatório!', + + //nivel + 'nivel.required' => 'O campo "Nível" é obrigatório!', + 'nivel.in' => 'Selecione uma opção da lista de "Nível"!', + 'nivel.integer' => 'O campo "Nível" deve cónter um inteiro!', + //ch_semanal + 'ch_semanal.required' => 'O campo "CH. Semanal" é obrigatório!', + 'ch_semanal.min' => 'Carga horária semanal miníma é de 1 Hora!', + 'ch_semanal.integer' => 'O campo "CH. Semanal" deve cónter um inteiro!', ]; } diff --git a/app/Models/Tabelas/Ensino/EnsinoAula.php b/app/Models/Tabelas/Ensino/EnsinoAula.php index 1702c9524ed43260b5c8ca3fb318e177eb16aceb..7d38393481f43010e9e3516a369d6ef9fd276f15 100644 --- a/app/Models/Tabelas/Ensino/EnsinoAula.php +++ b/app/Models/Tabelas/Ensino/EnsinoAula.php @@ -2,15 +2,11 @@ namespace App\Models\Tabelas\Ensino; -use App\Models\Curso; -use App\Models\Disciplina; use App\Models\Planejamento; -use App\Models\Tabelas\Constants; +use App\Models\Util\CargaHoraria; use App\Models\Util\Modalidade; use App\Models\Util\Nivel; -use App\Queries\PlanejamentoQuery; use App\Queries\Tabelas\Ensino\EnsinoAulaQuery; -use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Validation\Rule; @@ -36,21 +32,38 @@ class EnsinoAula extends Model 'cod_atividade' => ['required', 'string', 'max:255'], 'componente_curricular' => ['required', 'string', 'max:255'], 'curso' => ['required', 'string', 'max:255'], - 'nivel' => ['required', 'integer', Rule::in(array_keys(Constants::listNivel()))], - 'modalidade' => ['required', 'integer', Rule::in(array_keys(Constants::listModalidade()))], - 'ch_semanal' => ['required', 'integer', 'min:1'], - 'ch_total' => ['required', 'integer', 'min:1'], + 'nivel' => ['required', 'integer', Rule::in(array_keys(Nivel::listNivel()))], + 'modalidade' => ['required', 'integer', Rule::in(array_keys(Modalidade::listModalidade()))], + 'ch_semanal' => CargaHoraria::ch_semanal() ]; } public static function messages() { return [ - 'required' => 'O campo ":attribute" é obrigatório!', - 'integer' => 'O campo ":attribute" deve cónter um inteiro!', - 'in' => 'Selecione uma opção da lista de ":attribute"!', + //cod_atividade + 'cod_atividade.required' => 'O campo "Cod. Atividade" é obrigatório!', + + //componente_curricular + 'componente_curricular.required' => 'O campo "Componente Curricular" é obrigatório!', + + //curso + 'curso.required' => 'O campo "Curso" é obrigatório!', + + //nivel + 'nivel.required' => 'O campo "Nível" é obrigatório!', + 'nivel.in' => 'Selecione uma opção da lista de "Nível"!', + 'nivel.integer' => 'O campo "Nível" deve cónter um inteiro!', + + //modalidade + 'modalidade.required' => 'O campo "Modalidade" é obrigatório!', + 'modalidade.in' => 'Selecione uma opção da lista de "Modalidade"!', + 'modalidade.integer' => 'O campo "Modalidade" deve cónter um inteiro!', + + //ch_semanal + 'ch_semanal.required' => 'O campo "CH. Semanal" é obrigatório!', 'ch_semanal.min' => 'Carga horária semanal miníma é de 1 Hora!', - 'ch_total.min' => 'Carga horária total miníma é de 1 Hora!', + 'ch_semanal.integer' => 'O campo "CH. Semanal" deve cónter um inteiro!', ]; } diff --git a/app/Models/Tabelas/Ensino/EnsinoCoordenacaoRegencia.php b/app/Models/Tabelas/Ensino/EnsinoCoordenacaoRegencia.php index 048108a515821dee85382ffad73230fdae8f43a2..bc375c59e131364d23ee420cb49f6f029c1d7255 100644 --- a/app/Models/Tabelas/Ensino/EnsinoCoordenacaoRegencia.php +++ b/app/Models/Tabelas/Ensino/EnsinoCoordenacaoRegencia.php @@ -3,10 +3,12 @@ namespace App\Models\Tabelas\Ensino; use App\Models\Planejamento; +use App\Models\Util\CargaHoraria; use App\Models\Util\Modalidade; use App\Models\Util\Nivel; use App\Queries\Tabelas\Ensino\EnsinoCoordenacaoRegenciaQuery; use Illuminate\Database\Eloquent\Model; +use Illuminate\Validation\Rule; class EnsinoCoordenacaoRegencia extends Model { @@ -22,7 +24,7 @@ class EnsinoCoordenacaoRegencia extends Model * * @var array */ - protected $fillable = ['orientacao_id', 'user_pad_id', 'dimensao', 'cod_atividade', 'componente_curricular', 'curso', 'nivel', 'modalidade', 'ch_semanal']; + protected $fillable = ['orientacao_id', 'cod_dimensao', 'user_pad_id', 'dimensao', 'cod_atividade', 'componente_curricular', 'curso', 'nivel', 'modalidade', 'ch_semanal']; /** * @return string @@ -44,14 +46,46 @@ class EnsinoCoordenacaoRegencia extends Model public static function rules() { return [ - + 'cod_atividade' => ['required', 'string', 'max:255'], + 'componente_curricular' => ['required', 'string', 'max:255'], + 'curso' => ['required', 'string', 'max:255'], + 'nivel' => ['required', 'integer', Rule::in(array_keys(Nivel::listNivel()))], + 'modalidade' => ['required', 'integer', Rule::in(array_keys(Modalidade::listModalidade()))], + 'cod_dimensao' => ['required', 'string', Rule::in(array_keys(self::listPlanejamentos()))], + 'ch_semanal' => CargaHoraria::ch_semanal() ]; } public static function messages() { return [ - + //cod_atividade + 'cod_atividade.required' => 'O campo "Cod. Atividade" é obrigatório!', + + //componente_curricular + 'componente_curricular.required' => 'O campo "Componente Curricular" é obrigatório!', + + //curso + 'curso.required' => 'O campo "Curso" é obrigatório!', + + //nivel + 'nivel.required' => 'O campo "Nível" é obrigatório!', + 'nivel.in' => 'Selecione uma opção da lista de "Nível"!', + 'nivel.integer' => 'O campo "Nível" deve cónter um inteiro!', + + //modalidade + 'modalidade.required' => 'O campo "Modalidade" é obrigatório!', + 'modalidade.in' => 'Selecione uma opção da lista de "Modalidade"!', + 'modalidade.integer' => 'O campo "Modalidade" deve cónter um inteiro!', + + //'cod_dimensao' + 'cod_dimensao.required' => 'O campo "Resolução" é obrigatório', + 'cod_dimensao.in' => 'Selecione uma opção da lista de "Resolução"', + + //ch_semanal + 'ch_semanal.required' => 'O campo "CH. Semanal" é obrigatório!', + 'ch_semanal.min' => 'Carga horária semanal miníma é de 1 Hora!', + 'ch_semanal.integer' => 'O campo "CH. Semanal" deve cónter um inteiro!', ]; } @@ -64,6 +98,21 @@ class EnsinoCoordenacaoRegencia extends Model return Planejamento::initQuery()->whereInCodDimensao($codes)->get(); } + /** + * @return array + */ + public static function listPlanejamentos($cod_dimensao = null) + { + $planejamentos = self::getPlanejamentos(); + + $values = []; + foreach($planejamentos as $planejamento) { + $values[$planejamento->cod_dimensao] = $planejamento->descricao; + } + + return $cod_dimensao !== null? $values[$cod_dimensao] : $values; + } + public static function initQuery() { return new EnsinoCoordenacaoRegenciaQuery(get_called_class()); } diff --git a/app/Models/Tabelas/Ensino/EnsinoMembroDocente.php b/app/Models/Tabelas/Ensino/EnsinoMembroDocente.php index 77449485ac2031bda34c3c6d53264f5a8c0e07b9..01e43321cb0e2f9337a89cd11b51bcee2d006261 100644 --- a/app/Models/Tabelas/Ensino/EnsinoMembroDocente.php +++ b/app/Models/Tabelas/Ensino/EnsinoMembroDocente.php @@ -3,8 +3,11 @@ namespace App\Models\Tabelas\Ensino; use App\Models\Planejamento; +use App\Models\Util\CargaHoraria; +use App\Models\Util\Funcao; use App\Queries\Tabelas\Ensino\EnsinoMembroDocenteQuery; use Illuminate\Database\Eloquent\Model; +use Illuminate\Validation\Rule; class EnsinoMembroDocente extends Model { @@ -25,14 +28,35 @@ class EnsinoMembroDocente extends Model public static function rules() { return [ - + 'cod_atividade' => ['required', 'string', 'max:255'], + 'nucleo' => ['required', 'string', 'max:255'], + 'documento' => ['required', 'string', 'max:255'], + 'funcao' => ['required', 'integer', Rule::in(array_keys(Funcao::listFuncaoEnsino()))], + 'ch_semanal' => CargaHoraria::ch_semanal(CargaHoraria::create_ch_min(2)) ]; } public static function messages() { return [ + //cod_atividade + 'cod_atividade.required' => 'O campo "Cod. Atividade" é obrigatório!', + + //nucleo + 'nucleo.required' => 'O campo "Curso" é obrigatório!', + + //documento + 'documento.required' => 'O campo "Documento" é obrigatório!', + + //funcao + 'funcao.required' => 'O campo "Função" é obrigatório!', + 'funcao.in' => 'Selecione uma opção da lista de "Função"!', + 'funcao.integer' => 'O campo "Função" deve cónter um inteiro!', + //ch_semanal + 'ch_semanal.required' => 'O campo "CH. Semanal" é obrigatório!', + 'ch_semanal.min' => 'Carga horária semanal miníma é de 1 Hora!', + 'ch_semanal.integer' => 'O campo "CH. Semanal" deve cónter um inteiro!', ]; } diff --git a/app/Models/Tabelas/Ensino/EnsinoOrientacao.php b/app/Models/Tabelas/Ensino/EnsinoOrientacao.php index 7373922d6549a1ac0e434ddcaf7d1852890349c0..5dac2db33743b77a87ce4478f8c7556403800717 100644 --- a/app/Models/Tabelas/Ensino/EnsinoOrientacao.php +++ b/app/Models/Tabelas/Ensino/EnsinoOrientacao.php @@ -3,10 +3,14 @@ namespace App\Models\Tabelas\Ensino; use App\Models\Planejamento; +use App\Models\Util\CargaHoraria; +use App\Models\Util\Nivel; +use App\Models\Util\Orientacao; use App\Queries\PlanejamentoQuery; use App\Queries\Tabelas\Ensino\EnsinoOrientacaoQuery; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; +use Illuminate\Validation\Rule; class EnsinoOrientacao extends Model { @@ -22,7 +26,7 @@ class EnsinoOrientacao extends Model * * @var array */ - protected $fillable = ['orientacao_id', 'cod_atividade', 'atividade', 'curso_id', 'nivel', 'type_orientacao', 'numero_orientandos', 'ch_semanal', 'pad_id']; + protected $fillable = ['orientacao_id', 'cod_dimensao', 'user_pad_id', 'dimensao', 'cod_atividade', 'atividade', 'curso_id', 'nivel', 'type_orientacao', 'numero_orientandos', 'ch_semanal', 'pad_id']; /** * @return array @@ -30,7 +34,14 @@ class EnsinoOrientacao extends Model public static function rules() { return [ - + 'cod_atividade' => ['required', 'string', 'max:255'], + 'atividade' => ['required', 'string', 'max:255'], + 'curso' => ['required', 'string', 'max:255'], + 'nivel' => ['required', 'integer', Rule::in(array_keys(Nivel::listNivel()))], + 'type_orientacao' => ['required', 'integer', Rule::in(array_keys(Orientacao::listOrientacao()))], + 'numero_orientandos' => ['integer'], + 'cod_dimensao' => ['required', 'string', Rule::in(array_keys(self::listPlanejamentos()))], + 'ch_semanal' => CargaHoraria::ch_semanal() ]; } @@ -40,7 +51,36 @@ class EnsinoOrientacao extends Model public static function messages() { return [ + //cod_atividade + 'cod_atividade.required' => 'O campo "Cod. Atividade" é obrigatório!', + + //atividade + 'atividade.required' => 'O campo "Atividade: Orientação e/ou Coorientação" é obrigatório!', + + //curso + 'curso.required' => 'O campo "Curso" é obrigatório!', + + //nivel + 'nivel.required' => 'O campo "Nível" é obrigatório!', + 'nivel.in' => 'Selecione uma opção da lista de "Nível"!', + 'nivel.integer' => 'O campo "Nível" deve cónter um inteiro!', + + //type_orientacao + 'type_orientacao.required' => 'O campo "Orientação" é obrigatório!', + 'type_orientacao.in' => 'Selecione uma opção da lista de "Orientação"!', + 'type_orientacao.integer' => 'O campo "Orientação" deve cónter um inteiro!', + //'numero_orientandos' + 'numero_orientandos' => 'O campo "Número de Orientandos" deve cónter um inteiro!', + + //'cod_dimensao' + 'cod_dimensao.required' => 'O campo "Resolução" é obrigatório', + 'cod_dimensao.in' => 'Selecione uma opção da lista de "Resolução"', + + //ch_semanal + 'ch_semanal.required' => 'O campo "CH. Semanal" é obrigatório!', + 'ch_semanal.min' => 'Carga horária semanal miníma é de 1 Hora!', + 'ch_semanal.integer' => 'O campo "CH. Semanal" deve cónter um inteiro!', ]; } @@ -49,10 +89,25 @@ class EnsinoOrientacao extends Model */ public static function getPlanejamentos() { - $codes = ['E-5', 'E-6', 'E-7', 'E-8', 'E-9', 'E-17']; + $codes = ['E-5', 'E-6', 'E-7', 'E-8', 'E-9']; return Planejamento::initQuery()->whereInCodDimensao($codes)->get(); } + /** + * @return array + */ + public static function listPlanejamentos($cod_dimensao = null) + { + $planejamentos = self::getPlanejamentos(); + + $values = []; + foreach($planejamentos as $planejamento) { + $values[$planejamento->cod_dimensao] = $planejamento->descricao; + } + + return $cod_dimensao !== null? $values[$cod_dimensao] : $values; + } + public static function initQuery() { return new EnsinoOrientacaoQuery(get_called_class()); diff --git a/app/Models/Tabelas/Ensino/EnsinoParticipacao.php b/app/Models/Tabelas/Ensino/EnsinoParticipacao.php index 9d24e1893a5e3b6def3136d382e369b6c35068a9..1a90b3cefba564a9147e0a59c51826646d315b11 100644 --- a/app/Models/Tabelas/Ensino/EnsinoParticipacao.php +++ b/app/Models/Tabelas/Ensino/EnsinoParticipacao.php @@ -3,9 +3,12 @@ namespace App\Models\Tabelas\Ensino; use App\Models\Planejamento; +use App\Models\Util\CargaHoraria; +use App\Models\Util\Nivel; use App\Queries\Tabelas\Ensino\EnsinoParticipacaoQuery; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; +use Illuminate\Validation\Rule; class EnsinoParticipacao extends Model { @@ -26,14 +29,31 @@ class EnsinoParticipacao extends Model public static function rules() { return [ - + 'cod_atividade' => ['required', 'string', 'max:255'], + 'curso' => ['required', 'string', 'max:255'], + 'nivel' => ['required', 'integer', Rule::in(array_keys(Nivel::listNivel()))], + 'ch_semanal' => CargaHoraria::ch_semanal() ]; } public static function messages() { return [ + //cod_atividade + 'cod_atividade.required' => 'O campo "Cod. Atividade" é obrigatório!', + + //curso + 'curso.required' => 'O campo "Curso" é obrigatório!', + + //nivel + 'nivel.required' => 'O campo "Nível" é obrigatório!', + 'nivel.in' => 'Selecione uma opção da lista de "Nível"!', + 'nivel.integer' => 'O campo "Nível" deve cónter um inteiro!', + //ch_semanal + 'ch_semanal.required' => 'O campo "CH. Semanal" é obrigatório!', + 'ch_semanal.min' => 'Carga horária semanal miníma é de 1 Hora!', + 'ch_semanal.integer' => 'O campo "CH. Semanal" deve cónter um inteiro!', ]; } diff --git a/app/Models/Tabelas/Ensino/EnsinoProjeto.php b/app/Models/Tabelas/Ensino/EnsinoProjeto.php index b5d150c01614eafe5568fba073e62dd2692f8555..f2cc9c312c037aca164675481f821640bd819455 100644 --- a/app/Models/Tabelas/Ensino/EnsinoProjeto.php +++ b/app/Models/Tabelas/Ensino/EnsinoProjeto.php @@ -3,8 +3,12 @@ namespace App\Models\Tabelas\Ensino; use App\Models\Planejamento; +use App\Models\Util\CargaHoraria; +use App\Models\Util\Funcao; +use App\Models\Util\Natureza; use App\Queries\Tabelas\Ensino\EnsinoProjetoQuery; use Illuminate\Database\Eloquent\Model; +use Illuminate\Validation\Rule; class EnsinoProjeto extends Model { @@ -25,14 +29,41 @@ class EnsinoProjeto extends Model public static function rules() { return [ - + 'cod_atividade' => ['required', 'string', 'max:255'], + 'titulo' => ['required', 'string', 'max:255'], + 'curso' => ['required', 'string', 'max:255'], + 'natureza' => ['required', 'integer', Rule::in(array_keys(Natureza::listNatureza()))], + 'funcao' => ['required', 'integer', Rule::in(array_keys(Funcao::listFuncaoProjeto()))], + 'ch_semanal' => CargaHoraria::ch_semanal() ]; } public static function messages() { return [ + //cod_atividade + 'cod_atividade.required' => 'O campo "Cod. Atividade" é obrigatório!', + + //titulo + 'titulo.required' => 'O campo "Componente Curricular" é obrigatório!', + + //curso + 'curso.required' => 'O campo "Curso" é obrigatório!', + + //natureza + 'natureza.required' => 'O campo "Natureza" é obrigatório!', + 'natureza.in' => 'Selecione uma opção da lista de "Natureza"!', + 'natureza.integer' => 'O campo "Natureza" deve cónter um inteiro!', + + //modalidade + 'funcao.required' => 'O campo "Função" é obrigatório!', + 'funcao.in' => 'Selecione uma opção da lista de "Função"!', + 'funcao.integer' => 'O campo "Função" deve cónter um inteiro!', + //ch_semanal + 'ch_semanal.required' => 'O campo "CH. Semanal" é obrigatório!', + 'ch_semanal.min' => 'Carga horária semanal miníma é de 1 Hora!', + 'ch_semanal.integer' => 'O campo "CH. Semanal" deve cónter um inteiro!', ]; } diff --git a/app/Models/Tabelas/Ensino/EnsinoSupervisao.php b/app/Models/Tabelas/Ensino/EnsinoSupervisao.php index c41501be6c01df5452c7e20af276ed523c933e70..bf7d4de78d34554d08542d41e7121695e3ca55ba 100644 --- a/app/Models/Tabelas/Ensino/EnsinoSupervisao.php +++ b/app/Models/Tabelas/Ensino/EnsinoSupervisao.php @@ -3,8 +3,12 @@ namespace App\Models\Tabelas\Ensino; use App\Models\Planejamento; +use App\Models\Util\CargaHoraria; +use App\Models\Util\Nivel; +use App\Models\Util\Supervisao; use App\Queries\Tabelas\Ensino\EnsinoSupervisaoQuery; use Illuminate\Database\Eloquent\Model; +use Illuminate\Validation\Rule; class EnsinoSupervisao extends Model { @@ -20,7 +24,7 @@ class EnsinoSupervisao extends Model * * @var array */ - protected $fillable = ['orientacao_id', 'user_pad_id', 'dimensao', 'cod_atividade', 'atividade', 'curso', 'nivel', 'type_supervisao', 'numero_orientandos', 'ch_semanal']; + protected $fillable = ['orientacao_id', 'cod_dimensao', 'user_pad_id', 'dimensao', 'cod_atividade', 'atividade', 'curso', 'nivel', 'type_supervisao', 'numero_orientandos', 'ch_semanal']; /** * @return array @@ -28,7 +32,14 @@ class EnsinoSupervisao extends Model public static function rules() { return [ - + 'cod_atividade' => ['required', 'string', 'max:255'], + 'atividade' => ['required', 'string', 'max:255'], + 'curso' => ['required', 'string', 'max:255'], + 'nivel' => ['required', 'integer', Rule::in(array_keys(Nivel::listNivel()))], + 'type_orientacao' => ['required', 'integer', Rule::in(array_keys(Supervisao::listSupervisao()))], + 'numero_orientandos' => ['integer'], + 'cod_dimensao' => ['required', 'string', Rule::in(array_keys(self::listPlanejamentos()))], + 'ch_semanal' => CargaHoraria::ch_semanal() ]; } @@ -38,7 +49,36 @@ class EnsinoSupervisao extends Model public static function messages() { return [ + //cod_atividade + 'cod_atividade.required' => 'O campo "Cod. Atividade" é obrigatório!', + + //atividade + 'atividade.required' => 'O campo "Atividade: Supervisão / Preceptoria / Tutoria" é obrigatório!', + + //curso + 'curso.required' => 'O campo "Curso" é obrigatório!', + + //nivel + 'nivel.required' => 'O campo "Nível" é obrigatório!', + 'nivel.in' => 'Selecione uma opção da lista de "Nível"!', + 'nivel.integer' => 'O campo "Nível" deve cónter um inteiro!', + + //type_supervisao + 'type_supervisao.required' => 'O campo "Supervisão" é obrigatório!', + 'type_supervisao.in' => 'Selecione uma opção da lista de "Supervisão"!', + 'type_supervisao.integer' => 'O campo "Supervisão" deve cónter um inteiro!', + //'numero_orientandos' + 'numero_orientandos' => 'O campo "Número de Orientandos" deve cónter um inteiro!', + + //'cod_dimensao' + 'cod_dimensao.required' => 'O campo "Resolução" é obrigatório', + 'cod_dimensao.in' => 'Selecione uma opção da lista de "Resolução"', + + //ch_semanal + 'ch_semanal.required' => 'O campo "CH. Semanal" é obrigatório!', + 'ch_semanal.min' => 'Carga horária semanal miníma é de 1 Hora!', + 'ch_semanal.integer' => 'O campo "CH. Semanal" deve cónter um inteiro!', ]; } @@ -47,10 +87,25 @@ class EnsinoSupervisao extends Model */ public static function getPlanejamentos() { - $codes = ['E-4', 'E-10']; + $codes = ['E-4', 'E-10', 'E-17']; return Planejamento::initQuery()->whereInCodDimensao($codes)->get(); } + /** + * @return array + */ + public static function listPlanejamentos($cod_dimensao = null) + { + $planejamentos = self::getPlanejamentos(); + + $values = []; + foreach($planejamentos as $planejamento) { + $values[$planejamento->cod_dimensao] = $planejamento->descricao; + } + + return $cod_dimensao !== null? $values[$cod_dimensao] : $values; + } + public static function initQuery() { return new EnsinoSupervisaoQuery(get_called_class()); diff --git a/database/migrations/2022_03_22_225548_create_ensino_aulas_table.php b/database/migrations/2022_03_22_225548_create_ensino_aulas_table.php index 4dae813b7c8c47edf12e8ff8e7fc6893a85f8321..359602fa16d20be4c1f54e7f73f1f77babe389c7 100644 --- a/database/migrations/2022_03_22_225548_create_ensino_aulas_table.php +++ b/database/migrations/2022_03_22_225548_create_ensino_aulas_table.php @@ -23,7 +23,6 @@ class CreateEnsinoAulasTable extends Migration $table->tinyInteger('nivel')->notNull(); $table->tinyInteger('modalidade')->notNull(); $table->integer('ch_semanal')->notNull(); - $table->integer('ch_total')->notNull(); $table->timestamps(); $table->softDeletes(); }); diff --git a/database/migrations/2022_03_23_190559_create_ensino_orientacoes_table.php b/database/migrations/2022_03_23_190559_create_ensino_orientacoes_table.php index e5e070a884752d8447eafcacd67da2e5ab539289..7b7d144646f696e359f135ec2ccaa5f59eee443a 100644 --- a/database/migrations/2022_03_23_190559_create_ensino_orientacoes_table.php +++ b/database/migrations/2022_03_23_190559_create_ensino_orientacoes_table.php @@ -22,7 +22,8 @@ class CreateEnsinoOrientacoesTable extends Migration $table->string('curso')->notNull(); $table->tinyInteger('nivel')->notNull(); $table->tinyInteger('type_orientacao')->notNull(); - $table->tinyInteger('numero_orientandos')->nullable(); + $table->integer('numero_orientandos')->nullable(); + $table->string('cod_dimensao')->notNull(); $table->integer('ch_semanal')->notNull(); $table->timestamps(); $table->softDeletes(); diff --git a/database/migrations/2022_07_25_195418_create_ensino_supervisao_table.php b/database/migrations/2022_07_25_195418_create_ensino_supervisao_table.php index c3cf8cd7daa9bc453b21acda8bfe1a3be038cd77..d48f62477d05bc683cd99509c35c900e41d13ec5 100644 --- a/database/migrations/2022_07_25_195418_create_ensino_supervisao_table.php +++ b/database/migrations/2022_07_25_195418_create_ensino_supervisao_table.php @@ -22,7 +22,8 @@ class CreateEnsinoSupervisaoTable extends Migration $table->string('curso')->notNull(); $table->tinyInteger('nivel')->notNull(); $table->tinyInteger('type_supervisao')->notNull(); - $table->tinyInteger('numero_orientandos')->nullable(); + $table->integer('numero_orientandos')->nullable(); + $table->string('cod_dimensao')->notNull(); $table->integer('ch_semanal')->notNull(); $table->timestamps(); $table->softDeletes(); diff --git a/database/migrations/2022_07_25_201036_create_ensino_coordenacao_regencia_table.php b/database/migrations/2022_07_25_201036_create_ensino_coordenacao_regencia_table.php index 4bf953af0f985ef730169e94c907674b7981cce3..c92660d883ebef3f91e7f767841e2f589cb2a0bc 100644 --- a/database/migrations/2022_07_25_201036_create_ensino_coordenacao_regencia_table.php +++ b/database/migrations/2022_07_25_201036_create_ensino_coordenacao_regencia_table.php @@ -22,6 +22,7 @@ class CreateEnsinoCoordenacaoRegenciaTable extends Migration $table->string('curso')->notNull(); $table->tinyInteger('nivel')->notNull(); $table->tinyInteger('modalidade')->notNull(); + $table->string('cod_dimensao')->notNull(); $table->integer('ch_semanal')->notNull(); $table->timestamps(); $table->softDeletes(); diff --git a/resources/views/pad/components/templates/dimensao/ensino/atendimento_discente/form_create.blade.php b/resources/views/pad/components/templates/dimensao/ensino/atendimento_discente/form_create.blade.php index dbac66d3f4c91c87747c2ab691a2f7cd4f5f51ac..3e3e1ecf575c06ec2a872a537a6fecdb70290556 100644 --- a/resources/views/pad/components/templates/dimensao/ensino/atendimento_discente/form_create.blade.php +++ b/resources/views/pad/components/templates/dimensao/ensino/atendimento_discente/form_create.blade.php @@ -23,7 +23,7 @@