push avant évaluation

alexis-rendu
Baptiste D 1 year ago
parent 1d3486d9ba
commit 4c3e3571a9

@ -12,8 +12,8 @@
} }
.custom-button { .custom-button {
background-color: #00DBFF; background-color: #7fb4bd;
border-color: #00DBFF; border-color: #7fb4bd;
color: #fff; color: #fff;
} }

@ -78,7 +78,7 @@ class MembreControleur extends UtilisateurControleur
$offre = $mbrModel->publishOffer($saveImg1[1], $saveImg2[1]); $offre = $mbrModel->publishOffer($saveImg1[1], $saveImg2[1]);
echo $twig->render("OffreDetailTest.html", ['offre' => $offre]); echo $twig->render("OffreDetail.html", ['offre' => $offre]);
} }
else else
{ {
@ -101,17 +101,7 @@ class MembreControleur extends UtilisateurControleur
$MemberModel->deleteOffer($offre); $MemberModel->deleteOffer($offre);
} }
$this->consultOffers(); $this->consultOffers(NULL);
/*$offre = $MemberModel->getOfferFromId($id);
if($offre->getOffreur()->getId() == $_SESSION['id']
|| $_SESSION['role'] == "admin")
{
$MemberModel = new MembreModele();
$MemberModel->deleteOffer($offre);
$this->consultOffers();
}*/
} }

@ -84,7 +84,7 @@ class UtilisateurControleur
echo $twig->render('inscription.html', ['dVueErreur' => $dVueErreur]); echo $twig->render('inscription.html', ['dVueErreur' => $dVueErreur]);
} }
protected function accueil() public function accueil()
{ {
global $twig; global $twig;
// Ajout d'un var_dump pour déboguer // Ajout d'un var_dump pour déboguer
@ -104,6 +104,10 @@ class UtilisateurControleur
echo 'not implemented yet'; echo 'not implemented yet';
} }
/**
* @return void
* @description afficher la liste des offres
*/
public function resetFilters() public function resetFilters()
{ {
unset($_SESSION["niveauEtudes"]); unset($_SESSION["niveauEtudes"]);
@ -112,6 +116,11 @@ class UtilisateurControleur
$this->consultOffers(null); $this->consultOffers(null);
} }
/**
* @param array|null $params paramètres / filtres de la rehcerhce
* @return void
* @description afficher la liste des offres
*/
public function consultOffers(?array $params) public function consultOffers(?array $params)
{ {
$userMdl = new UtilisateurModele(); $userMdl = new UtilisateurModele();
@ -209,6 +218,11 @@ class UtilisateurControleur
]); ]);
} }
/**
* @param array|null $params paramètres
* @return void
* @description afficher le détail d'une offre
*/
public function displayOffer(?array $params) public function displayOffer(?array $params)
{ {
global $twig; global $twig;
@ -219,7 +233,7 @@ class UtilisateurControleur
$offre = $uttilsMdl->getOfferFromId(intval($params["id"])); $offre = $uttilsMdl->getOfferFromId(intval($params["id"]));
if($offre != NULL) if($offre != NULL)
{ {
echo $twig->render("OffreDetailTest.html",['offre' => $offre]); echo $twig->render("OffreDetail.html",['offre' => $offre]);
return; return;
} }
} }
@ -295,6 +309,4 @@ class UtilisateurControleur
echo $twig->render('erreur.html', ['dVueErreur' => $dVueErreur]); echo $twig->render('erreur.html', ['dVueErreur' => $dVueErreur]);
} }
} }
} }

@ -4,11 +4,20 @@ namespace App\gateway;
class ImageManager class ImageManager
{ {
/**
* @return int id aléatoire
* @description générer un id aléatoire
*/
public static function getId() : int public static function getId() : int
{ {
return rand(10000,19999); return rand(10000,19999);
} }
/**
* @description sauvegarder une image
* @param string $filename
* @return array [bool,string] tableau de retour avec le booléen et le nom de l'image
*/
public static function SaveImage(string $filename) : array public static function SaveImage(string $filename) : array
{ {
try { try {
@ -28,6 +37,11 @@ class ImageManager
} }
} }
/**
* @param string $img
* @return bool true si l'image a été supprimée, false sinon
* @description supprimer une image
*/
public static function deleteImg(string $img) : bool public static function deleteImg(string $img) : bool
{ {
$path = "public/uploads/$img"; $path = "public/uploads/$img";

@ -67,8 +67,11 @@ class MembreModele extends UtilisateurModele
return false; return false;
} }
/**
* @param string $img url de l'image
* @param string $logo url du logo
* @description publier une offre
*/
public function publishOffer(string $img, string $logo) public function publishOffer(string $img, string $logo)
{ {
$desc = $_POST["description"]; $desc = $_POST["description"];
@ -116,6 +119,11 @@ class MembreModele extends UtilisateurModele
return $offre; return $offre;
} }
/**
* @param Offre $offre offre à supprimer
* @description supprimer une offre
* @return void
*/
public function deleteOffer(Offre $offre) public function deleteOffer(Offre $offre)
{ {
$this->offreGw->deleteOffer($offre->getId()); $this->offreGw->deleteOffer($offre->getId());

@ -192,6 +192,11 @@ class UtilisateurModele
} }
/**
* @param int $id identifiant d'offre
* @return Offre|null offre trouvée
* @description récupérer une offre depuis son id
*/
public function getOfferFromId(int $id) : ?Offre public function getOfferFromId(int $id) : ?Offre
{ {
$res = $this->offreGw->getOfferFromId($id); $res = $this->offreGw->getOfferFromId($id);
@ -203,6 +208,11 @@ class UtilisateurModele
/**
* @description créer une offre depuis un tableau de retour de Gw
* @param array $res tableau de retour de Gw
* @return array tableau d'offres
*/
public function CreateOffersFromGw($res) : array public function CreateOffersFromGw($res) : array
{ {
$alGw = new AlumniGateway(new Connection(DB_HOST,DB_USER,DB_PASS)); $alGw = new AlumniGateway(new Connection(DB_HOST,DB_USER,DB_PASS));
@ -244,22 +254,37 @@ class UtilisateurModele
return $offers; return $offers;
} }
/**
* @param $start int de départ pour la reqûete sql
* @param $nbOffers nombre d'offres à récupérer
* @return array tableau d'offres
*/
public function getOfferLimit($start, $nbOffers): array public function getOfferLimit($start, $nbOffers): array
{ {
$res = $this->offreGw->getOfferLimit($start, $nbOffers); $res = $this->offreGw->getOfferLimit($start, $nbOffers);
return $this->CreateOffersFromGw($res); return $this->CreateOffersFromGw($res);
} }
/**
* @return int nombre d'offres
*/
public function getNbOffers() : int public function getNbOffers() : int
{ {
return $this->offreGw->getNbOffers(); return $this->offreGw->getNbOffers();
} }
/**
* @param $params array filtres de la recherche
* @return array tableau d'offres
*/
public function getOffersWithFilters($params) : array public function getOffersWithFilters($params) : array
{ {
return $this->CreateOffersFromGw($this->offreGw->getOffersWithFilters($params)); return $this->CreateOffersFromGw($this->offreGw->getOffersWithFilters($params));
} }
/**
* @return array tableau de toutes les offres
*/
public function getOffers() : array public function getOffers() : array
{ {
$res = $this->offreGw->getOffers(); $res = $this->offreGw->getOffers();

@ -16,6 +16,9 @@
<div> <div>
{% if role == 'Membre' or role == 'Admin' %} {% if role == 'Membre' or role == 'Admin' %}
<a href="{{dir}}/user/{{id}}/createOfferForm" type="button" class="btn btn-outline-success mb-4">Publier une offre</a> <a href="{{dir}}/user/{{id}}/createOfferForm" type="button" class="btn btn-outline-success mb-4">Publier une offre</a>
{% else %}
<a type="button" class="btn btn-outline-light mb-4">Publier une offre</a>
<p><i>Connectez vous pour publier une offre</i></p>
{% endif %} {% endif %}
</div> </div>

@ -14,6 +14,7 @@
<div class="container mt-5"> <div class="container mt-5">
<h1 class="display-4">Détails de l'Offre</h1> <h1 class="display-4">Détails de l'Offre</h1>
<a href="{{dir}}/ConsultOffers" class="btn btn-primary mb-4">Retour</a>
<ul class="list-group"> <ul class="list-group">
@ -34,7 +35,7 @@
<li class="list-group-item"><strong>Date de publication:</strong> {{ offre.getDateStringFr() }}</li> <li class="list-group-item"><strong>Date de publication:</strong> {{ offre.getDateStringFr() }}</li>
<li class="list-group-item"><strong>Descriptif Poste :</strong> {{ offre.getDescriptifPoste() }}</li> <li class="list-group-item"><strong>Descriptif Poste :</strong> {{ offre.getDescriptifPoste() }}</li>
<li class="list-group-item"><strong>Profil recherché :</strong> {{ offre.getProfilSearched() }}</li> <li class="list-group-item"><strong>Profil recherché :</strong> {{ offre.getProfilSearched() }}</li>
<li class="list-group-item"><strong>Site de L'annonce :</strong> {{ offre.getSiteUrl() }}</li> <li class="list-group-item"><strong>Site de L'annonce :</strong><a href="{{offre.getSiteUrl()}}" target="_blank">{{ offre.getSiteUrl() }}</a></li>
<li class="list-group-item"><strong>Mail de Contact : :</strong> {{ offre.getMailContact() }}</li> <li class="list-group-item"><strong>Mail de Contact : :</strong> {{ offre.getMailContact() }}</li>
<li class="list-group-item"><strong>Numéro de Contact :</strong> {{ offre.getNumero() }}</li> <li class="list-group-item"><strong>Numéro de Contact :</strong> {{ offre.getNumero() }}</li>
<li class="list-group-item"> <li class="list-group-item">
Loading…
Cancel
Save