[Fixed] Auto-input pour code de view:users/edit[Done] Managed anti-duplication username|code pour `userDefault/create` et `userDefault/edit` (interne à warehouse)
This commit is contained in:
parent
203f1c9d59
commit
dd2e94d979
|
@ -4,6 +4,7 @@
|
||||||
use \database\core\DatabaseDriver;
|
use \database\core\DatabaseDriver;
|
||||||
use \manager\sessionManager;
|
use \manager\sessionManager;
|
||||||
use \error\core\Error;
|
use \error\core\Error;
|
||||||
|
use \error\core\Err;
|
||||||
use \database\core\Repo;
|
use \database\core\Repo;
|
||||||
|
|
||||||
class userDefault{
|
class userDefault{
|
||||||
|
@ -25,6 +26,26 @@
|
||||||
public function create($params){
|
public function create($params){
|
||||||
extract($params);
|
extract($params);
|
||||||
|
|
||||||
|
|
||||||
|
/* [1] Vérification unicitié (dans warehouse)
|
||||||
|
=========================================================*/
|
||||||
|
/* (1) Vérification username */
|
||||||
|
$byUsername_r = new Repo('user/getByUsername', [$_SESSION['WAREHOUSE']['id'], $username]);
|
||||||
|
$byUsername = $byUsername_r->answer();
|
||||||
|
|
||||||
|
/* (2) Si existe déja -> erreur */
|
||||||
|
if( $byUsername != false )
|
||||||
|
return ['error' => new Error(Err::AlreadyExists, 'username')];
|
||||||
|
|
||||||
|
/* (3) Vérification username */
|
||||||
|
$byCode_r = new Repo('user/getByCode', [$_SESSION['WAREHOUSE']['id'], $code]);
|
||||||
|
$byCode = $byCode_r->answer();
|
||||||
|
|
||||||
|
/* (4) Si existe déja -> erreur */
|
||||||
|
if( $byCode != false )
|
||||||
|
return ['error' => new Error(Err::AlreadyExists, 'code')];
|
||||||
|
|
||||||
|
|
||||||
/* [1] Creation de l'utilisateur
|
/* [1] Creation de l'utilisateur
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$create_user = new Repo('user/create', [
|
$create_user = new Repo('user/create', [
|
||||||
|
@ -39,7 +60,7 @@
|
||||||
|
|
||||||
// Si une erreur est retournee, on retourne une erreur
|
// Si une erreur est retournee, on retourne une erreur
|
||||||
if( $id_user === false )
|
if( $id_user === false )
|
||||||
return ['error' => new Error(Err::error)];
|
return ['error' => new Error(Err::RepoError)];
|
||||||
|
|
||||||
|
|
||||||
/* [2] Gestion du retour
|
/* [2] Gestion du retour
|
||||||
|
@ -222,7 +243,7 @@
|
||||||
$_SESSION['WAREHOUSE']['id'],
|
$_SESSION['WAREHOUSE']['id'],
|
||||||
$username
|
$username
|
||||||
]);
|
]);
|
||||||
$answer = $request->answer();
|
$answer = $request->answer();
|
||||||
|
|
||||||
// Si aucun resultat, on retourne une erreur
|
// Si aucun resultat, on retourne une erreur
|
||||||
if( $answer === false )
|
if( $answer === false )
|
||||||
|
@ -293,7 +314,23 @@
|
||||||
if( !is_array($user_data) )
|
if( !is_array($user_data) )
|
||||||
return ['error' => new Error(Err::NoMatchFound)];
|
return ['error' => new Error(Err::NoMatchFound)];
|
||||||
|
|
||||||
|
/* [2] Vérification de l'unicité
|
||||||
|
=========================================================*/
|
||||||
|
/* (1) Vérification username */
|
||||||
|
$byUsername_r = new Repo('user/getByUsername', [$_SESSION['WAREHOUSE']['id'], $username]);
|
||||||
|
$byUsername = $byUsername_r->answer();
|
||||||
|
|
||||||
|
/* (2) Si existe déja */
|
||||||
|
if( $byUsername != false && $byUsername['id_user'] != $id_user )
|
||||||
|
return ['error' => new Error(Err::AlreadyExists, 'username')];
|
||||||
|
|
||||||
|
/* (3) Vérification username */
|
||||||
|
$byCode_r = new Repo('user/getByCode', [$_SESSION['WAREHOUSE']['id'], $code]);
|
||||||
|
$byCode = $byCode_r->answer();
|
||||||
|
|
||||||
|
/* (4) Si existe déja */
|
||||||
|
if( $byCode != false && $byCode['id_user'] != $id_user )
|
||||||
|
return ['error' => new Error(Err::AlreadyExists, 'code')];
|
||||||
|
|
||||||
/* [2] Normalisation + verification des donnees
|
/* [2] Normalisation + verification des donnees
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
|
|
|
@ -104,6 +104,9 @@
|
||||||
|
|
||||||
/* (4) Erreur inconnue */
|
/* (4) Erreur inconnue */
|
||||||
const UnknownError = 28;
|
const UnknownError = 28;
|
||||||
|
|
||||||
|
/* (5) Entrée existante */
|
||||||
|
const AlreadyExists = 29;
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -74,7 +74,7 @@
|
||||||
case Err::UncallableModule: return $this->UncallableModule(); break;
|
case Err::UncallableModule: return $this->UncallableModule(); break;
|
||||||
case Err::UncallableMethod: return $this->UncallableMethod(); break;
|
case Err::UncallableMethod: return $this->UncallableMethod(); break;
|
||||||
case Err::UnknownHttpMethod: return $this->UnknownHttpMethod(); break;
|
case Err::UnknownHttpMethod: return $this->UnknownHttpMethod(); break;
|
||||||
case Err::ConfigError: return $this->ConfigError(); break;
|
case Err::ConfigError: return $this->ConfigError(); break;
|
||||||
case Err::MissingParam: return $this->MissingParam(); break;
|
case Err::MissingParam: return $this->MissingParam(); break;
|
||||||
case Err::WrongParam: return $this->WrongParam(); break;
|
case Err::WrongParam: return $this->WrongParam(); break;
|
||||||
case Err::ModuleError: return $this->ModuleError(); break;
|
case Err::ModuleError: return $this->ModuleError(); break;
|
||||||
|
@ -88,6 +88,7 @@
|
||||||
case Err::UnknownTemplate: return $this->UnknownTemplate(); break;
|
case Err::UnknownTemplate: return $this->UnknownTemplate(); break;
|
||||||
case Err::UnknownAddress: return $this->UnknownAddress(); break;
|
case Err::UnknownAddress: return $this->UnknownAddress(); break;
|
||||||
case Err::UnknownError: return $this->UnknownError(); break;
|
case Err::UnknownError: return $this->UnknownError(); break;
|
||||||
|
case Err::AlreadyExists: return $this->AlreadyExists(); break;
|
||||||
|
|
||||||
default: return $this->UnknownDebugError(); break;
|
default: return $this->UnknownDebugError(); break;
|
||||||
}
|
}
|
||||||
|
@ -98,7 +99,7 @@
|
||||||
return 'all right';
|
return 'all right';
|
||||||
}private function ParsingFailed(){
|
}private function ParsingFailed(){
|
||||||
if( count($this->arguments) > 0 )
|
if( count($this->arguments) > 0 )
|
||||||
return $this->arguments[0].' parsing failed';
|
return "{$this->arguments[0]} parsing failed";
|
||||||
else
|
else
|
||||||
return 'parsing failed';
|
return 'parsing failed';
|
||||||
}private function UnreachableResource(){
|
}private function UnreachableResource(){
|
||||||
|
@ -119,22 +120,22 @@
|
||||||
return 'wrong module\'s path';
|
return 'wrong module\'s path';
|
||||||
}private function UnknownModule(){
|
}private function UnknownModule(){
|
||||||
if( count($this->arguments) > 0 )
|
if( count($this->arguments) > 0 )
|
||||||
return 'unknown module \''.$this->arguments[0].'\'';
|
return "unknown module '{$this->arguments[0]}'";
|
||||||
else
|
else
|
||||||
return 'unknown module';
|
return 'unknown module';
|
||||||
}private function UnknownMethod(){
|
}private function UnknownMethod(){
|
||||||
if( count($this->arguments) > 0 )
|
if( count($this->arguments) > 0 )
|
||||||
return 'unknown method \''.$this->arguments[0].'\'';
|
return "unknown method '{$this->arguments[0]}'";
|
||||||
else
|
else
|
||||||
return 'unknown method';
|
return 'unknown method';
|
||||||
}private function UncallableModule(){
|
}private function UncallableModule(){
|
||||||
if( count($this->arguments) > 0 )
|
if( count($this->arguments) > 0 )
|
||||||
return 'uncallable module \''.$this->arguments[0].'\'';
|
return "uncallable module '{$this->arguments[0]}'";
|
||||||
else
|
else
|
||||||
return 'uncallable module';
|
return 'uncallable module';
|
||||||
}private function UncallableMethod(){
|
}private function UncallableMethod(){
|
||||||
if( count($this->arguments) > 0 )
|
if( count($this->arguments) > 0 )
|
||||||
return 'uncallable method \''.$this->arguments[0].'\'';
|
return "uncallable method '{$this->arguments[0]}'";
|
||||||
else
|
else
|
||||||
return 'uncallable method';
|
return 'uncallable method';
|
||||||
}private function UnknownHttpMethod(){
|
}private function UnknownHttpMethod(){
|
||||||
|
@ -143,15 +144,15 @@
|
||||||
return 'configuration error';
|
return 'configuration error';
|
||||||
}private function MissingParam(){
|
}private function MissingParam(){
|
||||||
if( count($this->arguments) > 0 )
|
if( count($this->arguments) > 0 )
|
||||||
return 'missing param \''.$this->arguments[0].'\'';
|
return "missing param '{$this->arguments[0]}'";
|
||||||
else
|
else
|
||||||
return 'missing param';
|
return 'missing param';
|
||||||
}private function WrongParam(){
|
}private function WrongParam(){
|
||||||
if( count($this->arguments) > 0 )
|
if( count($this->arguments) > 0 )
|
||||||
if( count($this->arguments) > 1 )
|
if( count($this->arguments) > 1 )
|
||||||
return 'wrong param \''.$this->arguments[0].'\' expected to be of type \''.$this->arguments[1].'\'';
|
return "wrong param '{$this->arguments[0]}' expected to be of type '{$this->arguments[1]}'";
|
||||||
else
|
else
|
||||||
return 'wrong param \''.$this->arguments[0].'\'';
|
return "wrong param '{$this->arguments[0]}'";
|
||||||
else
|
else
|
||||||
return 'wrong param';
|
return 'wrong param';
|
||||||
}private function ModuleError(){
|
}private function ModuleError(){
|
||||||
|
@ -178,6 +179,11 @@
|
||||||
return 'unknown error';
|
return 'unknown error';
|
||||||
}private function UnknownDebugError(){
|
}private function UnknownDebugError(){
|
||||||
return 'unknown debug error';
|
return 'unknown debug error';
|
||||||
|
}private function AlreadyExists(){
|
||||||
|
if( count($this->arguments) > 0 )
|
||||||
|
return "'{$this->arguments[0]}' already exists";
|
||||||
|
|
||||||
|
return 'entry already exists';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -590,6 +590,16 @@ if( section.edit.element != null ){
|
||||||
submit: document.querySelector(section.edit.text + '#edit_submit')
|
submit: document.querySelector(section.edit.text + '#edit_submit')
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* (1) Gestion du code RFID */
|
||||||
|
createChecker.append( section.edit.input.code, format_code, '01-AB-CD-23');
|
||||||
|
section.edit.input.code.addEventListener('keyup', function(e){
|
||||||
|
e.target.value = e.target.value.toUpperCase();
|
||||||
|
if( !createChecker.check(e.target) )
|
||||||
|
createChecker.correct(e.target, false);
|
||||||
|
|
||||||
|
}, false);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* (2) Gestion de l'auto-remplissage par lien
|
/* (2) Gestion de l'auto-remplissage par lien
|
||||||
---------------------------------------------------------*/
|
---------------------------------------------------------*/
|
||||||
|
|
Loading…
Reference in New Issue