- [x] Gestion des groupes (utilisateurs/machines)
- [x] bdd - [x] Creation d'un groupe individuel pour utilisateurs + association - [x] Creation d'un groupe individuel pour machines - [x] Creation d'une liaison entre 2 groupes (groupeUtilisateur, groupeMachine)
This commit is contained in:
parent
81ae09c4c4
commit
ee7903f52f
23
automate.php
23
automate.php
|
@ -42,7 +42,7 @@
|
|||
|
||||
return true;
|
||||
|
||||
}insertUsersFromJSON();
|
||||
}//insertUsersFromJSON();
|
||||
|
||||
|
||||
|
||||
|
@ -60,24 +60,19 @@
|
|||
// Pour chaque entree
|
||||
foreach( $json as $machine ){
|
||||
|
||||
$insertRequest = Database::getPDO()->prepare("INSERT INTO machine(id_machine, code, name)
|
||||
VALUES(
|
||||
DEFAULT,
|
||||
:code,
|
||||
:name
|
||||
)");
|
||||
|
||||
$status = $insertRequest->execute(array(
|
||||
':code' => $machine['code'],
|
||||
':name' => $machine['name']
|
||||
// Creation de la requete
|
||||
$request = new ModuleRequest('machineDefault/create', array(
|
||||
$machine['code'],
|
||||
$machine['name']
|
||||
));
|
||||
|
||||
var_dump( $status );
|
||||
$answer = $request->dispatch();
|
||||
// Debug error
|
||||
var_dump( $answer->error == ManagerError::Success );
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
}//insertMachinesFromJSON();
|
||||
}insertMachinesFromJSON();
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -17,6 +17,8 @@
|
|||
|
||||
"getAll",
|
||||
"getById",
|
||||
"getByCode",
|
||||
"getByName",
|
||||
|
||||
"getClusters"
|
||||
],
|
||||
|
|
|
@ -1,13 +1,91 @@
|
|||
<?php
|
||||
|
||||
namespace manager\module;
|
||||
use \manager\Database;
|
||||
use \manager\sessionManager;
|
||||
use \manager\ManagerError;
|
||||
use \manager\Repo;
|
||||
|
||||
class machineDefault{
|
||||
|
||||
|
||||
/* RENVOIE LA LISTE EXHAUSTIVE DES MACHINES
|
||||
*
|
||||
* @return machines<Array> Liste des machines
|
||||
*
|
||||
*/
|
||||
public static function getAll(){
|
||||
// On recupere les donnees
|
||||
$machines = new Repo('machine/getAll');
|
||||
|
||||
return array(
|
||||
'machines' => \manager\Database::delNumeric( \manager\Database::getPDO()->query("SELECT * FROM machine ORDER BY id_machine")->fetchAll() )
|
||||
'machines' => $machines->answer()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/* CREATION D'UNE NOUVELLE MACHINE DANS LA BDD
|
||||
*
|
||||
* @code<String> Code RFID de la machine
|
||||
* @name<String> Identifiant de la machine
|
||||
*
|
||||
* @return status<Boolean> Retourne si oui ou non, tout s'est bien passe
|
||||
*
|
||||
*/
|
||||
public static function create($code=null, $name=null){
|
||||
/* [1] Normalisation + verification des donnees
|
||||
=========================================================*/
|
||||
$correct_param = Database::check('machine.code', $code);
|
||||
$correct_param = $correct_param && Database::check('machine.name', $name);
|
||||
|
||||
// Si les parametres ne sont pas corrects, on retourne une erreur
|
||||
if( !$correct_param )
|
||||
return array('ModuleError' => ManagerError::ParamError);
|
||||
|
||||
|
||||
|
||||
|
||||
/* [2] Creation de la machine
|
||||
=========================================================*/
|
||||
$create_machine = new Repo('machine/create', array($code, $name) );
|
||||
$id_machine = $create_machine->answer();
|
||||
|
||||
// Si une erreur est retournee, on retourne une erreur
|
||||
if( $id_machine === false )
|
||||
return array('ModuleError' => ManagerError::ModuleError);
|
||||
|
||||
|
||||
|
||||
|
||||
/* [3] Creation du groupe de meme nom que la machine
|
||||
=========================================================*/
|
||||
$create_group = new Repo('cluster/create', array($name) );
|
||||
$id_group = $create_group->answer();
|
||||
|
||||
// Si une erreur est retournee, on retourne une erreur
|
||||
if( $id_group === false )
|
||||
return array('ModuleError' => ManagerError::ModuleError);
|
||||
|
||||
|
||||
|
||||
|
||||
/* [4] Association au groupe
|
||||
=========================================================*/
|
||||
$assoc_goup = new Repo('cluster/link', array($id_group, $id_machine));
|
||||
$id_assoc = $assoc_goup->answer();
|
||||
|
||||
// Si une erreur est retournee, on retourne une erreur
|
||||
if( $id_assoc === false )
|
||||
return array('ModuleError' => ManagerError::ModuleError);
|
||||
|
||||
|
||||
|
||||
/* [5] Gestion du retour
|
||||
=========================================================*/
|
||||
return array(
|
||||
'ModuleError' => ManagerError::Success,
|
||||
'id_machine' => $id_machine,
|
||||
'id_cluster' => $id_group
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -8,40 +8,43 @@
|
|||
|
||||
/* CREATION D'UNE MACHINE
|
||||
*
|
||||
* @name<String> Nom du groupe
|
||||
* @code<String> Code de la machine
|
||||
* @name<String> Nom de la machine
|
||||
*
|
||||
* @return id_user<int> Renvoie l'UID du groupe cree
|
||||
* @return id_machine<int> Renvoie l'UID de la machine cree
|
||||
* Renvoie FALSE si une erreur occure
|
||||
*
|
||||
*/
|
||||
public static function create($name){
|
||||
/* [1] Verification de l'unicite de name
|
||||
public static function create($code, $name){
|
||||
/* [1] Verification de l'unicite de code+name
|
||||
=========================================================*/
|
||||
$check_unique = ( self::getByName($name) === false );
|
||||
$check_unique = ( self::getByCode($code) === false );
|
||||
$check_unique = $check_unique && ( self::getByName($name) === false );
|
||||
|
||||
// Si un groupe a deja ce nom, on renvoie une erreur
|
||||
// Si une machine a deja ce code/nom, on renvoie une erreur
|
||||
if( !$check_unique )
|
||||
return false;
|
||||
|
||||
|
||||
/* [2] Creation du groupe
|
||||
/* [2] Creation de la machine
|
||||
=========================================================*/
|
||||
$insert_user = Database::getPDO()->prepare("INSERT INTO cluster(id_cluster, name)
|
||||
VALUES(DEFAULT, :name)");
|
||||
$insert_user->execute(array(
|
||||
$insert_machine = Database::getPDO()->prepare("INSERT INTO machine(id_machine, code, name)
|
||||
VALUES(DEFAULT, :code, :name)");
|
||||
$insert_machine->execute(array(
|
||||
':code' => $code,
|
||||
':name' => $name
|
||||
));
|
||||
|
||||
/* [3] On retourne l'id_group ou FALSE si erreur
|
||||
/* [3] On retourne l'id_machine ou FALSE si erreur
|
||||
=========================================================*/
|
||||
$check_group = self::getByName($name);
|
||||
$check_machine = self::getByCode($code);
|
||||
|
||||
// Si n'existe pas on retourne FALSE
|
||||
if( $check_group === false )
|
||||
if( $check_machine === false )
|
||||
return false;
|
||||
|
||||
// Sinon, on retourne son id
|
||||
return $check_group['id_cluster'];
|
||||
return $check_machine['id_machine'];
|
||||
|
||||
}
|
||||
|
||||
|
@ -110,26 +113,26 @@
|
|||
|
||||
|
||||
|
||||
/* RENVOIE LA MACHINE DE NOM DONNE
|
||||
/* RENVOIE LA MACHINE DE CODE DONNE
|
||||
*
|
||||
* @name<String> Nom du groupe en question
|
||||
* @code<String> Code de la machine en question
|
||||
*
|
||||
* @return groupe<Array> Renvoie le groupe de nom donne si existe
|
||||
* @return machine<Array> Renvoie la machine de code donne si existe
|
||||
* @return error<Boolean> Retourne FALSE si aucun resultat
|
||||
*
|
||||
*/
|
||||
public static function getByName($name){
|
||||
public static function getByCode($code){
|
||||
// On ecrit la requete
|
||||
$request = Database::getPDO()->prepare("SELECT * FROM cluster
|
||||
WHERE name = :name");
|
||||
$request = Database::getPDO()->prepare("SELECT * FROM machine
|
||||
WHERE code = :code");
|
||||
|
||||
|
||||
// On execute la requete
|
||||
$request->execute(array(
|
||||
':name' => $name
|
||||
':code' => $code
|
||||
));
|
||||
|
||||
// On recupere 1 seul groupe
|
||||
// On recupere 1 seule machine
|
||||
$answer = $request->fetch();
|
||||
|
||||
// Gestion d'erreur -> aucun resultat
|
||||
|
@ -139,7 +142,74 @@
|
|||
// On retourne en supprimant les indices numeriques
|
||||
return Database::delNumeric( $answer, true );
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE LA MACHINE DE NOM DONNE
|
||||
*
|
||||
* @name<String> Nom de la machine en question
|
||||
*
|
||||
* @return machine<Array> Renvoie la machine de nom donne si existe
|
||||
* @return error<Boolean> Retourne FALSE si aucun resultat
|
||||
*
|
||||
*/
|
||||
public static function getByName($name){
|
||||
// On ecrit la requete
|
||||
$request = Database::getPDO()->prepare("SELECT * FROM machine
|
||||
WHERE name = :name");
|
||||
|
||||
|
||||
// On execute la requete
|
||||
$request->execute(array(
|
||||
':name' => $name
|
||||
));
|
||||
|
||||
// On recupere 1 seule machine
|
||||
$answer = $request->fetch();
|
||||
|
||||
// Gestion d'erreur -> aucun resultat
|
||||
if( $answer === false )
|
||||
return false;
|
||||
|
||||
// On retourne en supprimant les indices numeriques
|
||||
return Database::delNumeric( $answer, true );
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE LES GROUPES AUQUEL APPARTIENT UNE MACHINE DONNEE
|
||||
*
|
||||
* @id_machine<int> UID de la machine en question
|
||||
*
|
||||
* @return clusters<Array> Retourne la liste des groupes auquel appartient la machine
|
||||
*
|
||||
*/
|
||||
public static function getClusters($id_machine){
|
||||
/* [1] On redige/execute la requete
|
||||
=========================================================*/
|
||||
$get_clusters = Database::getPDO()->prepare("SELECT c.* FROM cluster as c, cluster_merge as cm
|
||||
WHERE cm.id_cluster = c.id_cluster
|
||||
AND cm.id_entity = :id_machine
|
||||
ORDER BY c.id_cluster");
|
||||
$get_clusters->execute(array(
|
||||
':id_machine' => $id_machine
|
||||
));
|
||||
|
||||
/* [2] On retourne la liste des groupes
|
||||
=========================================================*/
|
||||
return Database::delNumeric( $get_clusters->fetchAll() );
|
||||
}
|
||||
|
||||
|
||||
|
|
12
todo.md
12
todo.md
|
@ -13,11 +13,8 @@
|
|||
############
|
||||
# EN COURS #
|
||||
############
|
||||
- [ ] Gestion des groupes (utilisateurs/machines)
|
||||
- [x] bdd
|
||||
- [x] Creation d'un groupe individuel pour utilisateurs + association
|
||||
- [ ] Creation d'un groupe individuel pour machines
|
||||
- [ ] Creation d'une liaison entre 2 groupes (groupeUtilisateur, groupeMachine)
|
||||
- [ ] Conflit des id_user et id_machine dans les cluster a regler
|
||||
|
||||
- [ ] Prendre en compte au lieu de SERVER['HTTP_HOST'] l'hote et son dossier source
|
||||
- [ ] Gestion de l'erreur de chargement ou erreur de nav (page-manager)
|
||||
- [.] [/users/view] Affichage basique de liste d'elements complexes (users/machines/journal, ...)
|
||||
|
@ -39,6 +36,11 @@
|
|||
########
|
||||
# FAIT #
|
||||
########
|
||||
- [x] Gestion des groupes (utilisateurs/machines)
|
||||
- [x] bdd
|
||||
- [x] Creation d'un groupe individuel pour utilisateurs + association
|
||||
- [x] Creation d'un groupe individuel pour machines
|
||||
- [x] Creation d'une liaison entre 2 groupes (groupeUtilisateur, groupeMachine)
|
||||
- [x] [view/users] Affichage des groupes des utilisateurs
|
||||
- [x] [cluster::link/unlink] Ajout/Suppression d'association des utilisateurs/machines a des groupes
|
||||
- [x] [user::getClusters] Recuperation des groupes d'un utilisateur
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
use \manager\ModuleRequest;
|
||||
use \manager\ManagerError;
|
||||
use \manager\ResourceDispatcher;
|
||||
use \manager\Repo;
|
||||
?>
|
||||
|
||||
<!-- [1] Gestion du sous-menu de gauche -->
|
||||
|
@ -68,6 +69,9 @@
|
|||
// Si aucune erreur, on affiche les resultats
|
||||
else{
|
||||
foreach( $answer->get('machines') as $machine){
|
||||
$clusters = new Repo('machine/getClusters', array($machine['id_machine']));
|
||||
$clusters = $clusters->answer();
|
||||
|
||||
echo "<article class='inline-box'>";
|
||||
// Prenom Nom
|
||||
echo "<span class='title'>".$machine['name']."</span>";
|
||||
|
@ -85,8 +89,9 @@
|
|||
echo "<span class='groups'>";
|
||||
echo ResourceDispatcher::getResource('f/svg/group/st/container');
|
||||
|
||||
echo "<span>a</span>";
|
||||
echo "<span>a</span>";
|
||||
if( $clusters != false )
|
||||
foreach($clusters as $cluster)
|
||||
echo "<span>".$cluster['name']."</span>";
|
||||
echo"</span>";
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue