From 49d3717b18e5034df54b53e4405f27ad3739c60b Mon Sep 17 00:00:00 2001 From: nicrausaz <n.crausaz99@gmail.com> Date: Wed, 6 Mar 2019 13:28:41 +0100 Subject: [PATCH] delete if all empty --- canapEPFL/helpers.php | 56 ++++++++++++++----- canapEPFL/script.js | 7 +-- .../formParts/edit/proactivities.php | 8 +-- canapEPFL/templates/head.php | 4 +- 4 files changed, 51 insertions(+), 24 deletions(-) diff --git a/canapEPFL/helpers.php b/canapEPFL/helpers.php index 75482e5..33d5dc5 100644 --- a/canapEPFL/helpers.php +++ b/canapEPFL/helpers.php @@ -269,6 +269,16 @@ function validFileAccess ($pdo, $id, $sciper) { return $query->fetchAll(); } +function isAllInputsEmpty ($inputs) { + // check if items are empty + foreach ($inputs as $key => $value) { + if ($value != "" && $key != 'id') { + return false; + } + } + return true; +} + function deletePostulation ($pdo, $id, $sciper, $rep1, $rep2) { // delete scolarities $sqlreq = "DELETE FROM scolarity WHERE fk_applicant_id=:id"; @@ -444,14 +454,23 @@ function updatePostulation ($pdo, $posted_data) { foreach ($posted_data->activitesProfessionnelles as $activity) { if (isset($activity['id'])) { - $query = $pdo->prepare($sqlreq); - $query->bindParam(':applicant_id', $posted_data->id, PDO::PARAM_INT); - $query->bindParam(':professional_activity_id', $activity['id'], PDO::PARAM_INT); - $query->bindParam(':professional_activity_company', $activity['employeur'], PDO::PARAM_STR); - $query->bindParam(':professional_activity_location', $activity['lieu'], PDO::PARAM_STR); - $query->bindParam(':professional_activity_activity', $activity['activite'], PDO::PARAM_STR); - $query->bindParam(':professional_activity_years', $activity['annees'], PDO::PARAM_STR); - $query->execute(); + if (isAllInputsEmpty($activity)) { + // data is empty, delete record + $sqlreq = "DELETE FROM professional_activity WHERE fk_applicant_id=:applicant_id AND professional_activity_id=:professional_activity_id"; + $query = $pdo->prepare($sqlreq); + $query->bindParam(':applicant_id', $posted_data->id, PDO::PARAM_INT); + $query->bindParam(':professional_activity_id', $activity['id'], PDO::PARAM_INT); + $query->execute(); + } else { + $query = $pdo->prepare($sqlreq); + $query->bindParam(':applicant_id', $posted_data->id, PDO::PARAM_INT); + $query->bindParam(':professional_activity_id', $activity['id'], PDO::PARAM_INT); + $query->bindParam(':professional_activity_company', $activity['employeur'], PDO::PARAM_STR); + $query->bindParam(':professional_activity_location', $activity['lieu'], PDO::PARAM_STR); + $query->bindParam(':professional_activity_activity', $activity['activite'], PDO::PARAM_STR); + $query->bindParam(':professional_activity_years', $activity['annees'], PDO::PARAM_STR); + $query->execute(); + } } else { array_push($to_add, $activity); } @@ -465,12 +484,21 @@ function updatePostulation ($pdo, $posted_data) { foreach ($posted_data->stages as $training) { if (isset($training['id'])) { - $query = $pdo->prepare($sqlreq); - $query->bindParam(':applicant_id', $posted_data->id, PDO::PARAM_INT); - $query->bindParam(':training_id', $training['id'], PDO::PARAM_INT); - $query->bindParam(':training_company', $training['metier'], PDO::PARAM_STR); - $query->bindParam(':training_job', $training['employeur'], PDO::PARAM_STR); - $query->execute(); + if (isAllInputsEmpty($training)) { + // data is empty, delete record + $sqlreq = "DELETE FROM training WHERE fk_applicant_id=:applicant_id AND training_id=:training_id"; + $query = $pdo->prepare($sqlreq); + $query->bindParam(':applicant_id', $posted_data->id, PDO::PARAM_INT); + $query->bindParam(':training_id', $training['id'], PDO::PARAM_INT); + $query->execute(); + } else { + $query = $pdo->prepare($sqlreq); + $query->bindParam(':applicant_id', $posted_data->id, PDO::PARAM_INT); + $query->bindParam(':training_id', $training['id'], PDO::PARAM_INT); + $query->bindParam(':training_company', $training['metier'], PDO::PARAM_STR); + $query->bindParam(':training_job', $training['employeur'], PDO::PARAM_STR); + $query->execute(); + } } else { array_push($to_add, $training); } diff --git a/canapEPFL/script.js b/canapEPFL/script.js index 0e90a07..a32f45d 100644 --- a/canapEPFL/script.js +++ b/canapEPFL/script.js @@ -250,7 +250,6 @@ function showOnFormReturn(lieu) { } showListJob(lieu); showPolyAndInfoDivs(selectedFormation); - } else { var selectedFormation = $('#job').val(); showPolyAndInfoDivs(selectedFormation); @@ -287,16 +286,16 @@ function checkRequired() { $($(this).find("[data-required]")).each(function () { if ($(this).val() == '') { - $(this).addClass('is-invalid') + $(this).addClass('is-invalid'); e.preventDefault(); errsNumber++; } else { - $(this).removeClass('is-invalid') + $(this).removeClass('is-invalid'); } }); // no error if (errsNumber) { - alert('Certains champs requis n\'ont pas été remplis') + alert('Certains champs requis n\'ont pas été remplis'); } return errsNumber === 0; }); diff --git a/canapEPFL/templates/formParts/edit/proactivities.php b/canapEPFL/templates/formParts/edit/proactivities.php index 86413a0..1971573 100644 --- a/canapEPFL/templates/formParts/edit/proactivities.php +++ b/canapEPFL/templates/formParts/edit/proactivities.php @@ -12,16 +12,16 @@ <tr> <input type="text" name="pro_id<?= $i ?>" value="<?= $activity['professional_activity_id'] ?>" hidden readonly> <td> - <input type="text" name="employeurPro<?= $i ?>" placeholder="Employeur" class="form-control" value="<?php echo $activity['professional_activity_company'] != '' ? $activity['professional_activity_company'] : ''; ?>" data-required/> + <input type="text" name="employeurPro<?= $i ?>" placeholder="Employeur" class="form-control" value="<?php echo $activity['professional_activity_company'] != '' ? $activity['professional_activity_company'] : ''; ?>"/> </td> <td> - <input type="text" name="lieuPro<?= $i ?>" placeholder="Lieu" class="form-control" value="<?php echo $activity['professional_activity_location'] != '' ? $activity['professional_activity_location'] : ''; ?>" data-required/> + <input type="text" name="lieuPro<?= $i ?>" placeholder="Lieu" class="form-control" value="<?php echo $activity['professional_activity_location'] != '' ? $activity['professional_activity_location'] : ''; ?>"/> </td> <td> - <input type="text" name="activitePro<?= $i ?>" placeholder="Activité" class="form-control" value="<?php echo $activity['professional_activity_activity'] != '' ? $activity['professional_activity_activity'] : ''; ?>" data-required/> + <input type="text" name="activitePro<?= $i ?>" placeholder="Activité" class="form-control" value="<?php echo $activity['professional_activity_activity'] != '' ? $activity['professional_activity_activity'] : ''; ?>"/> </td> <td> - <input type="text" name="anneesPro<?= $i ?>" placeholder="de-à (années)" class="form-control" value="<?php echo $activity['professional_activity_years'] != '' ? $activity['professional_activity_years'] : ''; ?>" data-required/> + <input type="text" name="anneesPro<?= $i ?>" placeholder="de-à (années)" class="form-control" value="<?php echo $activity['professional_activity_years'] != '' ? $activity['professional_activity_years'] : ''; ?>"/> </td> </tr> <?php } ?> diff --git a/canapEPFL/templates/head.php b/canapEPFL/templates/head.php index 1639fee..1169763 100644 --- a/canapEPFL/templates/head.php +++ b/canapEPFL/templates/head.php @@ -23,8 +23,8 @@ <?php ini_set("display_errors", 0); error_reporting(0); - // ini_set("display_errors", 1); - // error_reporting(E_ALL); + ini_set("display_errors", 1); + error_reporting(E_ALL); require_once('configs/config.php'); require('configs/db.php'); if (!isset($_SESSION)) { session_start(); } -- GitLab