Commit 7bc0c0e7 authored by alissonalbuquerque's avatar alissonalbuquerque
Browse files

add validações e correções em pesquisa, extensão and gestão

parent a3060593
......@@ -4,6 +4,7 @@ namespace App\Models\Tabelas\Extensao;
use App\Models\Planejamento;
use App\Models\Tabelas\Constants;
use App\Models\Util\CargaHoraria;
use App\Queries\Tabelas\Extensao\ExtensaoOrientacaoQuery;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Validation\Rule;
......@@ -51,17 +52,30 @@ class ExtensaoOrientacao extends Model
'titulo_projeto' => ['required', 'string', 'max:255'],
'discente' => ['required', 'string', 'max:255'],
'funcao' => ['required', 'integer', Rule::in(array_keys(Constants::listFuncaoOrientador()))],
'ch_semanal' => ['required', 'integer', 'min:1'],
'ch_semanal' => CargaHoraria::ch_semanal(CargaHoraria::create_ch_min(2)),
];
}
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"!',
'ch_semanal.min' => 'Carga horária semanal miníma é de 1 Hora!',
//cod_atividade
'cod_atividade.required' => 'O campo "Cód. Atividade" é obrigatório!',
//titulo_projeto
'titulo_projeto.required' => 'O campo "Título do Projeto" é obrigatório!',
//discente
'discente.required' => 'O campo "Nome do Orientando" é 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 ser um inteiro!',
//ch_semanal
'ch_semanal.required' => 'O campo "CH. Semanal" é obrigatório!',
'ch_semanal.min' => 'Carga horária semanal miníma é de 2 Horas!',
];
}
......
......@@ -3,6 +3,7 @@
namespace App\Models\Tabelas\Gestao;
use App\Models\Planejamento;
use App\Models\Util\CargaHoraria;
use App\Queries\Tabelas\Gestao\GestaoCoordenacaoLaboratoriosDidaticosQuery;
use Illuminate\Database\Eloquent\Model;
......@@ -20,35 +21,33 @@ class GestaoCoordenacaoLaboratoriosDidaticos extends Model
*
* @var array
*/
protected $fillable = ['user_pad_id', 'dimensao', 'cod_atividade', 'nome', 'documento', 'ch_semanal',];
/**
* @return array
*/
public function orientacaoPreenchimento() {
return [
'descricao' => ['item' => '1.', 'descricao' => 'Ensino (Aulas em componentes curriculares)'],
'componente_curricular' => ['item' => 'Nome do Componente:', 'descricao' => 'Nome do componente curricular como descrito no PPC do curso'],
'curso' => ['item' => 'Curso:', 'descricao' => 'Nome do curso ao qual o componente curricular pertence'],
'nivel' => ['item' => 'Nível:', 'descricao' => 'Preencher o nível do curso ao qual o componente curricular pertence, sendo as opções: Graduação, Pós-graduação Stricto Sensu, Pós-Graduação Lato Sensu'],
'modalidade' => ['item' => 'Modalidade:', 'descricao' => 'Preencher a modalidade que o componente curricular é ofertado, sendo as opções: Presencial e EAD'],
'ch_semanal' => ['item' => 'Carga Horária Semanal:', 'descricao' => 'Carga horária total efetiva exercida pelo docente dentro do componente curricular dividida pelo número de semanas que o mesmo ocorre'],
'ch_total' => ['item' => 'Carga Horária Total:', 'descricao' => 'Carga horária total efetiva exercida pelo docente dentro do(s) componente(s) curricular (es)'],
];
}
protected $fillable = ['orientacao_id', 'user_pad_id', 'dimensao', 'cod_atividade', 'nome', 'documento', 'ch_semanal',];
public static function rules()
{
return [
'cod_atividade' => ['required', 'string', 'max:255'],
'nome' => ['required', 'string', 'max:255'],
'documento' => ['required', 'string', 'max:255'],
'ch_semanal' => CargaHoraria::ch_semanal(CargaHoraria::create_ch_min(2)),
];
}
public static function messages()
{
return [
//cod_atividade
'cod_atividade.required' => 'O campo "Cód. Atividade" é obrigatório!',
//nome
'nome.required' => 'O campo "Nome do Laboratório" é obrigatório!',
//documento
'documento.required' => 'O campo "Documento que o Designa" é obrigatório!',
//ch_semanal
'ch_semanal.required' => 'O campo "CH. Semanal" é obrigatório!',
'ch_semanal.min' => 'Carga horária semanal miníma é de 2 Horas!',
];
}
......@@ -56,7 +55,7 @@ class GestaoCoordenacaoLaboratoriosDidaticos extends Model
* @return array
*/
public static function getPlanejamentos() {
$codes = [];
$codes = ['G-5'];
return Planejamento::initQuery()->whereInCodDimensao($codes)->get();
}
......
......@@ -3,10 +3,11 @@
namespace App\Models\Tabelas\Gestao;
use App\Models\Planejamento;
use App\Models\Util\CargaHoraria;
use App\Queries\Tabelas\Gestao\GestaoCoordenacaoProgramaInstitucionalQuery;
use Illuminate\Database\Eloquent\Model;
class GestaoCoordenacaoLaboratoriosDidaticos extends Model
class GestaoCoordenacaoProgramaInstitucional extends Model
{
/**
* References table ensino_aulas
......@@ -20,35 +21,33 @@ class GestaoCoordenacaoLaboratoriosDidaticos extends Model
*
* @var array
*/
protected $fillable = ['user_pad_id', 'dimensao', 'cod_atividade', 'nome', 'documento', 'ch_semanal',];
/**
* @return array
*/
public function orientacaoPreenchimento() {
return [
'descricao' => ['item' => '1.', 'descricao' => 'Ensino (Aulas em componentes curriculares)'],
'componente_curricular' => ['item' => 'Nome do Componente:', 'descricao' => 'Nome do componente curricular como descrito no PPC do curso'],
'curso' => ['item' => 'Curso:', 'descricao' => 'Nome do curso ao qual o componente curricular pertence'],
'nivel' => ['item' => 'Nível:', 'descricao' => 'Preencher o nível do curso ao qual o componente curricular pertence, sendo as opções: Graduação, Pós-graduação Stricto Sensu, Pós-Graduação Lato Sensu'],
'modalidade' => ['item' => 'Modalidade:', 'descricao' => 'Preencher a modalidade que o componente curricular é ofertado, sendo as opções: Presencial e EAD'],
'ch_semanal' => ['item' => 'Carga Horária Semanal:', 'descricao' => 'Carga horária total efetiva exercida pelo docente dentro do componente curricular dividida pelo número de semanas que o mesmo ocorre'],
'ch_total' => ['item' => 'Carga Horária Total:', 'descricao' => 'Carga horária total efetiva exercida pelo docente dentro do(s) componente(s) curricular (es)'],
];
}
protected $fillable = ['orientacao_id', 'user_pad_id', 'dimensao', 'cod_atividade', 'nome', 'documento', 'ch_semanal',];
public static function rules()
{
return [
'cod_atividade' => ['required', 'string', 'max:255'],
'nome' => ['required', 'string', 'max:255'],
'documento' => ['required', 'string', 'max:255'],
'ch_semanal' => CargaHoraria::ch_semanal(CargaHoraria::create_ch_min(2)),
];
}
public static function messages()
{
return [
//cod_atividade
'cod_atividade.required' => 'O campo "Cód. Atividade" é obrigatório!',
//nome
'nome.required' => 'O campo "Nome do Programa Institucional" é obrigatório!',
//documento
'documento.required' => 'O campo "Documento que o Designa" é obrigatório!',
//ch_semanal
'ch_semanal.required' => 'O campo "CH. Semanal" é obrigatório!',
'ch_semanal.min' => 'Carga horária semanal miníma é de 2 Horas!',
];
}
......@@ -56,7 +55,7 @@ class GestaoCoordenacaoLaboratoriosDidaticos extends Model
* @return array
*/
public static function getPlanejamentos() {
$codes = [];
$codes = ['G-6'];
return Planejamento::initQuery()->whereInCodDimensao($codes)->get();
}
......
......@@ -3,6 +3,7 @@
namespace App\Models\Tabelas\Gestao;
use App\Models\Planejamento;
use App\Models\Util\CargaHoraria;
use App\Queries\Tabelas\Gestao\GestaoMembroCamarasQuery;
use Illuminate\Database\Eloquent\Model;
......@@ -20,35 +21,33 @@ class GestaoMembroCamaras extends Model
*
* @var array
*/
protected $fillable = ['user_pad_id', 'dimensao', 'cod_atividade', 'nome', 'documento', 'ch_semanal',];
/**
* @return array
*/
public function orientacaoPreenchimento() {
return [
'descricao' => ['item' => '1.', 'descricao' => 'Ensino (Aulas em componentes curriculares)'],
'componente_curricular' => ['item' => 'Nome do Componente:', 'descricao' => 'Nome do componente curricular como descrito no PPC do curso'],
'curso' => ['item' => 'Curso:', 'descricao' => 'Nome do curso ao qual o componente curricular pertence'],
'nivel' => ['item' => 'Nível:', 'descricao' => 'Preencher o nível do curso ao qual o componente curricular pertence, sendo as opções: Graduação, Pós-graduação Stricto Sensu, Pós-Graduação Lato Sensu'],
'modalidade' => ['item' => 'Modalidade:', 'descricao' => 'Preencher a modalidade que o componente curricular é ofertado, sendo as opções: Presencial e EAD'],
'ch_semanal' => ['item' => 'Carga Horária Semanal:', 'descricao' => 'Carga horária total efetiva exercida pelo docente dentro do componente curricular dividida pelo número de semanas que o mesmo ocorre'],
'ch_total' => ['item' => 'Carga Horária Total:', 'descricao' => 'Carga horária total efetiva exercida pelo docente dentro do(s) componente(s) curricular (es)'],
];
}
protected $fillable = ['orientacao_id', 'user_pad_id', 'dimensao', 'cod_atividade', 'nome', 'documento', 'ch_semanal',];
public static function rules()
{
return [
'cod_atividade' => ['required', 'string', 'max:255'],
'nome' => ['required', 'string', 'max:255'],
'documento' => ['required', 'string', 'max:255'],
'ch_semanal' => CargaHoraria::ch_semanal(),
];
}
public static function messages()
{
return [
//cod_atividade
'cod_atividade.required' => 'O campo "Cód. Atividade" é obrigatório!',
//nome
'nome.required' => 'O campo "Nome da Câmara Consultiva" é obrigatório!',
//documento
'documento.required' => 'O campo "Documento que o Designa" é obrigatório!',
//ch_semanal
'ch_semanal.required' => 'O campo "CH. Semanal" é obrigatório!',
'ch_semanal.min' => 'Carga horária semanal miníma é de 1 Hora!',
];
}
......@@ -56,7 +55,7 @@ class GestaoMembroCamaras extends Model
* @return array
*/
public static function getPlanejamentos() {
$codes = [];
$codes = ['G-4'];
return Planejamento::initQuery()->whereInCodDimensao($codes)->get();
}
......
......@@ -3,6 +3,7 @@
namespace App\Models\Tabelas\Gestao;
use App\Models\Planejamento;
use App\Models\Util\CargaHoraria;
use App\Queries\Tabelas\Gestao\GestaoMembroComissaoQuery;
use Illuminate\Database\Eloquent\Model;
......@@ -24,17 +25,25 @@ class GestaoMembroComissao extends Model
'cod_atividade' => ['required', 'string', 'max:255'],
'nome' => ['required', 'string', 'max:255'],
'documento' => ['required', 'string', 'max:255'],
'ch_semanal' => ['required', 'integer', 'min:1', 'max:2'],
'ch_semanal' => CargaHoraria::ch_semanal(CargaHoraria::create_ch_min(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!',
//cod_atividade
'cod_atividade.required' => 'O campo "Cód. Atividade" é obrigatório!',
//nome
'nome.required' => 'O campo "Nome da Comissão, Comitê ou Núcleo" é obrigatório!',
//documento
'documento.required' => 'O campo "Documento que o Designa" é obrigatório!',
//ch_semanal
'ch_semanal.required' => 'O campo "CH. Semanal" é obrigatório!',
'ch_semanal.min' => 'Carga horária semanal miníma é de 2 Horas!',
];
}
......
......@@ -3,6 +3,7 @@
namespace App\Models\Tabelas\Gestao;
use App\Models\Planejamento;
use App\Models\Util\CargaHoraria;
use App\Queries\Tabelas\Gestao\GestaoMembroConselhoQuery;
use Illuminate\Database\Eloquent\Model;
......@@ -20,35 +21,33 @@ class GestaoMembroConselho extends Model
*
* @var array
*/
protected $fillable = ['user_pad_id', 'dimensao', 'cod_atividade', 'nome', 'documento', 'ch_semanal',];
/**
* @return array
*/
public function orientacaoPreenchimento() {
return [
'descricao' => ['item' => '1.', 'descricao' => 'Ensino (Aulas em componentes curriculares)'],
'componente_curricular' => ['item' => 'Nome do Componente:', 'descricao' => 'Nome do componente curricular como descrito no PPC do curso'],
'curso' => ['item' => 'Curso:', 'descricao' => 'Nome do curso ao qual o componente curricular pertence'],
'nivel' => ['item' => 'Nível:', 'descricao' => 'Preencher o nível do curso ao qual o componente curricular pertence, sendo as opções: Graduação, Pós-graduação Stricto Sensu, Pós-Graduação Lato Sensu'],
'modalidade' => ['item' => 'Modalidade:', 'descricao' => 'Preencher a modalidade que o componente curricular é ofertado, sendo as opções: Presencial e EAD'],
'ch_semanal' => ['item' => 'Carga Horária Semanal:', 'descricao' => 'Carga horária total efetiva exercida pelo docente dentro do componente curricular dividida pelo número de semanas que o mesmo ocorre'],
'ch_total' => ['item' => 'Carga Horária Total:', 'descricao' => 'Carga horária total efetiva exercida pelo docente dentro do(s) componente(s) curricular (es)'],
];
}
protected $fillable = ['orientacao_id', 'user_pad_id', 'dimensao', 'cod_atividade', 'nome', 'documento', 'ch_semanal',];
public static function rules()
{
return [
'cod_atividade' => ['required', 'string', 'max:255'],
'nome' => ['required', 'string', 'max:255'],
'documento' => ['required', 'string', 'max:255'],
'ch_semanal' => CargaHoraria::ch_semanal(CargaHoraria::create_ch_min(2)),
];
}
public static function messages()
{
return [
//cod_atividade
'cod_atividade.required' => 'O campo "Cód. Atividade" é obrigatório!',
//nome
'nome.required' => 'O campo "Nome do Conselho, Comissão, Comitê ou Núcleo" é obrigatório!',
//documento
'documento.required' => 'O campo "Documento que o Designa" é obrigatório!',
//ch_semanal
'ch_semanal.required' => 'O campo "CH. Semanal" é obrigatório!',
'ch_semanal.min' => 'Carga horária semanal miníma é de 2 Horas!',
];
}
......@@ -56,7 +55,7 @@ class GestaoMembroConselho extends Model
* @return array
*/
public static function getPlanejamentos() {
$codes = [];
$codes = ['G-1'];
return Planejamento::initQuery()->whereInCodDimensao($codes)->get();
}
......
......@@ -3,6 +3,7 @@
namespace App\Models\Tabelas\Gestao;
use App\Models\Planejamento;
use App\Models\Util\CargaHoraria;
use App\Queries\Tabelas\Gestao\GestaoMembroTitularConselhoQuery;
use Illuminate\Database\Eloquent\Model;
......@@ -20,35 +21,33 @@ class GestaoMembroTitularConselho extends Model
*
* @var array
*/
protected $fillable = ['user_pad_id', 'dimensao', 'cod_atividade', 'nome', 'documento', 'ch_semanal',];
/**
* @return array
*/
public function orientacaoPreenchimento() {
return [
'descricao' => ['item' => '1.', 'descricao' => 'Ensino (Aulas em componentes curriculares)'],
'componente_curricular' => ['item' => 'Nome do Componente:', 'descricao' => 'Nome do componente curricular como descrito no PPC do curso'],
'curso' => ['item' => 'Curso:', 'descricao' => 'Nome do curso ao qual o componente curricular pertence'],
'nivel' => ['item' => 'Nível:', 'descricao' => 'Preencher o nível do curso ao qual o componente curricular pertence, sendo as opções: Graduação, Pós-graduação Stricto Sensu, Pós-Graduação Lato Sensu'],
'modalidade' => ['item' => 'Modalidade:', 'descricao' => 'Preencher a modalidade que o componente curricular é ofertado, sendo as opções: Presencial e EAD'],
'ch_semanal' => ['item' => 'Carga Horária Semanal:', 'descricao' => 'Carga horária total efetiva exercida pelo docente dentro do componente curricular dividida pelo número de semanas que o mesmo ocorre'],
'ch_total' => ['item' => 'Carga Horária Total:', 'descricao' => 'Carga horária total efetiva exercida pelo docente dentro do(s) componente(s) curricular (es)'],
];
}
protected $fillable = ['orientacao_id', 'user_pad_id', 'dimensao', 'cod_atividade', 'nome', 'documento', 'ch_semanal',];
public static function rules()
{
return [
'cod_atividade' => ['required', 'string', 'max:255'],
'nome' => ['required', 'string', 'max:255'],
'documento' => ['required', 'string', 'max:255'],
'ch_semanal' => CargaHoraria::ch_semanal(),
];
}
public static function messages()
{
return [
//cod_atividade
'cod_atividade.required' => 'O campo "Cód. Atividade" é obrigatório!',
//nome
'nome.required' => 'O campo "Nome do Conselho" é obrigatório!',
//documento
'documento.required' => 'O campo "Documento que o Designa" é obrigatório!',
//ch_semanal
'ch_semanal.required' => 'O campo "CH. Semanal" é obrigatório!',
'ch_semanal.min' => 'Carga horária semanal miníma é de 1 Hora!',
];
}
......@@ -56,7 +55,7 @@ class GestaoMembroTitularConselho extends Model
* @return array
*/
public static function getPlanejamentos() {
$codes = [];
$codes = ['G-2'];
return Planejamento::initQuery()->whereInCodDimensao($codes)->get();
}
......
......@@ -3,6 +3,7 @@
namespace App\Models\Tabelas\Gestao;
use App\Models\Planejamento;
use App\Models\Util\CargaHoraria;
use App\Queries\Tabelas\Gestao\GestaoRepresentanteUnidadeEducacaoQuery;
use Illuminate\Database\Eloquent\Model;
......@@ -20,35 +21,33 @@ class GestaoRepresentanteUnidadeEducacao extends Model
*
* @var array
*/
protected $fillable = ['user_pad_id', 'dimensao', 'cod_atividade', 'nome', 'documento', 'ch_semanal',];
/**
* @return array
*/
public function orientacaoPreenchimento() {
return [
'descricao' => ['item' => '1.', 'descricao' => 'Ensino (Aulas em componentes curriculares)'],
'componente_curricular' => ['item' => 'Nome do Componente:', 'descricao' => 'Nome do componente curricular como descrito no PPC do curso'],
'curso' => ['item' => 'Curso:', 'descricao' => 'Nome do curso ao qual o componente curricular pertence'],
'nivel' => ['item' => 'Nível:', 'descricao' => 'Preencher o nível do curso ao qual o componente curricular pertence, sendo as opções: Graduação, Pós-graduação Stricto Sensu, Pós-Graduação Lato Sensu'],
'modalidade' => ['item' => 'Modalidade:', 'descricao' => 'Preencher a modalidade que o componente curricular é ofertado, sendo as opções: Presencial e EAD'],
'ch_semanal' => ['item' => 'Carga Horária Semanal:', 'descricao' => 'Carga horária total efetiva exercida pelo docente dentro do componente curricular dividida pelo número de semanas que o mesmo ocorre'],
'ch_total' => ['item' => 'Carga Horária Total:', 'descricao' => 'Carga horária total efetiva exercida pelo docente dentro do(s) componente(s) curricular (es)'],
];
}
protected $fillable = ['orientacao_id', 'user_pad_id', 'dimensao', 'cod_atividade', 'nome', 'documento', 'ch_semanal',];
public static function rules()
{
return [
'cod_atividade' => ['required', 'string', 'max:255'],
'nome' => ['required', 'string', 'max:255'],
'documento' => ['required', 'string', 'max:255'],
'ch_semanal' => CargaHoraria::ch_semanal(),
];
}
public static function messages()
{
return [
//cod_atividade
'cod_atividade.required' => 'O campo "Cód. Atividade" é obrigatório!',
//nome
'nome.required' => 'O campo "Documento Comprobatório da Representação Sindical" é obrigatório!',
//documento
'documento.required' => 'O campo "Documento que o Designa" é obrigatório!',
//ch_semanal
'ch_semanal.required' => 'O campo "CH. Semanal" é obrigatório!',
'ch_semanal.min' => 'Carga horária semanal miníma é de 1 Hora!',
];
}
......@@ -56,7 +55,7 @@ class GestaoRepresentanteUnidadeEducacao extends Model
* @return array
*/
public static function getPlanejamentos() {
$codes = [];
$codes = ['G-3'];
return Planejamento::initQuery()->whereInCodDimensao($codes)->get();
}
......
......@@ -4,9 +4,11 @@ namespace App\Models\Tabelas\Pesquisa;
use App\Models\Planejamento;
use App\Models\Tabelas\Constants;
use App\Models\Util\CargaHoraria;
use App\Queries\Tabelas\Pesquisa\PesquisaCoordenacaoQuery;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Validation\Rule;
class PesquisaCoordenacao extends Model
{
......@@ -14,10 +16,15 @@ class PesquisaCoordenacao extends Model
protected $table = 'pesquisa_coordenacao';
protected $fillable = ['dimensao', 'user_pad_id', 'cod_atividade', 'titulo_projeto', 'linha_grupo_pesquisa', 'funcao', 'ch_semanal'];
protected $fillable = ['orientacao_id', 'cod_dimensao', 'user_pad_id', 'dimensao', 'cod_atividade', 'titulo_projeto', 'linha_grupo_pesquisa', 'funcao', 'ch_semanal'];
protected $dates = ['deleted_at'];
// public function orientacao()
// {
// return $this->hasOne(Orientacao::class);
// }
public function dimensaoAsString()
{
return Constants::listDimensao($this->dimensao);
......@@ -31,14 +38,39 @@ class PesquisaCoordenacao extends Model
public static function rules()
{
return [
'cod_atividade' => ['required', 'string', 'max:255'],
'titulo_projeto' => ['required', 'string', 'max:255'],
'linha_grupo_pesquisa' => ['required', 'string', 'max:255'],
'funcao' => ['required', 'integer', Rule::in(array_keys(Constants::listFuncaoProjeto()))],
'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 "Cód. Atividade" é obrigatório!',
//titulo_projeto
'titulo_projeto.required' => 'O campo "Título do Projeto" é obrigatório!',
//linha_grupo_pesquisa
'linha_grupo_pesquisa.required' => 'O campo "Linha e Grupo de Pesquisa" é 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 ser 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!',
];
}
......@@ -50,6 +82,21 @@ class PesquisaCoordenacao 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 PesquisaCoordenacaoQuery(get_called_class());
......
......@@ -7,6 +7,7 @@ use App\Models\Tabelas\Constants;
use App\Queries\Tabelas\Pesquisa\PesquisaLiderancaQuery;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Validation\Rule;
class PesquisaLideranca extends Model
{
......@@ -14,10 +15,15 @@ class PesquisaLideranca extends Model
protected $table = 'pesquisa_lideranca';
protected $fillable = ['dimensao', 'user_pad_id', 'cod_atividade', 'grupo_pesquisa', 'atividade', 'funcao', 'ch_semanal'];
protected $fillable = ['orientacao_id', 'user_pad_id', 'dimensao', 'cod_atividade', 'grupo_pesquisa', 'atividade', 'funcao', 'ch_semanal'];
protected $dates = ['deleted_at'];
// public function orientacao()
// {
// return $this->hasOne(Orientacao::class);
// }
public function dimensaoAsString()
{
return Constants::listDimensao($this->dimensao);
......@@ -28,6 +34,36 @@ class PesquisaLideranca extends Model
return Constants::listFuncaoProjeto($this->funcao);
}
public static function rules()
{
return [
'cod_atividade' => ['required', 'string', 'max:255'],
'grupo_pesquisa' => ['required', 'string', 'max:255'],
'funcao' => ['required', 'integer', Rule::in(array_keys(Constants::listFuncaoProjeto()))],
'ch_semanal' => ['required', 'integer', 'min:1'],
];
}
public static function messages()
{
return [
//cod_atividade
'cod_atividade.required' => 'O campo "Cód. Atividade" é obrigatório!',
//grupo_pesquisa
'grupo_pesquisa.required' => 'O campo "Título do Projeto" é obrigatório!',
//funcao
'funcao.required' => 'O campo "Função" é obrigatório!',
'funcao.integer' => 'O campo "Função" deve cónter um inteiro!',
'funcao.in' => 'Selecione uma opção da lista de "Função"!',
//ch_semanal
'ch_semanal.required' => 'O campo "CH. Semanal" é obrigatório!',
'ch_semanal.min' => 'Carga horária semanal miníma é de 1 Hora!',
];
}
/**
* @return array
*/
......
......@@ -4,9 +4,11 @@ namespace App\Models\Tabelas\Pesquisa;
use App\Models\Planejamento;
use App\Models\Tabelas\Constants;
use App\Models\Util\CargaHoraria;
use App\Queries\Tabelas\Pesquisa\PesquisaOrientacaoQuery;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Validation\Rule;
class PesquisaOrientacao extends Model
{
......@@ -14,10 +16,15 @@ class PesquisaOrientacao extends Model
protected $table = 'pesquisa_orientacao';
protected $fillable = ['dimensao', 'user_pad_id', 'cod_atividade', 'titulo_projeto', 'nome_orientando', 'funcao', 'ch_semanal'];
protected $fillable = ['orientacao_id', 'user_pad_id', 'dimensao', 'cod_atividade', 'titulo_projeto', 'nome_orientando', 'funcao', 'ch_semanal'];
protected $dates = ['deleted_at'];
// public function orientacao()
// {
// return $this->hasOne(Orientacao::class);
// }
public function dimensaoAsString()
{
return Constants::listDimensao($this->dimensao);
......@@ -28,6 +35,40 @@ class PesquisaOrientacao extends Model
return Constants::listFuncaoOrientador($this->funcao);
}
public static function rules()
{
return [
'cod_atividade' => ['required', 'string', 'max:255'],
'titulo_projeto' => ['required', 'string', 'max:255'],
'nome_orientando' => ['required', 'string', 'max:255'],
'funcao' => ['required', 'integer', Rule::in(array_keys(Constants::listFuncaoOrientador()))],
'ch_semanal' => CargaHoraria::ch_semanal(CargaHoraria::create_ch_min(2)),
];
}
public static function messages()
{
return [
//cod_atividade
'cod_atividade.required' => 'O campo "Cód. Atividade" é obrigatório!',
//titulo_projeto
'titulo_projeto.required' => 'O campo "Título do Projeto" é obrigatório!',
//nome_orientando
'nome_orientando.required' => 'O campo "Nome do Orientando" é obrigatório!',
//funcao
'funcao.required' => 'O campo "Função" é obrigatório!',
'funcao.integer' => 'O campo "Função" deve cónter um inteiro!',
'funcao.in' => 'Selecione uma opção da lista de "Função"!',
//ch_semanal
'ch_semanal.required' => 'O campo "CH. Semanal" é obrigatório!',
'ch_semanal.min' => 'Carga horária semanal miníma é de 2 Horas!',
];
}
/**
* @return array
*/
......
......@@ -21,4 +21,12 @@ class Avaliacao
const EXTENSAO_COORDENACAO = 12;
const EXTENSAO_ORIENTACAO = 13;
CONST GESTAO_COORDENACAO_LABORATORIOS_DIDATICOS = 14;
CONST GESTAO_MEMBRO_CONSELHO = 15;
CONST GESTAO_COORDENACAO_PROGRAMA_INSTITUCIONAL = 16;
CONST GESTAO_MEMBRO_TITULAR_CONSELHO = 17;
CONST GESTAO_MEMBRO_CAMARAS = 18;
CONST GESTAO_REPRESENTANTE_UNIDADE_EDUCACAO = 19;
CONST GESTAO_MEMBRO_COMISSAO = 20;
}
\ No newline at end of file
<?php
namespace App\Models\Util;
class CargaHoraria
{
public const CH_MIN = 'min:1';
public static function create_ch_min(int $ch_min) {
return sprintf('min:%d', $ch_min);
}
public static function create_ch_max(int $ch_max) {
return sprintf('max:%d', $ch_max);
}
public static function ch_semanal($ch_min = self::CH_MIN, $ch_max = '')
{
return ['required', 'integer', $ch_min, $ch_max];
}
}
\ No newline at end of file
......@@ -94,7 +94,7 @@ class PadTables {
return [
[
'id' => 'gestao_membro_comissao',
'name' => '1. GESTÃO (MEMBRO DE COMISSÃO/COMITÊ/NÚCLEO, FORMALMENTE DESIGNADO(A) NO MBITO DA UPE)',
'name' => '1. GESTÃO (MEMBRO DE COMISSÃO/COMITÊ/NÚCLEO, FORMALMENTE DESIGNADO(A) NO ÂMBITO DA UPE)',
'route' => route('gestao_membro_comissao_index', ['user_pad_id' => $user_pad_id])
],
[
......
......@@ -3,15 +3,15 @@
namespace App\Queries\Tabelas\Ensino;
use App\Models\Tabelas\Ensino\CoordenacaoRegencia;
use App\Models\Tabelas\Ensino\EnsinoCoordenacaoRegencia;
use App\Queries\CustomQuery;
class CoordenacaoRegenciaQuery extends CustomQuery
class EnsinoCoordenacaoRegenciaQuery extends CustomQuery
{
public function __construct()
{
$this->query = CoordenacaoRegencia::where([]);
$this->query = EnsinoCoordenacaoRegencia::where([]);
self::$instance = $this;
}
......
......@@ -21,9 +21,10 @@ class CreatePesquisaCoordenacaoTable extends Migration
$table->string('titulo_projeto')->notNull();
$table->string('linha_grupo_pesquisa')->notNull();
$table->tinyInteger('funcao')->notNull();
$table->string('cod_dimensao')->notNull();
$table->integer('ch_semanal')->notNull();
$table->softDeletes();
$table->timestamps();
$table->softDeletes();
});
}
......
@extends('layouts.main')
@section('title', 'Ensino')
@section('header')
@include('layouts.header', [
'user' => Auth::user(),
])
@endsection
@section('nav')
@include('layouts.navigation', [
'index_menu' => $index_menu,
])
@endsection
@section('body')
<div class="container">
@include('pad.components.templates.dropdown-eixo', ['divs' => $divs])
@include('components.alerts')
<div id="ensino_atendimento_discente">
<div>
<div class="mb-3">
<h3 class="h3"> Ensino - Atendimento ao Discente </h3 class="h3">
@include('components.buttons.btn-show-resolucao', [
'content' => 'Resolução',
'btn_class' => 'show_resolucao',
])
</div>
<form action="{{route('ensino_atendimento_discente_create')}}" method="post" id="ensino_atendimento_discente-form" class="">
@csrf
<div class="row">
<input type="hidden" id="user_pad_id" name="user_pad_id" value="{{$user_pad_id}}">
<div class="mb-3 col-sm-2">
<label class="form-label" for="cod_atividade">Cód. Atividade</label>
<input class="form-control @error('cod_atividade') is-invalid @enderror ajax-errors" type="text" name="cod_atividade" id="cod_atividade" readonly>
</div>
</div>
<div class="mt-1 text-end">
@include('components.buttons.btn-save', [
'content' => 'Cadastrar',
'id' => 'btn-submit_ensino_atendimento_discente'
])
</div>
</form>
</div>
<div class="border rounded px-4 mt-4">
<table class="table table-hover" id="ensino_atendimento_discente-table">
<thead>
<tr>
<!-- <th scole="col">#</th> -->
<th scope="col"> Cód </th>
</tr>
</thead>
<tbody>
@foreach($atividades as $atividade)
<tr>
<td>{{ $atividade->cod_atividade }}</td>
<td>
@include('components.buttons.btn-edit-task', [
'btn_class' => 'btn-edit_ensino_atendimento_discente',
'btn_id' => $atividade->id,
])
@include('components.buttons.btn-delete', [
'id' => $atividade->id,
'route' => route('ensino_atendimento_discente_delete', ['id' => $ensinoAula->id])
])
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@include('components.modal', [
'size' => 'modal-lg',
'header' => 'Ensino - Atendimento ao Discente',
])
</div>
@endsection
@section('scripts')
@include('pad.components.scripts.dropdown-eixo', ['divs' => $divs])
@include('pad.components.scripts.cod_atividade', [
'cod_atividade' => '5-',
'form_id' => 'ensino_atendimento_discente-form',
'div_selected' => 'ensino_atendimento_discente',
'route' => route('ensino_atendimento_discente_search'),
])
@include('pad.components.scripts.ajaxValidation', [
'btn_submit_id' => 'btn-submit_ensino_atendimento_discente',
'form_id' => 'ensino_atendimento_discente-form',
'form_type' => 'create',
'route' => route('ensino_atendimento_discente_validate'),
])
@include('pad.components.scripts.dimensao.ensino.show_modal', [
'modal_id' => 'modal',
'route' => route('view_ensino_atendimento_discente_update'),
'btn_class' => 'btn-edit_ensino_atendimento_discente',
])
@include('pad.components.scripts.dimensao.ensino.show_modal', [
'modal_id' => 'modal',
'route' => route('view_ensino_atendimento_discente_resolucao'),
'btn_class' => 'show_resolucao',
])
@endsection
<div id="ensino_atendimento_discente">
<div>
<div class="mb-3">
<h3 class="h3"> Ensino - Aulas </h3 class="h3">
</div>
<form action="{{route('ensino_atendimento_discente_update', ['id' => $model->id])}}" method="post" id="ensino_atendimento_discente_update-form" class="">
@csrf
<div class="row">
<div class="mb-3 col-sm-2">
<label class="form-label" for="cod_atividade">Cód. Atividade</label>
<input class="form-control @error('cod_atividade') is-invalid @enderror ajax-errors" type="text" name="cod_atividade" id="cod_atividade" value="{{$model->cod_atividade}}" readonly>
</div>
</div>
<div class="mt-1 text-end">
<div class="modal-footer">
@include('components.buttons.btn-close_modal')
@include('components.buttons.btn-save', [
'id' => 'btn-submit_ensino_atendimento_discente-update',
'content' => 'Atualizar',
])
</div>
</div>
</form>
</div>
</div>
@include('pad.components.scripts.ajaxValidation', [
'btn_submit_id' => 'btn-submit_ensino_atendimento_discente-update',
'form_id' => 'ensino_atendimento_discente_update-form',
'form_type' => 'update',
'route' => route('ensino_atendimento_discente_validate'),
])
\ No newline at end of file
@extends('layouts.main')
@section('title', 'Ensino')
@section('header')
@include('layouts.header', [
'user' => Auth::user(),
])
@endsection
@section('nav')
@include('layouts.navigation', [
'index_menu' => $index_menu,
])
@endsection
@section('body')
<div class="container">
@include('pad.components.templates.dropdown-eixo', ['divs' => $divs])
@include('components.alerts')
<div id="ensino_membro_docente">
<div>
<div class="mb-3">
<h3 class="h3"> Ensino - Membro Docente </h3 class="h3">
@include('components.buttons.btn-show-resolucao', [
'content' => 'Resolução',
'btn_class' => 'show_resolucao',
])
</div>
<form action="{{route('ensino_membro_docente_create')}}" method="post" id="ensino_membro_docente-form" class="">
@csrf
<div class="row">
<input type="hidden" id="user_pad_id" name="user_pad_id" value="{{$user_pad_id}}">
<div class="mb-3 col-sm-2">
<label class="form-label" for="cod_atividade">Cód. Atividade</label>
<input class="form-control @error('cod_atividade') is-invalid @enderror ajax-errors" type="text" name="cod_atividade" id="cod_atividade" readonly>
</div>
</div>
<div class="mt-1 text-end">
@include('components.buttons.btn-save', [
'content' => 'Cadastrar',
'id' => 'btn-submit_ensino_membro_docente'
])
</div>
</form>
</div>
<div class="border rounded px-4 mt-4">
<table class="table table-hover" id="ensino_membro_docente-table">
<thead>
<tr>
<!-- <th scole="col">#</th> -->
<th scope="col"> Cód </th>
</tr>
</thead>
<tbody>
@foreach($atividades as $atividade)
<tr>
<td>{{ $atividade->cod_atividade }}</td>
<td>
@include('components.buttons.btn-edit-task', [
'btn_class' => 'btn-edit_ensino_membro_docente',
'btn_id' => $atividade->id,
])
@include('components.buttons.btn-delete', [
'id' => $atividade->id,
'route' => route('ensino_membro_docente_delete', ['id' => $ensinoAula->id])
])
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@include('components.modal', [
'size' => 'modal-lg',
'header' => 'Ensino - Membro Docente',
])
</div>
@endsection
@section('scripts')
@include('pad.components.scripts.dropdown-eixo', ['divs' => $divs])
@include('pad.components.scripts.cod_atividade', [
'cod_atividade' => '8-',
'form_id' => 'ensino_membro_docente-form',
'div_selected' => 'ensino_membro_docente',
'route' => route('ensino_membro_docente_search'),
])
@include('pad.components.scripts.ajaxValidation', [
'btn_submit_id' => 'btn-submit_ensino_membro_docente',
'form_id' => 'ensino_membro_docente-form',
'form_type' => 'create',
'route' => route('ensino_membro_docente_validate'),
])
@include('pad.components.scripts.dimensao.ensino.show_modal', [
'modal_id' => 'modal',
'route' => route('view_ensino_membro_docente_update'),
'btn_class' => 'btn-edit_ensino_membro_docente',
])
@include('pad.components.scripts.dimensao.ensino.show_modal', [
'modal_id' => 'modal',
'route' => route('view_ensino_membro_docente_resolucao'),
'btn_class' => 'show_resolucao',
])
@endsection
<div id="ensino_membro_docente">
<div>
<div class="mb-3">
<h3 class="h3"> Ensino - Membro Docente </h3 class="h3">
</div>
<form action="{{route('ensino_membro_docente_update', ['id' => $model->id])}}" method="post" id="ensino_membro_docente_update-form" class="">
@csrf
<div class="row">
<div class="mb-3 col-sm-2">
<label class="form-label" for="cod_atividade">Cód. Atividade</label>
<input class="form-control @error('cod_atividade') is-invalid @enderror ajax-errors" type="text" name="cod_atividade" id="cod_atividade" value="{{$model->cod_atividade}}" readonly>
</div>
</div>
<div class="mt-1 text-end">
<div class="modal-footer">
@include('components.buttons.btn-close_modal')
@include('components.buttons.btn-save', [
'id' => 'btn-submit_ensino_membro_docente-update',
'content' => 'Atualizar',
])
</div>
</div>
</form>
</div>
</div>
@include('pad.components.scripts.ajaxValidation', [
'btn_submit_id' => 'btn-submit_ensino_membro_docente-update',
'form_id' => 'ensino_membro_docente_update-form',
'form_type' => 'update',
'route' => route('ensino_membro_docente_validate'),
])
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment