#!/usr/bin/env python
"""
Production deployment script to fix static files and other issues
"""
import os
import sys
import django
from pathlib import Path
import subprocess
import shutil

# Add the project directory to Python path
BASE_DIR = Path(__file__).resolve().parent
sys.path.append(str(BASE_DIR))

# Set Django settings
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'branch_system.settings_production')

# Setup Django
django.setup()

from django.core.management import execute_from_command_line

def deploy_production_fix():
    """Deploy fixes to production"""
    print("🔧 Deploying Production Fixes...")
    print("=" * 50)
    
    # Step 1: Collect static files
    print("1. Collecting static files...")
    try:
        execute_from_command_line(['manage.py', 'collectstatic', '--noinput', '--clear'])
        print("   ✅ Static files collected successfully")
    except Exception as e:
        print(f"   ❌ Error collecting static files: {e}")
        return False
    
    # Step 2: Run migrations
    print("2. Running migrations...")
    try:
        execute_from_command_line(['manage.py', 'migrate', '--noinput'])
        print("   ✅ Migrations completed")
    except Exception as e:
        print(f"   ❌ Error running migrations: {e}")
        return False
    
    # Step 3: Check static files
    print("3. Verifying static files...")
    staticfiles_dir = Path(BASE_DIR) / 'staticfiles'
    if staticfiles_dir.exists():
        admin_css = staticfiles_dir / 'admin' / 'css' / 'base.css'
        logo = staticfiles_dir / 'logo.jpeg'
        
        if admin_css.exists():
            print("   ✅ Admin CSS files present")
        else:
            print("   ❌ Admin CSS files missing")
            
        if logo.exists():
            print("   ✅ Logo file present")
        else:
            print("   ❌ Logo file missing")
    else:
        print("   ❌ Staticfiles directory missing")
        return False
    
    print("\n" + "=" * 50)
    print("✅ Production Fix Completed!")
    print("\n📋 Next Steps:")
    print("1. Upload the following files to your cPanel:")
    print("   - branch_system/settings_production.py")
    print("   - .htaccess")
    print("   - staticfiles/ (entire directory)")
    print("   - media/ (entire directory)")
    print("2. Restart your web server in cPanel")
    print("3. Test the website: https://branchbusinessadvance.co.ke/")
    print("4. Check if client names and images are now displaying correctly")
    print("5. If issues persist, check cPanel error logs")
    
    return True

if __name__ == '__main__':
    deploy_production_fix() 