- [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;
|
return true;
|
||||||
|
|
||||||
}insertUsersFromJSON();
|
}//insertUsersFromJSON();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -60,24 +60,19 @@
|
||||||
// Pour chaque entree
|
// Pour chaque entree
|
||||||
foreach( $json as $machine ){
|
foreach( $json as $machine ){
|
||||||
|
|
||||||
$insertRequest = Database::getPDO()->prepare("INSERT INTO machine(id_machine, code, name)
|
// Creation de la requete
|
||||||
VALUES(
|
$request = new ModuleRequest('machineDefault/create', array(
|
||||||
DEFAULT,
|
$machine['code'],
|
||||||
:code,
|
$machine['name']
|
||||||
:name
|
|
||||||
)");
|
|
||||||
|
|
||||||
$status = $insertRequest->execute(array(
|
|
||||||
':code' => $machine['code'],
|
|
||||||
':name' => $machine['name']
|
|
||||||
));
|
));
|
||||||
|
$answer = $request->dispatch();
|
||||||
var_dump( $status );
|
// Debug error
|
||||||
|
var_dump( $answer->error == ManagerError::Success );
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
}//insertMachinesFromJSON();
|
}insertMachinesFromJSON();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,8 @@
|
||||||
|
|
||||||
"getAll",
|
"getAll",
|
||||||
"getById",
|
"getById",
|
||||||
|
"getByCode",
|
||||||
|
"getByName",
|
||||||
|
|
||||||
"getClusters"
|
"getClusters"
|
||||||
],
|
],
|
||||||
|
|
|
@ -1,13 +1,91 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace manager\module;
|
namespace manager\module;
|
||||||
|
use \manager\Database;
|
||||||
|
use \manager\sessionManager;
|
||||||
|
use \manager\ManagerError;
|
||||||
|
use \manager\Repo;
|
||||||
|
|
||||||
class machineDefault{
|
class machineDefault{
|
||||||
|
|
||||||
|
|
||||||
|
/* RENVOIE LA LISTE EXHAUSTIVE DES MACHINES
|
||||||
|
*
|
||||||
|
* @return machines<Array> Liste des machines
|
||||||
|
*
|
||||||
|
*/
|
||||||
public static function getAll(){
|
public static function getAll(){
|
||||||
|
// On recupere les donnees
|
||||||
|
$machines = new Repo('machine/getAll');
|
||||||
|
|
||||||
return array(
|
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
|
/* 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
|
* Renvoie FALSE si une erreur occure
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static function create($name){
|
public static function create($code, $name){
|
||||||
/* [1] Verification de l'unicite de 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 )
|
if( !$check_unique )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|
||||||
/* [2] Creation du groupe
|
/* [2] Creation de la machine
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$insert_user = Database::getPDO()->prepare("INSERT INTO cluster(id_cluster, name)
|
$insert_machine = Database::getPDO()->prepare("INSERT INTO machine(id_machine, code, name)
|
||||||
VALUES(DEFAULT, :name)");
|
VALUES(DEFAULT, :code, :name)");
|
||||||
$insert_user->execute(array(
|
$insert_machine->execute(array(
|
||||||
|
':code' => $code,
|
||||||
':name' => $name
|
':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
|
// Si n'existe pas on retourne FALSE
|
||||||
if( $check_group === false )
|
if( $check_machine === false )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Sinon, on retourne son id
|
// 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
|
* @return error<Boolean> Retourne FALSE si aucun resultat
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static function getByName($name){
|
public static function getByCode($code){
|
||||||
// On ecrit la requete
|
// On ecrit la requete
|
||||||
$request = Database::getPDO()->prepare("SELECT * FROM cluster
|
$request = Database::getPDO()->prepare("SELECT * FROM machine
|
||||||
WHERE name = :name");
|
WHERE code = :code");
|
||||||
|
|
||||||
|
|
||||||
// On execute la requete
|
// On execute la requete
|
||||||
$request->execute(array(
|
$request->execute(array(
|
||||||
':name' => $name
|
':code' => $code
|
||||||
));
|
));
|
||||||
|
|
||||||
// On recupere 1 seul groupe
|
// On recupere 1 seule machine
|
||||||
$answer = $request->fetch();
|
$answer = $request->fetch();
|
||||||
|
|
||||||
// Gestion d'erreur -> aucun resultat
|
// Gestion d'erreur -> aucun resultat
|
||||||
|
@ -139,7 +142,74 @@
|
||||||
// On retourne en supprimant les indices numeriques
|
// On retourne en supprimant les indices numeriques
|
||||||
return Database::delNumeric( $answer, true );
|
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 #
|
# EN COURS #
|
||||||
############
|
############
|
||||||
- [ ] Gestion des groupes (utilisateurs/machines)
|
- [ ] Conflit des id_user et id_machine dans les cluster a regler
|
||||||
- [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)
|
|
||||||
- [ ] 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, ...)
|
||||||
|
@ -39,6 +36,11 @@
|
||||||
########
|
########
|
||||||
# FAIT #
|
# 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] [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
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
use \manager\ModuleRequest;
|
use \manager\ModuleRequest;
|
||||||
use \manager\ManagerError;
|
use \manager\ManagerError;
|
||||||
use \manager\ResourceDispatcher;
|
use \manager\ResourceDispatcher;
|
||||||
|
use \manager\Repo;
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<!-- [1] Gestion du sous-menu de gauche -->
|
<!-- [1] Gestion du sous-menu de gauche -->
|
||||||
|
@ -68,6 +69,9 @@
|
||||||
// Si aucune erreur, on affiche les resultats
|
// Si aucune erreur, on affiche les resultats
|
||||||
else{
|
else{
|
||||||
foreach( $answer->get('machines') as $machine){
|
foreach( $answer->get('machines') as $machine){
|
||||||
|
$clusters = new Repo('machine/getClusters', array($machine['id_machine']));
|
||||||
|
$clusters = $clusters->answer();
|
||||||
|
|
||||||
echo "<article class='inline-box'>";
|
echo "<article class='inline-box'>";
|
||||||
// Prenom Nom
|
// Prenom Nom
|
||||||
echo "<span class='title'>".$machine['name']."</span>";
|
echo "<span class='title'>".$machine['name']."</span>";
|
||||||
|
@ -85,8 +89,9 @@
|
||||||
echo "<span class='groups'>";
|
echo "<span class='groups'>";
|
||||||
echo ResourceDispatcher::getResource('f/svg/group/st/container');
|
echo ResourceDispatcher::getResource('f/svg/group/st/container');
|
||||||
|
|
||||||
echo "<span>a</span>";
|
if( $clusters != false )
|
||||||
echo "<span>a</span>";
|
foreach($clusters as $cluster)
|
||||||
|
echo "<span>".$cluster['name']."</span>";
|
||||||
echo"</span>";
|
echo"</span>";
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue