Fin de création et suppression expérience et formation

Expérience/Formation
thomas muzard 1 year ago
parent 8458f989a4
commit 41042dc3be

@ -96,9 +96,9 @@ class Validation
return false;
}
public static function validerExperience(int $idProfil, string $intitule, string $dateDeb, ?string $dateFin, string $nomEntreprise, bool $currendJob)
public static function validerExperience(int $idProfil, string $intitule, string $dateDeb, ?string $dateFin, string $nomEntreprise, ?bool $currendJob)
{
if(!empty($idProfil) && !empty($intitule) && !empty($dateDeb) && !empty($nomEntreprise) && !empty($currendJob))
if(!empty($idProfil) && !empty($intitule) && !empty($dateDeb) && !empty($nomEntreprise))
{
self::nettoyerString($intitule, $dateDeb, $nomEntreprise);
if ($currendJob == false) {
@ -107,20 +107,20 @@ class Validation
return true;
}
return false;
} else {
/*} else {
if (empty($dateFin)) {
return true;
}
return false;
}
*/}
return true;
}
return false;
}
public static function validerFormation(int $idProfil, string $nom, string $ville, string $dateDeb, ?string $dateFin, bool $currendFormation)
public static function validerFormation(int $idProfil, string $nom, string $ville, string $dateDeb, ?string $dateFin, ?bool $currendFormation)
{
if(!empty($idProfil) && !empty($nom)&& !empty($ville) && !empty($dateDeb) && !empty($currendFormation))
if(!empty($idProfil) && !empty($nom)&& !empty($ville) && !empty($dateDeb))
{
self::nettoyerString($nom, $dateDeb, $ville);
if ($currendFormation == false) {

@ -4,6 +4,7 @@ namespace App\controleur;
use App\config\Validation;
use App\gateway\ImageManager;
use App\modele\MembreModele;
use Exception;
class MembreControleur extends UtilisateurControleur
{
@ -135,11 +136,18 @@ class MembreControleur extends UtilisateurControleur
{
global $twig;
$profilModel = new MembreModele();
$profil = $profilModel->getFormationByProfil($_SESSION["id"]);
var_dump($profil);
$experienceModel = new MembreModele();
$formationModel = new MembreModele();
$profil = $profilModel->getProfilById($_SESSION["id"]);
//var_dump($profil);
$exp = $experienceModel->getExperienceByProfil($_SESSION["id"]);
//var_dump($exp);
$form = $formationModel->getFormationByProfil($_SESSION["id"]);
// var_dump($profil);
if(isset($profil))
{
echo $twig->render("monProfil.html",['profil' => $profil]);
echo $twig->render("monProfil.html",['profil' => $profil, 'experience' => $exp, 'formation'=>$form]);
return;
}
}
@ -150,6 +158,7 @@ class MembreControleur extends UtilisateurControleur
$formationModel = new MembreModele();
$form = $formationModel->getFormationByProfil($_SESSION["id"]);
var_dump($form);
echo "Je rentre dans la formation";
if(isset($form))
{
echo $twig->render("detailFormation.html",['formation' => $form]);
@ -166,25 +175,36 @@ class MembreControleur extends UtilisateurControleur
public function addFormation()
{
global $twig;
if (!Validation::validerFormation($_SESSION["id"], $_POST["nom"], $_POST["ville"], $_POST["dateDeb"], $_POST["dateFin"], $_POST["currentFormation"])) {
try {
if (Validation::validerFormation($_SESSION["id"], $_POST["nom"], $_POST["ville"], $_POST["dateDeb"], $_POST["dateFin"], $_POST["currentFormation"])) {
$modele = new MembreModele();
$form = $modele->addExperience($_SESSION["id"], $_POST["nom"], $_POST["ville"], $_POST["dateDeb"], $_POST["dateFin"], $_POST["currentFormation"]);
var_dump($form);
$this->displayExperience($_SESSION["id"]);
$this->displayProfil($_SESSION["id"]);
echo $twig->render('creerFormation.html', ['formation' => $form]);
} else {
$dVueErreur[] ="Veillez entrer des valeurs correctes";
echo $twig->render("erreur.html",['dVueErreur' => $dVueErreur]);
}
} catch(Exception $e) {
$dVueErreur[] ="Erreur lors de la création de la formation";
echo $twig->render("erreur.html",['dVueErreur' => $dVueErreur]);
}
}
public function deleteFormation(?array $params)
{
global $twing;
global $twig;
try {
$mdl = new MembreModele();
$mdl->deleteFormation($params['id2']);
$this->displayFormation($_SESSION["id"]);
$mdl->deleteFormation($params['id']);
$this->displayProfil($_SESSION["id"]);
} catch(Exception $e) {
$dVueErreur[] ="Erreur lors de la supression de la formation";
echo $twig->render("erreur.html",['dVueErreur' => $dVueErreur]);
}
}
public function displayExperience()
@ -192,7 +212,8 @@ class MembreControleur extends UtilisateurControleur
global $twig;
$experienceModel = new MembreModele();
$exp = $experienceModel->getExperienceByProfil($_SESSION["id"]);
//var_dump($exp);
var_dump($exp);
echo "Je rentres dans les expériences";
if(isset($exp))
{
echo $twig->render("detailExperience.html",['experience' => $exp]);
@ -209,26 +230,37 @@ class MembreControleur extends UtilisateurControleur
public function addExperience()
{
global $twig;
if (!Validation::validerExperience($_SESSION["id"], $_POST["intitule"], $_POST["dateDeb"], $_POST["dateFin"], $_POST["nomEntreprise"], $_POST["currentJob"])) {
try {
if (Validation::validerExperience($_SESSION["id"], $_POST["intitule"], $_POST["dateDeb"], $_POST["dateFin"], $_POST["nomEntreprise"], $_POST["currentJob"]?? null)) {
$modele = new MembreModele();
$exp = $modele->addExperience($_SESSION["id"], $_POST["intitule"], $_POST["dateDeb"], $_POST["dateFin"], $_POST["nomEntreprise"], $_POST["currentJob"]);
var_dump($exp);
$this->displayExperience($_SESSION["id"]);
$exp = $modele->addExperience($_SESSION["id"], $_POST["intitule"], $_POST["dateDeb"], $_POST["dateFin"], $_POST["nomEntreprise"], $_POST["currentJob"]?? null);
// var_dump($exp);
$this->displayProfil($_SESSION["id"]);
echo $twig->render('creerExperience.html', ['experience' => $exp]);
} else {
$dVueErreur[] ="Erreur lors de la création de l'évènement";
$dVueErreur[] ="Veillez entrer des valeurs correctes";
echo $twig->render("erreur.html",['dVueErreur' => $dVueErreur]);
}
} catch (Exception $e){
$dVueErreur[] ="Erreur lors de la création de l'expérience";
echo $twig->render("erreur.html",['dVueErreur' => $dVueErreur]);
}
}
public function deleteExperience(?array $params)
{
global $twing;
global $twig;
try {
$mdl = new MembreModele();
$mdl->deleteExperience($params['id2']);
$this->displayExperience($_SESSION["id"]);
$mdl->deleteExperience($params['id']);
$this->displayProfil($_SESSION["id"]);
} catch(Exception $e) {
$dVueErreur[] ="Erreur lors de la supression de l'expérience ";
echo $twig->render("erreur.html",['dVueErreur' => $dVueErreur]);
}
}
}

@ -46,7 +46,7 @@ class FormationGateway
$this->con->executeQuery($query, array(
':profil' => array($profil, \PDO::PARAM_INT)
));
var_dump($profil);
// var_dump($profil);
// var_dump($this->con->getResults());
return $this->con->getResults();
}

@ -34,9 +34,9 @@ class Experience
private string $nomEntreprise;
/**
* @var bool Travail Actuel
* @var ?bool Travail Actuel
*/
private bool $travailActuel;
private ?bool $travailActuel;
/**
* @param int $id
@ -47,7 +47,7 @@ class Experience
* @param string $nomEntreprise
* @param bool $travailActuel
*/
public function __construct(int $id, int $profil, string $intitule, string $dateDebut, string $dateFin, string $nomEntreprise, bool $travailActuel)
public function __construct(int $id, int $profil, string $intitule, string $dateDebut, string $dateFin, string $nomEntreprise, ?bool $travailActuel)
{
$this->id = $id;
$this->profil = $profil;
@ -93,8 +93,8 @@ class Experience
return $this->nomEntreprise;
}
public function isTravailActuel(): bool
public function isTravailActuel(): ?bool
{
return $this->travailActuel;
return $this->travailActuel ?? null;
}
}

@ -36,7 +36,7 @@ class Formation
/**
* @var bool Formation Actuelle
*/
private bool $formationActuelle;
private ?bool $formationActuelle;
/**
* @param int $id
@ -95,8 +95,8 @@ class Formation
return $this->dateFin;
}
public function isFormationActuelle(): bool
public function isFormationActuelle(): ?bool
{
return $this->formationActuelle;
return $this->formationActuelle ?? null;
}
}

@ -13,7 +13,7 @@ class Profil
/**
* @var string CV
*/
private string $cv;
private ?string $cv;
/**
* @var string Nom
@ -31,17 +31,17 @@ class Profil
*/
//image can be null
private ?string $image;
private string $linkedinUrl;
private ?string $linkedinUrl;
/**
* @var string Url github
*/
private string $githubUrl;
private ?string $githubUrl;
/**
* @var string Url du portfolio
*/
private string $portfolioUrl;
private ?string $portfolioUrl;
/**
*@var array liste des formation d'un profil
@ -61,7 +61,7 @@ class Profil
* @param string $githubUrl
* @param string $portfolioUrl
*/
public function __construct(int $idProfil,string $nom, string $prenom, string $email, ?string $image,string $cv, string $linkedinUrl, string $githubUrl, string $portfolioUrl)
public function __construct(int $idProfil,string $nom, string $prenom, string $email, ?string $image, ?string $cv, ?string $linkedinUrl, ?string $githubUrl, ?string $portfolioUrl)
{
$this->id = $idProfil;
$this->nom = $nom;
@ -92,9 +92,9 @@ class Profil
return $this->image ?? 'logo.png';
}
public function getCv(): string
public function getCv(): ?string
{
return $this->cv;
return $this->cv ?? null;
}
public function getNom(): string
@ -107,22 +107,22 @@ class Profil
return $this->prenom;
}
public function getLinkedinUrl(): string
public function getLinkedinUrl(): ?string
{
return $this->linkedinUrl;
return $this->linkedinUrl ?? null;
}
public function getGithubUrl(): string
public function getGithubUrl(): ?string
{
return $this->githubUrl;
return $this->githubUrl ?? null;
}
public function getEmail(): string
{
return $this->email;
}
public function getPortfolioUrl(): string
public function getPortfolioUrl(): ?string
{
return $this->portfolioUrl;
return $this->portfolioUrl ?? null;
}
}

@ -60,12 +60,12 @@ class MembreModele extends UtilisateurModele
$row['id'],
$row['nom'],
$row['prenom'],
$row['image'],
$row['email'],
$row['cv'],
$row['linkedinUrl'],
$row['githubUrl'],
$row['portfolioUrl']
$row['image'] ?? null,
$row['cv'] ?? null,
$row['linkedinURL'] ?? null,
$row['githubURL'] ?? null,
$row['portfolioURL'] ?? null
);
}
return $profil;
@ -122,7 +122,7 @@ class MembreModele extends UtilisateurModele
/**
* @description ajouter Experience
*/
public function addExperience($idExperience, string $intitule, string $dateDeb, string $dateFin, string $nomEntreprise, string $currentJob)
public function addExperience($idExperience, string $intitule, string $dateDeb, string $dateFin, string $nomEntreprise, ?string $currentJob)
{
$exp = new Experience(
$this->experienceGw->getNewId(),
@ -133,8 +133,10 @@ class MembreModele extends UtilisateurModele
$nomEntreprise,
$currentJob
);
var_dump($exp);
$this->experienceGw->addExperience($exp);
}
/**
@ -153,7 +155,7 @@ class MembreModele extends UtilisateurModele
$data = $this->formationGw->getFormationFromProfil($idProfil);
$formation = array();
var_dump($data);
// var_dump($data);
foreach($data as $row)
{
$formation[] = new Formation(
@ -166,14 +168,14 @@ class MembreModele extends UtilisateurModele
$row['currentFormation']
);
}
var_dump($formation);
// var_dump($formation);
return $formation;
}
/**
* @description ajouter une formation
*/
public function addFormation($idExperience, string $nom, string $ville, string $dateDeb, string $dateFin, string $currentFormation)
public function addFormation($idExperience, string $nom, string $ville, string $dateDeb, string $dateFin, ?string $currentFormation)
{
$form = new Formation(
$this->experienceGw->getNewId(),

@ -38,7 +38,7 @@
</div>
<div>
<input type="submit" value="addExperience">
<input type="submit" value="user/addExperience">
</div>
</form>

@ -33,7 +33,7 @@
</div>
<div>
<label for="currentFormation">Job en cours ? :</label>
<label for="currentFormation">Formation en cours ? :</label>
<input type="checkbox" name="currentFormation" id="currentFormation">
</div>

@ -10,13 +10,14 @@
<div>
{% if experience %}
{% for exp in experience %}
<h2>Détails de l'Événement : {{exp.getIntitule()}}</h2>
<h2>Détails de l'expérience : {{exp.getIntitule()}}</h2>
<div>
<p><strong>nom de l'entreprise :</strong> {{ exp.getNomEntreprise() }}</p>
<p><strong>Date de début :</strong> {{ exp.getDateDebut() }}</p>
<p><strong>Date de fin :</strong> {{ exp.getDateFin }}</p>
<p><strong>Job en cours ? :</strong> {{ exp.isTravailActuel() }}</p>
</div>
<a href="{{dir}}/user/{{exp.getId}}/deleteExperience">Supprimer cette experience</a>
{% endfor %}
{% else %}
<p>Aucune expérience n'a été ajouté</p>
@ -25,7 +26,7 @@
<div>
<a href="{{dir}}/user/experienceForm">Ajouter Experience</a>
<br>
<a href="{{dir}}/user/displayExperience">Retour</a>
<a href="{{dir}}/user/displayProfil">Retour</a>
</div>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>

@ -16,6 +16,7 @@
<p><strong>Date de début :</strong> {{ form.getDateDebut() }}</p>
<p><strong>Date de fin :</strong> {{ form.getDateFin }}</p>
<p><strong>Formation en cours ? :</strong> {{ form.isFormationActuelle() }}</p>
<a href="{{dir}}/user/{{form.getId}}/deleteFormation">Supprimer cette formation</a>
</div>
{% endfor %}
{% else %}
@ -25,7 +26,7 @@
<div>
<a href="{{dir}}/user/FormationForm">Ajouter Formation</a>
<br>
<a href="{{dir}}/user/displayFormation">Retour</a>
<a href="{{dir}}/user/displayProfil">Retour</a>
</div>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>

@ -3,9 +3,7 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
{% if profil %}
<title>{profil.getNom()} {profil.getprenom()} </title>
{% endif %}
<title> Mon profil </title>
<link rel="stylesheet" href="">
</head>
<body>
@ -16,15 +14,17 @@
<div>
{% if profil %}
<h1>Profil de : {{ profil.nom }} {{ profil.prenom }}</h1>
<!-- <p>{{ dump(profil) }}</p> -->
<!-- By Thomas -->
<!-- Je ne comprends pas pourquoi le contenu du profil ne s'affiche pas -->
<h1>Profil de : {{ profil.getNom() }} {{ profil.getPrenom() }}</h1>
<div>
<p><strong>Nom :</strong> {{ profil.nom }}</p>
<p><strong>Prenom :</strong> {{ profil.prenom }}</p>
<p><strong> :</strong> </p>
<p><strong> :</strong> </p>
<p><strong>Mail :</strong> {{ profil.getEmail() }}</p>
<p><strong>Linkedin :</strong> {{ profil.getLinkedinUrl() }}</p>
<p><strong>Git :</strong> {{ profil.getGithubUrl() }}</p>
<p><strong>Portforlio :</strong> {{ profil.getPortfolioUrl() }}</p>
<!-- Modification du profil -->
<a href="{{dir}}/user/displayProfil">Modifier profil</a>
</div>
{% else %}
<p>Error Profil</p>
@ -32,11 +32,13 @@
</div>
<div>
<h1> Mes expériences </h1>
<!-- Partie expérience de l'utilisateur -->
{% include "detailExperience.html" %}
</div>
<div>
<h1> Mes formations </h1>
<!-- Partie formation de l'utilisateur -->
{% include "detailFormation.html" %}
</div>

Loading…
Cancel
Save