| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
| etudiants:2014:beaugrand:dokumission [2014/12/16 15:49] – [Modéle MVC] charly | etudiants:2014:beaugrand:dokumission [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 |
|---|
| - Utilisateur | - Utilisateur |
| |
| * Un utilisateur est associé à des documents s'il en possèdent. | * Un utilisateur est associé à des documents s'il en possède. |
| * Un utilisateur peut travailler dans un ou plusieurs domaines. | * Un utilisateur peut travailler dans un ou plusieurs domaines. |
| * Les documents sont identifier dans des thèmes. | * Les documents sont identifiés dans des thèmes. |
| * Un thème appartient à un domaine. | * Un thème appartient à un domaine. |
| * Un thème peut posséder un thème parent. | * Un thème peut posséder un thème parent. |
| === Vue === | === Vue === |
| |
| Pour la gestion des thèmes 3 vues sont utilisées: | Pour la gestion des thèmes, 3 vues sont utilisées: |
| * v_theme (Vue général, liste les thèmes triés + formulaire d'ajout et de modification){{:etudiants:2014:beaugrand:vuegeneraltheme.png?600|}} | * v_theme (Vue générale, liste les thèmes triés + formulaire d'ajout et de modification){{:etudiants:2014:beaugrand:vuegeneraltheme.png?600|}} |
| |
| * v_confirmdeletetheme (La vue s'affiche si aucun document n'est affecté) | * v_confirmdeletetheme (La vue s'affiche si aucun document n'est affecté) |
| {{:etudiants:2014:beaugrand:confirmdeletetheme.png?600|}} | {{:etudiants:2014:beaugrand:confirmdeletetheme.png?600|}} |
| |
| * v_formdeletetheme (Avant suppression, on demande s'il on souhaite garder les documents) | * v_formdeletetheme (Avant suppression, on demande si l'on souhaite garder les documents) |
| {{:etudiants:2014:beaugrand:formdeletetheme.png?600|}} | {{:etudiants:2014:beaugrand:formdeletetheme.png?600|}} |
| |
| === Controlleur === | === Contrôleur === |
| |
| La gestion des thèmes est effectué dans Gtheme. Le controlleur possède plusieurs méthode pour optimiser la mise en place des fonctionnalités. | La gestion des thèmes est effectuée dans Gtheme. Le contrôleur possède plusieurs méthode pour optimiser la mise en place des fonctionnalités. |
| |
| |
| |< 80% >| | |< 80% >| |
| ^ Méthodes^Description^ | ^ Méthodes^Description^ |
| | <html><span class="method">index </span></html>|Méthode appelée par défault (appel les vue supplémentaire tel que le menu, footer...) | | | <html><span class="method">index </span></html>| Méthode appelée par défaut (appelle les vue supplémentaire tel que le menu, footer...) | |
| | <html><span class="method">refresh</span></html> | Appelée par l'index, initialise les outils nécessaire au premier affichage de la page (Paramêtre de la BDD/fonction JS) | | | <html><span class="method">refresh</span></html> | Appelée par l'index, initialise les outils nécessaires au premier affichage de la page (Paramètre de la BDD/fonction JS) | |
| | <html><span class="method">addParentThem/updateParentThem</span></html> | Ces méthode ajoute/modifie l'ensemble des thèmes qui existe pour le domaine choisi pour les ajouter dans les listes déroulante | | | <html><span class="method">addParentThem/updateParentThem</span></html> | Ces méthodes ajoutent/modifient l'ensemble des thèmes qui existent pour le domaine choisi pour les ajouter dans les listes déroulante | |
| | <html><span class="method">add </span></html>|Ajoute un nouveau thème | | | <html><span class="method">add </span></html>|Ajoute un nouveau thème | |
| | <html><span class="method">theme_modif </span></html>| Est appelé quand on veut modifier un thème, celle-ci pré-remplit le domaine, thème parent | | | <html><span class="method">theme_modif </span></html>| Est appelée quand on veut modifier un thème, celle-ci pré-remplit le domaine/thème parent | |
| |<html><span class="method">update </span></html> | Met à jour les informations modifiées | | |<html><span class="method">update </span></html> | Met à jour les informations modifiées | |
| | <html><span class="method">deleteForm </span></html>| Cette méthode verifie si le thème possède des documents, suivant le résultat la vue affichée ne sera pas la même | | | <html><span class="method">deleteForm </span></html>| Cette méthode vérifie si le thème possède des documents, suivant le résultat la vue affichée ne sera pas la même | |
| | <html><span class="method">checkConfirmDelete </span></html>| Appelée par **deleteForm** s'il n'y a pas de document | | | <html><span class="method">checkConfirmDelete </span></html>| Appelée par **deleteForm** s'il n'y a pas de document | |
| | <html><span class="method">delete </span></html>| Supprime le theme | | | <html><span class="method">delete </span></html>| Supprime le thème | |
| | <html><span class="method">saveDocs </span></html>| Verifie si l'utilisateur a décidé de garder ou non les documents | | | <html><span class="method">saveDocs </span></html>| Vérifie si l'utilisateur a décidé de garder ou non les documents | |
| |<html><span class="method">updateDocs </span></html> | Dans la table document, met l'identifiant de thème à nul | | |<html><span class="method">updateDocs </span></html> | Dans la table document, met l'identifiant de thème à nul | |
| | <html><span class="deleteDocs ">refresh</span></html>| Supprime le document | | | <html><span class="deleteDocs ">refresh</span></html>| Supprime le document | |
| |
| === Librairie === | === Librairie === |
| Appelé dans le constructeur : //$this->load->library('Modelutils');// | Appelée dans le constructeur : //$this->load->library('Modelutils');// |
| Utilisation de la librairie **ModelUtils**, dans cette classe 2 modéles ont étaient crées. | Utilisation de la librairie **ModelUtils**, dans cette classe 2 modèles ont étés créés. |
| * cleanPost (nettoie les variables) | * cleanPost (nettoie les variables) |
| * ifempty (Recoit un tableau pour vérifier chaque contenu, si vide retourne false) | * ifempty (Reçoit un tableau pour vérifier chaque contenu, si vide, retourne false) |
| |
| <sxh php;title:ModelUtis.php> | <sxh php;title:ModelUtis.php> |
| } | } |
| </sxh> | </sxh> |
| ===== Requête doctrine utilisées ===== | ===== Requêtes doctrine utilisées ===== |
| |
| Les méthode doctrine sont appelées de la manière suivante : //$this->doctrine->em->// | Les méthodes doctrine sont appelées de la manière suivante : //$this->doctrine->em->// |
| |
| Pour un **Select** : | Pour un //Select multiple//: |
| - Appel de //createQuery //(création de la requête) | |
| - //getResult //(Récuération multiple) | |
| - //getSingleResult //(Récupérer une seul valeur) | |
| |
| Pour un **Update**: | <sxh php;title:Gtheme.php> |
| - Appel de //createQuery// | <?php |
| - //execute //(Execute la requête de mise à jour) | //Création de la requête paramétrée |
| | $queryDomaine = $this->doctrine->em->createQuery("SELECT d FROM Domaine d JOIN d.monde m WHERE m.id=:utilisateur"); |
| | //Paramètre |
| | $queryDomaine->setParameter('utilisateur',$user); |
| | //Récupère tous les résultats |
| | $domaine = $queryDomaine->getResult(); |
| | </sxh> |
| |
| Pour une **insertion**: | Pour un //Select// (une seul ligne) : |
| - //Persist //(Prépare l'instance à être insérée) | |
| - //flush //(Ajoute l'instance dans la base) | |
| |
| | <sxh php;title:Gtheme.php> |
| | <?php |
| | $queryThemeid=$this->doctrine->em->createQuery("SELECT t FROM theme t WHERE t.id=:theme"); |
| | $queryThemeid->setParameter('theme',$themeid); |
| | //Récupére un seul résultat |
| | $themeid=$queryThemeid->getSingleResult(); |
| | </sxh> |
| |
| | Pour un //Update et Insert// : |
| | |
| | <sxh php;title:Gtheme.php> |
| | <?php |
| | //Envoi d'une instance |
| | $this->doctrine->em->persist($theme); |
| | //Execution de la requête |
| | $this->doctrine->em->flush(); |
| | </sxh> |
| ===== Jsutils ===== | ===== Jsutils ===== |
| |
| __Liste des méthodes utilisées :__ | __Liste des méthodes utilisées :__ |
| - //postFormAndBindTo// Poste le formulaire | - //postFormAndBindTo// Poste le formulaire |
| - //getAndBindTo// Effectue une action suite à un événement (les paramètres de l'id Html sont envoyé automatiquement) | - //getAndBindTo// Effectue une action suite à un événement (les paramètres de l'id Html sont envoyés automatiquement) |
| - //click// Lors d'un clicque sur un élément on appel une autre méthode | - //click// Lors d'un clique sur un élément on appelle une autre méthode |
| - //show// Affiche l'élément mis en paramêtre | - //show// Affiche l'élément mis en paramètre |
| - //hide// Cache l'élément mis en paramêtre | - //hide// Cache l'élément mis en paramètre |
| - //get// Effectue une redirection | - //get// Effectue une redirection |
| - //doSomethingOn// Peut servir à ajouter ou supprimer des éléments dans un contenu existant | - //doSomethingOn// Peut servir à ajouter ou supprimer des éléments dans un contenu existant |
| - //compile// Ajoute la portion de code écrite vers la vue | - //compile// Ajoute la portion de code écrite vers la vue |