Beispiel #1
0
 public function addTempDisciplinesToRequest()
 {
     $this->load->model('temporaryrequest_model');
     $courseId = $this->input->post('courseId');
     $userId = $this->input->post('userId');
     $dataIsOk = $this->validateTempDisciplineData();
     if ($dataIsOk) {
         $disciplineCode = $this->input->post('discipline_code_search');
         $semesterId = $this->input->post('semesterId');
         $offer = new Offer();
         $courseOffer = $offer->getOfferBySemesterAndCourse($semesterId, $courseId);
         if ($courseOffer !== FALSE) {
             $disciplineExistsInOfferList = $offer->disciplineExistsInOffer($disciplineCode, $courseOffer['id_offer']);
         } else {
             $disciplineExistsInOfferList = FALSE;
         }
         if ($disciplineExistsInOfferList) {
             $disciplineClass = $this->input->post('discipline_class_search');
             $classExists = $offer->checkIfClassExistsInDiscipline($courseOffer['id_offer'], $disciplineCode, $disciplineClass);
             if ($classExists) {
                 $offerDiscipline = $offer->getCourseOfferDisciplineByClass($disciplineCode, $courseOffer['id_offer'], $disciplineClass);
                 if ($offerDiscipline !== FALSE) {
                     $idOfferDiscipline = $offerDiscipline['id_offer_discipline'];
                     $userTempRequest = $this->getUserTempRequest($userId, $courseId, $semesterId);
                     $tryToSave = FALSE;
                     if ($userTempRequest !== FALSE) {
                         // Get the requested discipline hours
                         $schedule = new Schedule();
                         $schedule->getDisciplineHours($idOfferDiscipline);
                         $requestedDisciplineSchedule = $schedule->getDisciplineSchedule();
                         // Get disciplines hours from already inserted to resquest disciplines
                         $insertedDisciplines = array();
                         foreach ($userTempRequest as $registeredRequest) {
                             $schedule = new Schedule();
                             $schedule->getDisciplineHours($registeredRequest['discipline_class']);
                             $disciplineSchedule = $schedule->getDisciplineSchedule();
                             $insertedDisciplines[] = $disciplineSchedule;
                         }
                         $conflicts = $schedule->checkHourConflits($requestedDisciplineSchedule, $insertedDisciplines);
                         $tryToSave = FALSE;
                         if ($conflicts !== FALSE) {
                             $status = "danger";
                             $message = "Não foi possível adicionar a disciplina pedida porque houve conflito de horários com disciplinas já adicionadas.<br>\n\t\t\t\t\t\t\t\t<i>Conflito no horário <b>" . $conflicts->getDayHourPair() . "</b>.</i>";
                         } else {
                             $tryToSave = TRUE;
                         }
                     } else {
                         // In this case there is no discipline added to temp request, so is not a problem to add
                         $tryToSave = TRUE;
                     }
                     if ($tryToSave) {
                         $requestWasSaved = $this->saveTempRequest($userId, $courseId, $semesterId, $disciplineCode, $idOfferDiscipline);
                         if ($requestWasSaved) {
                             $status = "success";
                             $message = "Disciplina adicionada com sucesso à solicitação";
                         } else {
                             $status = "danger";
                             $message = "Não foi possível adicionar a disciplina informada.\n\t\t\t\t\t\t\t\t\t\t\t Cheque os dados informados e tente novamente.<br>\t\n\t\t\t\t\t\t\t\t\t\t\t Não é possível adicionar a mesma turma de uma disciplina várias vezes.";
                         }
                     }
                 } else {
                     $status = "danger";
                     $message = "Não foi possível adicionar a disciplina informada.\n\t\t\t\t\t\t\t\t\t Cheque os dados informados e tente novamente.<br>\t\n\t\t\t\t\t\t\t\t\t Não é possível adicionar a mesma turma de uma disciplina várias vezes.";
                 }
             } else {
                 $status = "danger";
                 $message = "Turma não encontrada para disciplina informada.";
             }
         } else {
             $status = "danger";
             $message = "Disciplina não encontrada na lista de oferta do seu curso.";
         }
     } else {
         $status = "danger";
         $message = "Dados na forma incorreta. Informe apenas números para o código e letras para a turma.";
     }
     $this->session->set_flashdata($status, $message);
     redirect("request/studentEnrollment/{$courseId}/{$userId}");
 }
Beispiel #2
0
function displayDisciplineHours($idOfferDiscipline)
{
    $schedule = new Schedule();
    $schedule->getDisciplineHours($idOfferDiscipline);
    $disciplineSchedule = $schedule->getDisciplineSchedule();
    if (sizeof($disciplineSchedule) > 0) {
        echo "<div class=\"box-body table-responsive no-padding\">";
        echo "<table class=\"table table-bordered table-hover\">";
        echo "<tbody>";
        echo "<tr>";
        echo "<th class=\"text-center\">Dia-Horário</th>";
        echo "<th class=\"text-center\">Local</th>";
        echo "</tr>";
        foreach ($disciplineSchedule as $classHour) {
            echo "<tr>";
            $classHourData = $classHour->getClassHour();
            echo "<td>";
            echo "<b>" . $classHour->getDayHourPair() . "</b>";
            echo "</td>";
            echo "<td>";
            if ($classHourData['local'] !== NULL) {
                echo $classHourData['local'];
            } else {
                echo "<i>Não definido</i>";
            }
            echo "</td>";
            echo "</tr>";
        }
        echo "</tbody>";
        echo "</table>";
        echo "</div>";
    } else {
        echo "<div class='callout callout-info'>";
        echo "<h4>Sem horários adicionados no momento.</h4>";
        echo "</div>";
    }
}