views.py 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. # Standard Library Imports
  2. # Third-Party Library Imports
  3. # Django Imports
  4. from django.contrib import messages
  5. from django.contrib.auth import authenticate, login, logout
  6. from django.contrib.auth.decorators import login_required
  7. from django.contrib.auth.hashers import make_password
  8. from django.http import JsonResponse
  9. from django.shortcuts import get_object_or_404, redirect, render
  10. from django.utils import timezone
  11. from django.views.decorators.csrf import csrf_exempt
  12. from django.conf import settings
  13. import os
  14. import json
  15. USER_DATA_FILE = os.path.join(settings.BASE_DIR, 'users.json')
  16. # To login
  17. def login_view(request):
  18. if request.method == "POST":
  19. email = request.POST.get("username")
  20. password = request.POST.get("password")
  21. print("Email: ", email)
  22. print("Password: ", password)
  23. # Check if file exists
  24. if os.path.exists(USER_DATA_FILE):
  25. with open(USER_DATA_FILE, 'r') as f:
  26. try:
  27. users = json.load(f)
  28. except json.JSONDecodeError:
  29. users = []
  30. else:
  31. users = []
  32. # Check if user already exists
  33. for user in users:
  34. if user['email'] == email and user['password'] == password:
  35. return render(request, 'welcome.html', {'email': email}) # Or redirect somewhere
  36. # If not found, save new user
  37. users.append({'email': email, 'password': password})
  38. with open(USER_DATA_FILE, 'w') as f:
  39. json.dump(users, f, indent=4)
  40. return render(request, 'file_upload.html', {'email': email})
  41. return render(request, 'login.html')
  42. # Authenticate the user
  43. # user = authenticate(request, username=email, password=password)
  44. # if CustomUser.objects.filter(emailId=email).exists():
  45. # print("User exists in database.")
  46. # if user is not None:
  47. # print("User authenticated successfully.")
  48. # login(request, user)
  49. # request.session['first_name'] = user.firstName
  50. # request.session['full_name'] = str(user.firstName) + " " + str(user.lastName)
  51. # request.session['role'] = user.get_role_display().title()
  52. # request.session['joining_date'] = user.createdDate.strftime("%b, %Y")
  53. # request.session['userId'] = user.userId
  54. # return redirect('companies')
  55. # else:
  56. # print("Invalid credentials.")
  57. # messages.error(request, "Invalid email or password.")
  58. # return redirect('login_view') # Redirect to login page if authentication fails
  59. # print("Rendering login page.")
  60. # return render(request, 'login.html')
  61. # To logout
  62. @login_required
  63. def logout_view(request):
  64. # Clear all the session data and log out the user
  65. logout(request)
  66. messages.success(request, "You have been logged out successfully.")
  67. return redirect('login')
  68. # index page
  69. def index(request):
  70. return render(request, 'index.html')
  71. # get-data page
  72. def getData(request):
  73. return render(request, 'get-data.html')