"""
Скрипт для обновления тарифных планов
"""
import os
import django

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
django.setup()

from apps.subscriptions.models import SubscriptionPlan

# Обновляем бесплатный план
free_plan = SubscriptionPlan.objects.get(name='Бесплатно')
free_plan.max_clients = 3
free_plan.max_lessons_per_month = 10
free_plan.trial_days = 30
free_plan.allow_video_calls = False
free_plan.allow_whiteboard = False
free_plan.allow_analytics = False
free_plan.allow_telegram_bot = True
free_plan.allow_homework = True
free_plan.allow_materials = True
free_plan.description = 'Базовый функционал для начала работы'
free_plan.billing_period = 'monthly'
free_plan.save()
print(f"✅ Обновлен план: {free_plan.name}")

# Обновляем про план
pro_plan = SubscriptionPlan.objects.get(name='Про')
pro_plan.max_clients = 10
pro_plan.max_lessons_per_month = 100
pro_plan.trial_days = 7
pro_plan.allow_video_calls = True
pro_plan.allow_whiteboard = True
pro_plan.allow_analytics = True
pro_plan.allow_telegram_bot = True
pro_plan.allow_homework = True
pro_plan.allow_materials = True
pro_plan.allow_screen_sharing = True
pro_plan.description = 'Полный доступ ко всем функциям платформы'
pro_plan.billing_period = 'monthly'
pro_plan.save()
print(f"✅ Обновлен план: {pro_plan.name}")

# Создадим еще один план - Премиум
premium_plan, created = SubscriptionPlan.objects.get_or_create(
    name='Премиум',
    defaults={
        'slug': 'premium',
        'description': 'Для профессиональных менторов с большой базой учеников',
        'price': 1200,
        'max_clients': 50,
        'max_lessons_per_month': None,  # Безлимит
        'trial_days': 14,
        'allow_video_calls': True,
        'allow_whiteboard': True,
        'allow_analytics': True,
        'allow_telegram_bot': True,
        'allow_homework': True,
        'allow_materials': True,
        'allow_screen_sharing': True,
        'allow_api_access': True,
        'is_active': True,
        'is_featured': True,
        'sort_order': 3,
        'billing_period': 'monthly',
    }
)
if created:
    print(f"✅ Создан план: {premium_plan.name}")
else:
    print(f"ℹ️  План уже существует: {premium_plan.name}")

print("\n📊 Все тарифные планы:")
for plan in SubscriptionPlan.objects.all().order_by('price'):
    print(f"\n{plan.name} - {plan.price} ₽")
    print(f"  Биллинг: {plan.get_billing_period_display()}")
    print(f"  Учеников: {plan.max_clients if plan.max_clients else 'Безлимит'}")
    print(f"  Занятий/мес: {plan.max_lessons_per_month if plan.max_lessons_per_month else 'Безлимит'}")
    features = []
    if plan.allow_video_calls:
        features.append('Видеозвонки')
    if plan.allow_whiteboard:
        features.append('Доска')
    if plan.allow_analytics:
        features.append('Аналитика')
    if plan.allow_telegram_bot:
        features.append('Telegram')
    print(f"  Функции: {', '.join(features)}")
