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 |