Skip to content

Commit

Permalink
Fix/teacher screen option code appears in city (#487)
Browse files Browse the repository at this point in the history
* feito correção de retirar o <option> em cidade. Falta tirar aspas

* organizado arquivo para adentrar no novo padrão de código. A procura do erro no select de cidade, ver nos controlers

* feito alteação pra o select funcionar

* continuando mudança no form de instructor

* revertendo alterações

* revertendo informações

* Revert "feito correção de retirar o <option> em cidade. Falta tirar aspas"

This reverts commit dc62637.

* depois de reverter commit, feito correção. ainda há erro. selects de cidade e estado estão interligados

* feito correção em selects de cidade, onde estes apresentavam comportamento de apagar e buscar cidade de forma que impedia que a seleção funcionasse corretamente

* feito alterações de formatação

* feito correção para agradar o sonar cloud

---------

Co-authored-by: Igor Gonçalves <igor_goncalves@live.com>
  • Loading branch information
Tori-IPTI and igorgoncalves committed Dec 26, 2023
1 parent 3d53073 commit ada2490
Show file tree
Hide file tree
Showing 4 changed files with 949 additions and 217 deletions.
46 changes: 30 additions & 16 deletions app/controllers/InstructorController.php
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ public function actionUpdate($id)
$modelInstructorVariableData = new InstructorVariableData();
}
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($modelInstructorIdentification);
// $this->performAjaxValidation($modelInstructorIdentification);

$saveInstructor = FALSE;
$saveDocumentsAndAddress = FALSE;
Expand Down Expand Up @@ -348,10 +348,10 @@ public function actionDelete($id)

$delete = TRUE;

if(isset($modelInstructorDocumentsAndAddress)) {
if (isset($modelInstructorDocumentsAndAddress)) {
$modelInstructorDocumentsAndAddress->delete();
}
if(isset($modelInstructorVariableData)) {
if (isset($modelInstructorVariableData)) {
$modelInstructorVariableData->delete();
foreach ($modelInstructorTeachingData as $td) {
$delete = $delete && $td->delete();
Expand Down Expand Up @@ -399,7 +399,15 @@ public function actionGetCity()

$options = array();
foreach ($data as $value => $name) {
array_push($options, CHtml::tag('option', ['value' => $value, 'selected' => $value == $current_city], CHtml::encode($name), TRUE));
array_push($options, CHtml::tag(
'option',
[
'value' => $value,
'selected' => $value == $current_city
],
CHtml::encode($name),
true
));
}

echo json_encode($options);
Expand All @@ -413,8 +421,10 @@ public function actionGetCityByCep()
if (!empty($cep)) {
$data = EdcensoCity::model()->find('cep_initial <= ' . $cep . ' and cep_final >= ' . $cep);
}

$result = ($data == NULL) ? ['UF' => NULL, 'City' => NULL] : [
'UF' => $data->edcenso_uf_fk, 'City' => $data->id

];
echo json_encode($result);
}
Expand Down Expand Up @@ -657,17 +667,21 @@ public function actionGetFrequency()
}
}

<<<<<<< HEAD
public function actionGetFrequencyClassroom()
=======
public function actionGetFrequencyClassroom ()
>>>>>>> dev
{
$instructor = htmlspecialchars($_POST["instructor"]);
$classrooms = Yii::app()->db->createCommand("SELECT c.id, c.name FROM classroom c
JOIN instructor_teaching_data itd ON(c.id = itd.classroom_id_fk)
WHERE itd.instructor_fk = :instructor")
->bindParam(":instructor", $instructor)
->queryAll();
echo "<option value>".Yii::t('default', 'Select Classrom')."</option>";
->bindParam(":instructor", $instructor)
->queryAll();
echo "<option value>" . Yii::t('default', 'Select Classrom') . "</option>";
foreach ($classrooms as $classroom) {
echo "<option value=".$classroom['id'].">".$classroom['name']."</option>";
echo "<option value=" . $classroom['id'] . ">" . $classroom['name'] . "</option>";
}
}

Expand All @@ -676,18 +690,19 @@ public function actionGetFrequencyDisciplines()
$instructor = htmlspecialchars($_POST["instructor"]);
$classroom = htmlspecialchars($_POST["classroom"]);
$disciplines = Yii::app()->db->createCommand(
"SELECT ed.id, ed.name FROM classroom c
"SELECT ed.id, ed.name FROM classroom c
JOIN instructor_teaching_data itd ON(c.id = itd.classroom_id_fk)
JOIN teaching_matrixes tm ON(itd.id = tm.teaching_data_fk)
JOIN curricular_matrix cm ON(tm.curricular_matrix_fk = cm.id)
JOIN edcenso_discipline ed ON(ed.id = cm.discipline_fk)
WHERE itd.instructor_fk = :instructor AND c.id = :classroom")
->bindParam(":instructor", $instructor)
->bindParam(":classroom", $classroom)
->queryAll();
echo "<option value>".Yii::t('default', 'Select Discipline')."</option>";
WHERE itd.instructor_fk = :instructor AND c.id = :classroom"
)
->bindParam(":instructor", $instructor)
->bindParam(":classroom", $classroom)
->queryAll();
echo "<option value>" . Yii::t('default', 'Select Discipline') . "</option>";
foreach ($disciplines as $discipline) {
echo "<option value=".$discipline['id'].">".$discipline['name']."</option>";
echo "<option value=" . $discipline['id'] . ">" . $discipline['name'] . "</option>";
}
}

Expand All @@ -712,5 +727,4 @@ public function actionSaveJustification()
$instructorFault->justification = $_POST["justification"] == "" ? null : $_POST["justification"];
$instructorFault->save();
}

}
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ services:
MYSQL_USER: admin
MYSQL_PASSWORD: admin
volumes:
- ./docker/mysql/dbfiles:/var/lib/mysql
- ./db:/var/lib/mysql
# - .\dump.sql:/docker-entrypoint-initdb.d/dump.sql
# - ./dump-data.sql:/docker-entrypoint-initdb.d/dump-data.sql
networks:
Expand Down
51 changes: 33 additions & 18 deletions js/instructor/form/functions.js
Original file line number Diff line number Diff line change
@@ -1,25 +1,37 @@
/**
/**
* Pega as informações do CEP e atualiza os campos necessários.
*
*
* @param {structure} array(UF, City)
* @returns {void}
* @returns {void}
* */

function updateCep(data) {
data = jQuery.parseJSON(data);
if (data.UF == null)
data = JSON.parse(data);
if (data.UF == null) {
$(formDocumentsAndAddress + 'cep').val('').trigger('focusout');
}
$(formDocumentsAndAddress + 'edcenso_uf_fk')
.val(data['UF'])
.trigger('change')
.select2('readonly', data.UF != null);
setTimeout(function () {
$(formDocumentsAndAddress + 'edcenso_city_fk')
.val(data['City'])
.trigger('change')
.select2('readonly', data.City != null);
}, 500);
.val(data.UF)
.select2('val', data.UF)
.select2('readonly', data.UF != null)

$('#InstructorDocumentsAndAddress_edcenso_city_fk option:not(:contains("Selecione uma cidade"))').remove();
$.ajax({
type: "POST",
url: "?r=instructor/getCity",
data: {
edcenso_uf_fk: data.UF,
current_city: $("#InstructorDocumentsAndAddress_edcenso_city_fk").val()
},
success: function (response) {
const optionsList = JSON.parse(response);
const options = optionsList.join("");
$("#InstructorDocumentsAndAddress_edcenso_city_fk").html(options)
.val(data.City)
.select2('val', data.City)
.select2('readonly', data.City != null);
}
});
}

$("#InstructorIdentification_edcenso_uf_fk").on("change", function () {
Expand All @@ -40,6 +52,8 @@ $("#InstructorIdentification_edcenso_uf_fk").on("change", function () {
});

$("#InstructorDocumentsAndAddress_edcenso_uf_fk").on("change", function () {


$('#InstructorDocumentsAndAddress_edcenso_city_fk option:not(:contains("Selecione uma cidade"))').remove();
$.ajax({
type: "POST",
Expand All @@ -49,9 +63,10 @@ $("#InstructorDocumentsAndAddress_edcenso_uf_fk").on("change", function () {
current_city: $("#InstructorDocumentsAndAddress_edcenso_city_fk").val()
},
success: function (response) {
$.each(JSON.parse(response), function (id, option) {
$("#InstructorDocumentsAndAddress_edcenso_city_fk").append(option);
})
const optionsList = JSON.parse(response);
const options = optionsList.join("");
$("#InstructorDocumentsAndAddress_edcenso_city_fk").html(options);
$("#InstructorDocumentsAndAddress_edcenso_city_fk").select2();
}
});
});
Expand Down Expand Up @@ -85,4 +100,4 @@ function loadIES(iesUfDropDown, iesDropDownPath, currentIES) {
// $("#s2id_InstructorVariableData_high_education_institution_code_1_fk").prop("disabled", false);
}
});
}
}

0 comments on commit ada2490

Please sign in to comment.