import requests
from bs4 import BeautifulSoup

base_url = "http://173.212.199.208:8090"
session = requests.Session()

# 1. Get the login page to fetch CSRF token
print("1. Fetching login page...")
response = session.get(f"{base_url}/auth/login")
print(f"   Status: {response.status_code}")

if response.status_code == 200:
    # Parse the CSRF token
    soup = BeautifulSoup(response.text, 'html.parser')
    csrf_token = None
    csrf_input = soup.find('input', {'name': 'csrfmiddlewaretoken'})
    if csrf_input:
        csrf_token = csrf_input.get('value')
        print(f"   CSRF Token found: {csrf_token[:20]}...")
    
    # 2. Try to login with the admin credentials
    print("\n2. Attempting login...")
    login_data = {
        'csrfmiddlewaretoken': csrf_token,
        'email': 'admin@adtlas.com',
        'password': 'Admin@123456',
        'remember_me': 'on'
    }
    
    headers = {
        'Referer': f'{base_url}/auth/login',
        'Content-Type': 'application/x-www-form-urlencoded'
    }
    
    response = session.post(f"{base_url}/auth/login", data=login_data, headers=headers, allow_redirects=False)
    print(f"   Status: {response.status_code}")
    
    if response.status_code == 302:
        print(f"   Redirect to: {response.headers.get('Location')}")
        print("   Login successful!")
    elif response.status_code == 200:
        # Check if there's an error message
        soup = BeautifulSoup(response.text, 'html.parser')
        error = soup.find('div', {'class': 'alert-danger'})
        if error:
            print(f"   Error: {error.text.strip()}")
        else:
            print("   Login page returned but no error found")
    else:
        print(f"   Unexpected response")
else:
    print("   Failed to fetch login page")
