Login\ACL revalidate flow fixes
- DB function had wrong column name - Queries in ACL\Login had wrong column name - Renamed from login_user_id_last_login to login_user_id_last_revalidate to make it more clear what this column is - add edit_user admin page output for this column - add phpUnit test case for revalidate is needed and login with next loginUserId is ok again
This commit is contained in:
@@ -404,6 +404,7 @@ if ($form->my_page_name == 'edit_order') {
|
||||
$elements[] = $form->formCreateElement('password_change_interval');
|
||||
$elements[] = $form->formCreateElement('login_user_id');
|
||||
$elements[] = $form->formCreateElement('login_user_id_set_date');
|
||||
$elements[] = $form->formCreateElement('login_user_id_last_revalidate');
|
||||
$elements[] = $form->formCreateElement('login_user_id_locked');
|
||||
$elements[] = $form->formCreateElement('login_user_id_revalidate_after');
|
||||
$elements[] = $form->formCreateElement('login_user_id_valid_from');
|
||||
|
||||
@@ -159,6 +159,12 @@ $edit_users = [
|
||||
'type' => 'view',
|
||||
'empty' => '-'
|
||||
],
|
||||
'login_user_id_last_revalidate' => [
|
||||
'output_name' => 'loginUserId last revalidate date',
|
||||
'value' => $GLOBALS['login_user_id_last_revalidate'] ?? '',
|
||||
'type' => 'view',
|
||||
'empty' => '-'
|
||||
],
|
||||
'login_user_id_locked' => [
|
||||
'value' => $GLOBALS['login_user_id_locked'] ?? '',
|
||||
'output_name' => 'loginUserId usage locked',
|
||||
|
||||
@@ -552,7 +552,7 @@ class Login
|
||||
// check if user must login
|
||||
. "CASE WHEN eu.login_user_id_revalidate_after IS NOT NULL "
|
||||
. "AND eu.login_user_id_revalidate_after > '0 days'::INTERVAL "
|
||||
. "AND (eu.login_user_id_last_login + eu.login_user_id_revalidate_after)::DATE "
|
||||
. "AND (eu.login_user_id_last_revalidate + eu.login_user_id_revalidate_after)::DATE "
|
||||
. "<= NOW()::DATE "
|
||||
. "THEN 1::INT ELSE 0::INT END AS login_user_id_revalidate, "
|
||||
. "eu.login_user_id_locked, "
|
||||
@@ -660,7 +660,7 @@ class Login
|
||||
!empty($this->username) && !empty($this->password)
|
||||
) {
|
||||
$q = "UPDATE edit_user SET "
|
||||
. "login_user_id_last_login = NOW() "
|
||||
. "login_user_id_last_revalidate = NOW() "
|
||||
. "WHERE edit_user_id = " . $this->euid;
|
||||
$this->db->dbExec($q);
|
||||
}
|
||||
@@ -1902,7 +1902,7 @@ EOM;
|
||||
// check if user must login
|
||||
. "CASE WHEN eu.login_user_id_revalidate_after IS NOT NULL "
|
||||
. "AND eu.login_user_id_revalidate_after > '0 days'::INTERVAL "
|
||||
. "AND eu.login_user_id_last_login + eu.login_user_id_revalidate_after <= NOW()::DATE "
|
||||
. "AND eu.login_user_id_last_revalidate + eu.login_user_id_revalidate_after <= NOW()::DATE "
|
||||
. "THEN 1::INT ELSE 0::INT END AS login_user_id_revalidate, "
|
||||
. "eu.login_user_id_locked "
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user