- [x] [cluster::link/unlink] Ajout/Suppression d'association des utilisateurs/machines a des groupes
- [x] [user::getClusters] Recuperation des groupes d'un utilisateur
This commit is contained in:
parent
a2234af7e7
commit
5b025ee58f
39
automate.php
39
automate.php
|
@ -245,5 +245,42 @@
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
}insertUsersComposite();
|
}//insertUsersComposite();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* RETOURNE LES GROUPES D'UN UTILISATEUR
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @return status<Boolean> TRUE si aucune erreur, sinon FALSE
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
function getUserClusters(){
|
||||||
|
$id_user = 115;
|
||||||
|
|
||||||
|
// Groupes de l'utilisateur 'a'
|
||||||
|
$getUser1Clusters = new Repo('user/getClusters', array($id_user));
|
||||||
|
$user1Clusters = $getUser1Clusters->answer();
|
||||||
|
var_dump( $user1Clusters );
|
||||||
|
|
||||||
|
// On ajoute un groupe a l'utilisateur 100
|
||||||
|
$linkA = new Repo('cluster/link', array($user1Clusters[0]['id_cluster'], 100) );
|
||||||
|
var_dump( $linkA->answer() );
|
||||||
|
$getUser2Clusters = new Repo('user/getClusters', array(100));
|
||||||
|
var_dump( $getUser2Clusters->answer() );
|
||||||
|
|
||||||
|
// On retire un groupe a l'utilisateur 100
|
||||||
|
$unlinkA = new Repo('cluster/unlink', array($user1Clusters[0]['id_cluster'], 100) );
|
||||||
|
var_dump( $linkA->answer() );
|
||||||
|
$getUser2Clusters = new Repo('user/getClusters', array(100));
|
||||||
|
var_dump( $getUser2Clusters->answer() );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return true;
|
||||||
|
|
||||||
|
}//getUserClusters();
|
||||||
?>
|
?>
|
|
@ -12,7 +12,7 @@
|
||||||
"getAll"
|
"getAll"
|
||||||
],
|
],
|
||||||
|
|
||||||
"groupDefault" :[
|
"clusterDefault" :[
|
||||||
"create",
|
"create",
|
||||||
|
|
||||||
"getAll"
|
"getAll"
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
"getByCode",
|
"getByCode",
|
||||||
"getByUsername",
|
"getByUsername",
|
||||||
|
|
||||||
"getGroups",
|
"getClusters",
|
||||||
|
|
||||||
"delete"
|
"delete"
|
||||||
],
|
],
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
"getAll",
|
"getAll",
|
||||||
"getById",
|
"getById",
|
||||||
|
|
||||||
"getGroup"
|
"getClusters"
|
||||||
],
|
],
|
||||||
|
|
||||||
"cluster" :[
|
"cluster" :[
|
||||||
|
|
|
@ -108,11 +108,15 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static function delNumeric($fetchData, $oneDimension=false){
|
public static function delNumeric($fetchData, $oneDimension=false){
|
||||||
|
// On quitte si ce n'est pas un tableau
|
||||||
|
if( !is_array($fetchData) )
|
||||||
|
return array();
|
||||||
|
|
||||||
$nextEquivalent = false; // Vaut VRAI si le prochain est peut-etre un equivalent numerique
|
$nextEquivalent = false; // Vaut VRAI si le prochain est peut-etre un equivalent numerique
|
||||||
|
|
||||||
/* [1] 2 dimensions
|
/* [1] 2 dimensions
|
||||||
===============================================*/
|
===============================================*/
|
||||||
if( !$oneDimension && is_array($fetchData[0]) ){
|
if( !$oneDimension && isset($fetchData[0]) && is_array($fetchData[0]) ){
|
||||||
|
|
||||||
// on supprime les doublons des entrées (indice numérique)
|
// on supprime les doublons des entrées (indice numérique)
|
||||||
for( $i = 0 ; $i < count($fetchData) ; $i++ ) // pour tout les utilisateurs
|
for( $i = 0 ; $i < count($fetchData) ; $i++ ) // pour tout les utilisateurs
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
namespace manager\module;
|
namespace manager\module;
|
||||||
|
|
||||||
class groupDefault{
|
class clusterDefault{
|
||||||
|
|
||||||
|
|
||||||
public static function getAll(){
|
public static function getAll(){
|
|
@ -97,7 +97,8 @@
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
return array(
|
return array(
|
||||||
'ModuleError' => ManagerError::Success,
|
'ModuleError' => ManagerError::Success,
|
||||||
'id_user' => $id_user
|
'id_user' => $id_user,
|
||||||
|
'id_cluster' => $id_group
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -46,6 +46,12 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* ASSOCIATION D'UN(E) UTILISATEUR/MACHINE A UN GROUPE
|
/* ASSOCIATION D'UN(E) UTILISATEUR/MACHINE A UN GROUPE
|
||||||
*
|
*
|
||||||
* @id_cluster<int> UID du groupe
|
* @id_cluster<int> UID du groupe
|
||||||
|
@ -74,15 +80,23 @@
|
||||||
|
|
||||||
// On verifie si c'est un utilisateur
|
// On verifie si c'est un utilisateur
|
||||||
$user_check = userRepo::getById($id_entity);
|
$user_check = userRepo::getById($id_entity);
|
||||||
$is_user = ( $machine_check !== FALSE );
|
$is_user = ( $user_check !== FALSE );
|
||||||
|
|
||||||
// Si aucune entite existante, on retourne une erreur
|
// Si aucune entite existante, on retourne une erreur
|
||||||
if( !$is_machine && !$is_user )
|
if( !$is_machine && !$is_user )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|
||||||
|
/* [3] Verification que l'existente n'existe pas deja
|
||||||
|
=========================================================*/
|
||||||
|
$already_cluster_merge = self::getMerge($id_cluster, $id_entity);
|
||||||
|
|
||||||
/* [3] On cree l'association
|
// Si l'association existe deja, on ne la cree donc pas
|
||||||
|
if( $already_cluster_merge !== false )
|
||||||
|
return $already_cluster_merge['id_cluster_merge'];
|
||||||
|
|
||||||
|
|
||||||
|
/* [4] On cree l'association
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$link_entity = Database::getPDO()->prepare("INSERT INTO cluster_merge(id_cluster_merge, id_cluster, id_entity)
|
$link_entity = Database::getPDO()->prepare("INSERT INTO cluster_merge(id_cluster_merge, id_cluster, id_entity)
|
||||||
VALUES(DEFAULT, :id_cluster, :id_entity)");
|
VALUES(DEFAULT, :id_cluster, :id_entity)");
|
||||||
|
@ -91,7 +105,7 @@
|
||||||
':id_entity' => $id_entity
|
':id_entity' => $id_entity
|
||||||
));
|
));
|
||||||
|
|
||||||
/* [3] On retourne l'id_cluster_merge ou FALSE si erreur
|
/* [5] On retourne l'id_cluster_merge ou FALSE si erreur
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$check_cluster_merge = self::getMerge($id_cluster, $id_entity);
|
$check_cluster_merge = self::getMerge($id_cluster, $id_entity);
|
||||||
|
|
||||||
|
@ -110,6 +124,37 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* SUPPRIME UNE ASSOCIATION D'UN(E) UTILISATEUR/MACHINE A UN GROUPE
|
||||||
|
*
|
||||||
|
* @id_cluster<int> UID du groupe
|
||||||
|
* @id_entity<int> UID de la machine ou de l'utilisateur
|
||||||
|
*
|
||||||
|
* @return status<Boolean> Retourne si oui ou non l'association a bien ete supprimee
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public static function unlink($id_cluster, $id_entity){
|
||||||
|
/* [1] On redige/execute la requete
|
||||||
|
=========================================================*/
|
||||||
|
$delete_cluster_merge = Database::getPDO()->prepare("DELETE FROM cluster_merge
|
||||||
|
WHERE id_cluster = :id_cluster
|
||||||
|
AND id_entity = :id_entity");
|
||||||
|
$delete_cluster_merge->execute(array(
|
||||||
|
':id_cluster' => $id_cluster,
|
||||||
|
':id_entity' => $id_entity
|
||||||
|
));
|
||||||
|
|
||||||
|
|
||||||
|
/* [2] On verifie que l'association n'existe plus
|
||||||
|
=========================================================*/
|
||||||
|
return ( self::getMerge($id_cluster, $id_entity) === false );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* RENVOIE LA LISTE DE TOUS LES GROUPES
|
/* RENVOIE LA LISTE DE TOUS LES GROUPES
|
||||||
*
|
*
|
||||||
* @return groups<Array> Liste des groupes de la BDD
|
* @return groups<Array> Liste des groupes de la BDD
|
||||||
|
|
|
@ -225,6 +225,36 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* RENVOIE LES GROUPES AUQUEL APPARTIENT UN UTILISATEUR DONNE
|
||||||
|
*
|
||||||
|
* @id_user<int> UID de l'utilisateur en question
|
||||||
|
*
|
||||||
|
* @return clusters<Array> Retourne la liste des groupes auquel appartient l'utilisateur
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public static function getClusters($id_user){
|
||||||
|
/* [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_user
|
||||||
|
ORDER BY c.id_cluster");
|
||||||
|
$get_clusters->execute(array(
|
||||||
|
':id_user' => $id_user
|
||||||
|
));
|
||||||
|
|
||||||
|
/* [2] On retourne la liste des groupes
|
||||||
|
=========================================================*/
|
||||||
|
return Database::delNumeric( $get_clusters->fetchAll() );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* SUPPRIME UN UTILISATEUR DONNE
|
/* SUPPRIME UN UTILISATEUR DONNE
|
||||||
*
|
*
|
||||||
* @id_user<int> UID de l'utilisateur en question
|
* @id_user<int> UID de l'utilisateur en question
|
||||||
|
@ -256,6 +286,15 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,16 @@
|
||||||
|
|
||||||
class Database_delNumeric extends \PHPUnit_Framework_TestCase{
|
class Database_delNumeric extends \PHPUnit_Framework_TestCase{
|
||||||
|
|
||||||
|
/* [0] Verification du type
|
||||||
|
=========================================================*/
|
||||||
|
public function testTypeInt(){
|
||||||
|
$this->assertEquals( array(), \manager\Database::delNumeric(10) );
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testTypeString(){
|
||||||
|
$this->assertEquals( array(), \manager\Database::delNumeric('notarray') );
|
||||||
|
}
|
||||||
|
|
||||||
/* [1] Verification pour 2 dimensions
|
/* [1] Verification pour 2 dimensions
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
/* (1) Global */
|
/* (1) Global */
|
||||||
|
|
2
todo.md
2
todo.md
|
@ -39,6 +39,8 @@
|
||||||
########
|
########
|
||||||
# FAIT #
|
# FAIT #
|
||||||
########
|
########
|
||||||
|
- [x] [cluster::link/unlink] Ajout/Suppression d'association des utilisateurs/machines a des groupes
|
||||||
|
- [x] [user::getClusters] Recuperation des groupes d'un utilisateur
|
||||||
- [x] [manager/repo/]Creation des repos
|
- [x] [manager/repo/]Creation des repos
|
||||||
- [x] [user] utilisateur
|
- [x] [user] utilisateur
|
||||||
- [x] [machine] machines
|
- [x] [machine] machines
|
||||||
|
|
Loading…
Reference in New Issue