From c27439d8c341e1cfe60814fb95da560644b95e17 Mon Sep 17 00:00:00 2001 From: usmannasir Date: Thu, 4 Sep 2025 13:03:10 +0500 Subject: [PATCH] bug fix: login issues --- loginSystem/templates/loginSystem/login.html | 4 +- loginSystem/views.py | 61 +++++++++++++------- 2 files changed, 42 insertions(+), 23 deletions(-) diff --git a/loginSystem/templates/loginSystem/login.html b/loginSystem/templates/loginSystem/login.html index f538610cb..d9a06db62 100644 --- a/loginSystem/templates/loginSystem/login.html +++ b/loginSystem/templates/loginSystem/login.html @@ -312,7 +312,7 @@
+ name="password" style="height: 45px;" autocomplete="current-password"> @@ -366,7 +366,7 @@
-

Could Not Login, Error message: {$ errorMessage $}

+

Could Not Login, Error message:

diff --git a/loginSystem/views.py b/loginSystem/views.py index dd78836b0..549ab3c73 100644 --- a/loginSystem/views.py +++ b/loginSystem/views.py @@ -32,46 +32,61 @@ def verifyLogin(request): try: if request.method == "POST": - data = json.loads(request.body) + try: + data = json.loads(request.body) + except json.JSONDecodeError as e: + print(f"JSON decode error: {e}") + print(f"Raw request body: {request.body}") + data = {'userID': 0, 'loginStatus': 0, 'error_message': 'Invalid request format'} + json_data = json.dumps(data) + return HttpResponse(json_data) - username = data['username'] - password = data['password'] + username = data.get('username', '') + password = data.get('password', '') + + # Debug logging + print(f"Login attempt - Username: {username}, Password length: {len(password) if password else 0}") + print(f"Password contains '$': {'$' in password if password else False}") + print(f"Raw password: {repr(password)}") try: - if data['languageSelection'] == "English": + language_selection = data.get('languageSelection', 'english') + if language_selection == "English": user_Language = "en" - elif data['languageSelection'] == "Chinese": + elif language_selection == "Chinese": user_Language = "cn" - elif data['languageSelection'] == "Bulgarian": + elif language_selection == "Bulgarian": user_Language = "br" - elif data['languageSelection'] == "Portuguese": + elif language_selection == "Portuguese": user_Language = "pt" - elif data['languageSelection'] == "Japanese": + elif language_selection == "Japanese": user_Language = "ja" - elif data['languageSelection'] == "Bosnian": + elif language_selection == "Bosnian": user_Language = "bs" - elif data['languageSelection'] == "Greek": + elif language_selection == "Greek": user_Language = "gr" - elif data['languageSelection'] == "Russian": + elif language_selection == "Russian": user_Language = "ru" - elif data['languageSelection'] == "Turkish": + elif language_selection == "Turkish": user_Language = "tr" - elif data['languageSelection'] == "Spanish": + elif language_selection == "Spanish": user_Language = "es" - elif data['languageSelection'] == "French": + elif language_selection == "French": user_Language = "fr" - elif data['languageSelection'] == "Polish": + elif language_selection == "Polish": user_Language = "pl" - elif data['languageSelection'] == "Vietnamese": + elif language_selection == "Vietnamese": user_Language = "vi" - elif data['languageSelection'] == "Italian": + elif language_selection == "Italian": user_Language = "it" - elif data['languageSelection'] == "German": + elif language_selection == "German": user_Language = "de" - elif data['languageSelection'] == "Indonesian": + elif language_selection == "Indonesian": user_Language = "id" - elif data['languageSelection'] == "Bangla": + elif language_selection == "Bangla": user_Language = "bn" + else: + user_Language = 'en' translation.activate(user_Language) response = HttpResponse() @@ -83,6 +98,7 @@ def verifyLogin(request): response.set_cookie(settings.LANGUAGE_COOKIE_NAME, user_Language) admin = Administrator.objects.get(userName=username) + print(f"Found admin user: {admin.userName}, password hash length: {len(admin.password) if admin.password else 0}") if admin.state == 'SUSPENDED': data = {'userID': 0, 'loginStatus': 0, 'error_message': 'Account currently suspended.'} @@ -99,7 +115,10 @@ def verifyLogin(request): response.write(json_data) return response - if hashPassword.check_password(admin.password, password): + password_check_result = hashPassword.check_password(admin.password, password) + print(f"Password check result: {password_check_result}") + + if password_check_result: if admin.twoFA: if request.session.get('twofa', 1) == 0: import pyotp