Files
octopus/myproject/orders/management/commands/create_payment_methods.py
Andrey Smakotin b59ad725cb Рефакторинг: вынос логики онбординга тенанта в сервисный слой
Создан TenantOnboardingService как единый источник истины для:
- Активации заявки на регистрацию тенанта
- Создания Client, Domain, Subscription
- Инициализации системных данных (Customer, статусы, способы оплаты, склад, витрина)

Новые сервисы:
- TenantOnboardingService (tenants/services/onboarding.py)
- WarehouseService (inventory/services/warehouse_service.py)
- ShowcaseService (inventory/services/showcase_service.py)
- PaymentMethodService (orders/services/payment_method_service.py)

Рефакторинг:
- admin.py: 220 строк → 5 строк (делегирование сервису)
- init_tenant_data.py: 259 строк → 68 строк
- activate_registration.py: использует сервис
- Тесты обновлены для вызова сервиса напрямую

При создании тенанта автоматически создаются склад и витрина по умолчанию.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 14:52:55 +03:00

30 lines
1.1 KiB
Python

# -*- coding: utf-8 -*-
"""
Management команда для создания стандартных способов оплаты.
"""
from django.core.management.base import BaseCommand
from orders.services import PaymentMethodService
class Command(BaseCommand):
help = 'Создаёт стандартные способы оплаты для цветочного магазина'
def handle(self, *args, **options):
results = PaymentMethodService.create_default_methods()
created_count = 0
for method, created in results:
if created:
created_count += 1
self.stdout.write(
self.style.SUCCESS(f'✓ Создан способ оплаты: {method.name}')
)
else:
self.stdout.write(
self.style.WARNING(f'• Уже существует: {method.name}')
)
self.stdout.write(
self.style.SUCCESS(f'\nГотово! Создано {created_count} новых способов оплаты.')
)