| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- # Standard Library Imports
- # Third-Party Library Imports
- # Django Imports
- from django.contrib import messages
- from .decorators import login_required
- from django.http import JsonResponse
- from django.shortcuts import get_object_or_404, redirect, render
- from django.utils import timezone
- from django.views.decorators.csrf import csrf_exempt
- from django.conf import settings
- import os
- import json
- USER_DATA_FILE = os.path.join(settings.BASE_DIR, 'users.json')
- # To login
- def login_view(request):
- if request.method == "POST":
- email = request.POST.get("username")
- password = request.POST.get("password")
- print("Email: ", email)
- print("Password: ", password)
- # Check if file exists
- if os.path.exists(USER_DATA_FILE):
- with open(USER_DATA_FILE, 'r') as f:
- try:
- users = json.load(f)
- except json.JSONDecodeError:
- users = []
- else:
- users = []
- # Check if user already exists
- for user in users:
- if user['email'] == email:
- if user['password'] == password:
- # login(request, user)
- request.session['user_email'] = user['email']
- # ✅ Correct credentials
- return render(request, 'index.html', {'email': email})
- else:
- # ❌ Wrong password
- print("Invalid credentials.")
- messages.error(request, "Invalid email or password.")
- return redirect('login_view')
- # ❌ Email not found
- messages.error(request, "User not found.")
- return redirect('login_view')
- # If not found, save new user
- # users.append({'email': email, 'password': password})
-
- # with open(USER_DATA_FILE, 'w') as f:
- # json.dump(users, f, indent=4)
- # return render(request, 'index.html', {'email': email})
- print("Rendering login page.")
- return render(request, 'login.html')
- # To logout
- @login_required
- def logout_view(request):
- # Clear all the session data and log out the user
- # logout(request)
- if 'user_email' in request.session:
- request.session.flush() # Clears all session data
- messages.success(request, "You have been logged out successfully.")
- return redirect('login_view')
- # messages.success(request, "You have been logged out successfully.")
- # return redirect('login')
- # index page
- @login_required
- def upload(request):
- return render(request, 'index.html')
- # get-data page
- @login_required
- def getData(request):
- return render(request, 'get-data.html')
|