[api.cas] on login select version with 'default=1' first then if nothing, take the first element. Same for [api.version.DELETE] to update the list
This commit is contained in:
parent
058eb5c275
commit
1225f69d9d
|
@ -146,22 +146,28 @@ class casController{
|
||||||
$_SESSION['AvailableDepartments'] = $departments;
|
$_SESSION['AvailableDepartments'] = $departments;
|
||||||
|
|
||||||
/* (4) Choose first department by default */
|
/* (4) Choose first department by default */
|
||||||
$_SESSION['CurrentDatabase'] = $departments[0]['versions'][0]['dbName'];
|
|
||||||
$_SESSION['CurrentDepartmentId'] = $departments[0]['idDep'];
|
$_SESSION['CurrentDepartmentId'] = $departments[0]['idDep'];
|
||||||
$_SESSION['VERSION'] = [
|
$_SESSION['VERSION'] = [
|
||||||
'list' => $departments[0]['versions'],
|
'list' => $departments[0]['versions'],
|
||||||
'current' => null
|
'current' => null
|
||||||
];
|
];
|
||||||
|
|
||||||
/* (5) Select actual version */
|
/* (5) select version with default = 1 */
|
||||||
foreach($_SESSION['VERSION']['list'] as $v){
|
foreach($_SESSION['VERSION']['list'] as $v){
|
||||||
if( $v['dbName'] == $_SESSION['CurrentDatabase'] ){
|
if( $v['default'] == 1 ){
|
||||||
$_SESSION['VERSION']['current'] = intval($v['iddatabase']);
|
$_SESSION['VERSION']['current'] = intval($v['iddatabase']);
|
||||||
|
$_SESSION['CurrentDatabase'] = $v['dbName'];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (6) Use this department's database */
|
/* (6) if no default -> select first */
|
||||||
|
if( !is_int($_SESSION['VERSION']) ){
|
||||||
|
$_SESSION['VERSION']['current'] = intval($_SESSION['VERSION']['list'][0]['iddatabase']);
|
||||||
|
$_SESSION['CurrentDatabase'] = $_SESSION['VERSION']['list'][0]['dbName'];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (7) Use this department's database */
|
||||||
Repo::switchDatabase($_SESSION['CurrentDatabase']);
|
Repo::switchDatabase($_SESSION['CurrentDatabase']);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -48,8 +48,35 @@ class versionController{
|
||||||
$version = null;
|
$version = null;
|
||||||
extract($args);
|
extract($args);
|
||||||
|
|
||||||
/* (1) Dispatch 'deleteVersion' result */
|
/* (1) Try to delete */
|
||||||
return [ 'deleted' => Repo::getRepo("meta")->deleteVersion($version) ];
|
$deleted = Repo::getRepo("meta")->deleteVersion($version);
|
||||||
|
|
||||||
|
if( !$deleted )
|
||||||
|
return ['error' => new Error(Err::ModuleError)];
|
||||||
|
|
||||||
|
/* (2) Update version list */
|
||||||
|
$_SESSION['VERSION']['list'] = Repo::getRepo("meta")->getAllVersions($_SESSION['CurrentDepartmentId']);
|
||||||
|
|
||||||
|
/* (3) Update current */
|
||||||
|
$_SESSION['VERSION']['current'] = null;
|
||||||
|
|
||||||
|
// select version with default = 1
|
||||||
|
foreach($_SESSION['VERSION']['list'] as $v){
|
||||||
|
if( $v['default'] == 1 ){
|
||||||
|
$_SESSION['VERSION']['current'] = intval($v['iddatabase']);
|
||||||
|
$_SESSION['CurrentDatabase'] = $v['dbName'];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// if no default -> select first
|
||||||
|
if( !is_int($_SESSION['VERSION']) ){
|
||||||
|
$_SESSION['VERSION']['current'] = intval($_SESSION['VERSION']['list'][0]['iddatabase']);
|
||||||
|
$_SESSION['CurrentDatabase'] = $_SESSION['VERSION']['list'][0]['dbName'];
|
||||||
|
}
|
||||||
|
|
||||||
|
return ['deleted' => true];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -262,12 +262,13 @@ class meta extends Repo_i {
|
||||||
|
|
||||||
$versionData = $st->fetch();
|
$versionData = $st->fetch();
|
||||||
|
|
||||||
if($versionData == false){
|
if( !is_array($versionData) ){
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//delete database
|
//delete database
|
||||||
$this->pdo->exec("DROP DATABASE {$versionData["dbName"]}");
|
$versionDatabase = $versionData['dbName'];
|
||||||
|
$this->pdo->exec("DROP DATABASE $versionDatabase;");
|
||||||
|
|
||||||
//remove from meta
|
//remove from meta
|
||||||
$st = $this->pdo->prepare("DELETE FROM meta_vhost.`databases` WHERE iddatabase = :id");
|
$st = $this->pdo->prepare("DELETE FROM meta_vhost.`databases` WHERE iddatabase = :id");
|
||||||
|
|
Loading…
Reference in New Issue