Skip to content

Commit

Permalink
Merge pull request #853 from portabilis/portabilis-patch-2022-06-26
Browse files Browse the repository at this point in the history
[2.7] Portabilis patch 26/06/2022
  • Loading branch information
edersoares committed Jun 26, 2022
2 parents c80ba80 + ef0b0d8 commit 4f809a6
Show file tree
Hide file tree
Showing 129 changed files with 7,050 additions and 1,318 deletions.
2 changes: 2 additions & 0 deletions app/Exceptions/Handler.php
Expand Up @@ -5,6 +5,7 @@
use App\Http\Controllers\LegacyController;
use App_Model_Exception;
use iEducar\Modules\ErrorTracking\Tracker;
use iEducar\Support\Exceptions\DisciplinesWithoutInformedHoursException;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Throwable;

Expand All @@ -17,6 +18,7 @@ class Handler extends ExceptionHandler
*/
protected $dontReport = [
App_Model_Exception::class,
DisciplinesWithoutInformedHoursException::class
];

/**
Expand Down
114 changes: 114 additions & 0 deletions app/Http/Controllers/EnrollmentFormativeItineraryController.php
@@ -0,0 +1,114 @@
<?php

namespace App\Http\Controllers;

use App\Models\LegacyEnrollment;
use App\Models\LegacyRegistration;
use App\Services\EnrollmentFormativeItineraryService;
use iEducar\Modules\Educacenso\Model\TipoCursoItinerario;
use iEducar\Modules\Educacenso\Model\TipoItinerarioFormativo;
use iEducar\Modules\ValueObjects\EnrollmentFormativeItineraryValueObject;
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Contracts\View\Factory;
use Illuminate\Contracts\View\View;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Routing\Redirector;

class EnrollmentFormativeItineraryController extends Controller
{
/**
* Lista enturmações da matrícula para definir itinerário formativo.
*
* @param int $id matrícula
*
* @return View
*/
public function list($id)
{
$this->breadcrumb('Itinerário formativo do aluno', [
url('intranet/educar_index.php') => 'Escola',
]);

$this->menu(578);

$registration = LegacyRegistration::find($id);

return view('enrollments.enrollmentFormativeItineraryList', ['registration' => $registration]);
}

/**
* Lista enturmações da matrícula para definir itinerário formativo.
*
* @param int $id enturmação
*
* @return Application|Factory|View
*/
public function viewFormativeItinerary($id)
{
$this->breadcrumb('Itinerário formativo do aluno', [
url('intranet/educar_index.php') => 'Escola',
]);

$this->menu(578);

$enrollment = LegacyEnrollment::find($id);

return view('enrollments.enrollmentFormativeItinerary', [
'enrollment' => $enrollment,
'itineraryType' => TipoItinerarioFormativo::getDescriptiveValues(),
'itineraryComposition' => TipoItinerarioFormativo::getDescriptiveValuesOfItineraryComposition(),
'itineraryCourse' => TipoCursoItinerario::getDescriptiveValues(),
]);
}

/**
* @param Request $request
*
* @return JsonResponse|Redirector|RedirectResponse|Application
*/
public function storeFormativeItinerary(Request $request): JsonResponse|Redirector|RedirectResponse|Application
{
$fields = $request->all();
$enrollment = LegacyEnrollment::find($fields['enrollment_id']);

if (!isset($fields['itinerary_type'])) {
$fields['itinerary_type'] = [];
}
if (!isset($fields['itinerary_composition'])) {
$fields['itinerary_composition'] = [];
}
if (!isset($fields['itinerary_course'])) {
$fields['itinerary_course'] = null;
}
if (!isset($fields['concomitant_itinerary'])) {
$fields['concomitant_itinerary'] = null;
}

$itineraryData = new EnrollmentFormativeItineraryValueObject();
$itineraryData->enrollmentId = $fields['enrollment_id'];
$itineraryData->itineraryType = $fields['itinerary_type'];
$itineraryData->itineraryComposition = $fields['itinerary_composition'];
$itineraryData->itineraryCourse = $fields['itinerary_course'];
$itineraryData->concomitantItinerary = $fields['concomitant_itinerary'];

$service = new EnrollmentFormativeItineraryService();

try {
$service->saveFormativeItinerary($enrollment, $itineraryData);
} catch (\Throwable $th) {
return response()->json(
['message' => $th->getMessage()],
400
);
}

return response()->json(
[
'registration_id' => $enrollment->registration_id,
'message' => 'Itinerário formativo salvo com sucesso.'
]
);
}
}

0 comments on commit 4f809a6

Please sign in to comment.