Table des matières

docuMMC

Présentation

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.

Outils de développement

Documents

Script de la base de données

docu.sql

Diagramme de cas d'utilisation

Gérer Utilisateurs / Gérer Mondes

Travail fourni

LibelleDocument
Base de données docu.sql
Documentation technique docu.pdf
Application pour la classe + docu.sql docu.zip

Modèle

Travail sur 3 classes métiers:

  1. Utilisateur
  2. Monde
  3. Groupe

Vue

Voici les vues utilisées:

MéthodesDescription
VAdmin Page principal avec utilisateurs et mondes
VAddUser Vue permettant l'ajout d’un nouvel utilisateur
VAddMonde Vue permettant l'ajout d'un nouveau monde
VUpdateUser Modification d'un utilisateur existant
VUpdateMonde Modification d'un monde existant

Contrôleur

La gestion des Utilisateurs et Mondes est effectuée dans le contrôleur CAdmin . Le contrôleur possède plusieurs méthodes:

MéthodesDescription
index Méthode appelée par défaut qui appelle la fonction resfresh
refresh Appelée par l'index, cette méthode est utilisé pour l’affichage initial et le rafraîchissement après une modification
deleteUser Supprimer un utilisateur
deleteMonde Supprimer un monde
viewAddUser Affichage vue VAddUser
addUser Ajouter un utilisateur
viewAddMonde Affichage vue VAddMonde
addMonde Ajouter un monde
viewUpdateUser Affichage vue VUpdateUser
updateUser Modification d’un utilisateur
viewUpdateMonde Affichage vue VUpdateMonde
updateMonde Modification d'un monde

Librairie

Appelée dans le constructeur : $this→load→library('Modelutils');

Utilisation de la librairie ModelUtils, plusieurs fonctions ont été créées.

<?php

class ModelUtils{

    private $ci;
    public function __construct(){
        $this->ci =& get_instance();
    }

    public function getAllUsers(){
        $query = $this->ci->doctrine->em->createQuery("SELECT u FROM Utilisateur u");
        return $query->getResult();
    }

    public function getUserWithId($param){
        $query = $this->ci->doctrine->em->createQuery("SELECT u FROM Utilisateur u WHERE u.id='".$param."'");
        return $query->getSingleResult();
    }

    public function getAllMondes(){
        $query = $this->ci->doctrine->em->createQuery("SELECT m FROM Monde m");
        return $query->getResult();
    }

    public function getMondeWithId($param){
        $query = $this->ci->doctrine->em->createQuery("SELECT m FROM Monde m WHERE m.id='".$param."'");
        return $query->getSingleResult();
    }

    public function getMondeWithLibelle($param){
        $query = $this->ci->doctrine->em->createQuery("SELECT m FROM Monde m WHERE m.libelle='".$param."'");
        return $query->getSingleResult();
    }

    public function getAllGroupes(){
        $query = $this->ci->doctrine->em->createQuery("SELECT g FROM Groupe g");
        return $query->getResult();
    }

    public function getAllDomaines(){
        $query = $this->ci->doctrine->em->createQuery("SELECT d FROM Domaine d");
        return $query->getResult();
    }

    public function getGroupeWithId($param){
        $query = $this->ci->doctrine->em->createQuery("SELECT g FROM Groupe g WHERE g.id='".$param."'");
        return $query->getSingleResult();
    }

    public function getGroupeWithLibelle($param){
        $query = $this->ci->doctrine->em->createQuery("SELECT g FROM Groupe g WHERE g.libelle='".$param."'");
        return $query->getSingleResult();

    }
    
}