From 3d26c687fdb64e3808607447c7578f82de32a525 Mon Sep 17 00:00:00 2001 From: Caozhenhui <823914102@qq.com> Date: Mon, 20 Dec 2021 14:21:32 +0800 Subject: [PATCH 1/3] Solved two problems of the last PR --- admin/app/translations.js | 12 +++++++++++- admin/views/users/user/user.html | 2 +- myems-api/core/user.py | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/admin/app/translations.js b/admin/app/translations.js index 61e516c9..c8249acf 100644 --- a/admin/app/translations.js +++ b/admin/app/translations.js @@ -128,6 +128,7 @@ function config($translateProvider) { EDIT: 'Edit', BIND_PROPERTY: 'Bind Property', DELETE: 'Delete', + UNLOCK: 'Unlock', SELECT: 'Select', RESET: 'Reset', SAVE: 'Save', @@ -560,9 +561,11 @@ function config($translateProvider) { SUCCESS_ADD_BODY: 'Add {{template}} Success', SUCCESS_UPDATE_BODY: 'Update {{template}} Success', SUCCESS_DELETE_BODY: 'Delete {{template}} Success', + SUCCESS_UNLOCK_BODY: 'Unlock {{template}} Success', ERROR_ADD_BODY: 'Add {{template}} Failure', ERROR_UPDATE_BODY: 'Update {{template}} Failure', ERROR_DELETE_BODY: 'Delete {{template}} Failure', + ERROR_UNLOCK_BODY: 'Unlock {{template}} Failure', USER_PASSWORD: 'User Password', BIND_METER_SUCCESS: 'Bind Meter Success', @@ -587,6 +590,8 @@ function config($translateProvider) { TEXT: 'Deleting this bar will also delete all related data!', CONFIRM_BUTTON_TEXT: 'Confirm delete', CANCEL_BUTTON_TEXT: 'Cancel', + UNLOCK_TITLE: 'Please confirm whether to unlock', + UNLOCK_CONFIRM_BUTTON_TEXT: 'Confirm unlock', }, API: { ADMINISTRATOR_SESSION_NOT_FOUND: 'Administrator Session Not Found', @@ -1576,7 +1581,7 @@ function config($translateProvider) { TEXT: '删除该条也会删除所有与其相关数据!', CONFIRM_BUTTON_TEXT: '确认删除', CANCEL_BUTTON_TEXT: '取消', - UNLOCK_TITLE: '请确认是否解锁该用户登录权限', + UNLOCK_TITLE: '请确认是否解锁该用户登录权限?', UNLOCK_CONFIRM_BUTTON_TEXT: '确认解锁' }, API: { @@ -2098,6 +2103,7 @@ function config($translateProvider) { BIND_PROPERTY: 'Bindungseigenschaften', EDIT: 'ändern', DELETE: 'löschen', + UNLOCK: '', SELECT: 'wählen', RESET: 'Zurücksetzen', SAVE: 'speichern', @@ -2534,9 +2540,11 @@ function config($translateProvider) { SUCCESS_ADD_BODY: 'Fügen Sie {{template}} erfolgreich hinzu', SUCCESS_UPDATE_BODY: 'Update {{template}} erfolgreich', SUCCESS_DELETE_BODY: '{{Template}} erfolgreich löschen', + SUCCESS_UNLOCK_BODY: '', ERROR_ADD_BODY: 'Das Hinzufügen von {{template}} ist fehlgeschlagen', ERROR_UPDATE_BODY: 'Update {{template}} fehlgeschlagen', ERROR_DELETE_BODY: 'Fehler beim Löschen von {{template}}', + ERROR_UNLOCK_BODY: '', USER_PASSWORD: 'Benutzer-Passwort', BIND_METER_SUCCESS: 'Binden Sie das Messgerät erfolgreich', @@ -2563,6 +2571,8 @@ function config($translateProvider) { TEXT: 'Durch Löschen dieses Artikels werden auch alle zugehörigen Daten gelöscht!', CONFIRM_BUTTON_TEXT: 'Löschung bestätigen', CANCEL_BUTTON_TEXT: 'stornieren', + UNLOCK_TITLE: '', + UNLOCK_CONFIRM_BUTTON_TEXT: '', }, API: { ADMINISTRATOR_SESSION_NOT_FOUND: 'Administrator Session Not Found', diff --git a/admin/views/users/user/user.html b/admin/views/users/user/user.html index 9d92622a..c0be0eaa 100644 --- a/admin/views/users/user/user.html +++ b/admin/views/users/user/user.html @@ -36,7 +36,7 @@ {{'SETTING.EDIT' | translate}} {{'USER.RESET_PASSWORD' | translate}} {{'SETTING.DELETE' | translate}} - {{'SETTING.UNLOCK' | translate}} + {{'SETTING.UNLOCK' | translate}} diff --git a/myems-api/core/user.py b/myems-api/core/user.py index 99116de0..9f2f1c0b 100644 --- a/myems-api/core/user.py +++ b/myems-api/core/user.py @@ -60,7 +60,7 @@ class UserCollection: account_expiration_datetime_local.strftime('%Y-%m-%dT%H:%M:%S'), "password_expiration_datetime": password_expiration_datetime_local.strftime('%Y-%m-%dT%H:%M:%S'), - "failed_login_count": True if row[10] < 3 else False} + "is_locked": True if row[10] < 3 else False} result.append(meta_result) resp.text = json.dumps(result) From 545ea96feefea3a9d594ccd3507e56e836920745 Mon Sep 17 00:00:00 2001 From: Caozhenhui <823914102@qq.com> Date: Mon, 20 Dec 2021 19:25:02 +0800 Subject: [PATCH 2/3] use config.maximum failed login count instead of 3 --- admin/views/users/user/user.html | 2 +- myems-api/core/user.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/admin/views/users/user/user.html b/admin/views/users/user/user.html index c0be0eaa..cdafbd34 100644 --- a/admin/views/users/user/user.html +++ b/admin/views/users/user/user.html @@ -36,7 +36,7 @@ {{'SETTING.EDIT' | translate}} {{'USER.RESET_PASSWORD' | translate}} {{'SETTING.DELETE' | translate}} - {{'SETTING.UNLOCK' | translate}} + {{'SETTING.UNLOCK' | translate}} diff --git a/myems-api/core/user.py b/myems-api/core/user.py index 9f2f1c0b..f9ac0a9e 100644 --- a/myems-api/core/user.py +++ b/myems-api/core/user.py @@ -60,7 +60,7 @@ class UserCollection: account_expiration_datetime_local.strftime('%Y-%m-%dT%H:%M:%S'), "password_expiration_datetime": password_expiration_datetime_local.strftime('%Y-%m-%dT%H:%M:%S'), - "is_locked": True if row[10] < 3 else False} + "is_locked": True if row[10] >= config.maximum_failed_login_count else False} result.append(meta_result) resp.text = json.dumps(result) From 75ea44dd8483f1403c43e058a74714373ce5ed17 Mon Sep 17 00:00:00 2001 From: "13621160019@163.com" <13621160019@163.com> Date: Mon, 20 Dec 2021 20:00:48 +0800 Subject: [PATCH 3/3] added locl/unlock user who faied login some times to admin and api --- admin/app/translations.js | 16 ++++++++-------- myems-api/core/user.py | 10 +++++++--- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/admin/app/translations.js b/admin/app/translations.js index c8249acf..e8418864 100644 --- a/admin/app/translations.js +++ b/admin/app/translations.js @@ -586,11 +586,11 @@ function config($translateProvider) { UNBIND_STORE_SUCCESS: 'Unbind Store Success', }, SWEET: { - TITLE: 'Please confirm whether to delete?', + TITLE: 'Please confirm to delete?', TEXT: 'Deleting this bar will also delete all related data!', CONFIRM_BUTTON_TEXT: 'Confirm delete', CANCEL_BUTTON_TEXT: 'Cancel', - UNLOCK_TITLE: 'Please confirm whether to unlock', + UNLOCK_TITLE: 'Please confirm to unlock', UNLOCK_CONFIRM_BUTTON_TEXT: 'Confirm unlock', }, API: { @@ -1581,7 +1581,7 @@ function config($translateProvider) { TEXT: '删除该条也会删除所有与其相关数据!', CONFIRM_BUTTON_TEXT: '确认删除', CANCEL_BUTTON_TEXT: '取消', - UNLOCK_TITLE: '请确认是否解锁该用户登录权限?', + UNLOCK_TITLE: '请确认是否解锁?', UNLOCK_CONFIRM_BUTTON_TEXT: '确认解锁' }, API: { @@ -2103,7 +2103,7 @@ function config($translateProvider) { BIND_PROPERTY: 'Bindungseigenschaften', EDIT: 'ändern', DELETE: 'löschen', - UNLOCK: '', + UNLOCK: 'Öffnen', SELECT: 'wählen', RESET: 'Zurücksetzen', SAVE: 'speichern', @@ -2540,11 +2540,11 @@ function config($translateProvider) { SUCCESS_ADD_BODY: 'Fügen Sie {{template}} erfolgreich hinzu', SUCCESS_UPDATE_BODY: 'Update {{template}} erfolgreich', SUCCESS_DELETE_BODY: '{{Template}} erfolgreich löschen', - SUCCESS_UNLOCK_BODY: '', + SUCCESS_UNLOCK_BODY: 'Öffnen {{template}} erfolgreich', ERROR_ADD_BODY: 'Das Hinzufügen von {{template}} ist fehlgeschlagen', ERROR_UPDATE_BODY: 'Update {{template}} fehlgeschlagen', ERROR_DELETE_BODY: 'Fehler beim Löschen von {{template}}', - ERROR_UNLOCK_BODY: '', + ERROR_UNLOCK_BODY: 'Öffnen {{template}} fehlgeschlagen', USER_PASSWORD: 'Benutzer-Passwort', BIND_METER_SUCCESS: 'Binden Sie das Messgerät erfolgreich', @@ -2571,8 +2571,8 @@ function config($translateProvider) { TEXT: 'Durch Löschen dieses Artikels werden auch alle zugehörigen Daten gelöscht!', CONFIRM_BUTTON_TEXT: 'Löschung bestätigen', CANCEL_BUTTON_TEXT: 'stornieren', - UNLOCK_TITLE: '', - UNLOCK_CONFIRM_BUTTON_TEXT: '', + UNLOCK_TITLE: 'Bitte bestätigen, um zu entsperren', + UNLOCK_CONFIRM_BUTTON_TEXT: 'Aktivieren bestätigen', }, API: { ADMINISTRATOR_SESSION_NOT_FOUND: 'Administrator Session Not Found', diff --git a/myems-api/core/user.py b/myems-api/core/user.py index f9ac0a9e..7114bb67 100644 --- a/myems-api/core/user.py +++ b/myems-api/core/user.py @@ -214,7 +214,8 @@ class UserItem: query = (" SELECT u.id, u.name, u.display_name, u.uuid, " " u.email, u.is_admin, p.id, p.name, " - " u.account_expiration_datetime_utc, u.password_expiration_datetime_utc " + " u.account_expiration_datetime_utc, u.password_expiration_datetime_utc," + " u.failed_login_count " " FROM tbl_users u " " LEFT JOIN tbl_privileges p ON u.privilege_id = p.id " " WHERE u.id =%s ") @@ -242,8 +243,11 @@ class UserItem: "privilege": { "id": row[6], "name": row[7]} if row[6] is not None else None, - "account_expiration_datetime": account_expiration_datetime_local.strftime('%Y-%m-%dT%H:%M:%S'), - "password_expiration_datetime": password_expiration_datetime_local.strftime('%Y-%m-%dT%H:%M:%S')} + "account_expiration_datetime": + account_expiration_datetime_local.strftime('%Y-%m-%dT%H:%M:%S'), + "password_expiration_datetime": + password_expiration_datetime_local.strftime('%Y-%m-%dT%H:%M:%S'), + "is_locked": True if row[10] >= config.maximum_failed_login_count else False} resp.text = json.dumps(result) @staticmethod