From 7b8a0786a1da3469e5c5c5dd4c81dbc4efe4295a Mon Sep 17 00:00:00 2001 From: nicrausaz <n.crausaz99@gmail.com> Date: Tue, 5 Mar 2019 09:27:46 +0100 Subject: [PATCH] insert if new items on edit working --- canapEPFL/helpers.php | 72 ++++++++++++++++++++++++++----------------- 1 file changed, 44 insertions(+), 28 deletions(-) diff --git a/canapEPFL/helpers.php b/canapEPFL/helpers.php index 61e30e8..10f5f75 100644 --- a/canapEPFL/helpers.php +++ b/canapEPFL/helpers.php @@ -324,6 +324,7 @@ function updatePostulation ($pdo, $posted_data) { $sqlreq = "UPDATE applicant SET applicant_maturity= :applicant_maturity, + applicant_it_section=:applicant_it_section, applicant_gender= :applicant_gender, applicant_address_street= :applicant_address_street, applicant_address_npa= :applicant_address_npa, @@ -352,6 +353,7 @@ function updatePostulation ($pdo, $posted_data) { $query = $pdo->prepare($sqlreq); $query->bindParam(':id', $posted_data->id, PDO::PARAM_STR); $query->bindParam(':applicant_maturity', $posted_data->maturite, PDO::PARAM_BOOL); + $query->bindParam(':applicant_it_section', $posted_data->filiere, PDO::PARAM_BOOL); $query->bindParam(':applicant_gender', $posted_data->genreApprenti, PDO::PARAM_STR); $query->bindParam(':applicant_address_street', $posted_data->addresseApprentiComplete['rue'], PDO::PARAM_STR); $query->bindParam(':applicant_address_npa', $posted_data->addresseApprentiComplete['NPA'], PDO::PARAM_STR); @@ -412,54 +414,69 @@ function updatePostulation ($pdo, $posted_data) { } // update scolarities + $to_add = []; $sqlreq = "UPDATE scolarity SET scolarity_school=:scolarity_school, scolarity_location=:scolarity_location, scolarity_level=:scolarity_level, scolarity_years=:scolarity_years WHERE fk_applicant_id=:applicant_id AND scolarity_id=:scolarity_id"; foreach ($posted_data->scolarite as $scolarity) { - $query = $pdo->prepare($sqlreq); - $query->bindParam(':applicant_id', $posted_data->id, PDO::PARAM_INT); - $query->bindParam(':scolarity_id', $scolarity['id'], PDO::PARAM_INT); - $query->bindParam(':scolarity_school', $scolarity['ecole'], PDO::PARAM_STR); - $query->bindParam(':scolarity_location', $scolarity['lieu'], PDO::PARAM_STR); - $query->bindParam(':scolarity_level', $scolarity['niveau'], PDO::PARAM_STR); - $query->bindParam(':scolarity_years', $scolarity['annees'], PDO::PARAM_STR); - $query->execute(); + if (isset($scolarity['id'])) { + $query = $pdo->prepare($sqlreq); + $query->bindParam(':applicant_id', $posted_data->id, PDO::PARAM_INT); + $query->bindParam(':scolarity_id', $scolarity['id'], PDO::PARAM_INT); + $query->bindParam(':scolarity_school', $scolarity['ecole'], PDO::PARAM_STR); + $query->bindParam(':scolarity_location', $scolarity['lieu'], PDO::PARAM_STR); + $query->bindParam(':scolarity_level', $scolarity['niveau'], PDO::PARAM_STR); + $query->bindParam(':scolarity_years', $scolarity['annees'], PDO::PARAM_STR); + $query->execute(); + } else { + array_push($to_add, $scolarity); + } } - - // TODO: si y en a des nouveaux ? + insertScolarities($pdo, $to_add, $posted_data->id); // update pro activities + $to_add = []; $sqlreq = "UPDATE professional_activity SET professional_activity_company=:professional_activity_company, professional_activity_location=:professional_activity_location, professional_activity_activity=:professional_activity_activity, professional_activity_years=:professional_activity_years WHERE fk_applicant_id=:applicant_id AND professional_activity_id=:professional_activity_id"; foreach ($posted_data->activitesProfessionnelles as $activity) { - $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 (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(); + } else { + array_push($to_add, $activity); + } } - - // TODO: si y en a des nouveaux ? + insertProActivities($pdo, $to_add, $posted_data->id); // update trainings + $to_add = []; $sqlreq = "UPDATE training SET training_job=:training_job, training_company=:training_company WHERE fk_applicant_id=:applicant_id AND training_id=:training_id"; foreach ($posted_data->stages as $training) { - $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 (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(); + } else { + array_push($to_add, $training); + } } +insertTrainings($pdo, $to_add, $posted_data->id); + -echo "<pre>"; // TODO: files +echo "<pre>"; foreach ($posted_files as $key => $file) { if ($file['name'] != '') { @@ -472,7 +489,6 @@ foreach ($posted_files as $key => $file) { // if ($_FILES['file'.$i]['name']) { // $file_data = getOneFile($pdo, $posted_data['file_id'.$i], $id); // if (move_uploaded_file($_FILES['file'.$i]['tmp_name'], $file_data['file_path'])) { - // } else { // // Le fichier est ouvert // $_SESSION['edit_error']['files'] = "Erreur lors du remplacement du fichier" . $_FILES['file'.$i]['name'] . ", réessayez plus tard."; -- GitLab