- [x] [modules/+repo/]Conflit des id_user et id_machine dans les cluster a regler
- [x] [view/user] Lien "mailto" pour les mail des utilisateurs - [x] [modules/] Extension des modules aux repos
This commit is contained in:
parent
ee7903f52f
commit
6f49191081
|
@ -72,7 +72,7 @@
|
|||
|
||||
return true;
|
||||
|
||||
}insertMachinesFromJSON();
|
||||
}//insertMachinesFromJSON();
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -2,20 +2,33 @@
|
|||
"userDefault" :[
|
||||
"create",
|
||||
|
||||
"getAll"
|
||||
"link",
|
||||
"unlink",
|
||||
|
||||
"getAll",
|
||||
"getById",
|
||||
"getByCode",
|
||||
"getByUsername",
|
||||
|
||||
"getClusters",
|
||||
|
||||
"delete"
|
||||
],
|
||||
|
||||
"machineDefault" :[
|
||||
"create",
|
||||
|
||||
"getAll"
|
||||
],
|
||||
|
||||
"clusterDefault" :[
|
||||
"create",
|
||||
"link",
|
||||
"unlink",
|
||||
|
||||
"getAll",
|
||||
"getById",
|
||||
"getByCode",
|
||||
"getByName",
|
||||
|
||||
"getAll"
|
||||
"getClusters",
|
||||
|
||||
"delete"
|
||||
]
|
||||
|
||||
}
|
|
@ -1,2 +1,2 @@
|
|||
#WRAPPER>#CONTAINER>.sub-menu-side{display:block;position:relative}#WRAPPER>#CONTAINER>.sub-menu-side>span[data-sublink]{display:block;position:relative;width:7.5em;padding:.3em 1em .3em 2em;margin:1em;border-radius:3px;color:#5b5e63;text-shadow:1px 1px white;white-space:nowrap;transition:all .2s;cursor:pointer;overflow:hidden}#WRAPPER>#CONTAINER>.sub-menu-side>span[data-sublink]>.svg>svg{display:inline-block;position:absolute;left:.5em;top:50%;width:1em;height:1em;transform:translateY(-50%)}#WRAPPER>#CONTAINER>.sub-menu-side>span[data-sublink]>.svg>svg path{fill:#5b5e63 !important}#WRAPPER>#CONTAINER>.sub-menu-side>span[data-sublink]:hover,#WRAPPER>#CONTAINER>.sub-menu-side>span[data-sublink].active{color:#121213;background-color:#d8deea;box-shadow:inset 0 0 4px #c8ced9}#WRAPPER>#CONTAINER>.sub-menu-side>span[data-sublink]:hover>.svg>svg path,#WRAPPER>#CONTAINER>.sub-menu-side>span[data-sublink].active>.svg>svg path{fill:#121213 !important}#WRAPPER>#CONTAINER>.sub-menu-side>span[data-sublink]:nth-child(1){margin-top:1em}#WRAPPER>#CONTAINER>section{display:none;flex-grow:1}#WRAPPER>#CONTAINER>section.active{display:block}#WRAPPER>#CONTAINER>section.active.list{display:flex;flex-direction:column}#WRAPPER>#CONTAINER>section.active.list .inline-box{flex:1 1 1}#WRAPPER>#CONTAINER>section>.inline-box{display:inline-block;position:relative;margin:.3em 0;padding:1em;border-radius:3px;box-shadow:0 0 1px #b7b7b7;background-color:#fff}#WRAPPER>#CONTAINER>section>.inline-box .title{display:inline-block;font-size:1.15em;font-weight:bold}#WRAPPER>#CONTAINER>section>.inline-box .title>span{font-size:.8em;color:#333}#WRAPPER>#CONTAINER>section>.inline-box .code{display:inline-block;color:#777}#WRAPPER>#CONTAINER>section>.inline-box .code svg{display:inline-block;position:relative;margin-left:.5em;margin-right:.5em;margin-bottom:-.6em;width:1.5em;height:2em}#WRAPPER>#CONTAINER>section>.inline-box .code svg path{fill:#777 !important}#WRAPPER>#CONTAINER>section>.inline-box .mail{display:block;margin:1em;color:#777}#WRAPPER>#CONTAINER>section>.inline-box .mail svg{display:inline-block;position:relative;margin-left:.5em;margin-right:.5em;margin-bottom:-.6em;width:1.5em;height:2em}#WRAPPER>#CONTAINER>section>.inline-box .mail svg path{fill:#777 !important}#WRAPPER>#CONTAINER>section>.inline-box .groups{display:block;margin:1em;color:#777}#WRAPPER>#CONTAINER>section>.inline-box .groups svg{display:inline-block;position:relative;margin-left:.5em;margin-right:.5em;margin-bottom:-.6em;width:1.5em;height:2em}#WRAPPER>#CONTAINER>section>.inline-box .groups svg path{fill:#777 !important}#WRAPPER>#CONTAINER>section>.inline-box .groups span{display:inline-block;padding:.1em .5em;margin-right:.2em;border-radius:3px;border:1px solid #bdbdbd;box-shadow:inset 0 0 2px #fdfdfd;background-color:#f9f9f9;color:#666;cursor:default}
|
||||
#WRAPPER>#CONTAINER>.sub-menu-side{display:block;position:relative}#WRAPPER>#CONTAINER>.sub-menu-side>span[data-sublink]{display:block;position:relative;width:7.5em;padding:.3em 1em .3em 2em;margin:1em;border-radius:3px;color:#5b5e63;text-shadow:1px 1px white;white-space:nowrap;transition:all .2s;cursor:pointer;overflow:hidden}#WRAPPER>#CONTAINER>.sub-menu-side>span[data-sublink]>.svg>svg{display:inline-block;position:absolute;left:.5em;top:50%;width:1em;height:1em;transform:translateY(-50%)}#WRAPPER>#CONTAINER>.sub-menu-side>span[data-sublink]>.svg>svg path{fill:#5b5e63 !important}#WRAPPER>#CONTAINER>.sub-menu-side>span[data-sublink]:hover,#WRAPPER>#CONTAINER>.sub-menu-side>span[data-sublink].active{color:#121213;background-color:#d8deea;box-shadow:inset 0 0 4px #c8ced9}#WRAPPER>#CONTAINER>.sub-menu-side>span[data-sublink]:hover>.svg>svg path,#WRAPPER>#CONTAINER>.sub-menu-side>span[data-sublink].active>.svg>svg path{fill:#121213 !important}#WRAPPER>#CONTAINER>.sub-menu-side>span[data-sublink]:nth-child(1){margin-top:1em}#WRAPPER>#CONTAINER>section{display:none;flex-grow:1}#WRAPPER>#CONTAINER>section.active{display:block}#WRAPPER>#CONTAINER>section.active.list{display:flex;flex-direction:column}#WRAPPER>#CONTAINER>section.active.list .inline-box{flex:1 1 1}#WRAPPER>#CONTAINER>section>.inline-box{display:inline-block;position:relative;margin:.3em 0;padding:1em;border-radius:3px;box-shadow:0 0 1px #b7b7b7;background-color:#fff}#WRAPPER>#CONTAINER>section>.inline-box a{text-decoration:none;color:inherit}#WRAPPER>#CONTAINER>section>.inline-box .title{display:inline-block;font-size:1.15em;font-weight:bold}#WRAPPER>#CONTAINER>section>.inline-box .title>span{font-size:.8em;color:#333}#WRAPPER>#CONTAINER>section>.inline-box .code{display:inline-block;color:#333}#WRAPPER>#CONTAINER>section>.inline-box .code svg{display:inline-block;position:relative;margin-left:.5em;margin-right:.5em;margin-bottom:-.6em;width:1.5em;height:2em}#WRAPPER>#CONTAINER>section>.inline-box .code svg path{fill:#333 !important}#WRAPPER>#CONTAINER>section>.inline-box .mail{display:block;margin:1em;color:#333}#WRAPPER>#CONTAINER>section>.inline-box .mail svg{display:inline-block;position:relative;margin-left:.5em;margin-right:.5em;margin-bottom:-.6em;width:1.5em;height:2em}#WRAPPER>#CONTAINER>section>.inline-box .mail svg path{fill:#333 !important}#WRAPPER>#CONTAINER>section>.inline-box .groups{display:block;margin:1em;color:#333}#WRAPPER>#CONTAINER>section>.inline-box .groups svg{display:inline-block;position:relative;margin-left:.5em;margin-right:.5em;margin-bottom:-.6em;width:1.5em;height:2em}#WRAPPER>#CONTAINER>section>.inline-box .groups svg path{fill:#333 !important}#WRAPPER>#CONTAINER>section>.inline-box .groups span{display:inline-block;padding:.1em .5em;margin-right:.2em;border-radius:3px;border:1px solid #bdbdbd;box-shadow:inset 0 0 2px #fafafa;background-color:#f9f9f9;color:#333;cursor:default}
|
||||
/*# sourceMappingURL=container.css.map */
|
||||
|
|
|
@ -111,6 +111,11 @@
|
|||
|
||||
background-color: #fff;
|
||||
|
||||
a{
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
/* (1) Titre de l'element */
|
||||
.title{
|
||||
display: inline-block;
|
||||
|
@ -127,7 +132,7 @@
|
|||
/* (2) Code RFID */
|
||||
.code{
|
||||
display: inline-block;
|
||||
color: #777;
|
||||
color: #333;
|
||||
|
||||
// svg (icone)
|
||||
svg{
|
||||
|
@ -140,7 +145,7 @@
|
|||
height: 2em;
|
||||
|
||||
path{
|
||||
fill: #777 !important;
|
||||
fill: #333 !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -150,7 +155,7 @@
|
|||
.mail{
|
||||
display: block;
|
||||
margin: 1em;
|
||||
color: #777;
|
||||
color: #333;
|
||||
|
||||
// svg (icone)
|
||||
svg{
|
||||
|
@ -163,7 +168,7 @@
|
|||
height: 2em;
|
||||
|
||||
path{
|
||||
fill: #777 !important;
|
||||
fill: #333 !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -174,7 +179,7 @@
|
|||
.groups{
|
||||
display: block;
|
||||
margin: 1em;
|
||||
color: #777;
|
||||
color: #333;
|
||||
|
||||
// svg (icone)
|
||||
svg{
|
||||
|
@ -187,7 +192,7 @@
|
|||
height: 2em;
|
||||
|
||||
path{
|
||||
fill: #777 !important;
|
||||
fill: #333 !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -198,11 +203,11 @@
|
|||
|
||||
border-radius: 3px;
|
||||
border: 1px solid #bdbdbd;
|
||||
box-shadow: inset 0 0 2px #fdfdfd;
|
||||
box-shadow: inset 0 0 2px #fafafa;
|
||||
|
||||
background-color: #f9f9f9;
|
||||
|
||||
color: #666;
|
||||
color: #333;
|
||||
|
||||
cursor: default;
|
||||
}
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace manager\module;
|
||||
|
||||
class clusterDefault{
|
||||
|
||||
|
||||
public static function getAll(){
|
||||
return array(
|
||||
'groups' => \manager\Database::delNumeric( \manager\Database::getPDO()->query("SELECT * FROM group ORDER BY id_group")->fetchAll() )
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
?>
|
|
@ -5,6 +5,7 @@
|
|||
use \manager\sessionManager;
|
||||
use \manager\ManagerError;
|
||||
use \manager\Repo;
|
||||
use \manager\repo\cluster as clusterRepo;
|
||||
|
||||
class machineDefault{
|
||||
|
||||
|
@ -24,6 +25,9 @@
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* CREATION D'UNE NOUVELLE MACHINE DANS LA BDD
|
||||
*
|
||||
* @code<String> Code RFID de la machine
|
||||
|
@ -71,7 +75,7 @@
|
|||
|
||||
/* [4] Association au groupe
|
||||
=========================================================*/
|
||||
$assoc_goup = new Repo('cluster/link', array($id_group, $id_machine));
|
||||
$assoc_goup = new Repo('cluster/link', array($id_group, $id_machine, clusterRepo::MACHINE_CLASS));
|
||||
$id_assoc = $assoc_goup->answer();
|
||||
|
||||
// Si une erreur est retournee, on retourne une erreur
|
||||
|
@ -93,6 +97,68 @@
|
|||
|
||||
|
||||
|
||||
/* AJOUTE UNE MACHINE DONNEE A UN GROUPE DONNE
|
||||
*
|
||||
* @id_cluster<int> UID du groupe
|
||||
* @id_machine<int> UID de la machine
|
||||
*
|
||||
* @return association<int> Renvoie l'UID de l'association cree
|
||||
* Renvoie FALSE si une erreur occure
|
||||
*
|
||||
*/
|
||||
public static function link($id_cluster, $id_machine){
|
||||
/* [1] Normalisation + verification des donnees
|
||||
=========================================================*/
|
||||
$correct_param = Database::check('auto_increment_id', $id_cluster);
|
||||
$correct_param = $correct_param && Database::check('auto_increment_id', $id_machine);
|
||||
|
||||
// Si les parametres ne sont pas corrects, on retourne une erreur
|
||||
if( !$correct_param )
|
||||
return array('ModuleError' => ManagerError::ParamError);
|
||||
|
||||
/* [2] Creation de l'association
|
||||
=========================================================*/
|
||||
$link_machine = new Repo('cluster/link', array($id_cluster, $id_machine, clusterRepo::MACHINE_CLASS));
|
||||
|
||||
return $link_machine;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RETIRE UNE MACHINE DONNEE A UN GROUPE DONNE
|
||||
*
|
||||
* @id_cluster<int> UID du groupe
|
||||
* @id_machine<int> UID de la machine
|
||||
*
|
||||
* @return association<int> Renvoie l'UID de l'association cree
|
||||
* Renvoie FALSE si une erreur occure
|
||||
*
|
||||
*/
|
||||
public static function unlink($id_cluster, $id_machine){
|
||||
/* [1] Normalisation + verification des donnees
|
||||
=========================================================*/
|
||||
$correct_param = Database::check('auto_increment_id', $id_cluster);
|
||||
$correct_param = $correct_param && Database::check('auto_increment_id', $id_machine);
|
||||
|
||||
// Si les parametres ne sont pas corrects, on retourne une erreur
|
||||
if( !$correct_param )
|
||||
return array('ModuleError' => ManagerError::ParamError);
|
||||
|
||||
/* [2] Suppression de l'association
|
||||
=========================================================*/
|
||||
$link_machine = new Repo('cluster/unlink', array($id_cluster, $id_machine, clusterRepo::MACHINE_CLASS));
|
||||
|
||||
return $link_machine;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -5,26 +5,11 @@
|
|||
use \manager\sessionManager;
|
||||
use \manager\ManagerError;
|
||||
use \manager\Repo;
|
||||
use \manager\repo\cluster as clusterRepo;
|
||||
|
||||
class userDefault{
|
||||
|
||||
|
||||
/* RENVOIE LA LISTE EXHAUSTIVE DES UTILISATEURS
|
||||
*
|
||||
* @return utilisateurs<Array> Liste des utilisateurs
|
||||
*
|
||||
*/
|
||||
public static function getAll(){
|
||||
// On recupere les donnees
|
||||
$users = new Repo('user/getAll');
|
||||
|
||||
return array(
|
||||
'users' => $users->answer()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* CREATION D'UN NOUVEL UTILISATEUR DANS LA BDD
|
||||
*
|
||||
* @code<String> Code RFID de l'utilisateur
|
||||
|
@ -84,7 +69,7 @@
|
|||
|
||||
/* [4] Association au groupe
|
||||
=========================================================*/
|
||||
$assoc_goup = new Repo('cluster/link', array($id_group, $id_user));
|
||||
$assoc_goup = new Repo('cluster/link', array($id_group, $id_user, clusterRepo::USER_CLASS));
|
||||
$id_assoc = $assoc_goup->answer();
|
||||
|
||||
// Si une erreur est retournee, on retourne une erreur
|
||||
|
@ -103,6 +88,164 @@
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* AJOUTE UN UTILISATEUR DONNEE A UN GROUPE DONNE
|
||||
*
|
||||
* @id_cluster<int> UID du groupe
|
||||
* @id_user<int> UID de l'utilisateur
|
||||
*
|
||||
* @return association<int> Renvoie l'UID de l'association cree
|
||||
* Renvoie FALSE si une erreur occure
|
||||
*
|
||||
*/
|
||||
public static function link($id_cluster, $id_user){
|
||||
/* [1] Normalisation + verification des donnees
|
||||
=========================================================*/
|
||||
$correct_param = Database::check('auto_increment_id', $id_cluster);
|
||||
$correct_param = $correct_param && Database::check('auto_increment_id', $id_user);
|
||||
|
||||
// Si les parametres ne sont pas corrects, on retourne une erreur
|
||||
if( !$correct_param )
|
||||
return array('ModuleError' => ManagerError::ParamError);
|
||||
|
||||
/* [2] Creation de l'association
|
||||
=========================================================*/
|
||||
$link_user = new Repo('cluster/link', array($id_cluster, $id_user, clusterRepo::USER_CLASS));
|
||||
|
||||
return $link_user;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RETIRE UNE MACHINE DONNEE A UN GROUPE DONNE
|
||||
*
|
||||
* @id_cluster<int> UID du groupe
|
||||
* @id_user<int> UID de l'utilisateur
|
||||
*
|
||||
* @return association<int> Renvoie l'UID de l'association cree
|
||||
* Renvoie FALSE si une erreur occure
|
||||
*
|
||||
*/
|
||||
public static function unlink($id_cluster, $id_user){
|
||||
/* [1] Normalisation + verification des donnees
|
||||
=========================================================*/
|
||||
$correct_param = Database::check('auto_increment_id', $id_cluster);
|
||||
$correct_param = $correct_param && Database::check('auto_increment_id', $id_user);
|
||||
|
||||
// Si les parametres ne sont pas corrects, on retourne une erreur
|
||||
if( !$correct_param )
|
||||
return array('ModuleError' => ManagerError::ParamError);
|
||||
|
||||
/* [2] Suppression de l'association
|
||||
=========================================================*/
|
||||
$link_user = new Repo('cluster/unlink', array($id_cluster, $id_user, clusterRepo::USER_CLASS));
|
||||
|
||||
return $link_user;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE LA LISTE EXHAUSTIVE DES UTILISATEURS
|
||||
*
|
||||
* @return utilisateurs<Array> Liste des utilisateurs
|
||||
*
|
||||
*/
|
||||
public static function getAll(){
|
||||
// On recupere les donnees
|
||||
$users = new Repo('user/getAll');
|
||||
|
||||
return array(
|
||||
'users' => $users->answer()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE L'UTILISATEURS D'UID DONNE
|
||||
*
|
||||
* @id_user<int> UID de l'utilisateur en question
|
||||
*
|
||||
* @return utilisateur<Array> Utilisateur d'UID donne
|
||||
*
|
||||
*/
|
||||
public static function getById($id_user){
|
||||
// On recupere les donnees
|
||||
$request = new Repo('user/getById', array($id_user));
|
||||
$answer = $request->answer();
|
||||
|
||||
// Si aucun resultat, on retourne une erreur
|
||||
if( $answer === false )
|
||||
return array( 'ModuleError' => ManagerError::ModuleError );
|
||||
|
||||
|
||||
return array(
|
||||
'user' => $answer
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE L'UTILISATEURS DE CODE DONNE
|
||||
*
|
||||
* @code<String> Code de l'utilisateur en question
|
||||
*
|
||||
* @return utilisateur<Array> Utilisateur de code donne
|
||||
*
|
||||
*/
|
||||
public static function getByCode($code){
|
||||
// On recupere les donnees
|
||||
$request = new Repo('user/getByCode', array($code));
|
||||
$answer = $request->answer();
|
||||
|
||||
// Si aucun resultat, on retourne une erreur
|
||||
if( $answer === false )
|
||||
return array( 'ModuleError' => ManagerError::ModuleError );
|
||||
|
||||
|
||||
return array(
|
||||
'user' => $answer
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE L'UTILISATEURS D'USERNAME DONNE
|
||||
*
|
||||
* @username<String> Username de l'utilisateur en question
|
||||
*
|
||||
* @return utilisateur<Array> Utilisateur d'username donne
|
||||
*
|
||||
*/
|
||||
public static function getByUsername($username){
|
||||
// On recupere les donnees
|
||||
$request = new Repo('user/getByUsername', array($username));
|
||||
$answer = $request->answer();
|
||||
|
||||
// Si aucun resultat, on retourne une erreur
|
||||
if( $answer === false )
|
||||
return array( 'ModuleError' => ManagerError::ModuleError );
|
||||
|
||||
|
||||
return array(
|
||||
'user' => $answer
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -7,6 +7,9 @@
|
|||
|
||||
class cluster{
|
||||
|
||||
const USER_CLASS = 0;
|
||||
const MACHINE_CLASS = 1;
|
||||
|
||||
/* CREATION D'UN GROUPE
|
||||
*
|
||||
* @name<String> Nom du groupe
|
||||
|
@ -56,12 +59,13 @@
|
|||
*
|
||||
* @id_cluster<int> UID du groupe
|
||||
* @id_entity<int> UID de la machine ou de l'utilisateur
|
||||
* @class<int> Spefication du type d'entite (0=user;1=machine)
|
||||
*
|
||||
* @return association<int> Renvoie l'UID de l'association cree
|
||||
* Renvoie FALSE si une erreur occure
|
||||
*
|
||||
*/
|
||||
public static function link($id_cluster, $id_entity){
|
||||
public static function link($id_cluster, $id_entity, $class){
|
||||
/* [1] Verification de l'existence du groupe
|
||||
=========================================================*/
|
||||
$group_check = self::getById($id_cluster);
|
||||
|
@ -74,22 +78,29 @@
|
|||
|
||||
/* [2] Verification de l'existente de l'entite
|
||||
=========================================================*/
|
||||
// On verifie si c'est une machine
|
||||
$machine_check = machineRepo::getById($id_entity);
|
||||
$is_machine = ( $machine_check !== FALSE );
|
||||
$entity_exists = false;
|
||||
/* (1) Utilisateur */
|
||||
if( $class == 0 ){
|
||||
// On verifie si c'est un utilisateur
|
||||
$user_check = userRepo::getById($id_entity);
|
||||
$entity_exists = ( $user_check !== FALSE );
|
||||
|
||||
/* (2) Machine */
|
||||
}elseif( $class == 1 ){
|
||||
// On verifie si c'est une machine
|
||||
$machine_check = machineRepo::getById($id_entity);
|
||||
$entity_exists = ( $machine_check !== FALSE );
|
||||
}
|
||||
|
||||
// On verifie si c'est un utilisateur
|
||||
$user_check = userRepo::getById($id_entity);
|
||||
$is_user = ( $user_check !== FALSE );
|
||||
|
||||
// Si aucune entite existante, on retourne une erreur
|
||||
if( !$is_machine && !$is_user )
|
||||
if( !$entity_exists )
|
||||
return false;
|
||||
|
||||
|
||||
/* [3] Verification que l'existente n'existe pas deja
|
||||
=========================================================*/
|
||||
$already_cluster_merge = self::getMerge($id_cluster, $id_entity);
|
||||
$already_cluster_merge = self::getMerge($id_cluster, $id_entity, $class);
|
||||
|
||||
// Si l'association existe deja, on ne la cree donc pas
|
||||
if( $already_cluster_merge !== false )
|
||||
|
@ -98,16 +109,17 @@
|
|||
|
||||
/* [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)");
|
||||
$link_entity = Database::getPDO()->prepare("INSERT INTO cluster_merge(id_cluster_merge, id_cluster, id_entity, class)
|
||||
VALUES(DEFAULT, :id_cluster, :id_entity, :class)");
|
||||
$link_entity->execute(array(
|
||||
':id_cluster' => $id_cluster,
|
||||
':id_entity' => $id_entity
|
||||
':id_entity' => $id_entity,
|
||||
':class' => $class
|
||||
));
|
||||
|
||||
/* [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, $class);
|
||||
|
||||
// Si n'existe pas on retourne FALSE
|
||||
if( $check_cluster_merge === false )
|
||||
|
@ -128,25 +140,28 @@
|
|||
*
|
||||
* @id_cluster<int> UID du groupe
|
||||
* @id_entity<int> UID de la machine ou de l'utilisateur
|
||||
* @class<int> Spefication du type d'entite (0=user;1=machine)
|
||||
*
|
||||
* @return status<Boolean> Retourne si oui ou non l'association a bien ete supprimee
|
||||
*
|
||||
*/
|
||||
public static function unlink($id_cluster, $id_entity){
|
||||
public static function unlink($id_cluster, $id_entity, $class){
|
||||
/* [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");
|
||||
AND id_entity = :id_entity
|
||||
AND class = :class");
|
||||
$delete_cluster_merge->execute(array(
|
||||
':id_cluster' => $id_cluster,
|
||||
':id_entity' => $id_entity
|
||||
':id_entity' => $id_entity,
|
||||
':class' => $class
|
||||
));
|
||||
|
||||
|
||||
/* [2] On verifie que l'association n'existe plus
|
||||
=========================================================*/
|
||||
return ( self::getMerge($id_cluster, $id_entity) === false );
|
||||
return ( self::getMerge($id_cluster, $id_entity, $class) === false );
|
||||
}
|
||||
|
||||
|
||||
|
@ -257,25 +272,28 @@
|
|||
*
|
||||
* @id_cluster<int> UID du groupe
|
||||
* @id_entity<int> UID de la machine ou de l'utilisateur
|
||||
* @class<int> Spefication du type d'entite (0=user;1=machine)
|
||||
*
|
||||
* @return association<int> Renvoie l'UID de l'association cree
|
||||
* Renvoie FALSE si une erreur occure
|
||||
*
|
||||
*/
|
||||
public static function getMerge($id_cluster, $id_entity){
|
||||
public static function getMerge($id_cluster, $id_entity, $class){
|
||||
// On ecrit la requete
|
||||
$request = Database::getPDO()->prepare("SELECT * FROM cluster_merge
|
||||
WHERE id_cluster = :id_cluster
|
||||
AND id_entity = :id_entity");
|
||||
AND id_entity = :id_entity
|
||||
AND class = :class");
|
||||
|
||||
// On execute la requete
|
||||
$request->execute(array(
|
||||
':id_cluster' => $id_cluster,
|
||||
':id_entity' => $id_entity
|
||||
':id_entity' => $id_entity,
|
||||
':class' => $class
|
||||
));
|
||||
|
||||
// On recupere 1 seule relation
|
||||
$answer = $request->fetch();
|
||||
$answer = $request->fetch();
|
||||
|
||||
// Gestion d'erreur -> aucun resultat
|
||||
if( $answer === false )
|
||||
|
|
|
@ -202,9 +202,11 @@
|
|||
$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
|
||||
AND cm.class = :class
|
||||
ORDER BY c.id_cluster");
|
||||
$get_clusters->execute(array(
|
||||
':id_machine' => $id_machine
|
||||
':id_machine' => $id_machine,
|
||||
':class' => clusterRepo::MACHINE_CLASS
|
||||
));
|
||||
|
||||
/* [2] On retourne la liste des groupes
|
||||
|
|
|
@ -238,9 +238,11 @@
|
|||
$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
|
||||
AND cm.class = :class
|
||||
ORDER BY c.id_cluster");
|
||||
$get_clusters->execute(array(
|
||||
':id_user' => $id_user
|
||||
':id_user' => $id_user,
|
||||
':class' => clusterRepo::USER_CLASS
|
||||
));
|
||||
|
||||
/* [2] On retourne la liste des groupes
|
||||
|
|
6
todo.md
6
todo.md
|
@ -13,8 +13,6 @@
|
|||
############
|
||||
# EN COURS #
|
||||
############
|
||||
- [ ] 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, ...)
|
||||
|
@ -36,11 +34,15 @@
|
|||
########
|
||||
# FAIT #
|
||||
########
|
||||
- [x] [modules/+repo/]Conflit des id_user et id_machine dans les cluster a regler
|
||||
- [x] [view/user] Lien "mailto" pour les mail des utilisateurs
|
||||
- [x] [modules/] Extension des modules aux repos
|
||||
- [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/machines] Affichage des groupes des machines
|
||||
- [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
|
||||
|
|
|
@ -94,9 +94,9 @@
|
|||
echo "<span class='mail'>";
|
||||
echo ResourceDispatcher::getResource('f/svg/mail/st/container');
|
||||
|
||||
echo "<span>";
|
||||
echo "<a href='mailto:".$user['mail']."'><span>";
|
||||
echo $user['mail'];
|
||||
echo "</span>";
|
||||
echo "</span></a>";
|
||||
echo"</span>";
|
||||
|
||||
// Groupes de la machine
|
||||
|
|
Loading…
Reference in New Issue