From 602ec287599e2e05001dc25fdf04f31621d1e34d Mon Sep 17 00:00:00 2001 From: Rutwik Hiwalkar Date: Wed, 24 Apr 2024 15:49:17 +0530 Subject: [PATCH 1/2] fix: disabled user login from login via link feature (#26134) * fix(ui): button color for login via link template - blue > black * fix: restrict login via link for disabled users * fix: validate user on session.resume (cherry picked from commit a73e65581dfc8b589311fe9d2d592467f30a5046) # Conflicts: # frappe/www/login.py --- frappe/sessions.py | 9 +++++++++ frappe/templates/emails/login_with_email_link.html | 10 ++++------ frappe/www/login.py | 4 ++++ 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/frappe/sessions.py b/frappe/sessions.py index 65bc6d79bd7..40cbdbe9738 100644 --- a/frappe/sessions.py +++ b/frappe/sessions.py @@ -223,8 +223,16 @@ def __init__(self, user, resume=False, full_name=None, user_type=None): else: if self.user: + self.validate_user() self.start() + def validate_user(self): + if not frappe.get_cached_value("User", self.user, "enabled"): + frappe.throw( + _("User {0} is disabled. Please contact your System Manager.").format(self.user), + frappe.ValidationError, + ) + def start(self): """start a new session""" # generate sid @@ -295,6 +303,7 @@ def resume(self): if data: self.data.update({"data": data, "user": data.user, "sid": self.sid}) self.user = data.user + self.validate_user() validate_ip_address(self.user) self.device = data.device else: diff --git a/frappe/templates/emails/login_with_email_link.html b/frappe/templates/emails/login_with_email_link.html index 144869e2e67..6badd5c89d0 100644 --- a/frappe/templates/emails/login_with_email_link.html +++ b/frappe/templates/emails/login_with_email_link.html @@ -23,11 +23,9 @@ -
- - {{ _('Log In To {0}').format(app_name) }} - -
+ + {{ _('Log In To {0}').format(app_name) }} + @@ -38,4 +36,4 @@
{{ table(table(body(), 'email-body'), 'email-container') }}
- \ No newline at end of file + diff --git a/frappe/www/login.py b/frappe/www/login.py index 791308cd014..d433d03555a 100644 --- a/frappe/www/login.py +++ b/frappe/www/login.py @@ -161,8 +161,12 @@ def login_via_key(key: str): email = frappe.cache().get_value(cache_key) if email: +<<<<<<< HEAD frappe.cache().delete_value(cache_key) +======= + frappe.cache.delete_value(cache_key) +>>>>>>> a73e65581d (fix: disabled user login from login via link feature (#26134)) frappe.local.login_manager.login_as(email) redirect_post_login( From 16571bb2a89e37f3778f65496195e9060e43702f Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Fri, 3 May 2024 18:50:53 +0530 Subject: [PATCH 2/2] Update login.py --- frappe/www/login.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/frappe/www/login.py b/frappe/www/login.py index d433d03555a..8bb7043c525 100644 --- a/frappe/www/login.py +++ b/frappe/www/login.py @@ -161,12 +161,7 @@ def login_via_key(key: str): email = frappe.cache().get_value(cache_key) if email: -<<<<<<< HEAD frappe.cache().delete_value(cache_key) - -======= - frappe.cache.delete_value(cache_key) ->>>>>>> a73e65581d (fix: disabled user login from login via link feature (#26134)) frappe.local.login_manager.login_as(email) redirect_post_login(