Avancement sur la page candidature

This commit is contained in:
Louis DUMONT 2022-03-24 16:49:23 +01:00
parent 18b4abd68a
commit 64e67b530d
6 changed files with 162 additions and 78 deletions

View File

@ -9,7 +9,7 @@ if (isset($_COOKIE['username']) && isset($_COOKIE['pass'])) {
if ($query_check_cookie->rowCount() == 1){ if ($query_check_cookie->rowCount() == 1){
$sql = 'SELECT ID_candidature, progression_candidature, cv_file_path_candidature, lm_file_path_candidature, validation_form_file_path_candidature, internship_agreement_file_path_candidature, name_internship, name_company, email_company, ID_user, username, city_localisation, postal_code_localisation FROM candidatures NATURAL JOIN users INNER JOIN internships ON candidatures.ID_internship=internships.ID_internship INNER JOIN localisations ON internships.ID_localisation=localisations.ID_localisation NATURAL JOIN companies WHERE username=:user ORDER BY offer_date_internship ASC;'; $sql = 'SELECT ID_candidature, progression_candidature, cv_file_path_candidature, lm_file_path_candidature, validation_form_file_path_candidature, internship_agreement_file_path_candidature, name_internship, name_company, email_company, ID_user, username, city_localisation, postal_code_localisation FROM candidatures NATURAL JOIN users INNER JOIN internships ON candidatures.ID_internship=internships.ID_internship INNER JOIN localisations ON internships.ID_localisation=localisations.ID_localisation NATURAL JOIN companies WHERE username=:user ORDER BY offer_date_internship ASC;';
$query_perm = $bdd->prepare('SELECT username, code_permission FROM users NATURAL JOIN roles NATURAL JOIN roles_has_permissions NATURAL JOIN permissions WHERE username=:user;'); $query_perm = $bdd->prepare('SELECT username, code_permission, name_role FROM users NATURAL JOIN roles NATURAL JOIN roles_has_permissions NATURAL JOIN permissions WHERE username=:user;');
$query_perm->execute(['user' => $_COOKIE["username"]]); $query_perm->execute(['user' => $_COOKIE["username"]]);
$results_perm = $query_perm->fetchALL(PDO::FETCH_OBJ); $results_perm = $query_perm->fetchALL(PDO::FETCH_OBJ);
if ($query_perm->rowCount() >= 1) { if ($query_perm->rowCount() >= 1) {
@ -22,7 +22,6 @@ if (isset($_COOKIE['username']) && isset($_COOKIE['pass'])) {
} }
if ($showCandidatures){ if ($showCandidatures){
$query_candidatures = $bdd->prepare($sql); $query_candidatures = $bdd->prepare($sql);
$query_candidatures->execute(['user' => $_COOKIE["username"]]); $query_candidatures->execute(['user' => $_COOKIE["username"]]);
$results_candidatures = $query_candidatures->fetchALL(PDO::FETCH_OBJ); $results_candidatures = $query_candidatures->fetchALL(PDO::FETCH_OBJ);
@ -41,6 +40,7 @@ if (isset($_COOKIE['username']) && isset($_COOKIE['pass'])) {
<div class="content"> <div class="content">
<div class="content_title">Candidatures</div> <div class="content_title">Candidatures</div>
<?php <?php
if ($results_perm[0]->name_role == "Etudiant") {
if ($query_candidatures->rowCount() >= 1) { if ($query_candidatures->rowCount() >= 1) {
foreach ($results_candidatures as $result) { foreach ($results_candidatures as $result) {
?> ?>
@ -53,17 +53,45 @@ if (isset($_COOKIE['username']) && isset($_COOKIE['pass'])) {
</div> </div>
<?= $result->city_localisation; ?> <?= $result->postal_code_localisation; ?> - <?= $result->email_company; ?> <?= $result->city_localisation; ?> <?= $result->postal_code_localisation; ?> - <?= $result->email_company; ?>
<div class="description"> <div class="description">
<?php if ($result->progression_candidature == 1) { ?> <?php
if ($result->progression_candidature == 0) {echo "Vous avez indiquez que l'entreprise a répondu négativemet à votre demande.<br>Ne perdez pas espoir :)";}
else if ($result->progression_candidature == 1) {?>
<div class="title_in_bubble_status">Status</div> <div class="title_in_bubble_status">Status</div>
<div class="text_stat">La candidature est actuellement en attente de réponse de l'entreprise.</div> <div class="text_stat">La candidature est actuellement en attente de réponse de l'entreprise.</div>
<div class="title_in_bubble_status">Prochaine étape:</div> <div class="title_in_bubble_status">Prochaine étape:</div>
A partir de l'adresse email de l'entreprise, nous vous invitons à la contacter afin de leur adresser votre CV et lettre de motivation. A partir de l'adresse email de l'entreprise, nous vous invitons à la contacter afin de leur adresser votre CV et lettre de motivation.
<br> <br>
<?php
$query_perm_step2 = $bdd->prepare('SELECT code_permission FROM users NATURAL JOIN roles NATURAL JOIN roles_has_permissions NATURAL JOIN permissions WHERE code_permission="SFx31" AND username=:user;');
$query_perm_step2->execute(['user' => $_COOKIE["username"]]);
if ($query_perm_step2->rowCount() >= 1) {
echo '<br>Est-ce que la réponse de la part de l\'entreprise est positive ?<br>';
echo '<button class="button" onclick="location.href=\'/controller/Manage_candidatures.php/?response=y&ID_candidature='.$result->ID_candidature.'\';">Oui</button>';
echo '<button class="button" onclick="location.href=\'/controller/Manage_candidatures.php/?response=n&ID_candidature='.$result->ID_candidature.'\';">Non</button>';
} else {
echo '<br>Vous n\'avez pas la permission d\'entrer la réponse de l\'entreprise... Veuillez contacter votre pilote ou délégué(e).';
}
?>
<?php
} else if ($result->progression_candidature == 2) { ?>
<div class="title_in_bubble_status">Status</div>
<div class="text_stat">La candidature est actuellement en attendre d'une fiche de validation de sujet de stage complétée et signée par l'entreprise.</div>
<div class="title_in_bubble_status">Prochaine étape:</div>
A partir de l'adresse email de l'entreprise, nous vous invitons à la contacter afin de leur adresser votre CV et lettre de motivation.
<br> <br>
Est-ce que la réponse de la part de l'entreprise est positive ?
<br> <?php
<button class="button">Oui</button> $query_perm_step2 = $bdd->prepare('SELECT code_permission FROM users NATURAL JOIN roles NATURAL JOIN roles_has_permissions NATURAL JOIN permissions WHERE code_permission="SFx31" AND username=:user;');
<button class="button">Non</button> $query_perm_step2->execute(['user' => $_COOKIE["username"]]);
if ($query_perm_step2->rowCount() >= 1) {
echo '<br>Est-ce que la réponse de la part de l\'entreprise est positive ?<br>';
echo '<button class="button" onclick="location.href=\'/controller/Manage_candidatures.php/?response=y&ID_candidature='.$result->ID_candidature.'\';">Oui</button>';
echo '<button class="button" onclick="location.href=\'/controller/Manage_candidatures.php/?response=n&ID_candidature='.$result->ID_candidature.'\';">Non</button>';
} else {
echo '<br>Vous n\'avez pas la permission d\'entrer la réponse de l\'entreprise... Veuillez contacter votre pilote ou délégué(e).';
}
?>
<?php } ?> <?php } ?>
</div> </div>
</div> </div>
@ -120,7 +148,11 @@ if (isset($_COOKIE['username']) && isset($_COOKIE['pass'])) {
Vous n'avez aucune candidature en cours &nbsp;<i class="fas fa-wind"></i> Vous n'avez aucune candidature en cours &nbsp;<i class="fas fa-wind"></i>
</div> </div>
</div> </div>
<?php } ?> <?php
}
} else { //Ici le contenu que le tuteur doit voir
// partie très compliquée :/
} ?>
</div> </div>
</div> </div>
</div> </div>

View File

@ -14,7 +14,7 @@
<div class="bubble"> <div class="bubble">
<div class="title_bubble">Accès refusé</div> <div class="title_bubble">Accès refusé</div>
<div class="text_content"> <div class="text_content">
Vous n'avez pas les permissions nécessaires pour accéder à cette page. Vous n'avez pas les permissions nécessaires pour accéder à cette page ou de réaliser cette action.
</div> </div>
</div> </div>
</div> </div>

View File

@ -0,0 +1,48 @@
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
require_once '../assets/vendors/phpmailer/src/Exception.php';
require_once '../assets/vendors/phpmailer/src/PHPMailer.php';
require_once '../assets/vendors/phpmailer/src/SMTP.php';
$mail = new PHPMailer(true);
if (isset($_COOKIE['username']) && isset($_COOKIE['pass'])) {
require "ConnexionBDD.php";
if (!$error) {
$query_check_cookie = $bdd->prepare('SELECT * FROM users NATURAL JOIN roles NATURAL JOIN roles_has_permissions NATURAL JOIN permissions WHERE code_permission="SFx1" AND username=:user AND password_user=:password_user;');
$query_check_cookie->execute(['user' => $_COOKIE['username'], 'password_user' => $_COOKIE['pass']]);
if ($query_check_cookie->rowCount() == 1){
if (isset($_GET["response"]) && isset($_GET["ID_candidature"])) {
$response = $_GET["response"];
$ID_candidature = $_GET["ID_candidature"];
$query_perm_step2 = $bdd->prepare('SELECT code_permission FROM users NATURAL JOIN roles NATURAL JOIN roles_has_permissions NATURAL JOIN permissions WHERE code_permission="SFx31" AND username=:user;');
$query_perm_step2->execute(['user' => $_COOKIE["username"]]);
if ($query_perm_step2->rowCount() >= 1) {
$query_check_user_candidature = $bdd->prepare('SELECT * FROM users NATURAL JOIN candidatures WHERE username=:user AND ID_candidature=:ID_candidature;');
$query_check_user_candidature->execute(['user' => $_COOKIE["username"], 'ID_candidature' => $ID_candidature]);
if ($query_perm_step2->rowCount() >= 1) {
if ($response == "y") {
$query_update_candidature = $bdd->prepare('UPDATE candidatures SET progression_candidature = "2" WHERE ID_candidature=:ID_candidature;');
$query_update_candidature->execute(['ID_candidature' => $ID_candidature]);
} else if ($response == "n") {
$query_update_candidature = $bdd->prepare('UPDATE candidatures SET progression_candidature = "0" WHERE ID_candidature=:ID_candidature;');
$query_update_candidature->execute(['ID_candidature' => $ID_candidature]);
}
echo "<script>location.href='/candidatures.php';</script>";
} else {
echo "<script>location.href='/candidatures.php';</script>";
}
} else {
header('HTTP/1.0 403 Forbidden');
require "controller/403.php";
}
}
}
}
}
?>

View File

@ -28,9 +28,7 @@ if (isset($_COOKIE['username']) && isset($_COOKIE['pass'])) {
if ($result->code_permission == "SFx30"){ $permAlertPilot = true; } if ($result->code_permission == "SFx30"){ $permAlertPilot = true; }
} }
echo $permPostuler.$permAlertPilot; if ($permPostuler) {
if (is_uploaded_file($_FILES['cv']['tmp_name']) && is_uploaded_file($_FILES['lm']['tmp_name']) && isset($_POST["ID_internship"])) { if (is_uploaded_file($_FILES['cv']['tmp_name']) && is_uploaded_file($_FILES['lm']['tmp_name']) && isset($_POST["ID_internship"])) {
$query_user = $bdd->prepare('SELECT ID_user, firstname_user, lastname_user, email_user FROM users WHERE username=:user;'); $query_user = $bdd->prepare('SELECT ID_user, firstname_user, lastname_user, email_user FROM users WHERE username=:user;');
$query_user->execute(['user' => $_COOKIE["username"]]); $query_user->execute(['user' => $_COOKIE["username"]]);
@ -63,9 +61,10 @@ if (isset($_COOKIE['username']) && isset($_COOKIE['pass'])) {
move_uploaded_file($_FILES['cv']['tmp_name'], "..".$location_cv); move_uploaded_file($_FILES['cv']['tmp_name'], "..".$location_cv);
move_uploaded_file($_FILES['lm']['tmp_name'], "..".$location_lm); move_uploaded_file($_FILES['lm']['tmp_name'], "..".$location_lm);
$query_ID_user = $bdd->prepare('INSERT INTO candidatures VALUES (NULL, "1", :location_cv, :location_lm, NULL, NULL, :ID_user, :ID_internship);'); $query_insert_candidature = $bdd->prepare('REPLACE INTO candidatures VALUES (NULL, "1", :location_cv, :location_lm, NULL, NULL, :ID_user, :ID_internship);');
$query_ID_user->execute(['location_cv' => $location_cv, 'location_lm' => $location_lm, 'ID_user' => $results_user[0]->ID_user, 'ID_internship' => $_POST["ID_internship"]]); $query_insert_candidature->execute(['location_cv' => $location_cv, 'location_lm' => $location_lm, 'ID_user' => $results_user[0]->ID_user, 'ID_internship' => $_POST["ID_internship"]]);
if ($permAlertPilot) {
try { try {
$mail->SMTPDebug = SMTP::DEBUG_SERVER; $mail->SMTPDebug = SMTP::DEBUG_SERVER;
$mail->isSMTP(); $mail->isSMTP();
@ -75,7 +74,7 @@ if (isset($_COOKIE['username']) && isset($_COOKIE['pass'])) {
$mail->Port = 587; $mail->Port = 587;
$mail->Username = 'teamspeakcompte@gmail.com'; $mail->Username = 'teamspeakcompte@gmail.com';
$mail->Password = ''; $mail->Password = 'wptjusfmrxurmgcf';
$mail->setFrom('teamspeakcompte@gmail.com', 'Ceci Ton Stage'); $mail->setFrom('teamspeakcompte@gmail.com', 'Ceci Ton Stage');
foreach ($results_pilots_of_user as $result) { foreach ($results_pilots_of_user as $result) {
@ -92,12 +91,17 @@ if (isset($_COOKIE['username']) && isset($_COOKIE['pass'])) {
} catch (Exception $e) { } catch (Exception $e) {
echo "Error in sending email. Mailer Error: {$mail->ErrorInfo}"; echo "Error in sending email. Mailer Error: {$mail->ErrorInfo}";
} }
//echo "<script>location.href='/offres_stages.php';</script>"; }
echo "<script>location.href='/offres_stages.php';</script>";
} }
catch (Exception $e) { catch (Exception $e) {
echo "zut une erreur"; echo "zut une erreur";
} }
} else {echo "POST file incomplet";} } else {echo "POST file incomplet";}
} else {
header('HTTP/1.0 403 Forbidden');
require "controller/403.php";
}
} }
} }
} }