Skip to content

Commit

Permalink
Merge pull request #948 from portabilis/portabilis-patch-2024-04-24
Browse files Browse the repository at this point in the history
Portabilis patch 24/04/2024
  • Loading branch information
edersoares authored Apr 24, 2024
2 parents 5bdef3c + 1fef604 commit 7093492
Show file tree
Hide file tree
Showing 41 changed files with 1,779 additions and 425 deletions.
4 changes: 2 additions & 2 deletions app/Models/Educacenso/Registro20.php
Original file line number Diff line number Diff line change
Expand Up @@ -283,15 +283,15 @@ public function getTipoMediacaoValidaParaModalidadeCurso()

break;
case ModalidadeCurso::EDUCACAO_ESPECIAL:
return "{$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::PRESENCIAL]}";
return "{$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::PRESENCIAL]} ou {$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::SEMIPRESENCIAL]}";

break;
case ModalidadeCurso::EJA:
return "{$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::PRESENCIAL]} ou {$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::EDUCACAO_A_DISTANCIA]}";

break;
case ModalidadeCurso::EDUCACAO_PROFISSIONAL:
return "{$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::PRESENCIAL]} ou {$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::EDUCACAO_A_DISTANCIA]}";
return "{$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::PRESENCIAL]}, {$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::SEMIPRESENCIAL]} ou {$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::EDUCACAO_A_DISTANCIA]}";

break;
}
Expand Down
1 change: 1 addition & 0 deletions app/Models/Educacenso/Registro60.php
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,7 @@ public function transportePublicoRequired()
{
$tiposMediacaoPresencial = [
TipoMediacaoDidaticoPedagogico::PRESENCIAL,
TipoMediacaoDidaticoPedagogico::SEMIPRESENCIAL,
];

return $this->tipoAtendimentoTurma == TipoAtendimentoTurma::ESCOLARIZACAO
Expand Down
34 changes: 0 additions & 34 deletions app/Providers/AppServiceProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
use iEducar\Modules\ErrorTracking\HoneyBadgerTracker;
use iEducar\Modules\ErrorTracking\Tracker;
use iEducar\Support\Navigation\Breadcrumb;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Query\Builder as QueryBuilder;
use Illuminate\Database\Schema\Builder as SchemaBuilder;
Expand All @@ -19,7 +18,6 @@
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\URL;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Str;
use Laravel\Telescope\TelescopeServiceProvider;

class AppServiceProvider extends ServiceProvider
Expand Down Expand Up @@ -86,38 +84,6 @@ public function boot()
QueryBuilder::macro('whereUnaccent', function ($column, $value) {
$this->whereRaw('unaccent(' . $column . ') ilike unaccent(\'%\' || ? || \'%\')', [$value]);
});

Builder::macro('search', function ($columns, $value, $type = 'both') {
if (is_string($columns)) {
$columns = [$columns];
}

$operator = $this->getConnection()->getDriverName() === 'pgsql' ? 'ilike' : 'like';

$search = "%{$value}%";

if ($type == 'left') {
$search = "%{$value}";
}

if ($type == 'right') {
$search = "{$value}%";
}

return $this->where(function ($builder) use ($columns, $operator, $search) {
foreach ($columns as $column) {
if (Str::contains($column, '.')) {
[$relation, $column] = explode('.', $column);

$builder->orWhereHas($relation, function ($builder) use ($column, $operator, $search) {
$builder->where($column, $operator, $search);
});
} else {
$builder->orWhere($column, $operator, $search);
}
}
});
});
}

/**
Expand Down
19 changes: 19 additions & 0 deletions app/Rules/CheckMandatoryCensoFields.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
use App\Models\LegacySchool;
use App_Model_LocalFuncionamentoDiferenciado;
use App_Model_TipoMediacaoDidaticoPedagogico;
use iEducar\Modules\Educacenso\Model\EstruturaCurricular;
use iEducar\Modules\Educacenso\Model\FormaOrganizacaoTurma;
use iEducar\Modules\Educacenso\Model\ModalidadeCurso;
use iEducar\Modules\Educacenso\Model\TipoAtendimentoTurma;
Expand Down Expand Up @@ -216,6 +217,14 @@ private function validaEtapaEducacenso($params)
return false;
}

if ($params->tipo_mediacao_didatico_pedagogico == App_Model_TipoMediacaoDidaticoPedagogico::SEMIPRESENCIAL &&
isset($params->etapa_educacenso) &&
!in_array($params->etapa_educacenso, [69, 70, 71, 72])) {
$this->message = 'Quando o campo: Tipo de mediação didático-pedagógica é: Semipresencial, o campo: Etapa de ensino deve ser uma das seguintes opções: 69, 70, 71 ou 72.';

return false;
}

if ($params->tipo_mediacao_didatico_pedagogico == App_Model_TipoMediacaoDidaticoPedagogico::EDUCACAO_A_DISTANCIA &&
isset($params->etapa_educacenso) &&
!in_array((int) $params->etapa_educacenso, [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 64, 70, 71, 73, 74, 67, 68], true)) {
Expand Down Expand Up @@ -339,6 +348,16 @@ public function validaCampoEstruturaCurricular(mixed $params)
return false;
}

if (
is_array($estruturaCurricular) &&
!in_array(EstruturaCurricular::FORMACAO_GERAL_BASICA, $estruturaCurricular, true) &&
$params->tipo_mediacao_didatico_pedagogico == App_Model_TipoMediacaoDidaticoPedagogico::SEMIPRESENCIAL
) {
$this->message = 'Quando o campo: <b>Tipo de mediação didático-pedagógica</b> é: <b>Semipresencial</b>, o campo: <b>Estrutura curricular</b> deve ter a opção <b>Formação geral básica</b> informada.';

return false;
}

$etapaEnsinoCanNotContainsWithFormacaoGeralBasica = [1, 2, 3, 39, 40, 64, 68];
if (is_array($estruturaCurricular) &&
in_array(1, $estruturaCurricular, true) &&
Expand Down
Loading

0 comments on commit 7093492

Please sign in to comment.