- [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
4aab2a4c52
commit
ea4871334d
|
@ -72,7 +72,7 @@
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
}insertMachinesFromJSON();
|
}//insertMachinesFromJSON();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,20 +2,33 @@
|
||||||
"userDefault" :[
|
"userDefault" :[
|
||||||
"create",
|
"create",
|
||||||
|
|
||||||
"getAll"
|
"link",
|
||||||
|
"unlink",
|
||||||
|
|
||||||
|
"getAll",
|
||||||
|
"getById",
|
||||||
|
"getByCode",
|
||||||
|
"getByUsername",
|
||||||
|
|
||||||
|
"getClusters",
|
||||||
|
|
||||||
|
"delete"
|
||||||
],
|
],
|
||||||
|
|
||||||
"machineDefault" :[
|
"machineDefault" :[
|
||||||
"create",
|
"create",
|
||||||
|
|
||||||
"getAll"
|
"link",
|
||||||
],
|
"unlink",
|
||||||
|
|
||||||
"clusterDefault" :[
|
"getAll",
|
||||||
"create",
|
"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 */
|
/*# sourceMappingURL=container.css.map */
|
||||||
|
|
|
@ -111,6 +111,11 @@
|
||||||
|
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
|
|
||||||
|
a{
|
||||||
|
text-decoration: none;
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
/* (1) Titre de l'element */
|
/* (1) Titre de l'element */
|
||||||
.title{
|
.title{
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
@ -127,7 +132,7 @@
|
||||||
/* (2) Code RFID */
|
/* (2) Code RFID */
|
||||||
.code{
|
.code{
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
color: #777;
|
color: #333;
|
||||||
|
|
||||||
// svg (icone)
|
// svg (icone)
|
||||||
svg{
|
svg{
|
||||||
|
@ -140,7 +145,7 @@
|
||||||
height: 2em;
|
height: 2em;
|
||||||
|
|
||||||
path{
|
path{
|
||||||
fill: #777 !important;
|
fill: #333 !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -150,7 +155,7 @@
|
||||||
.mail{
|
.mail{
|
||||||
display: block;
|
display: block;
|
||||||
margin: 1em;
|
margin: 1em;
|
||||||
color: #777;
|
color: #333;
|
||||||
|
|
||||||
// svg (icone)
|
// svg (icone)
|
||||||
svg{
|
svg{
|
||||||
|
@ -163,7 +168,7 @@
|
||||||
height: 2em;
|
height: 2em;
|
||||||
|
|
||||||
path{
|
path{
|
||||||
fill: #777 !important;
|
fill: #333 !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -174,7 +179,7 @@
|
||||||
.groups{
|
.groups{
|
||||||
display: block;
|
display: block;
|
||||||
margin: 1em;
|
margin: 1em;
|
||||||
color: #777;
|
color: #333;
|
||||||
|
|
||||||
// svg (icone)
|
// svg (icone)
|
||||||
svg{
|
svg{
|
||||||
|
@ -187,7 +192,7 @@
|
||||||
height: 2em;
|
height: 2em;
|
||||||
|
|
||||||
path{
|
path{
|
||||||
fill: #777 !important;
|
fill: #333 !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -198,11 +203,11 @@
|
||||||
|
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
border: 1px solid #bdbdbd;
|
border: 1px solid #bdbdbd;
|
||||||
box-shadow: inset 0 0 2px #fdfdfd;
|
box-shadow: inset 0 0 2px #fafafa;
|
||||||
|
|
||||||
background-color: #f9f9f9;
|
background-color: #f9f9f9;
|
||||||
|
|
||||||
color: #666;
|
color: #333;
|
||||||
|
|
||||||
cursor: default;
|
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\sessionManager;
|
||||||
use \manager\ManagerError;
|
use \manager\ManagerError;
|
||||||
use \manager\Repo;
|
use \manager\Repo;
|
||||||
|
use \manager\repo\cluster as clusterRepo;
|
||||||
|
|
||||||
class machineDefault{
|
class machineDefault{
|
||||||
|
|
||||||
|
@ -24,6 +25,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* CREATION D'UNE NOUVELLE MACHINE DANS LA BDD
|
/* CREATION D'UNE NOUVELLE MACHINE DANS LA BDD
|
||||||
*
|
*
|
||||||
* @code<String> Code RFID de la machine
|
* @code<String> Code RFID de la machine
|
||||||
|
@ -71,7 +75,7 @@
|
||||||
|
|
||||||
/* [4] Association au groupe
|
/* [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();
|
$id_assoc = $assoc_goup->answer();
|
||||||
|
|
||||||
// Si une erreur est retournee, on retourne une erreur
|
// 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\sessionManager;
|
||||||
use \manager\ManagerError;
|
use \manager\ManagerError;
|
||||||
use \manager\Repo;
|
use \manager\Repo;
|
||||||
|
use \manager\repo\cluster as clusterRepo;
|
||||||
|
|
||||||
class userDefault{
|
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
|
/* CREATION D'UN NOUVEL UTILISATEUR DANS LA BDD
|
||||||
*
|
*
|
||||||
* @code<String> Code RFID de l'utilisateur
|
* @code<String> Code RFID de l'utilisateur
|
||||||
|
@ -84,7 +69,7 @@
|
||||||
|
|
||||||
/* [4] Association au groupe
|
/* [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();
|
$id_assoc = $assoc_goup->answer();
|
||||||
|
|
||||||
// Si une erreur est retournee, on retourne une erreur
|
// 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{
|
class cluster{
|
||||||
|
|
||||||
|
const USER_CLASS = 0;
|
||||||
|
const MACHINE_CLASS = 1;
|
||||||
|
|
||||||
/* CREATION D'UN GROUPE
|
/* CREATION D'UN GROUPE
|
||||||
*
|
*
|
||||||
* @name<String> Nom du groupe
|
* @name<String> Nom du groupe
|
||||||
|
@ -56,12 +59,13 @@
|
||||||
*
|
*
|
||||||
* @id_cluster<int> UID du groupe
|
* @id_cluster<int> UID du groupe
|
||||||
* @id_entity<int> UID de la machine ou de l'utilisateur
|
* @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
|
* @return association<int> Renvoie l'UID de l'association cree
|
||||||
* Renvoie FALSE si une erreur occure
|
* 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
|
/* [1] Verification de l'existence du groupe
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$group_check = self::getById($id_cluster);
|
$group_check = self::getById($id_cluster);
|
||||||
|
@ -74,22 +78,29 @@
|
||||||
|
|
||||||
/* [2] Verification de l'existente de l'entite
|
/* [2] Verification de l'existente de l'entite
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
// On verifie si c'est une machine
|
$entity_exists = false;
|
||||||
$machine_check = machineRepo::getById($id_entity);
|
/* (1) Utilisateur */
|
||||||
$is_machine = ( $machine_check !== FALSE );
|
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
|
// Si aucune entite existante, on retourne une erreur
|
||||||
if( !$is_machine && !$is_user )
|
if( !$entity_exists )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|
||||||
/* [3] Verification que l'existente n'existe pas deja
|
/* [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
|
// Si l'association existe deja, on ne la cree donc pas
|
||||||
if( $already_cluster_merge !== false )
|
if( $already_cluster_merge !== false )
|
||||||
|
@ -98,16 +109,17 @@
|
||||||
|
|
||||||
/* [4] On cree l'association
|
/* [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, class)
|
||||||
VALUES(DEFAULT, :id_cluster, :id_entity)");
|
VALUES(DEFAULT, :id_cluster, :id_entity, :class)");
|
||||||
$link_entity->execute(array(
|
$link_entity->execute(array(
|
||||||
':id_cluster' => $id_cluster,
|
':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
|
/* [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
|
// Si n'existe pas on retourne FALSE
|
||||||
if( $check_cluster_merge === false )
|
if( $check_cluster_merge === false )
|
||||||
|
@ -128,25 +140,28 @@
|
||||||
*
|
*
|
||||||
* @id_cluster<int> UID du groupe
|
* @id_cluster<int> UID du groupe
|
||||||
* @id_entity<int> UID de la machine ou de l'utilisateur
|
* @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
|
* @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
|
/* [1] On redige/execute la requete
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$delete_cluster_merge = Database::getPDO()->prepare("DELETE FROM cluster_merge
|
$delete_cluster_merge = Database::getPDO()->prepare("DELETE FROM cluster_merge
|
||||||
WHERE id_cluster = :id_cluster
|
WHERE id_cluster = :id_cluster
|
||||||
AND id_entity = :id_entity");
|
AND id_entity = :id_entity
|
||||||
|
AND class = :class");
|
||||||
$delete_cluster_merge->execute(array(
|
$delete_cluster_merge->execute(array(
|
||||||
':id_cluster' => $id_cluster,
|
':id_cluster' => $id_cluster,
|
||||||
':id_entity' => $id_entity
|
':id_entity' => $id_entity,
|
||||||
|
':class' => $class
|
||||||
));
|
));
|
||||||
|
|
||||||
|
|
||||||
/* [2] On verifie que l'association n'existe plus
|
/* [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_cluster<int> UID du groupe
|
||||||
* @id_entity<int> UID de la machine ou de l'utilisateur
|
* @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
|
* @return association<int> Renvoie l'UID de l'association cree
|
||||||
* Renvoie FALSE si une erreur occure
|
* 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
|
// On ecrit la requete
|
||||||
$request = Database::getPDO()->prepare("SELECT * FROM cluster_merge
|
$request = Database::getPDO()->prepare("SELECT * FROM cluster_merge
|
||||||
WHERE id_cluster = :id_cluster
|
WHERE id_cluster = :id_cluster
|
||||||
AND id_entity = :id_entity");
|
AND id_entity = :id_entity
|
||||||
|
AND class = :class");
|
||||||
|
|
||||||
// On execute la requete
|
// On execute la requete
|
||||||
$request->execute(array(
|
$request->execute(array(
|
||||||
':id_cluster' => $id_cluster,
|
':id_cluster' => $id_cluster,
|
||||||
':id_entity' => $id_entity
|
':id_entity' => $id_entity,
|
||||||
|
':class' => $class
|
||||||
));
|
));
|
||||||
|
|
||||||
// On recupere 1 seule relation
|
// On recupere 1 seule relation
|
||||||
$answer = $request->fetch();
|
$answer = $request->fetch();
|
||||||
|
|
||||||
// Gestion d'erreur -> aucun resultat
|
// Gestion d'erreur -> aucun resultat
|
||||||
if( $answer === false )
|
if( $answer === false )
|
||||||
|
|
|
@ -202,9 +202,11 @@
|
||||||
$get_clusters = Database::getPDO()->prepare("SELECT c.* FROM cluster as c, cluster_merge as cm
|
$get_clusters = Database::getPDO()->prepare("SELECT c.* FROM cluster as c, cluster_merge as cm
|
||||||
WHERE cm.id_cluster = c.id_cluster
|
WHERE cm.id_cluster = c.id_cluster
|
||||||
AND cm.id_entity = :id_machine
|
AND cm.id_entity = :id_machine
|
||||||
|
AND cm.class = :class
|
||||||
ORDER BY c.id_cluster");
|
ORDER BY c.id_cluster");
|
||||||
$get_clusters->execute(array(
|
$get_clusters->execute(array(
|
||||||
':id_machine' => $id_machine
|
':id_machine' => $id_machine,
|
||||||
|
':class' => clusterRepo::MACHINE_CLASS
|
||||||
));
|
));
|
||||||
|
|
||||||
/* [2] On retourne la liste des groupes
|
/* [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
|
$get_clusters = Database::getPDO()->prepare("SELECT c.* FROM cluster as c, cluster_merge as cm
|
||||||
WHERE cm.id_cluster = c.id_cluster
|
WHERE cm.id_cluster = c.id_cluster
|
||||||
AND cm.id_entity = :id_user
|
AND cm.id_entity = :id_user
|
||||||
|
AND cm.class = :class
|
||||||
ORDER BY c.id_cluster");
|
ORDER BY c.id_cluster");
|
||||||
$get_clusters->execute(array(
|
$get_clusters->execute(array(
|
||||||
':id_user' => $id_user
|
':id_user' => $id_user,
|
||||||
|
':class' => clusterRepo::USER_CLASS
|
||||||
));
|
));
|
||||||
|
|
||||||
/* [2] On retourne la liste des groupes
|
/* [2] On retourne la liste des groupes
|
||||||
|
|
6
todo.md
6
todo.md
|
@ -13,8 +13,6 @@
|
||||||
############
|
############
|
||||||
# EN COURS #
|
# 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
|
- [ ] 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)
|
- [ ] Gestion de l'erreur de chargement ou erreur de nav (page-manager)
|
||||||
- [.] [/users/view] Affichage basique de liste d'elements complexes (users/machines/journal, ...)
|
- [.] [/users/view] Affichage basique de liste d'elements complexes (users/machines/journal, ...)
|
||||||
|
@ -36,11 +34,15 @@
|
||||||
########
|
########
|
||||||
# FAIT #
|
# 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] Gestion des groupes (utilisateurs/machines)
|
||||||
- [x] bdd
|
- [x] bdd
|
||||||
- [x] Creation d'un groupe individuel pour utilisateurs + association
|
- [x] Creation d'un groupe individuel pour utilisateurs + association
|
||||||
- [x] Creation d'un groupe individuel pour machines
|
- [x] Creation d'un groupe individuel pour machines
|
||||||
- [x] Creation d'une liaison entre 2 groupes (groupeUtilisateur, groupeMachine)
|
- [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] [view/users] Affichage des groupes des utilisateurs
|
||||||
- [x] [cluster::link/unlink] Ajout/Suppression d'association des utilisateurs/machines a des groupes
|
- [x] [cluster::link/unlink] Ajout/Suppression d'association des utilisateurs/machines a des groupes
|
||||||
- [x] [user::getClusters] Recuperation des groupes d'un utilisateur
|
- [x] [user::getClusters] Recuperation des groupes d'un utilisateur
|
||||||
|
|
|
@ -94,9 +94,9 @@
|
||||||
echo "<span class='mail'>";
|
echo "<span class='mail'>";
|
||||||
echo ResourceDispatcher::getResource('f/svg/mail/st/container');
|
echo ResourceDispatcher::getResource('f/svg/mail/st/container');
|
||||||
|
|
||||||
echo "<span>";
|
echo "<a href='mailto:".$user['mail']."'><span>";
|
||||||
echo $user['mail'];
|
echo $user['mail'];
|
||||||
echo "</span>";
|
echo "</span></a>";
|
||||||
echo"</span>";
|
echo"</span>";
|
||||||
|
|
||||||
// Groupes de la machine
|
// Groupes de la machine
|
||||||
|
|
Loading…
Reference in New Issue