Il s'agit d'adapter pour l'entreprise de créer un gestionnaire de documentation, qui permettra aux salariés de gérer/créer puis consulter/rechercher dans une documentation partagée.
Libelle | Document |
---|---|
Scénarii | desciptif_textuel.pdf |
Base de donnée | docu_4_.sql |
Application | dokumission.zip |
Application pour la classe + docu.sql | docu.zip |
Pour la classe: docu.zip
Pour pouvoir travailler sur les thèmes, il a fallu agir sur 4 classes métier:
Pour la gestion des thèmes, 3 vues sont utilisées:
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.
Méthodes | Description |
---|---|
index | Méthode appelée par défaut (appelle les vue supplémentaire tel que le menu, footer…) |
refresh | Appelée par l'index, initialise les outils nécessaires au premier affichage de la page (Paramètre de la BDD/fonction JS) |
addParentThem/updateParentThem | Ces méthodes ajoutent/modifient l'ensemble des thèmes qui existent pour le domaine choisi pour les ajouter dans les listes déroulante |
add | Ajoute un nouveau thème |
theme_modif | Est appelée 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 vérifie 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 thème |
saveDocs | Vérifie si l'utilisateur a décidé de garder ou non les documents |
updateDocs | Dans la table document, met l'identifiant de thème à nul |
refresh | Supprime le document |
Appelée dans le constructeur : $this→load→library('Modelutils'); Utilisation de la librairie ModelUtils, dans cette classe 2 modèles ont étés créés.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?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 ; } |
Les méthodes doctrine sont appelées de la manière suivante : $this→doctrine→em→
Pour un Select multiple:
1 2 3 4 5 6 7 |
<?php //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(); |
Pour un Select (une seul ligne) :
1 2 3 4 5 |
<?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(); |
Pour un Update et Insert :
1 2 3 4 5 |
<?php //Envoi d'une instance $this ->doctrine->em->persist( $theme ); //Execution de la requête $this ->doctrine->em-> flush (); |
Liste des méthodes utilisées :