/** * @name update($pDetailOperation) * @param DetailOperationVO * @return integer * @desc Met à jour une opération */ private function update($pDetailOperation) { $pDetailOperation->setDate(StringUtils::dateTimeAujourdhuiDb()); $pDetailOperation->setIdConnexion($_SESSION[ID_CONNEXION]); $this->insertHistorique($pDetailOperation); // Ajout historique return DetailOperationManager::update($pDetailOperation); // update de l'opération }
/** * @name modifierInformation($pParam) * @return VR * @desc Modification des informations de l'adhérent. */ public function modifierInformation($pParam) { $lVr = InfoAdherentValid::validUpdateInformation($pParam); if ($lVr->getValid()) { // Chargement de l'adherent $lAdherentActuel = AdherentManager::select($pParam['id_adherent']); //Mise à jour des inscriptions de mailing liste $lMailingListeService = new MailingListeService(); if ($lAdherentActuel->getCourrielPrincipal() != "") { $lMailingListeService->delete($lAdherentActuel->getCourrielPrincipal()); } if ($lAdherentActuel->getCourrielSecondaire() != "") { $lMailingListeService->delete($lAdherentActuel->getCourrielSecondaire()); } if ($pParam['courrielPrincipal'] != "") { $lMailingListeService->insert($pParam['courrielPrincipal']); } if ($pParam['courrielSecondaire'] != "") { $lMailingListeService->insert($pParam['courrielSecondaire']); } $lAdherentActuel->setNom($pParam['nom']); $lAdherentActuel->setPrenom($pParam['prenom']); $lAdherentActuel->setCourrielPrincipal($pParam['courrielPrincipal']); $lAdherentActuel->setCourrielSecondaire($pParam['courrielSecondaire']); $lAdherentActuel->setTelephonePrincipal($pParam['telephonePrincipal']); $lAdherentActuel->setTelephoneSecondaire($pParam['telephoneSecondaire']); $lAdherentActuel->setAdresse($pParam['adresse']); $lAdherentActuel->setCodePostal($pParam['codePostal']); $lAdherentActuel->setVille($pParam['ville']); $lAdherentActuel->setDateNaissance($pParam['dateNaissance']); $lAdherentActuel->setCommentaire($pParam['commentaire']); // Insertion de la première mise à jour $lAdherentActuel->setDateMaj(StringUtils::dateTimeAujourdhuiDb()); // Maj de l'adherent dans la BDD AdherentManager::update($lAdherentActuel); $lCompteService = new CompteService(); $lCompte = $lCompteService->get($lAdherentActuel->getIdCompte()); $lCompte->setIdAdherentPrincipal($pParam['idAdherentPrincipal']); $lCompteService->set($lCompte); } return $lVr; }
/** * @name delete($pId) * @param integer * @desc Met à jour une opération */ public function delete($pId) { $lOperationValid = new OperationValid(); if ($lOperationValid->delete($pId)) { $lOperation = $this->getDetail($pId); // Maj du solde du compte $lTypeModificationSolde = array(1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14); if (in_array($lOperation->getTypePaiement(), $lTypeModificationSolde)) { $lCompteService = new CompteService(); // Mise à jour du solde $lCompte = $lCompteService->get($lOperation->getIdCompte()); $lCompte->setSolde($lCompte->getSolde() - $lOperation->getMontant()); $lCompteService->set($lCompte); } // Si c'est un paiement de facture de producteur il faut mettre à jour les paiements associés $lOperationChampComplementaireFacture = OperationChampComplementaireManager::recherche(array(OperationChampComplementaireManager::CHAMP_OPERATIONCHAMPCOMPLEMENTAIRE_CHCP_ID, OperationChampComplementaireManager::CHAMP_OPERATIONCHAMPCOMPLEMENTAIRE_VALEUR), array('=', '='), array(9, $pId), array(), array()); if (!is_null($lOperationChampComplementaireFacture[0]->getOpeId())) { // Suppression de l'operation de facture $lOperationFacture = $this->getDetail($lOperationChampComplementaireFacture[0]->getOpeId()); $this->delete($lOperationFacture->getId()); // Suppression de l'operation zeybu $lOpeFacChampComp = $lOperationFacture->getChampComplementaire(); $this->delete($lOpeFacChampComp[10]->getValeur()); } switch ($lOperation->getTypePaiement()) { case 0: // Annulation de la reservation // Annulation de la reservation case 16: case 22: $lOperation->setTypePaiement(16); return $this->update($lOperation); break; case 15: // Réservation non récupérée $lOperation->setTypePaiement(15); return $this->update($lOperation); break; case 1: // Annulation achat/dépot // Annulation achat/dépot case 2: case 6: $lOperation->setTypePaiement(18); return $this->update($lOperation); break; case 7: $lOperation->setTypePaiement(18); return $this->update($lOperation); break; case 8: $lOperation->setTypePaiement(20); return $this->update($lOperation); break; default: $lOperation->setDate(StringUtils::dateTimeAujourdhuiDb()); $lOperation->setlibelle("Supression"); $this->insertHistorique($lOperation); // Ajout historique //$this->insertHistorique($lDetailOperation); // Ajout historique return OperationManager::delete($pId); // delete de l'opération break; } } else { return false; } }
/** * @name validDelete($pData) * @return ReservationMarcheVR * @desc Test la validite de l'élément */ public static function validDelete($pData) { $lVr = new ReservationMarcheVR(); //Tests inputs if (!isset($pData['id_commande'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getLog()->addErreur($lErreur); } if (!isset($pData['idCompte'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getLog()->addErreur($lErreur); } if ($lVr->getValid()) { //Tests Techniques if (!is_int((int) $pData['id_commande'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_104_CODE); $lErreur->setMessage(MessagesErreurs::ERR_104_MSG); $lVr->getLog()->addErreur($lErreur); } if (!is_int((int) $pData['idCompte'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_104_CODE); $lErreur->setMessage(MessagesErreurs::ERR_104_MSG); $lVr->getLog()->addErreur($lErreur); } //Tests Fonctionnels if (empty($pData['id_commande'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_207_CODE); $lErreur->setMessage(MessagesErreurs::ERR_207_MSG); $lVr->getLog()->addErreur($lErreur); } if (empty($pData['idCompte'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_207_CODE); $lErreur->setMessage(MessagesErreurs::ERR_207_MSG); $lVr->getLog()->addErreur($lErreur); } $lCommande = CommandeManager::select($pData['id_commande']); // Marché : réservation non terminée if (!TestFonction::dateTimeEstPLusGrandeEgale($lCommande->getDateFinReservation(), StringUtils::dateTimeAujourdhuiDb())) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_221_CODE); $lErreur->setMessage(MessagesErreurs::ERR_221_MSG); $lVr->getLog()->addErreur($lErreur); } else { $lIdReservation = new IdReservationVO(); $lIdReservation->setIdCompte($pData['idCompte']); $lIdReservation->setIdCommande($pData['id_commande']); $lReservationService = new ReservationService(); $lOperations = $lReservationService->selectOperationReservation($lIdReservation); $lOperation = $lOperations[0]; $lIdOperation = $lOperation->getId(); // Si il y a bien une réservation existante if (is_null($lIdOperation) || $lOperation->getTypePaiement() != 0) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_238_CODE); $lErreur->setMessage(MessagesErreurs::ERR_238_MSG); $lVr->getLog()->addErreur($lErreur); } } } return $lVr; }
/** * @name modifierProducteur($pParam) * @desc Met à jour les informations du Producteur ainsi que ses autorisations */ public function modifierProducteur($pParam) { $lVr = ProducteurValid::validUpdate($pParam); if ($lVr->getValid()) { $lProducteur = new ProducteurVO(); $lProducteur->setId($pParam["id"]); $lProducteur->setIdFerme($pParam["idFerme"]); $lProducteur->setNom($pParam["nom"]); $lProducteur->setPrenom($pParam["prenom"]); $lProducteur->setCourrielPrincipal($pParam["courrielPrincipal"]); $lProducteur->setCourrielSecondaire($pParam["courrielSecondaire"]); $lProducteur->setTelephonePrincipal($pParam["telephonePrincipal"]); $lProducteur->setTelephoneSecondaire($pParam["telephoneSecondaire"]); $lProducteur->setAdresse($pParam["adresse"]); $lProducteur->setCodePostal($pParam["codePostal"]); $lProducteur->setVille($pParam["ville"]); $lProducteur->setDateNaissance($pParam["dateNaissance"]); $lProducteur->setCommentaire($pParam["commentaire"]); // Insertion de la date de mise à jour $lProducteur->setDateMaj(StringUtils::dateTimeAujourdhuiDb()); // On reporte le numero dans la maj $lProducteurActuel = ProducteurManager::select($lProducteur->getId()); $lProducteur->setNumero($lProducteurActuel->getNumero()); // L'adherent n'est pas supprimé $lProducteur->setEtat(0); // Maj du producteur dans la BDD ProducteurManager::update($lProducteur); $lResponse = new ModifierProducteurResponse(); $lResponse->setNumero($lProducteur->getNumero()); return $lResponse; } return $lVr; }
/** * @name suspendreAbonnement($pCompteAbonnement) * @param CompteAbonnementVO * @return bool * @desc Suspen les abonnements d'un compte */ public function suspendreAbonnement($pCompteAbonnement) { $lAbonnementValid = new AbonnementValid(); if ($lAbonnementValid->inputAbonnement($pCompteAbonnement)) { CompteAbonnementManager::suspendreCompte($pCompteAbonnement); $lHistoriqueSuspensionAbonnement = new HistoriqueSuspensionAbonnementVO(); $lHistoriqueSuspensionAbonnement->setDateDebutSuspension($pCompteAbonnement->getDateDebutSuspension()); $lHistoriqueSuspensionAbonnement->setDateFinSuspension($pCompteAbonnement->getDateFinSuspension()); $lHistoriqueSuspensionAbonnement->setIdProduitAbonnement(0); $lHistoriqueSuspensionAbonnement->setIdCompte($pCompteAbonnement->getIdCompte()); $lHistoriqueSuspensionAbonnement->setDate(StringUtils::dateTimeAujourdhuiDb()); $lHistoriqueSuspensionAbonnement->setIdConnexion($_SESSION[ID_CONNEXION]); HistoriqueSuspensionAbonnementManager::insert($lHistoriqueSuspensionAbonnement); // Récupère l'ensemble des abonnements et met à jour les réservations en conséquence $lListeCompteAbonnement = CompteAbonnementManager::selectActifByIdCompte($pCompteAbonnement->getIdCompte()); foreach ($lListeCompteAbonnement as $lCompteAbonnement) { $this->updateAbonnement($lCompteAbonnement); } } else { return false; } }
/** * @name updateStockQuantite($pStockQuantite) * @param StockQuantiteVO * @return integer * @desc Met à jour un stock quantite */ private function updateStockQuantite($pStockQuantite) { $lStockActuel = $this->getStockQuantite($pStockQuantite->getId()); $pStockQuantite->setIdNomProduit($lStockActuel->getIdNomProduit()); $pStockQuantite->setUnite($lStockActuel->getUnite()); $pStockQuantite->setDateCreation($lStockActuel->getDateCreation()); $pStockQuantite->setDateModification(StringUtils::dateTimeAujourdhuiDb()); $pStockQuantite->setIdLogin($_SESSION[DROIT_ID]); //$pStock->setEtat($lStockActuel->getEtat()); return StockQuantiteManager::update($pStockQuantite); // update }
/** * @name identifier($pParam) * @return VR * @desc Vérifie le login et mot de passe dans la BDD et renvoie un IdentificationPO avec l'authorisation et place les autorisations dans les variables de session */ public function identifier($pParam) { // En cas de nouvelle connexion sans déconnexion on supprime les droits session_unset(); $lValid = new IdentificationValid(); $lVr = $lValid->validAjout($pParam); if ($lVr->getValid()) { $lLogin = $pParam["login"]; // Version cryptée du mot de pass pour le comparer avec celui de la BDD $lPass = md5($pParam["pass"]); // Sélection des adhérents ayant le login de l'identification $lListeIdentification = IdentificationManager::selectByLogin($lLogin); // Recherche de correspondance de login et mot de passe dans la base $lAutorisation = false; $lModules = array(); if (is_array($lListeIdentification)) { foreach ($lListeIdentification as $lIdentification) { if ($lIdentification->getLogin() === $lLogin && $lIdentification->getPass() === $lPass && $lIdentification->getAutorise() == 1) { switch ($lIdentification->getType()) { case 1: // Adhérent $lModules = $this->identifierAdherent($lIdentification); break; case 2: // SuperZeybu $lModules = $this->identifierSuperZeybu($lIdentification); break; case 3: // Caisse $lModules = $this->identifierCaisse($lIdentification); break; case 4: // Compte Solidaire $lModules = $this->identifierCompteSolidaire($lIdentification); break; } $_SESSION[TYPE_ID] = $lIdentification->getType(); $lAutorisation = true; $lAcces = new AccesVO(); $lAcces->setIdLogin($lIdentification->getIdLogin()); $lAcces->setTypeLogin($lIdentification->getType()); $lAcces->setIp($_SERVER["REMOTE_ADDR"]); $lAcces->setNav($_SERVER['HTTP_USER_AGENT']); $lAcces->setDateCreation(StringUtils::dateTimeAujourdhuiDb()); $lAcces->setAutorise(1); $_SESSION[ID_CONNEXION] = AccesManager::insert($lAcces); } } } if ($lAutorisation) { $lResponse = new IdentificationResponse(); $lResponse->setType($_SESSION[TYPE_ID]); $lResponse->setModules($lModules); $lResponse->setIdConnexion($_SESSION[ID_CONNEXION]); return $lResponse; } else { $lVr = new TemplateVR(); $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_222_CODE); $lErreur->setMessage(MessagesErreurs::ERR_222_MSG); $lVr->getLog()->addErreur($lErreur); } } return $lVr; }
//L'adhérent $lAdherent = new AdherentVO(); $lAdherent->setIdCompte($lIdCompte); $lAdherent->setNumero($lNumero); $lAdherent->setNom(StringUtils::formaterNom(trim($lNom))); $lAdherent->setPrenom(StringUtils::formaterPrenom(trim($lPrenom))); $lAdherent->setCourrielPrincipal(trim($lCourrielP)); $lAdherent->setCourrielSecondaire(trim($lCourrielS)); $lAdherent->setTelephonePrincipal(trim($lTelephoneP)); $lAdherent->setTelephoneSecondaire(trim($lTelephoneS)); $lAdherent->setAdresse(trim($lAdresse)); $lAdherent->setCodePostal(trim($lCodePostal)); $lAdherent->setVille(StringUtils::formaterVille(trim($lVille))); $lAdherent->setDateNaissance($lDateNaissance); $lAdherent->setDateAdhesion($lDateAdhesion); $lAdherent->setDateMaj(StringUtils::dateTimeAujourdhuiDb()); $lAdherent->setCommentaire(trim($lCommentaire)); $lAdherent->setEtat(1); // Protection des dates vides if ($lAdherent->getDateNaissance() == '') { $lAdherent->setDateNaissance(StringUtils::FORMAT_DATE_NULLE); } $lRequete = "INSERT INTO " . AdherentManager::TABLE_ADHERENT . "\n\t\t\t\t\t\t\t(" . AdherentManager::CHAMP_ADHERENT_ID . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_NUMERO . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_ID_COMPTE . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_NOM . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_PRENOM . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_COURRIEL_PRINCIPAL . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_COURRIEL_SECONDAIRE . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_TELEPHONE_PRINCIPAL . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_TELEPHONE_SECONDAIRE . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_ADRESSE . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_CODE_POSTAL . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_VILLE . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_DATE_NAISSANCE . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_DATE_ADHESION . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_DATE_MAJ . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_COMMENTAIRE . "\t\t\t\t\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_ETAT . ")\n\t\t\t\t\t\t\tVALUES (NULL\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getNumero()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getIdCompte()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getNom()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getPrenom()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getCourrielPrincipal()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getCourrielSecondaire()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getTelephonePrincipal()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getTelephoneSecondaire()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getAdresse()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getCodePostal()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getVille()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getDateNaissance()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getDateAdhesion()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getDateMaj()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getCommentaire()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getEtat()) . "')"; $lId = Dbutils::executerRequeteInsertRetourId($lRequete); // Execution de la requete et récupération de l'Id généré par la BDD // Les modules autorisés des adhérents $lAutorisation = new AutorisationVO(); $lAutorisation->setIdAdherent($lId); $lAutorisation->setIdModule(1); AutorisationManager::insert($lAutorisation); $lAutorisation = new AutorisationVO();
$lData["categories"][$lProduit->getIdCategorie()] = array("nom" => $lProduit->getCproNom(), "produits" => array()); } array_push($lData["categories"][$lProduit->getIdCategorie()]["produits"], $lPdt); } } } foreach ($lData["categories"] as $lCategorie) { $lTemplate->assign_block_vars('categories', array('nom' => $lCategorie["nom"])); foreach ($lCategorie["produits"] as $lProduit) { $lTemplate->assign_block_vars('categories.produits', $lProduit); } } $lSolde = $lPage->getAdherent()->getCptSolde(); $lSoldeNv = $lSolde - $lTotal; $lTemplate->assign_vars(array('idMarche' => $_GET["id_marche"], 'sigleMonetaire' => SIGLE_MONETAIRE, 'solde' => StringUtils::affichageMonetaireFr($lSolde), 'soldeNv' => StringUtils::affichageMonetaireFr($lSoldeNv), 'comNumero' => $lPage->getMarche()->getNumero(), 'total' => StringUtils::affichageMonetaireFr($lTotal), 'dateFinReservation' => StringUtils::extractDate($lPage->getMarche()->getDateFinReservation()), 'heureFinReservation' => StringUtils::extractDbHeure($lPage->getMarche()->getDateFinReservation()), 'minuteFinReservation' => StringUtils::extractDbMinute($lPage->getMarche()->getDateFinReservation()), 'dateMarcheDebut' => StringUtils::extractDate($lPage->getMarche()->getDateMarcheDebut()), 'heureMarcheDebut' => StringUtils::extractDbHeure($lPage->getMarche()->getDateMarcheDebut()), 'minuteMarcheDebut' => StringUtils::extractDbMinute($lPage->getMarche()->getDateMarcheDebut()), 'heureMarcheFin' => StringUtils::extractDbHeure($lPage->getMarche()->getDateMarcheFin()), 'minuteMarcheFin' => StringUtils::extractDbMinute($lPage->getMarche()->getDateMarcheFin()))); if (TestFonction::dateTimeEstPLusGrandeEgale($lPage->getMarche()->getDateFinReservation(), StringUtils::dateTimeAujourdhuiDb())) { $lTemplate->set_filenames(array('boutonValiderReservation' => MOD_COMMANDE . '/' . 'BoutonValiderNvReservation.html')); $lTemplate->assign_var_from_handle('GESTION_RESERVATION', 'boutonValiderReservation'); } // Pied de Page $lTemplate->set_filenames(array('piedPage' => COMMUN_TEMPLATE . 'PiedPage.html')); $lTemplate->assign_vars(array('PROP_NOM' => PROP_NOM, 'PROP_ADRESSE' => PROP_ADRESSE, 'PROP_CODE_POSTAL' => PROP_CODE_POSTAL, 'PROP_VILLE' => PROP_VILLE, 'PROP_TEL' => PROP_TEL, 'PROP_MEL' => PROP_MEL, 'ZEYBUX_TITRE_SITE' => ZEYBUX_TITRE_SITE)); $lTemplate->assign_var_from_handle('PIED_PAGE', 'piedPage'); $lTemplate->set_filenames(array('page' => 'Page.html')); $lTemplate->assign_var_from_handle('CONTENU', 'body'); // Stock les infos pour une modification foreach ($_POST['id-produit'] as $lIdProduit) { if (isset($_POST['produit-' . $lIdProduit . '-lot']) && isset($_POST['produit-' . $lIdProduit . '-quantite'])) { $lParamRetour["detailReservation"][$lIdProduit] = array("id" => "", "stoIdDetailCommande" => $_POST['produit-' . $lIdProduit . '-lot'], "stoQuantite" => StringUtils::decimalFrToDb($_POST['produit-' . $lIdProduit . '-quantite']) * -1, "idProduit" => $lIdProduit); } }
/** * @name validUpdate($pData) * @return CommandeReservationVR * @desc Test la validite de l'élément */ public static function validUpdate($pData) { $lVr = new CommandeReservationVR(); //Tests inputs if (!isset($pData['detailReservation'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getLog()->addErreur($lErreur); } if (!isset($pData['idCompte'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getLog()->addErreur($lErreur); } if ($lVr->getValid()) { //Tests Techniques if (!is_array($pData['detailReservation'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_115_CODE); $lErreur->setMessage(MessagesErreurs::ERR_115_MSG); $lVr->getLog()->addErreur($lErreur); } if (!is_int((int) $pData['idCompte'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_104_CODE); $lErreur->setMessage(MessagesErreurs::ERR_104_MSG); $lVr->getLog()->addErreur($lErreur); } //Tests Fonctionnels if (empty($pData['detailReservation'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_207_CODE); $lErreur->setMessage(MessagesErreurs::ERR_207_MSG); $lVr->getLog()->addErreur($lErreur); } if (empty($pData['idCompte'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_207_CODE); $lErreur->setMessage(MessagesErreurs::ERR_207_MSG); $lVr->getLog()->addErreur($lErreur); } if (isset($pData["detailReservation"][0]["stoIdDetailCommande"])) { $lIdLot = $pData["detailReservation"][0]["stoIdDetailCommande"]; $lDetailMarche = DetailMarcheViewManager::selectByLot($lIdLot); // Marché : réservation non terminée if (!TestFonction::dateTimeEstPLusGrandeEgale($lDetailMarche[0]->getComDateFinReservation(), StringUtils::dateTimeAujourdhuiDb())) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_221_CODE); $lErreur->setMessage(MessagesErreurs::ERR_221_MSG); $lVr->getLog()->addErreur($lErreur); } else { $lIdReservation = new IdReservationVO(); $lIdReservation->setIdCompte($pData['idCompte']); $lIdReservation->setIdCommande($lDetailMarche[0]->getComId()); $lReservationService = new ReservationService(); $lOperations = $lReservationService->selectOperationReservation($lIdReservation); $lOperation = $lOperations[0]; $lIdOperation = $lOperation->getId(); // Si il y a bien une réservation existante if (is_null($lIdOperation) || $lOperation->getTypePaiement() != 0) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_238_CODE); $lErreur->setMessage(MessagesErreurs::ERR_238_MSG); $lVr->getLog()->addErreur($lErreur); } if ($lVr->getValid()) { foreach ($pData['detailReservation'] as $lReservation) { $lReservation["idOperation"] = $lIdOperation; $lVrReservation = CommandeDetailReservationValid::validUpdate($lReservation); if (!$lVrReservation->getValid()) { $lVr->setValid(false); } //$lVr->addCommandes($lVrReservation); if (isset($lReservation["stoIdDetailCommande"])) { $lCommandes = $lVr->getCommandes(); $lCommandes[$lReservation["stoIdDetailCommande"]] = $lVrReservation; $lVr->setCommandes($lCommandes); } } } } } else { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_117_CODE); $lErreur->setMessage(MessagesErreurs::ERR_117_MSG); $lVr->getLog()->addErreur($lErreur); } } return $lVr; }
/** * @name update($pAdherent) * @param AdherentVO * @return AdherentVO * @desc Modifie un adherent */ private function update($pAdherent) { $lAdherentActuel = AdherentManager::select($pAdherent->getId()); // Si pas de liaison création d'un nouveau compte if ($pAdherent->getIdCompte() == 0) { // Création d'un nouveau compte $lCompte = new CompteVO(); $lCompteService = new CompteService(); $lCompte = $lCompteService->set($lCompte); $pAdherent->setIdCompte($lCompte->getId()); // Laision avec l'adhérent $lCompte->setIdAdherentPrincipal($pAdherent->getId()); // Positionnement de l'adhérent en adhérent principal du compte $lCompteService->set($lCompte); } else { if ($pAdherent->getIdCompte() != $lAdherentActuel->getIdCompte()) { // Liaison avec un autre compte $lAdhesionService = new AdhesionService(); // Suppression des adhésions actuelles $lAdhesionService->deleteAdhesionAdherentByIdAdherent($pAdherent->getId()); // Les adhérents du compte $lListeAdherent = $this->selectActifByIdCompte($pAdherent->getIdCompte()); // Le premier adhérent $lAdherent = $lListeAdherent[0]; // Les adhésions sur le premier adhérent $lAdhesions = $lAdhesionService->getAdhesionSurAdherent($lAdherent->getId()); // Positionne les mêmes adhésions si elles existent foreach ($lAdhesions as $lAdhesion) { $lAdhesionAdherentDetail = $lAdhesionService->getAdhesionAdherent($lAdhesion->getAdadId()); if ($lAdhesionAdherentDetail) { $lAdhesionAdherent = $lAdhesionAdherentDetail->getAdhesionAdherent(); $lTypeAdhesion = $lAdhesionService->getTypeAdhesion($lAdhesionAdherent->getIdTypeAdhesion()); if ($lTypeAdhesion->getIdPerimetre() == 2) { // Si type d'adhésion sur périmètre compte $lAdhesionAdherent->setId(''); $lAdhesionAdherent->setIdAdherent($pAdherent->getId()); $lAdhesionService->setAdhesionAdherent($lAdhesionAdherent); } } } } } // Insertion de la date de mise à jour $pAdherent->setDateMaj(StringUtils::dateTimeAujourdhuiDb()); // On reporte le numero dans la maj $pAdherent->setNumero($lAdherentActuel->getNumero()); // L'adherent n'est pas supprimé $pAdherent->setEtat(1); // Mise en forme des données $pAdherent->setNom(StringUtils::formaterNom(trim($pAdherent->getNom()))); $pAdherent->setPrenom(StringUtils::formaterPrenom(trim($pAdherent->getPrenom()))); $pAdherent->setCourrielPrincipal(trim($pAdherent->getCourrielPrincipal())); $pAdherent->setCourrielSecondaire(trim($pAdherent->getCourrielSecondaire())); $pAdherent->setTelephonePrincipal(trim($pAdherent->getTelephonePrincipal())); $pAdherent->setTelephoneSecondaire(trim($pAdherent->getTelephoneSecondaire())); $pAdherent->setAdresse(trim($pAdherent->getAdresse())); $pAdherent->setCodePostal(trim($pAdherent->getCodePostal())); $pAdherent->setVille(StringUtils::formaterVille(trim($pAdherent->getVille()))); $pAdherent->setCommentaire(trim($pAdherent->getCommentaire())); // Protection des dates vides if ($pAdherent->getDateNaissance() == '') { $pAdherent->setDateNaissance(StringUtils::FORMAT_DATE_NULLE); } if ($pAdherent->getDateAdhesion() == '') { $pAdherent->setDateAdhesion(StringUtils::FORMAT_DATE_NULLE); } if ($pAdherent->getDateMaj() == '') { $pAdherent->setDateMaj(StringUtils::FORMAT_DATE_NULLE); } // Maj de l'adherent dans la BDD $lRetour = AdherentManager::update($pAdherent); // Récupération des autorisations acutelles $lAutorisationsActuelles = AutorisationManager::selectByIdAdherent($pAdherent->getId()); $lModuleService = new ModuleService(); $lModulesDefaut = $lModuleService->selectAllDefautVisible(); $lIdModuleDefaut = array(); foreach ($lModulesDefaut as $lModule) { array_push($lIdModuleDefaut, $lModule->getId()); } // Suppression des autorisations $lIdSuppAutorisation = array(); foreach ($lAutorisationsActuelles as $lAutorisationActu) { // Suppression si ce n'est pas un module par defaut if (!in_array($lAutorisationActu->getIdModule(), $lIdModuleDefaut)) { $lSupp = true; foreach ($pAdherent->getListeModule() as $lIdModule) { if ($lAutorisationActu->getIdModule() == $lIdModule) { $lSupp = false; } } if ($lSupp) { array_push($lIdSuppAutorisation, $lAutorisationActu->getId()); } } } if (!empty($lIdSuppAutorisation)) { AutorisationManager::deleteByArray($lIdSuppAutorisation); } // Ajout des nouvelles autorisations du compte $lAutorisations = array(); foreach ($pAdherent->getListeModule() as $lIdModule) { $lAjout = true; foreach ($lAutorisationsActuelles as $lAutorisationActu) { if ($lAutorisationActu->getIdModule() == $lIdModule) { $lAjout = false; } } if ($lAjout) { $lAutorisation = new AutorisationVO(); $lAutorisation->setIdAdherent($pAdherent->getId()); $lAutorisation->setIdModule($lIdModule); array_push($lAutorisations, $lAutorisation); } } if (!empty($lAutorisations)) { AutorisationManager::insertByArray($lAutorisations); } //Mise à jour des inscriptions de mailing liste $lMailingListeService = new MailingListeService(); // Suppression des anciens mails if ($lAdherentActuel->getCourrielPrincipal() != "") { $lMailingListeService->delete($lAdherentActuel->getCourrielPrincipal()); } if ($lAdherentActuel->getCourrielSecondaire() != "") { $lMailingListeService->delete($lAdherentActuel->getCourrielSecondaire()); } // Ajout des nouveaux mails if ($pAdherent->getCourrielPrincipal() != "") { $lMailingListeService->insert($pAdherent->getCourrielPrincipal()); } if ($pAdherent->getCourrielSecondaire() != "") { $lMailingListeService->insert($pAdherent->getCourrielSecondaire()); } return $lRetour; }