etudiants:2014:beaugrand:dokumission

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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/15 23:04] – [Document] charlyetudiants:2014:beaugrand:dokumission [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1
Ligne 32: Ligne 32:
   - 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.
Ligne 42: Ligne 42:
 === Vue === === Vue ===
  
-Pour la gestion des thèmes 3 vues sont utilisées: +Pour la gestion des thèmes3 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ée dans Gtheme. Le contrôleur possède plusieurs méthode pour optimiser la mise en place des fonctionnalités. 
 + 
 + 
 +|< 80% >| 
 +^ Méthodes^Description^ 
 +| <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écessaires au premier affichage de la page (Paramètre de la BDD/fonction JS) | 
 +| <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">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">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">delete </span></html>| Supprime le thème | 
 +| <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="deleteDocs ">refresh</span></html>| Supprime le document |
  
-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. 
-  * index (Méthode appelée par défault "appel les vue supplémentaire tel que le menu, footer...") 
-  * refresh (Appelée par l'index "initialise les outils nécessaire au premier affichage de la page (Paramêtre de la BDD/fonction JS)") 
-  * addParentThem/updateParentThem (Ces méthode ajoute/modifie l'ensemble des thèmes qui existe pour le domaine choisi pour les ajouter dans les listes déroulante) 
-  * add (Ajoute un nouveau thème) 
-  * theme_modif (Est appelé quand on veut modifier un thème, celle-ci pré-remplit le domaine, thème parent) 
-  * update (met à jour les informations modifiées) 
-  * deleteForm (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) 
-  * checkConfirmDelete (Appelée par **deleteForm** s'il n'y a pas de document) 
-  * delete (Supprime le theme) 
-  * saveDocs (Verifi si l'utilisateur a décidé de garder ou non les documents ) 
-  * updateDocs (Dans la table document, met l'identifiant de thème à nul) 
-  * deleteDocs (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 videretourne false)
-{{:etudiants:2014:beaugrand:methode_ifempty.png?400|}} +
-===== Requête doctrine utilisée =====+
  
-Les méthode doctrine sont appelées de la manière suivante : //$this->doctrine->em->//+<sxh php;title:ModelUtis.php> 
 +<?php 
 +/** 
 + * Récupére un array puis vérifie si une variable est vide 
 + * @param $params 
 + * @return boolean 
 + */ 
 + public function ifempty($params=array()){ 
 + $checked=true; 
 + foreach ($params as $param){ 
 + if($checked==true){ 
 + if(empty($param)){ 
 + $checked=false; 
 +
 +
 +
 + return $checked; 
 +
 +</sxh> 
 +===== Requêtes doctrine utilisées =====
  
-Pour un **Select** : +Les méthodes doctrine sont appelées de la manière suivante : //$this->doctrine->em->//
-  - Appel de //createQuery //(création de la requête) +
-  - //getResult //(Récuération multiple) +
-  - //getSingleResult //(Récupérer une seul valeur)+
  
-Pour un **Update**: +Pour un //Select multiple//:
-  - Appel de //createQuery// +
-  - //execute //(Execute la requête de mise à jour)+
  
-Pour une **insertion**+<sxh php;title:Gtheme.php> 
-  //Persist //(Prépare l'instance à être insérée+<?php 
-  - //flush //(Ajoute l'instance dans la base)+      //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 un //Select// (une seul ligne) :
  
-===== Jsutils =====+<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>
  
-les fonctions jsutils sont appelées pour rendre le contenu dynamique. Pour pouvoir l'utiliser il a été ajouté dans le constructeur //$this->load->library('jsUtils');//+Pour un //Update et Insert// :
  
-**$library_src** doit-être ajouté la vue pour charger la librairie jquery, **$script_foot** script compilé pour effectuer les actions +<sxh php;title:Gtheme.php> 
- +<?php 
-Les méthode jsutils sont appelées de la façon suivante : //$this->jsutils->//+    //Envoi d'une instance 
 +    $this->doctrine->em->persist($theme); 
 +    //Execution de la requête 
 +    $this->doctrine->em->flush(); 
 +</sxh> 
 +===== 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
  • etudiants/2014/beaugrand/dokumission.1418681092.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)