From fe308c2911bb08d292a2fb29bd0628d0d42b0f9e Mon Sep 17 00:00:00 2001 From: Debanjum Date: Fri, 11 Apr 2025 17:21:16 +0530 Subject: [PATCH] Handle scenario where no valid otps for selected users on admin panel --- src/khoj/database/admin.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/khoj/database/admin.py b/src/khoj/database/admin.py index 322b3afd..e590bffd 100644 --- a/src/khoj/database/admin.py +++ b/src/khoj/database/admin.py @@ -152,13 +152,17 @@ class KhojUserAdmin(UserAdmin, unfold_admin.ModelAdmin): actions = ["get_email_login_url"] def get_email_login_url(self, request, queryset): + any_valid_otps = False for user in queryset: - if user.email: + if user.email and user.email_verification_code: + any_valid_otps = True host = request.get_host() otp = quote(user.email_verification_code) encoded_email = quote(user.email) login_url = f"{host}/auth/magic?code={otp}&email={encoded_email}" messages.info(request, f"Email login URL for {user.email}: {login_url}") + if not any_valid_otps: + messages.error(request, "No valid OTPs found for the selected users.") get_email_login_url.short_description = "Get email login URL" # type: ignore