- [x] [machines.js][machineDefault][machineRepo] Gestion de la nouvelle modification (avec recherche)

- [x] [machineDefault] Implementer la modification
This commit is contained in:
xdrm-brackets 2016-02-16 15:04:48 +01:00
parent 6caedd3563
commit 5d4025323a
6 changed files with 146 additions and 6 deletions

View File

@ -28,6 +28,8 @@
"getClusters",
"edit",
"delete"
],

View File

@ -257,6 +257,51 @@
/* MODIFIE UNE MACHINE DONNEE
*
* @id_machine<int> UID de la machine
* @code<String> Code RFID de la machine
* @name<String> Identifiant l'utilisateur
*
* @return status<Boolean> Retourne si oui ou non tout s'est bien deroule
*
*/
public static function edit($id_machine=null, $code=null, $name=null){
/* [1] Normalisation + verification des donnees
=========================================================*/
$correct_param = Database::check('auto_increment_id', $id_machine);
$correct_param = $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] On verifie l'existence de la machine
=========================================================*/
$machine_exists = new Repo('machine/getById', array($id_machine));
$machine_exists = $machine_exists->answer();
// Si on a recupere aucun utilisateur, on retourne une erreur
if( !is_array($machine_exists) )
return array('ModuleError' => ManagerError::ModuleError);
/* [3] Modification de la machine
=========================================================*/
$request = new Repo('machine/edit', array($id_machine, $code, $name));
$answer = $request->answer();
return array(
'status' => $answer
);
}
/* SUPPRIME UNE MACHINE DONNEE
*
* @id_machine<int> UID de la machine en question

View File

@ -242,6 +242,62 @@
/* MODIFICATION D'UNE MACHINE DONNEE
*
* @id_machine<int> UID de la machine
* @code<String> Code RFID de la machine
* @name<String> Identifiant l'utilisateur
*
* @return status<Boolean> Renvoie si oui ou non tout s'est bien passe
*
*/
public static function edit($id_machine, $code, $name){
/* [1] Verification de l'unicite de code+name (si differents)
=========================================================*/
// On recupere les machine ayant le meme code ou name (si existent)
$getbycode = self::getByCode($code);
$getbyname = self::getByName($name);
$check_unique = is_array($getbycode) && $getbycode['id_machine'] == $id_machine || !is_array($getbycode);
$check_unique = $check_unique && is_array($getbyname) && $getbyname['id_machine'] == $id_machine || !is_array($getbyname);
// Si un utilisateur a deja ce code ou ce name (sauf lui), on renvoie une erreur
if( !$check_unique )
return false;
/* [2] Modification de la machine
=========================================================*/
$edit_machine = Database::getPDO()->prepare("UPDATE machine
SET code = :code,
name = :name
WHERE id_machine = :id_machine");
$edit_machine->execute(array(
':code' => $code,
':name' => $name,
':id_machine' => $id_machine
));
/* [3] On retourne si tout a ete modifie, si erreur
=========================================================*/
$check_machine = self::getById($id_machine);
$checker = $check_machine['id_machine'] == $id_machine;
$checker = $checker && $check_machine['code'] == $code;
$checker = $checker && $check_machine['name'] == $name;
// On retourne l'etat de la modification
return $checker;
}
/* SUPPRIME UNE MACHINE DONNE
*
* @id_machine<int> UID de la machine en question

View File

@ -300,7 +300,7 @@
=========================================================*/
// On recupere les utilisateurs ayant le meme code ou username (si existent)
$getbycode = self::getByCode($code);
$getbyusername = self::getByCode($username);
$getbyusername = self::getByUsername($username);
$check_unique = is_array($getbycode) && $getbycode['id_user'] == $id_user || !is_array($getbycode);
$check_unique = $check_unique && is_array($getbyusername) && $getbyusername['id_user'] == $id_user || !is_array($getbyusername);

View File

@ -8,8 +8,6 @@
# EN COURS #
############
- [ ] [machineDefault] Implementer la modification
- [ ] [view/js/machines] Recherche instantanee
- [ ] [view/js/users] Recherche instantanee
@ -18,6 +16,8 @@
########
# FAIT #
########
- [x] [machines.js][machineDefault][machineRepo] Gestion de la nouvelle modification (avec recherche)
- [x] [machineDefault] Implementer la modification
- [x] [users.js][userDefault][userRepo] Gestion de la nouvelle modification (avec recherche)
- [x] [view/js/machines] Modification de machine
- [x] [userDefault] Implementer la modification

View File

@ -269,6 +269,10 @@ if( section.edit.element != null ){
/* (2) Gestion de la recherche de la machine */
var lastsearch = null;
var searchindex = 0;
@ -308,4 +312,37 @@ if( section.edit.element != null ){
/* (n) Gestion de l'envoi du formulaire */
section.edit.input.submit.addEventListener('click', function(e){
// On annule l'envoi de base (PHP)
e.preventDefault();
// Si l'id est defini
if( section.edit.input.search.id.value != '' ){
var request = {
path: 'machineDefault/edit', // On veut creer une machine
data: [
section.edit.input.search.id.value,
section.edit.input.code.value,
section.edit.input.name.value
]
};
api.send(request, function(answer){
if( answer.ModuleError == 0 && answer.status == true ) // Tout s'est bien deroule
console.log('Machine modifiee!');
else // Erreur
console.error('ModuleError::'+answer.ModuleError);
});
}
}, false);
}