- [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;
|
||||
|
||||
}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"
|
||||
],
|
||||
|
||||
"groupDefault" :[
|
||||
"clusterDefault" :[
|
||||
"create",
|
||||
|
||||
"getAll"
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
"getByCode",
|
||||
"getByUsername",
|
||||
|
||||
"getGroups",
|
||||
"getClusters",
|
||||
|
||||
"delete"
|
||||
],
|
||||
|
@ -18,7 +18,7 @@
|
|||
"getAll",
|
||||
"getById",
|
||||
|
||||
"getGroup"
|
||||
"getClusters"
|
||||
],
|
||||
|
||||
"cluster" :[
|
||||
|
|
|
@ -108,11 +108,15 @@
|
|||
*
|
||||
*/
|
||||
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
|
||||
|
||||
/* [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)
|
||||
for( $i = 0 ; $i < count($fetchData) ; $i++ ) // pour tout les utilisateurs
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
namespace manager\module;
|
||||
|
||||
class groupDefault{
|
||||
class clusterDefault{
|
||||
|
||||
|
||||
public static function getAll(){
|
|
@ -97,7 +97,8 @@
|
|||
=========================================================*/
|
||||
return array(
|
||||
'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
|
||||
*
|
||||
* @id_cluster<int> UID du groupe
|
||||
|
@ -74,15 +80,23 @@
|
|||
|
||||
// On verifie si c'est un utilisateur
|
||||
$user_check = userRepo::getById($id_entity);
|
||||
$is_user = ( $machine_check !== FALSE );
|
||||
$is_user = ( $user_check !== FALSE );
|
||||
|
||||
// Si aucune entite existante, on retourne une erreur
|
||||
if( !$is_machine && !$is_user )
|
||||
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)
|
||||
VALUES(DEFAULT, :id_cluster, :id_entity)");
|
||||
|
@ -91,7 +105,7 @@
|
|||
':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);
|
||||
|
||||
|
@ -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
|
||||
*
|
||||
* @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
|
||||
*
|
||||
* @id_user<int> UID de l'utilisateur en question
|
||||
|
@ -256,6 +286,15 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -2,6 +2,16 @@
|
|||
|
||||
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) Global */
|
||||
|
|
2
todo.md
2
todo.md
|
@ -39,6 +39,8 @@
|
|||
########
|
||||
# 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] [user] utilisateur
|
||||
- [x] [machine] machines
|
||||
|
|
Loading…
Reference in New Issue